vue2server7 5.0.3 → 5.0.4

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 (74) 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/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.4",
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
+ }
@@ -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
+ });