vue2server7 5.0.3 → 5.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/package.json +10 -9
  2. package/script/0/install.bat +2 -0
  3. package/script/0/package.json +16 -0
  4. package/script/1/install.bat +2 -0
  5. package/script/1/package.json +16 -0
  6. package/script/10/install.bat +2 -0
  7. package/script/10/package.json +16 -0
  8. package/script/11/install.bat +2 -0
  9. package/script/11/package.json +16 -0
  10. package/script/12/install.bat +2 -0
  11. package/script/12/package.json +16 -0
  12. package/script/13/install.bat +2 -0
  13. package/script/13/package.json +16 -0
  14. package/script/14/install.bat +2 -0
  15. package/script/14/package.json +16 -0
  16. package/script/15/install.bat +2 -0
  17. package/script/15/package.json +16 -0
  18. package/script/16/install.bat +2 -0
  19. package/script/16/package.json +16 -0
  20. package/script/17/install.bat +2 -0
  21. package/script/17/package.json +16 -0
  22. package/script/18/install.bat +2 -0
  23. package/script/18/package.json +16 -0
  24. package/script/19/install.bat +2 -0
  25. package/script/19/package.json +16 -0
  26. package/script/2/install.bat +2 -0
  27. package/script/2/package.json +16 -0
  28. package/script/20/install.bat +2 -0
  29. package/script/20/package.json +16 -0
  30. package/script/21/install.bat +2 -0
  31. package/script/21/package.json +16 -0
  32. package/script/22/install.bat +2 -0
  33. package/script/22/package.json +16 -0
  34. package/script/23/install.bat +2 -0
  35. package/script/23/package.json +16 -0
  36. package/script/24/install.bat +2 -0
  37. package/script/24/package.json +16 -0
  38. package/script/25/install.bat +2 -0
  39. package/script/25/package.json +16 -0
  40. package/script/26/install.bat +2 -0
  41. package/script/26/package.json +16 -0
  42. package/script/27/install.bat +2 -0
  43. package/script/27/package.json +16 -0
  44. package/script/28/install.bat +2 -0
  45. package/script/28/package.json +16 -0
  46. package/script/29/install.bat +2 -0
  47. package/script/29/package.json +16 -0
  48. package/script/3/install.bat +2 -0
  49. package/script/3/package.json +16 -0
  50. package/script/30/install.bat +2 -0
  51. package/script/30/package.json +16 -0
  52. package/script/31/install.bat +2 -0
  53. package/script/31/package.json +16 -0
  54. package/script/32/install.bat +2 -0
  55. package/script/32/package.json +16 -0
  56. package/script/33/install.bat +2 -0
  57. package/script/33/package.json +16 -0
  58. package/script/34/install.bat +2 -0
  59. package/script/34/package.json +16 -0
  60. package/script/35/install.bat +2 -0
  61. package/script/35/package.json +16 -0
  62. package/script/4/install.bat +2 -0
  63. package/script/4/package.json +16 -0
  64. package/script/5/install.bat +2 -0
  65. package/script/5/package.json +16 -0
  66. package/script/6/install.bat +2 -0
  67. package/script/6/package.json +16 -0
  68. package/script/7/install.bat +2 -0
  69. package/script/7/package.json +16 -0
  70. package/script/8/install.bat +2 -0
  71. package/script/8/package.json +16 -0
  72. package/script/9/install.bat +2 -0
  73. package/script/9/package.json +16 -0
  74. package/script/copy.js +115 -0
  75. package/script/index.js +166 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2server7",
3
- "version": "5.0.3",
3
+ "version": "5.0.5",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "dev": "nodemon --watch src --ext ts --exec \"ts-node src/app.ts\"",
@@ -30,18 +30,19 @@
30
30
  "author": "",
31
31
  "license": "ISC",
