surgio 3.0.2 → 3.2.0

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 (53) hide show
  1. package/build/commands/upload.js +15 -11
  2. package/build/commands/upload.js.map +1 -1
  3. package/build/configurables.d.ts +1 -0
  4. package/build/generator/artifact.d.ts +18 -0
  5. package/build/index.d.ts +7 -0
  6. package/build/index.js +2 -0
  7. package/build/index.js.map +1 -1
  8. package/build/misc/deprecation.d.ts +0 -1
  9. package/build/misc/deprecation.js +0 -1
  10. package/build/provider/ClashProvider.d.ts +2 -2
  11. package/build/provider/ClashProvider.js +26 -2
  12. package/build/provider/ClashProvider.js.map +1 -1
  13. package/build/provider/CustomProvider.js +2 -0
  14. package/build/provider/CustomProvider.js.map +1 -1
  15. package/build/provider/V2rayNSubscribeProvider.js +3 -3
  16. package/build/provider/V2rayNSubscribeProvider.js.map +1 -1
  17. package/build/types.d.ts +5 -2
  18. package/build/types.js +3 -2
  19. package/build/types.js.map +1 -1
  20. package/build/utils/clash.d.ts +18 -0
  21. package/build/utils/clash.js +19 -0
  22. package/build/utils/clash.js.map +1 -1
  23. package/build/utils/http-client.d.ts +1 -1
  24. package/build/utils/index.d.ts +17 -1
  25. package/build/utils/index.js +36 -8
  26. package/build/utils/index.js.map +1 -1
  27. package/build/utils/surge.js +65 -104
  28. package/build/utils/surge.js.map +1 -1
  29. package/build/utils/useragent.d.ts +16 -0
  30. package/build/utils/useragent.js +168 -0
  31. package/build/utils/useragent.js.map +1 -0
  32. package/build/validators/common.d.ts +6 -0
  33. package/build/validators/common.js +1 -0
  34. package/build/validators/common.js.map +1 -1
  35. package/build/validators/http.d.ts +6 -0
  36. package/build/validators/hysteria2.d.ts +89 -0
  37. package/build/validators/hysteria2.js +15 -0
  38. package/build/validators/hysteria2.js.map +1 -0
  39. package/build/validators/index.d.ts +1 -0
  40. package/build/validators/index.js +1 -0
  41. package/build/validators/index.js.map +1 -1
  42. package/build/validators/shadowsocks.d.ts +3 -0
  43. package/build/validators/shadowsocksr.d.ts +3 -0
  44. package/build/validators/snell.d.ts +3 -0
  45. package/build/validators/socks5.d.ts +3 -0
  46. package/build/validators/surgio-config.d.ts +5 -0
  47. package/build/validators/surgio-config.js +1 -0
  48. package/build/validators/surgio-config.js.map +1 -1
  49. package/build/validators/trojan.d.ts +3 -0
  50. package/build/validators/tuic.d.ts +12 -0
  51. package/build/validators/vmess.d.ts +3 -0
  52. package/build/validators/wireguard.d.ts +3 -0
  53. package/package.json +53 -49
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "surgio",
3
3
  "description": "Generating rules for Surge, Clash, Quantumult like a PRO",
