package.json 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. {
  2. "name": "eep_page",
  3. "version": "2026.01.07",
  4. "private": true,
  5. "main": "main.js",
  6. "description": "智慧梧桐数字教材编辑器",
  7. "author": "合新软件",
  8. "scripts": {
  9. "electron": "nodemon --watch main.js --exec \"electron .\"",
  10. "dev": "vue-cli-service serve",
  11. "build": "vue-cli-service build",
  12. "build:beiyu": "vue-cli-service build --mode beiyu",
  13. "lint": "vue-cli-service lint",
  14. "lint:style:fix": "stylelint \"src/**/*.{css,scss,vue}\" --fix",
  15. "lint:fix": "eslint \"src/**/*.{js,vue}\" --fix",
  16. "postinstall": "patch-package",
  17. "builder": "electron-builder",
  18. "builder:win": "npm run build && npm run builder",
  19. "builder:beiyu": "npm run build:beiyu && npm run builder",
  20. "builder:mac": "electron-builder --mac"
  21. },
  22. "dependencies": {
  23. "@tinymce/tinymce-vue": "^3.2.8",
  24. "7zip-bin": "^5.2.0",
  25. "axios": "^1.7.2",
  26. "cnchar": "^3.2.6",
  27. "core-js": "^3.47.0",
  28. "dompurify": "^3.1.5",
  29. "element-ui": "^2.15.14",
  30. "hanzi-writer": "^3.7.0",
  31. "jquery": "^3.7.1",
  32. "js-audio-recorder": "^1.0.7",
  33. "mathjax": "^3.2.2",
  34. "md5": "^2.3.0",
  35. "nprogress": "^0.2.0",
  36. "opencc-js": "^1.0.5",
  37. "simple-mind-map": "^0.14.0",
  38. "three": "^0.181.2",
  39. "tinymce": "^5.10.9",
  40. "v-fit-columns": "^0.2.0",
  41. "vis-data": "^8.0.3",
  42. "vis-network": "^10.0.2",
  43. "vue": "^2.6.14",
  44. "vue-esign": "^1.1.4",
  45. "vue-router": "^3.6.5",
  46. "vue-signature-pad": "^2.0.5",
  47. "vuedraggable": "^2.24.3",
  48. "vuex": "^3.6.2",
  49. "web-highlighter": "^0.7.4"
  50. },
  51. "devDependencies": {
  52. "@babel/core": "^7.28.5",
  53. "@babel/eslint-parser": "^7.28.5",
  54. "@electron/fuses": "^1.8.0",
  55. "@rushstack/eslint-patch": "^1.15.0",
  56. "@types/md5": "^2.3.6",
  57. "@vue/cli-plugin-babel": "~5.0.9",
  58. "@vue/cli-plugin-eslint": "~5.0.9",
  59. "@vue/cli-service": "~5.0.9",
  60. "@vue/eslint-config-prettier": "^9.0.0",
  61. "@vue/preload-webpack-plugin": "^2.0.0",
  62. "compression-webpack-plugin": "^6.1.2",
  63. "electron": "29.3.2",
  64. "electron-builder": "^24.13.3",
  65. "eslint": "^8.57.1",
  66. "eslint-plugin-prettier": "^5.5.4",
  67. "eslint-plugin-vue": "^9.33.0",
  68. "nodemon": "^3.1.11",
  69. "patch-package": "^8.0.1",
  70. "postcss-html": "^1.8.0",
  71. "prettier": "^3.7.3",
  72. "sass": "^1.94.2",
  73. "sass-loader": "^14.2.1",
  74. "stylelint": "^15.11.0",
  75. "stylelint-config-recess-order": "^4.6.0",
  76. "stylelint-config-recommended-scss": "^14.0.0",
  77. "stylelint-config-recommended-vue": "^1.5.0",
  78. "stylelint-config-standard-scss": "^12.0.0",
  79. "stylelint-declaration-block-no-ignored-properties": "^2.8.0",
  80. "stylelint-webpack-plugin": "^4.1.1",
  81. "svg-sprite-loader": "^6.0.11",
  82. "svgo": "^3.3.2",
  83. "vue-template-compiler": "^2.6.14"
  84. },
  85. "build": {
  86. "appId": "com.gcls.page.textbook",
  87. "productName": "智慧梧桐数字教材编辑器",
  88. "copyright": "Copyright © 2025 ${author}",
  89. "asarUnpack": [
  90. "node_modules/7zip-bin/**"
  91. ],
  92. "directories": {
  93. "output": "out"
  94. },
  95. "asar": true,
  96. "win": {
  97. "target": "nsis",
  98. "icon": "./public/icon.png",
  99. "artifactName": "${productName}-Setup.${ext}"
  100. },
  101. "linux": {
  102. "target": "AppImage",
  103. "icon": "./public/icon.png",
  104. "artifactName": "${productName}-Setup.${ext}"
  105. },
  106. "mac": {
  107. "target": "dmg",
  108. "icon": "./public/icon.png",
  109. "artifactName": "${productName}-Setup.${ext}"
  110. },
  111. "nsis": {
  112. "oneClick": false,
  113. "allowToChangeInstallationDirectory": true,
  114. "createDesktopShortcut": true,
  115. "createStartMenuShortcut": true,
  116. "perMachine": false
  117. },
  118. "dmg": {
  119. "contents": [
  120. {
  121. "x": 110,
  122. "y": 150
  123. },
  124. {
  125. "x": 240,
  126. "y": 150,
  127. "type": "link",
  128. "path": "/Applications"
  129. }
  130. ]
  131. }
  132. },
  133. "browserslist": [
  134. "> 1%",
  135. "last 2 versions",
  136. "not dead"
  137. ]
  138. }