32
32
  "dependencies": {
33
+ "@element-plus/icons-vue": "^2.3.1",
34
+ "axios": "^1.13.2",
33
35
  "cors": "^2.8.5",
34
36
  "dotenv": "^16.6.1",
37
+ "echarts": "^5.5.1",
38
+ "element-plus": "^2.8.4",
35
39
  "express": "^5.2.1",
36
40
  "helmet": "^8.1.0",
37
41
  "morgan": "^1.10.1",
38
- "@element-plus/icons-vue": "^2.3.1",
39
- "axios": "^1.13.2",
40
- "echarts": "^5.5.1",
41
- "element-plus": "^2.8.4",
42
42
  "sortablejs": "^1.15.6",
43
43
  "vue": "^3.5.13",
44
- "vue-router": "^4.4.5"
44
+ "vue-router": "^4.4.5",
45
+ "vue2webstrom": "^0.0.1"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@types/cors": "^2.8.19",
@@ -50,12 +51,12 @@
50
51
  "@types/node": "^22.10.5",
51
52
  "@typescript-eslint/parser": "^8.19.0",
52
53
  "@vitejs/plugin-vue": "^6.0.0",
54
+ "concurrently": "^9.1.0",
53
55
  "eslint": "^9.18.0",
54
- "ts-node": "^10.9.2",
56
+ "nodemon": "^3.0.1",
55
57
  "supertest": "^7.1.4",
58
+ "ts-node": "^10.9.2",
56
59
  "typescript": "^5.7.3",
57
- "nodemon": "^3.0.1",
58
- "concurrently": "^9.1.0",
59
60
  "vite": "^6.0.0",
60
61
  "vite-plugin-vue-devtools": "^8.0.6"
61
62
  },
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "0",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.0"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "1",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.1"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "10",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.10"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "11",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.11"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "12",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.12"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "13",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.13"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "14",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.14"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "15",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.15"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "16",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.16"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "17",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.17"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "18",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.18"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "19",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.19"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "2",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.2"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "20",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.20"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "21",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.21"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "22",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.22"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "23",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.23"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "24",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.24"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "25",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.25"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "26",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.26"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "27",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.27"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "28",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.28"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "29",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.29"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "3",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.3"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "30",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.30"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "31",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.31"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "32",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.32"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "33",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.33"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "34",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.34"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "35",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.35"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "4",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.4"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "5",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.5"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "6",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.6"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "7",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.7"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "8",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.8"
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ npm i
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "9",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "type": "commonjs",
13
+ "dependencies": {
14
+ "vue2webstrom": "^0.0.9"
15
+ }
16
+ }
package/script/copy.js ADDED
@@ -0,0 +1,115 @@
1
+ const fs = require("node:fs/promises");
2
+ const path = require("node:path");
3
+
4
+ function parseArgs(argv) {
5
+ const args = argv.slice(2);
6
+
7
+ let start = 0;
8
+ let end = 35;
9
+ let dryRun = false;
10
+
11
+ for (let i = 0; i < args.length; i += 1) {
12
+ const token = args[i];
13
+ if (token === "--dry-run") {
14
+ dryRun = true;
15
+ continue;
16
+ }
17
+ if (token === "--start") {
18
+ const raw = args[i + 1];
19
+ start = Number(raw);
20
+ i += 1;
21
+ continue;
22
+ }
23
+ if (token === "--end") {
24
+ const raw = args[i + 1];
25
+ end = Number(raw);
26
+ i += 1;
27
+ continue;
28
+ }
29
+ }
30
+
31
+ if (!Number.isInteger(start) || start < 0) {
32
+ throw new Error(`Invalid --start: ${start}`);
33
+ }
34
+ if (!Number.isInteger(end) || end < start) {
35
+ throw new Error(`Invalid --end: ${end}`);
36
+ }
37
+
38
+ return { start, end, dryRun };
39
+ }
40
+
41
+ async function pathExists(filePath) {
42
+ try {
43
+ await fs.access(filePath);
44
+ return true;
45
+ } catch {
46
+ return false;
47
+ }
48
+ }
49
+
50
+ async function ensureDir(dirPath) {
51
+ await fs.mkdir(dirPath, { recursive: true });
52
+ }
53
+
54
+ function addSuffixBeforeExt(fileName, suffix) {
55
+ const parsed = path.parse(fileName);
56
+ if (!parsed.ext) return `${fileName}${suffix}`;
57
+ return `${parsed.name}${suffix}${parsed.ext}`;
58
+ }
59
+
60
+ async function getAvailableTargetPath(targetDir, fileName, sourceFolderTag) {
61
+ const basePath = path.join(targetDir, fileName);
62
+ if (!(await pathExists(basePath))) return basePath;
63
+
64
+ const suffixBase = `__from_${sourceFolderTag}`;
65
+ let attempt = 0;
66
+ while (attempt < 10000) {
67
+ const attemptSuffix = attempt === 0 ? suffixBase : `${suffixBase}_${attempt}`;
68
+ const nextName = addSuffixBeforeExt(fileName, attemptSuffix);
69
+ const nextPath = path.join(targetDir, nextName);
70
+ if (!(await pathExists(nextPath))) return nextPath;
71
+ attempt += 1;
72
+ }
73
+
74
+ throw new Error(`Too many conflicts for: ${fileName}`);
75
+ }
76
+
77
+ async function copyDirectoryContentsToRoot(sourceDir, targetDir, sourceFolderTag, dryRun) {
78
+ const entries = await fs.readdir(sourceDir, { withFileTypes: true });
79
+
80
+ for (const entry of entries) {
81
+ const sourcePath = path.join(sourceDir, entry.name);
82
+ const targetPath = await getAvailableTargetPath(targetDir, entry.name, sourceFolderTag);
83
+
84
+ if (dryRun) {
85
+ process.stdout.write(`[dry-run] copy ${sourcePath} -> ${targetPath}\n`);
86
+ continue;
87
+ }
88
+
89
+ if (entry.isDirectory()) {
90
+ await ensureDir(targetPath);
91
+ await copyDirectoryContentsToRoot(sourcePath, targetPath, sourceFolderTag, dryRun);
92
+ continue;
93
+ }
94
+
95
+ await fs.copyFile(sourcePath, targetPath);
96
+ }
97
+ }
98
+
99
+ async function main() {
100
+ const { start, end, dryRun } = parseArgs(process.argv);
101
+ const scriptDir = __dirname;
102
+
103
+ for (let i = start; i <= end; i += 1) {
104
+ const folderName = String(i);
105
+ const faDir = path.join(scriptDir, folderName, "node_modules", "vue2webstrom", "fa");
106
+ if (!(await pathExists(faDir))) continue;
107
+
108
+ await copyDirectoryContentsToRoot(faDir, scriptDir, folderName, dryRun);
109
+ }
110
+ }
111
+
112
+ main().catch((error) => {
113
+ process.stderr.write(`${error?.stack || String(error)}\n`);
114
+ process.exitCode = 1;
115
+ });
@@ -0,0 +1,166 @@
1
+ const fs = require("node:fs/promises");
2
+ const path = require("node:path");
3
+ const os = require("node:os");
4
+ const { spawn } = require("node:child_process");
5
+
6
+ async function ensureDir(dirPath) {
7
+ await fs.mkdir(dirPath, { recursive: true });
8
+ }
9
+
10
+ function parseArgs(argv) {
11
+ const args = argv.slice(2);
12
+ const action = args[0] || "gen";
13
+
14
+ let start = 0;
15
+ let end = 35;
16
+ let dryRun = false;
17
+
18
+ for (let i = 1; i < args.length; i += 1) {
19
+ const token = args[i];
20
+ if (token === "--dry-run") {
21
+ dryRun = true;
22
+ continue;
23
+ }
24
+ if (token === "--start") {
25
+ const raw = args[i + 1];
26
+ start = Number(raw);
27
+ i += 1;
28
+ continue;
29
+ }
30
+ if (token === "--end") {
31
+ const raw = args[i + 1];
32
+ end = Number(raw);
33
+ i += 1;
34
+ continue;
35
+ }
36
+ }
37
+
38
+ if (!Number.isInteger(start) || start < 0) {
39
+ throw new Error(`Invalid --start: ${start}`);
40
+ }
41
+ if (!Number.isInteger(end) || end < start) {
42
+ throw new Error(`Invalid --end: ${end}`);
43
+ }
44
+
45
+ return { action, start, end, dryRun };
46
+ }
47
+
48
+ async function pathExists(filePath) {
49
+ try {
50
+ await fs.access(filePath);
51
+ return true;
52
+ } catch {
53
+ return false;
54
+ }
55
+ }
56
+
57
+ function runProcess(command, args, options) {
58
+ return new Promise((resolve, reject) => {
59
+ const child = spawn(command, args, {
60
+ ...options,
61
+ stdio: "inherit",
62
+ shell: false,
63
+ });
64
+
65
+ child.on("error", reject);
66
+ child.on("exit", (code) => {
67
+ if (code === 0) resolve();
68
+ else reject(new Error(`Command failed (${code}): ${command} ${args.join(" ")}`));
69
+ });
70
+ });
71
+ }
72
+
73
+ function buildPackageJson(templateJson, folderNumber) {
74
+ const nextJson = JSON.parse(JSON.stringify(templateJson));
75
+
76
+ nextJson.name = String(folderNumber);
77
+
78
+ if (!nextJson.dependencies || typeof nextJson.dependencies !== "object") {
79
+ nextJson.dependencies = {};
80
+ }
81
+
82
+ nextJson.dependencies.vue2webstrom = `^0.0.${folderNumber}`;
83
+
84
+ return nextJson;
85
+ }
86
+
87
+ async function generateFolders({ start, end }) {
88
+ const scriptDir = __dirname;
89
+ const templateDir = path.join(scriptDir, "1");
90
+
91
+ const [packageJsonRaw, installBatRaw] = await Promise.all([
92
+ fs.readFile(path.join(templateDir, "package.json"), "utf8"),
93
+ fs.readFile(path.join(templateDir, "install.bat"), "utf8"),
94
+ ]);
95
+
96
+ const templatePackageJson = JSON.parse(packageJsonRaw);
97
+
98
+ const tasks = [];
99
+ for (let i = start; i <= end; i += 1) {
100
+ const folderPath = path.join(scriptDir, String(i));
101
+ const nextPackageJson = buildPackageJson(templatePackageJson, i);
102
+
103
+ tasks.push(
104
+ (async () => {
105
+ await ensureDir(folderPath);
106
+ await Promise.all([
107
+ fs.writeFile(
108
+ path.join(folderPath, "package.json"),
109
+ `${JSON.stringify(nextPackageJson, null, 2)}\n`,
110
+ "utf8",
111
+ ),
112
+ fs.writeFile(path.join(folderPath, "install.bat"), installBatRaw, "utf8"),
113
+ ]);
114
+ })(),
115
+ );
116
+ }
117
+
118
+ await Promise.all(tasks);
119
+ }
120
+
121
+ async function runInstallInFolders({ start, end, dryRun }) {
122
+ const scriptDir = __dirname;
123
+ const isWindows = os.platform() === "win32";
124
+
125
+ for (let i = start; i <= end; i += 1) {
126
+ const folderPath = path.join(scriptDir, String(i));
127
+ const installBatPath = path.join(folderPath, "install.bat");
128
+ const packageJsonPath = path.join(folderPath, "package.json");
129
+
130
+ const hasPackageJson = await pathExists(packageJsonPath);
131
+ if (!hasPackageJson) continue;
132
+
133
+ if (dryRun) {
134
+ process.stdout.write(`[dry-run] ${folderPath}\n`);
135
+ continue;
136
+ }
137
+
138
+ if (isWindows && (await pathExists(installBatPath))) {
139
+ await runProcess("cmd.exe", ["/c", "install.bat"], { cwd: folderPath });
140
+ continue;
141
+ }
142
+
143
+ await runProcess("npm", ["i"], { cwd: folderPath });
144
+ }
145
+ }
146
+
147
+ async function main() {
148
+ const { action, start, end, dryRun } = parseArgs(process.argv);
149
+
150
+ if (action === "gen") {
151
+ await generateFolders({ start, end });
152
+ return;
153
+ }
154
+
155
+ if (action === "install") {
156
+ await runInstallInFolders({ start, end, dryRun });
157
+ return;
158
+ }
159
+
160
+ throw new Error(`Unknown action: ${action}`);
161
+ }
162
+
163
+ main().catch((error) => {
164
+ process.stderr.write(`${error?.stack || String(error)}\n`);
165
+ process.exitCode = 1;
166
+ });