4
- "version": "3.0.2",
4
+ "version": "3.2.0",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
7
7
  "bin": {
@@ -35,11 +35,12 @@
35
35
  "homepage": "https://surgio.js.org",
36
36
  "scripts": {
37
37
  "dev": "npm run build -- --watch",
38
- "test": "run-s build test:*",
38
+ "test": "run-s build test:lint test:unit test:cli",
39
39
  "test:types": "tsc --noEmit",
40
40
  "test:lint": "eslint -c .eslintrc.js --ext .js,.ts .",
41
41
  "test:unit": "ava",
42
42
  "test:cli": "mocha",
43
+ "test:cli:update": "CHAI_JEST_SNAPSHOT_UPDATE_ALL=true pnpm test:cli",
43
44
  "run-example": "node ./scripts/run-example.js",
44
45
  "coverage": "TS_NODE_FILES=true nyc ava",
45
46
  "clean": "rimraf build",
@@ -71,35 +72,36 @@
71
72
  "topics": {}
72
73
  },
73
74
  "dependencies": {
74
- "@babel/parser": "^7.22.5",
75
+ "@babel/parser": "^7.23.0",
75
76
  "@brillout/import": "^0.2.3",
76
- "@oclif/core": "^2.8.7",
77
- "@oclif/plugin-help": "^5.2.10",
78
- "@oclif/plugin-plugins": "^3.1.3",
77
+ "@oclif/core": "^2.15.0",
78
+ "@oclif/plugin-help": "^5.2.20",
79
+ "@oclif/plugin-plugins": "^3.9.1",
79
80
  "@royli/hygen": "^6.2.0",
80
81
  "@surgio/eslint-config-surgio": "^1.0.6",
81
82
  "@surgio/logger": "^1.3.0",
82
- "@types/eslint": "^8.40.2",
83
- "agentkeepalive": "^4.3.0",
84
- "ali-oss": "^6.17.1",
83
+ "@types/eslint": "^8.44.4",
84
+ "agentkeepalive": "^4.5.0",
85
+ "ali-oss": "^6.18.1",
85
86
  "bluebird": "^3.7.2",
86
87
  "bytes": "^3.1.2",
87
- "cache-manager": "^5.2.3",
88
+ "cache-manager": "^5.2.4",
88
89
  "cache-manager-ioredis-yet": "^1.2.2",
89
90
  "chalk": "^4.1.2",
90
91
  "change-case": "^4.1.2",
91
92
  "check-node-version": "^4.2.1",
93
+ "compare-versions": "^6.1.0",
92
94
  "date-fns": "^2.30.0",
93
95
  "detect-newline": "^3.1.0",
94
- "dotenv": "^16.3.0",
96
+ "dotenv": "^16.3.1",
95
97
  "emoji-regex": "^10.2.1",
96
- "eslint": "^8.43.0",
98
+ "eslint": "^8.51.0",
97
99
  "execa": "^4.1.0",
98
- "filesize": "^10.0.7",
100
+ "filesize": "^10.1.0",
99
101
  "fs-extra": "^11.1.1",
100
102
  "got": "^11.8.6",
101
103
  "hpagent": "^1.2.0",
102
- "inquirer": "^8.2.5",
104
+ "inquirer": "^8.2.6",
103
105
  "ioredis": "^5.3.2",
104
106
  "lodash": "^4.17.21",
105
107
  "micromatch": "^4.0.5",
@@ -110,37 +112,39 @@
110
112
  "query-string": "^7.1.3",
111
113
  "rimraf": "^4.4.1",
112
114
  "source-map-support": "^0.5.21",
113
- "type-fest": "^3.12.0",
115
+ "type-fest": "^3.13.1",
114
116
  "update-notifier": "^5.1.0",
115
117
  "urlsafe-base64": "^1.0.0",
116
- "yaml": "^2.3.1",
117
- "zod": "^3.21.4",
118
- "zod-validation-error": "^1.3.0"
118
+ "yaml": "^2.3.2",
119
+ "zod": "^3.22.4",
120
+ "zod-validation-error": "^1.5.0"
119
121
  },
120
122
  "devDependencies": {
121
- "@algolia/client-search": "^4.17.2",
122
- "@commitlint/cli": "^17.6.5",
123
- "@commitlint/config-angular": "^17.6.5",
123
+ "@algolia/client-search": "^4.20.0",
124
+ "@commitlint/cli": "^17.7.2",
125
+ "@commitlint/config-angular": "^17.7.0",
124
126
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
125
- "@oclif/test": "^2.3.22",
126
- "@types/bluebird": "^3.5.38",
127
- "@types/bytes": "^3.1.1",
128
- "@types/chai": "^4.3.5",
129
- "@types/debug": "^4.1.8",
130
- "@types/fs-extra": "^11.0.1",
127
+ "@oclif/test": "^2.5.6",
128
+ "@types/ali-oss": "^6.16.9",
129
+ "@types/bluebird": "^3.5.40",
130
+ "@types/bytes": "^3.1.2",
131
+ "@types/chai": "^4.3.8",
132
+ "@types/debug": "^4.1.9",
133
+ "@types/fs-extra": "^11.0.2",
131
134
  "@types/ini": "^1.3.31",
132
- "@types/inquirer": "^8.2.6",
133
- "@types/ioredis-mock": "^8.2.2",
134
- "@types/lodash": "^4.14.195",
135
- "@types/micromatch": "^4.0.2",
136
- "@types/mocha": "^10.0.1",
137
- "@types/ms": "^0.7.31",
138
- "@types/node": "^18.16.18",
139
- "@types/nunjucks": "^3.2.2",
140
- "@types/sinon": "^10.0.15",
141
- "@types/urlsafe-base64": "^1.0.28",
142
- "@typescript-eslint/eslint-plugin": "^5.59.11",
143
- "@typescript-eslint/parser": "^5.59.11",
135
+ "@types/inquirer": "^8.2.7",
136
+ "@types/ioredis-mock": "^8.2.3",
137
+ "@types/lodash": "^4.14.199",
138
+ "@types/micromatch": "^4.0.3",
139
+ "@types/mocha": "^10.0.2",
140
+ "@types/ms": "^0.7.32",
141
+ "@types/node": "^18.18.5",
142
+ "@types/node-dir": "^0.0.35",
143
+ "@types/nunjucks": "^3.2.4",
144
+ "@types/sinon": "^10.0.19",
145
+ "@types/urlsafe-base64": "^1.0.29",
146
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
147
+ "@typescript-eslint/parser": "^5.62.0",
144
148
  "@vuepress/client": "2.0.0-beta.62",
145
149
  "@vuepress/plugin-docsearch": "2.0.0-beta.62",
146
150
  "@vuepress/plugin-google-analytics": "2.0.0-beta.62",
@@ -149,31 +153,31 @@
149
153
  "@vuepress/utils": "2.0.0-beta.62",
150
154
  "ava": "^5.3.1",
151
155
  "benchmark": "^2.1.4",
152
- "bumpp": "^9.1.1",
153
- "chai": "^4.3.7",
156
+ "bumpp": "^9.2.0",
157
+ "chai": "^4.3.10",
154
158
  "chai-jest-snapshot": "^2.0.0",
155
159
  "conventional-changelog-cli": "^2.2.2",
156
- "eslint-config-prettier": "^8.8.0",
160
+ "eslint-config-prettier": "^8.10.0",
157
161
  "eslint-plugin-prettier": "^4.2.1",
158
162
  "husky": "^8.0.3",
159
163
  "ini": "^3.0.1",
160
- "ioredis-mock": "^8.7.0",
161
- "lint-staged": "^13.2.2",
164
+ "ioredis-mock": "^8.9.0",
165
+ "lint-staged": "^13.3.0",
162
166
  "mocha": "^10.2.0",
163
- "nock": "^13.3.1",
167
+ "nock": "^13.3.4",
164
168
  "np": "^6.5.0",
165
169
  "npm-debug-log-cleaner": "^1.0.3",
166
170
  "npm-run-all": "^4.1.5",
167
171
  "nyc": "^15.1.0",
168
172
  "prettier": "^2.8.8",
169
- "sass": "^1.63.4",
170
- "sinon": "^15.1.2",
173
+ "sass": "^1.69.3",
174
+ "sinon": "^15.2.0",
171
175
  "ts-node": "^10.9.1",
172
- "typescript": "~5.0.4",
176
+ "typescript": "^5.2.2",
173
177
  "vue": "^3.3.4",
174
178
  "vuepress": "2.0.0-beta.62",
175
179
  "vuepress-plugin-sitemap2": "2.0.0-beta.205",
176
- "vuepress-plugin-umami-analytics": "^1.2.0"
180
+ "vuepress-plugin-umami-analytics": "^1.5.0"
177
181
  },
178
182
  "ava": {
179
183
  "failFast": false,