surgio 2.25.3 → 3.0.0-alpha.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.
- package/bin/dev +17 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +8 -0
- package/bin/run.cmd +3 -0
- package/build/base-command.d.ts +18 -0
- package/build/base-command.js +74 -0
- package/build/commands/check.d.ts +10 -0
- package/build/commands/check.js +88 -0
- package/build/commands/clean-cache.d.ts +6 -0
- package/build/commands/clean-cache.js +29 -0
- package/build/commands/doctor.d.ts +6 -0
- package/build/commands/doctor.js +21 -0
- package/build/commands/generate.d.ts +7 -0
- package/build/commands/generate.js +93 -0
- package/build/commands/lint.d.ts +6 -0
- package/build/commands/lint.js +36 -0
- package/build/commands/new.d.ts +6 -0
- package/build/commands/new.js +36 -0
- package/build/commands/subscriptions.d.ts +7 -0
- package/build/commands/subscriptions.js +96 -0
- package/build/commands/upload.d.ts +6 -0
- package/build/commands/upload.js +87 -0
- package/build/config.d.ts +6 -0
- package/build/config.js +151 -0
- package/build/constant/constant.d.ts +17 -16
- package/build/constant/constant.js +3 -2
- package/build/constant/env.js +1 -1
- package/build/constant/error.js +1 -1
- package/build/constant/index.js +1 -1
- package/build/generate.d.ts +0 -1
- package/build/generate.js +3 -65
- package/build/generator/artifact.d.ts +299 -64
- package/build/generator/artifact.js +90 -92
- package/build/generator/index.d.ts +2 -0
- package/build/generator/index.js +19 -0
- package/build/generator/template.js +2 -6
- package/build/hooks/init.d.ts +3 -0
- package/build/hooks/init.js +32 -0
- package/build/index.d.ts +55 -53
- package/build/index.js +13 -51
- package/build/internal.d.ts +4 -0
- package/build/internal.js +21 -0
- package/build/misc/deprecation.d.ts +1 -6
- package/build/misc/deprecation.js +1 -8
- package/build/misc/flag_cn.js +1 -1
- package/build/provider/BlackSSLProvider.d.ts +4 -3
- package/build/provider/BlackSSLProvider.js +24 -16
- package/build/provider/ClashProvider.d.ts +7 -10
- package/build/provider/ClashProvider.js +165 -76
- package/build/provider/CustomProvider.d.ts +4 -3
- package/build/provider/CustomProvider.js +81 -50
- package/build/provider/Provider.d.ts +9 -22
- package/build/provider/Provider.js +31 -69
- package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
- package/build/provider/ShadowsocksJsonSubscribeProvider.js +27 -21
- package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
- package/build/provider/ShadowsocksSubscribeProvider.js +30 -27
- package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
- package/build/provider/ShadowsocksrSubscribeProvider.js +30 -23
- package/build/provider/SsdProvider.d.ts +5 -8
- package/build/provider/SsdProvider.js +56 -39
- package/build/provider/TrojanProvider.d.ts +5 -8
- package/build/provider/TrojanProvider.js +37 -30
- package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
- package/build/provider/V2rayNSubscribeProvider.js +61 -33
- package/build/provider/index.d.ts +16 -2
- package/build/provider/index.js +12 -5
- package/build/provider/types.d.ts +10 -1
- package/build/provider/types.js +1 -1
- package/build/redis.js +1 -1
- package/build/types.d.ts +45 -236
- package/build/types.js +2 -1
- package/build/utils/cache.js +29 -27
- package/build/utils/clash.d.ts +204 -3
- package/build/utils/clash.js +247 -110
- package/build/utils/configurables.d.ts +71 -0
- package/build/utils/configurables.js +8 -0
- package/build/utils/constant.js +1 -1
- package/build/utils/dns.js +1 -1
- package/build/utils/doctor.d.ts +2 -0
- package/build/utils/doctor.js +38 -0
- package/build/utils/env-flag.js +2 -2
- package/build/utils/error-helper.d.ts +2 -2
- package/build/utils/error-helper.js +30 -16
- package/build/utils/filter.d.ts +46 -43
- package/build/utils/filter.js +51 -30
- package/build/utils/flag.js +1 -1
- package/build/utils/http-client.js +38 -5
- package/build/utils/index.d.ts +13 -21
- package/build/utils/index.js +98 -117
- package/build/utils/linter.js +5 -2
- package/build/utils/loon.d.ts +3 -2
- package/build/utils/loon.js +67 -5
- package/build/utils/quantumult.d.ts +3 -3
- package/build/utils/quantumult.js +190 -258
- package/build/utils/relayable-url.js +1 -1
- package/build/utils/remote-snippet.js +3 -4
- package/build/utils/ss.js +27 -17
- package/build/utils/ssr.js +3 -4
- package/build/utils/subscription.js +7 -7
- package/build/utils/surfboard.d.ts +3 -2
- package/build/utils/surfboard.js +142 -126
- package/build/utils/surge.d.ts +4 -2
- package/build/utils/surge.js +328 -300
- package/build/utils/time.d.ts +1 -0
- package/build/utils/time.js +6 -0
- package/build/utils/tmp-helper.js +8 -1
- package/build/utils/trojan.js +19 -11
- package/build/utils/v2ray.js +2 -2
- package/build/validators/artifact.d.ts +35 -0
- package/build/validators/artifact.js +17 -0
- package/build/validators/common.d.ts +121 -0
- package/build/validators/common.js +52 -0
- package/build/validators/filter.d.ts +10 -0
- package/build/validators/filter.js +15 -0
- package/build/validators/hooks.d.ts +7 -0
- package/build/validators/hooks.js +8 -0
- package/build/validators/http.d.ts +137 -0
- package/build/validators/http.js +19 -0
- package/build/validators/index.d.ts +15 -0
- package/build/validators/index.js +32 -0
- package/build/validators/provider.d.ts +109 -0
- package/build/validators/provider.js +41 -0
- package/build/validators/shadowsocks.d.ts +86 -0
- package/build/validators/shadowsocks.js +29 -0
- package/build/validators/shadowsocksr.d.ts +77 -0
- package/build/validators/shadowsocksr.js +19 -0
- package/build/validators/snell.d.ts +71 -0
- package/build/validators/snell.js +20 -0
- package/build/validators/socks5.d.ts +77 -0
- package/build/validators/socks5.js +19 -0
- package/build/validators/surgio-config.d.ts +307 -0
- package/build/validators/surgio-config.js +95 -0
- package/build/validators/trojan.d.ts +86 -0
- package/build/validators/trojan.js +15 -0
- package/build/validators/tuic.d.ts +301 -0
- package/build/validators/tuic.js +21 -0
- package/build/validators/vmess.d.ts +92 -0
- package/build/validators/vmess.js +29 -0
- package/build/validators/wireguard.d.ts +123 -0
- package/build/validators/wireguard.js +26 -0
- package/config.d.ts +1 -0
- package/config.js +1 -0
- package/constant.d.ts +1 -0
- package/constant.js +1 -0
- package/generator.d.ts +1 -0
- package/generator.js +1 -0
- package/hygen-template/artifact/new/index.js +15 -15
- package/hygen-template/provider/new/index.js +8 -7
- package/hygen-template/template/new/index.js +3 -3
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/internal.d.ts +1 -0
- package/internal.js +1 -0
- package/package.json +112 -75
- package/provider.d.ts +1 -0
- package/provider.js +1 -0
- package/utils.d.ts +1 -0
- package/utils.js +1 -0
- package/bin/surgio.js +0 -8
- package/build/command/check.d.ts +0 -9
- package/build/command/check.js +0 -79
- package/build/command/clean-cache.d.ts +0 -8
- package/build/command/clean-cache.js +0 -43
- package/build/command/doctor.d.ts +0 -9
- package/build/command/doctor.js +0 -63
- package/build/command/generate.d.ts +0 -8
- package/build/command/generate.js +0 -64
- package/build/command/lint.d.ts +0 -7
- package/build/command/lint.js +0 -42
- package/build/command/new.d.ts +0 -7
- package/build/command/new.js +0 -44
- package/build/command/subscriptions.d.ts +0 -10
- package/build/command/subscriptions.js +0 -87
- package/build/command/upload.d.ts +0 -9
- package/build/command/upload.js +0 -101
- package/build/utils/command.d.ts +0 -2
- package/build/utils/command.js +0 -23
- package/build/utils/config.d.ts +0 -6
- package/build/utils/config.js +0 -245
- package/build/utils/patch-proxy.d.ts +0 -1
- package/build/utils/patch-proxy.js +0 -19
package/build/command/doctor.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
// istanbul ignore file
|
|
6
|
-
const common_bin_1 = __importDefault(require("common-bin"));
|
|
7
|
-
const check_node_version_1 = __importDefault(require("check-node-version"));
|
|
8
|
-
const util_1 = require("util");
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const redis_1 = __importDefault(require("../redis"));
|
|
11
|
-
const command_1 = require("../utils/command");
|
|
12
|
-
const error_helper_1 = require("../utils/error-helper");
|
|
13
|
-
class DoctorCommand extends common_bin_1.default {
|
|
14
|
-
constructor(rawArgv) {
|
|
15
|
-
super(rawArgv);
|
|
16
|
-
this.usage = '使用方法: surgio doctor';
|
|
17
|
-
(0, command_1.defineGlobalOptions)(this.yargs);
|
|
18
|
-
}
|
|
19
|
-
async run(ctx) {
|
|
20
|
-
const doctorInfo = await DoctorCommand.generateDoctorInfo(ctx.cwd);
|
|
21
|
-
doctorInfo.forEach((item) => {
|
|
22
|
-
console.log(item);
|
|
23
|
-
});
|
|
24
|
-
await redis_1.default.destroyRedis();
|
|
25
|
-
}
|
|
26
|
-
// istanbul ignore next
|
|
27
|
-
get description() {
|
|
28
|
-
return '检查运行环境';
|
|
29
|
-
}
|
|
30
|
-
// istanbul ignore next
|
|
31
|
-
errorHandler(err) {
|
|
32
|
-
error_helper_1.errorHandler.call(this, err);
|
|
33
|
-
}
|
|
34
|
-
static async generateDoctorInfo(cwd) {
|
|
35
|
-
const doctorInfo = [];
|
|
36
|
-
const pkg = require('../../package.json');
|
|
37
|
-
const checkInfo = await (0, util_1.promisify)(check_node_version_1.default)();
|
|
38
|
-
try {
|
|
39
|
-
const gatewayPkg = require((0, path_1.join)(cwd, 'node_modules/@surgio/gateway/package.json'));
|
|
40
|
-
doctorInfo.push(`@surgio/gateway: ${gatewayPkg.version}`);
|
|
41
|
-
}
|
|
42
|
-
catch (_) {
|
|
43
|
-
// no catch
|
|
44
|
-
}
|
|
45
|
-
doctorInfo.push(`surgio: ${pkg.version} (${(0, path_1.join)(__dirname, '../..')})`);
|
|
46
|
-
if (checkInfo) {
|
|
47
|
-
Object.keys(checkInfo.versions).forEach((key) => {
|
|
48
|
-
const version = checkInfo.versions[key].version;
|
|
49
|
-
if (version) {
|
|
50
|
-
if (key === 'node') {
|
|
51
|
-
doctorInfo.push(`${key}: ${version} (${process.execPath})`);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
doctorInfo.push(`${key}: ${version}`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
return doctorInfo;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
module.exports = DoctorCommand;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1hbmQvZG9jdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1QkFBdUI7QUFDdkIsNERBQWlDO0FBQ2pDLDRFQUF1QztBQUN2QywrQkFBaUM7QUFDakMsK0JBQTRCO0FBQzVCLHFEQUE2QjtBQUM3Qiw4Q0FBdUQ7QUFFdkQsd0RBQXFEO0FBS3JELE1BQU0sYUFBYyxTQUFRLG9CQUFPO0lBQ2pDLFlBQVksT0FBa0I7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQztRQUVuQyxJQUFBLDZCQUFtQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLE1BQU0sYUFBYSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sZUFBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx1QkFBdUI7SUFDaEIsWUFBWSxDQUFDLEdBQUc7UUFDckIsMkJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUNwQyxHQUFXO1FBRVgsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxnQkFBUyxFQUFZLDRCQUFLLENBQUMsRUFBRSxDQUFDO1FBRXRELElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBQSxXQUFJLEVBQzdCLEdBQUcsRUFDSCwyQ0FBMkMsQ0FDNUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDM0Q7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLFdBQVc7U0FDWjtRQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxLQUFLLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEUsSUFBSSxTQUFTLEVBQUU7WUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDOUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ2hELElBQUksT0FBTyxFQUFFO29CQUNYLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTt3QkFDbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxPQUFPLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7cUJBQzdEO3lCQUFNO3dCQUNMLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQztxQkFDdkM7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBRUQsaUJBQVMsYUFBYSxDQUFDIn0=
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
const common_bin_1 = __importDefault(require("common-bin"));
|
|
6
|
-
const redis_1 = __importDefault(require("../redis"));
|
|
7
|
-
const command_1 = require("../utils/command");
|
|
8
|
-
const config_1 = require("../utils/config");
|
|
9
|
-
const generate_1 = __importDefault(require("../generate"));
|
|
10
|
-
const error_helper_1 = require("../utils/error-helper");
|
|
11
|
-
const linter_1 = require("../utils/linter");
|
|
12
|
-
class GenerateCommand extends common_bin_1.default {
|
|
13
|
-
constructor(rawArgv) {
|
|
14
|
-
super(rawArgv);
|
|
15
|
-
this.usage = '使用方法: surgio generate';
|
|
16
|
-
this.options = {
|
|
17
|
-
o: {
|
|
18
|
-
type: 'string',
|
|
19
|
-
alias: 'output',
|
|
20
|
-
description: '生成规则的目录',
|
|
21
|
-
},
|
|
22
|
-
'cache-snippet': {
|
|
23
|
-
type: 'boolean',
|
|
24
|
-
default: false,
|
|
25
|
-
description: '缓存远程片段',
|
|
26
|
-
},
|
|
27
|
-
'skip-fail': {
|
|
28
|
-
type: 'boolean',
|
|
29
|
-
default: false,
|
|
30
|
-
description: '跳过生成失败的 Artifact',
|
|
31
|
-
},
|
|
32
|
-
'skip-lint': {
|
|
33
|
-
type: 'boolean',
|
|
34
|
-
default: false,
|
|
35
|
-
description: '跳过代码检查',
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
(0, command_1.defineGlobalOptions)(this.yargs);
|
|
39
|
-
}
|
|
40
|
-
async run(ctx) {
|
|
41
|
-
(0, config_1.loadConfig)(ctx.cwd, ctx.argv.config);
|
|
42
|
-
if (!ctx.argv.skipLint) {
|
|
43
|
-
const result = await (0, linter_1.checkAndFix)(ctx.cwd);
|
|
44
|
-
if (!result) {
|
|
45
|
-
throw new Error('JS 语法检查不通过,请根据提示修改文件(参考 https://url.royli.dev/SeB6m)');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (ctx.argv.output) {
|
|
49
|
-
(0, config_1.setConfig)('output', ctx.argv.output);
|
|
50
|
-
}
|
|
51
|
-
await (0, generate_1.default)((0, config_1.getConfig)(), ctx.argv.skipFail, ctx.argv.cacheSnippet);
|
|
52
|
-
await redis_1.default.destroyRedis();
|
|
53
|
-
}
|
|
54
|
-
// istanbul ignore next
|
|
55
|
-
get description() {
|
|
56
|
-
return '生成规则';
|
|
57
|
-
}
|
|
58
|
-
// istanbul ignore next
|
|
59
|
-
errorHandler(err) {
|
|
60
|
-
error_helper_1.errorHandler.call(this, err);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
module.exports = GenerateCommand;
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvY29tbWFuZC9nZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNERBQWlDO0FBQ2pDLHFEQUE2QjtBQUM3Qiw4Q0FBdUQ7QUFFdkQsNENBQW1FO0FBQ25FLDJEQUFtQztBQUNuQyx3REFBcUQ7QUFDckQsNENBQThDO0FBRTlDLE1BQU0sZUFBZ0IsU0FBUSxvQkFBTztJQUNuQyxZQUFZLE9BQWtCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsdUJBQXVCLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsRUFBRTtnQkFDRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsUUFBUTtnQkFDZixXQUFXLEVBQUUsU0FBUzthQUN2QjtZQUNELGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSztnQkFDZCxXQUFXLEVBQUUsUUFBUTthQUN0QjtZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSztnQkFDZCxXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFdBQVcsRUFBRSxRQUFRO2FBQ3RCO1NBQ0YsQ0FBQztRQUVGLElBQUEsNkJBQW1CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUc7UUFDbEIsSUFBQSxtQkFBVSxFQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLG9CQUFXLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYixzREFBc0QsQ0FDdkQsQ0FBQzthQUNIO1NBQ0Y7UUFFRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUEsa0JBQVMsRUFBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sSUFBQSxrQkFBUSxFQUFDLElBQUEsa0JBQVMsR0FBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEUsTUFBTSxlQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixJQUFXLFdBQVc7UUFDcEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHVCQUF1QjtJQUNoQixZQUFZLENBQUMsR0FBRztRQUNyQiwyQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBRUQsaUJBQVMsZUFBZSxDQUFDIn0=
|
package/build/command/lint.d.ts
DELETED
package/build/command/lint.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
// istanbul ignore file
|
|
6
|
-
const common_bin_1 = __importDefault(require("common-bin"));
|
|
7
|
-
const linter_1 = require("../utils/linter");
|
|
8
|
-
class LintCommand extends common_bin_1.default {
|
|
9
|
-
constructor(rawArgv) {
|
|
10
|
-
super(rawArgv);
|
|
11
|
-
this.usage = '使用方法: surgio lint [--fix]';
|
|
12
|
-
this.options = {
|
|
13
|
-
fix: {
|
|
14
|
-
default: false,
|
|
15
|
-
describe: '自动修复部分 Lint 错误',
|
|
16
|
-
type: 'boolean',
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
// istanbul ignore next
|
|
21
|
-
get description() {
|
|
22
|
-
return '运行 JS 语法检查';
|
|
23
|
-
}
|
|
24
|
-
async run(ctx) {
|
|
25
|
-
let result;
|
|
26
|
-
if (ctx.argv.fix) {
|
|
27
|
-
result = await (0, linter_1.checkAndFix)(ctx.cwd);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
result = await (0, linter_1.check)(ctx.cwd);
|
|
31
|
-
}
|
|
32
|
-
if (!result) {
|
|
33
|
-
console.warn('⚠️ JS 语法检查不通过,请根据提示修改文件(可添加参数 --fix 自动修复部分错误, 参考 https://url.royli.dev/SeB6m)');
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
console.log('✅ JS 语法检查通过');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
module.exports = LintCommand;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9jb21tYW5kL2xpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVCQUF1QjtBQUN2Qiw0REFBaUM7QUFFakMsNENBQXFEO0FBRXJELE1BQU0sV0FBWSxTQUFRLG9CQUFPO0lBQy9CLFlBQVksT0FBa0I7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRywyQkFBMkIsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRyxFQUFFO2dCQUNILE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUc7UUFDbEIsSUFBSSxNQUFNLENBQUM7UUFFWCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxNQUFNLElBQUEsb0JBQVcsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLElBQUEsY0FBSyxFQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLENBQUMsSUFBSSxDQUNWLGdGQUFnRixDQUNqRixDQUFDO1lBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQjthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7Q0FDRjtBQUVELGlCQUFTLFdBQVcsQ0FBQyJ9
|
package/build/command/new.d.ts
DELETED
package/build/command/new.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
// istanbul ignore file
|
|
6
|
-
const logger_1 = require("@surgio/logger");
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const hygen_1 = require("@royli/hygen");
|
|
9
|
-
const common_bin_1 = __importDefault(require("common-bin"));
|
|
10
|
-
const command_1 = require("../utils/command");
|
|
11
|
-
const defaultTemplates = (0, path_1.join)(__dirname, '../../hygen-template');
|
|
12
|
-
const logger = (0, logger_1.createLogger)({ service: 'surgio:NewCommand' });
|
|
13
|
-
class NewCommand extends common_bin_1.default {
|
|
14
|
-
constructor(rawArgv) {
|
|
15
|
-
super(rawArgv);
|
|
16
|
-
this.usage = '使用方法: surgio new [provider|template|artifact]';
|
|
17
|
-
(0, command_1.defineGlobalOptions)(this.yargs);
|
|
18
|
-
}
|
|
19
|
-
// istanbul ignore next
|
|
20
|
-
get description() {
|
|
21
|
-
return '新建文件助手';
|
|
22
|
-
}
|
|
23
|
-
async run(ctx) {
|
|
24
|
-
if (!ctx.rawArgv.length) {
|
|
25
|
-
logger.error('请指定新建类型\n');
|
|
26
|
-
this.showHelp();
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const args = [...ctx.rawArgv].concat('new'); // [type] new ...
|
|
30
|
-
(0, hygen_1.runner)(args, {
|
|
31
|
-
templates: defaultTemplates,
|
|
32
|
-
cwd: process.cwd(),
|
|
33
|
-
logger: new hygen_1.Logger(console.log.bind(console)),
|
|
34
|
-
createPrompter: () => require('inquirer'),
|
|
35
|
-
exec: (action, body) => {
|
|
36
|
-
const opts = body && body.length > 0 ? { input: body } : {};
|
|
37
|
-
return require('execa').shell(action, opts);
|
|
38
|
-
},
|
|
39
|
-
debug: !!process.env.DEBUG,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
module.exports = NewCommand;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1hbmQvbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1QkFBdUI7QUFDdkIsMkNBQThDO0FBQzlDLCtCQUE0QjtBQUM1Qix3Q0FBOEM7QUFDOUMsNERBQThDO0FBRTlDLDhDQUF1RDtBQUV2RCxNQUFNLGdCQUFnQixHQUFHLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFOUQsTUFBTSxVQUFXLFNBQVEsb0JBQU87SUFDOUIsWUFBWSxPQUFrQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLCtDQUErQyxDQUFDO1FBRTdELElBQUEsNkJBQW1CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVk7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1FBRXhFLElBQUEsY0FBTSxFQUFDLElBQUksRUFBRTtZQUNYLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDbEIsTUFBTSxFQUFFLElBQUksY0FBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3pDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxpQkFBUyxVQUFVLENBQUMifQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import Command from 'common-bin';
|
|
2
|
-
declare class SubscriptionsCommand extends Command {
|
|
3
|
-
private config;
|
|
4
|
-
constructor(rawArgv?: string[]);
|
|
5
|
-
run(ctx: any): Promise<void>;
|
|
6
|
-
get description(): string;
|
|
7
|
-
errorHandler(err: any): void;
|
|
8
|
-
private listProviders;
|
|
9
|
-
}
|
|
10
|
-
export = SubscriptionsCommand;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
// istanbul ignore file
|
|
6
|
-
const common_bin_1 = __importDefault(require("common-bin"));
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
const logger_1 = require("@surgio/logger");
|
|
10
|
-
const redis_1 = __importDefault(require("../redis"));
|
|
11
|
-
const command_1 = require("../utils/command");
|
|
12
|
-
const config_1 = require("../utils/config");
|
|
13
|
-
const provider_1 = require("../provider");
|
|
14
|
-
const error_helper_1 = require("../utils/error-helper");
|
|
15
|
-
const subscription_1 = require("../utils/subscription");
|
|
16
|
-
const logger = (0, logger_1.createLogger)({
|
|
17
|
-
service: 'surgio:SubscriptionsCommand',
|
|
18
|
-
});
|
|
19
|
-
class SubscriptionsCommand extends common_bin_1.default {
|
|
20
|
-
constructor(rawArgv) {
|
|
21
|
-
super(rawArgv);
|
|
22
|
-
this.usage = '使用方法: surgio subscriptions';
|
|
23
|
-
(0, command_1.defineGlobalOptions)(this.yargs);
|
|
24
|
-
}
|
|
25
|
-
async run(ctx) {
|
|
26
|
-
this.config = (0, config_1.loadConfig)(ctx.cwd, ctx.argv.config);
|
|
27
|
-
const providerList = await this.listProviders();
|
|
28
|
-
for (const provider of providerList) {
|
|
29
|
-
if (provider.supportGetSubscriptionUserInfo) {
|
|
30
|
-
const userInfo = await provider.getSubscriptionUserInfo();
|
|
31
|
-
if (userInfo) {
|
|
32
|
-
const format = (0, subscription_1.formatSubscriptionUserInfo)(userInfo);
|
|
33
|
-
console.log('🤟 %s 已用流量:%s 剩余流量:%s 有效期至:%s', provider.name, format.used, format.left, format.expire);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
console.log('⚠️ 无法查询 %s 的流量信息', provider.name);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
console.log('⚠️ 无法查询 %s 的流量信息', provider.name);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
await redis_1.default.destroyRedis();
|
|
44
|
-
}
|
|
45
|
-
// istanbul ignore next
|
|
46
|
-
get description() {
|
|
47
|
-
return '查询订阅流量';
|
|
48
|
-
}
|
|
49
|
-
// istanbul ignore next
|
|
50
|
-
errorHandler(err) {
|
|
51
|
-
error_helper_1.errorHandler.call(this, err);
|
|
52
|
-
}
|
|
53
|
-
async listProviders() {
|
|
54
|
-
const files = await fs_1.promises.readdir(this.config.providerDir, {
|
|
55
|
-
encoding: 'utf8',
|
|
56
|
-
});
|
|
57
|
-
const providerList = [];
|
|
58
|
-
async function readProvider(path) {
|
|
59
|
-
let provider;
|
|
60
|
-
try {
|
|
61
|
-
const providerName = (0, path_1.basename)(path, '.js');
|
|
62
|
-
logger.debug('read %s %s', providerName, path);
|
|
63
|
-
// eslint-disable-next-line prefer-const
|
|
64
|
-
provider = await (0, provider_1.getProvider)(providerName, require(path));
|
|
65
|
-
}
|
|
66
|
-
catch (err) {
|
|
67
|
-
logger.debug(`${path} 不是一个合法的模块`);
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
if (!(provider === null || provider === void 0 ? void 0 : provider.type)) {
|
|
71
|
-
logger.debug(`${path} 不是一个 Provider`);
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
logger.debug('got provider %j', provider);
|
|
75
|
-
return provider;
|
|
76
|
-
}
|
|
77
|
-
for (const file of files) {
|
|
78
|
-
const result = await readProvider((0, path_1.join)(this.config.providerDir, file));
|
|
79
|
-
if (result) {
|
|
80
|
-
providerList.push(result);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return providerList;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
module.exports = SubscriptionsCommand;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9jb21tYW5kL3N1YnNjcmlwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVCQUF1QjtBQUN2Qiw0REFBaUM7QUFDakMsMkJBQXFDO0FBQ3JDLCtCQUFzQztBQUN0QywyQ0FBOEM7QUFTOUMscURBQTZCO0FBRTdCLDhDQUF1RDtBQUN2RCw0Q0FBNkM7QUFDN0MsMENBQTBDO0FBQzFDLHdEQUFxRDtBQUNyRCx3REFBbUU7QUFFbkUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDO0lBQzFCLE9BQU8sRUFBRSw2QkFBNkI7Q0FDdkMsQ0FBQyxDQUFDO0FBVUgsTUFBTSxvQkFBcUIsU0FBUSxvQkFBTztJQUd4QyxZQUFZLE9BQWtCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUM7UUFFMUMsSUFBQSw2QkFBbUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUEsbUJBQVUsRUFBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFaEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDbkMsSUFBSSxRQUFRLENBQUMsOEJBQThCLEVBQUU7Z0JBQzNDLE1BQU0sUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBRTFELElBQUksUUFBUSxFQUFFO29CQUNaLE1BQU0sTUFBTSxHQUFHLElBQUEseUNBQTBCLEVBQUMsUUFBUSxDQUFDLENBQUM7b0JB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
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import Command from 'common-bin';
|
|
2
|
-
declare class GenerateCommand extends Command {
|
|
3
|
-
private readonly spinner;
|
|
4
|
-
constructor(rawArgv?: string[]);
|
|
5
|
-
run(ctx: any): Promise<void>;
|
|
6
|
-
get description(): string;
|
|
7
|
-
errorHandler(err: any): void;
|
|
8
|
-
}
|
|
9
|
-
export = GenerateCommand;
|
package/build/command/upload.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
// istanbul ignore file
|
|
6
|
-
const ali_oss_1 = __importDefault(require("ali-oss"));
|
|
7
|
-
const common_bin_1 = __importDefault(require("common-bin"));
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const node_dir_1 = __importDefault(require("node-dir"));
|
|
10
|
-
const ora_1 = __importDefault(require("ora"));
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const redis_1 = __importDefault(require("../redis"));
|
|
13
|
-
const command_1 = require("../utils/command");
|
|
14
|
-
const config_1 = require("../utils/config");
|
|
15
|
-
const error_helper_1 = require("../utils/error-helper");
|
|
16
|
-
class GenerateCommand extends common_bin_1.default {
|
|
17
|
-
constructor(rawArgv) {
|
|
18
|
-
super(rawArgv);
|
|
19
|
-
this.usage = '使用方法: surgio upload';
|
|
20
|
-
this.spinner = (0, ora_1.default)();
|
|
21
|
-
this.options = {
|
|
22
|
-
o: {
|
|
23
|
-
type: 'string',
|
|
24
|
-
alias: 'output',
|
|
25
|
-
description: '生成规则的目录',
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
(0, command_1.defineGlobalOptions)(this.yargs);
|
|
29
|
-
}
|
|
30
|
-
async run(ctx) {
|
|
31
|
-
var _a, _b, _c, _d, _e, _f;
|
|
32
|
-
const config = (0, config_1.loadConfig)(ctx.cwd, ctx.argv.config);
|
|
33
|
-
if (ctx.argv.output) {
|
|
34
|
-
(0, config_1.setConfig)('output', ctx.argv.output);
|
|
35
|
-
}
|
|
36
|
-
const ossConfig = {
|
|
37
|
-
region: (_a = config === null || config === void 0 ? void 0 : config.upload) === null || _a === void 0 ? void 0 : _a.region,
|
|
38
|
-
bucket: (_b = config === null || config === void 0 ? void 0 : config.upload) === null || _b === void 0 ? void 0 : _b.bucket,
|
|
39
|
-
endpoint: (_c = config === null || config === void 0 ? void 0 : config.upload) === null || _c === void 0 ? void 0 : _c.endpoint,
|
|
40
|
-
accessKeyId: ctx.env.OSS_ACCESS_KEY_ID || ((_d = config === null || config === void 0 ? void 0 : config.upload) === null || _d === void 0 ? void 0 : _d.accessKeyId),
|
|
41
|
-
accessKeySecret: ctx.env.OSS_ACCESS_KEY_SECRET || ((_e = config === null || config === void 0 ? void 0 : config.upload) === null || _e === void 0 ? void 0 : _e.accessKeySecret),
|
|
42
|
-
};
|
|
43
|
-
const client = new ali_oss_1.default(Object.assign({ secure: true }, ossConfig));
|
|
44
|
-
const prefix = ((_f = config === null || config === void 0 ? void 0 : config.upload) === null || _f === void 0 ? void 0 : _f.prefix) || '/';
|
|
45
|
-
const fileList = await node_dir_1.default.promiseFiles(config.output);
|
|
46
|
-
const files = fileList.map((filePath) => ({
|
|
47
|
-
fileName: path_1.default.basename(filePath),
|
|
48
|
-
filePath,
|
|
49
|
-
}));
|
|
50
|
-
const fileNameList = files.map((file) => file.fileName);
|
|
51
|
-
const upload = () => {
|
|
52
|
-
return Promise.all(files.map((file) => {
|
|
53
|
-
const { fileName, filePath } = file;
|
|
54
|
-
const objectName = `${prefix}${fileName}`;
|
|
55
|
-
const readStream = fs_1.default.createReadStream(filePath);
|
|
56
|
-
return client.put(objectName, readStream, {
|
|
57
|
-
mime: 'text/plain; charset=utf-8',
|
|
58
|
-
headers: {
|
|
59
|
-
'Cache-Control': 'private, no-cache, no-store',
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
}));
|
|
63
|
-
};
|
|
64
|
-
const deleteUnwanted = async () => {
|
|
65
|
-
const list = await client.list({
|
|
66
|
-
prefix,
|
|
67
|
-
delimiter: '/',
|
|
68
|
-
});
|
|
69
|
-
const deleteList = [];
|
|
70
|
-
for (const key in list.objects) {
|
|
71
|
-
if (list.objects.hasOwnProperty(key)) {
|
|
72
|
-
const object = list.objects[key];
|
|
73
|
-
const objectName = object.name.replace(prefix, '');
|
|
74
|
-
const isExist = fileNameList.indexOf(objectName) > -1;
|
|
75
|
-
if (objectName && !isExist) {
|
|
76
|
-
deleteList.push(object.name);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (deleteList.length) {
|
|
81
|
-
await client.deleteMulti(deleteList);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
this.spinner.start('开始上传到阿里云 OSS');
|
|
85
|
-
await upload();
|
|
86
|
-
await deleteUnwanted();
|
|
87
|
-
await redis_1.default.destroyRedis();
|
|
88
|
-
this.spinner.succeed();
|
|
89
|
-
}
|
|
90
|
-
// istanbul ignore next
|
|
91
|
-
get description() {
|
|
92
|
-
return '上传规则到阿里云 OSS';
|
|
93
|
-
}
|
|
94
|
-
// istanbul ignore next
|
|
95
|
-
errorHandler(err) {
|
|
96
|
-
this.spinner.fail();
|
|
97
|
-
error_helper_1.errorHandler.call(this, err);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
module.exports = GenerateCommand;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1hbmQvdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1QkFBdUI7QUFDdkIsc0RBQTBCO0FBQzFCLDREQUFpQztBQUNqQyw0Q0FBb0I7QUFDcEIsd0RBQTJCO0FBQzNCLDhDQUErQjtBQUMvQixnREFBd0I7QUFDeEIscURBQTZCO0FBQzdCLDhDQUF1RDtBQUV2RCw0Q0FBd0Q7QUFDeEQsd0RBQXFEO0FBRXJELE1BQU0sZUFBZ0IsU0FBUSxvQkFBTztJQUduQyxZQUFZLE9BQWtCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLGFBQUcsR0FBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixDQUFDLEVBQUU7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsV0FBVyxFQUFFLFNBQVM7YUFDdkI7U0FDRixDQUFDO1FBRUYsSUFBQSw2QkFBbUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRzs7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBVSxFQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUEsa0JBQVMsRUFBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLE1BQU0sRUFBRSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLDBDQUFFLE1BQU07WUFDOUIsTUFBTSxFQUFFLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sMENBQUUsTUFBTTtZQUM5QixRQUFRLEVBQUUsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSwwQ0FBRSxRQUFRO1lBQ2xDLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFpQixLQUFJLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sMENBQUUsV0FBVyxDQUFBO1lBQ3JFLGVBQWUsRUFDYixHQUFHLENBQUMsR0FBRyxDQUFDLHFCQUFxQixLQUFJLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sMENBQUUsZUFBZSxDQUFBO1NBQ25FLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFHLGlCQUNwQixNQUFNLEVBQUUsSUFBSSxJQUNULFNBQVMsRUFDWixDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsQ0FBQSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLDBDQUFFLE1BQU0sS0FBSSxHQUFHLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QyxRQUFRLEVBQUUsY0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDakMsUUFBUTtTQUNULENBQUMsQ0FBQyxDQUFDO1FBQ0osTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhELE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNsQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ3BDLE1BQU0sVUFBVSxHQUFHLEdBQUcsTUFBTSxHQUFHLFFBQVEsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLFVBQVUsR0FBRyxZQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRWpELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFO29CQUN4QyxJQUFJLEVBQUUsMkJBQTJCO29CQUNqQyxPQUFPLEVBQUU7d0JBQ1AsZUFBZSxFQUFFLDZCQUE2QjtxQkFDL0M7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDN0IsTUFBTTtnQkFDTixTQUFTLEVBQUUsR0FBRzthQUNmLENBQUMsQ0FBQztZQUNILE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztZQUVoQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2pDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbkQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFFdEQsSUFBSSxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQzFCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUM5QjtpQkFDRjthQUNGO1lBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO2dCQUNyQixNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxNQUFNLE1BQU0sRUFBRSxDQUFDO1FBQ2YsTUFBTSxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLGVBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCx1QkFBdUI7SUFDaEIsWUFBWSxDQUFDLEdBQUc7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVwQiwyQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBRUQsaUJBQVMsZUFBZSxDQUFDIn0=
|
package/build/utils/command.d.ts
DELETED
package/build/utils/command.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineGlobalOptions = void 0;
|
|
4
|
-
const defineGlobalOptions = (yargs) => {
|
|
5
|
-
yargs.options({
|
|
6
|
-
c: {
|
|
7
|
-
alias: 'config',
|
|
8
|
-
default: './surgio.conf.js',
|
|
9
|
-
description: '配置文件',
|
|
10
|
-
},
|
|
11
|
-
V: {
|
|
12
|
-
alias: 'verbose',
|
|
13
|
-
demandOption: false,
|
|
14
|
-
describe: '打印调试日志',
|
|
15
|
-
type: 'boolean',
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
yargs.group(['help', 'version', 'config', 'verbose'], 'Global Options:');
|
|
19
|
-
// 禁用 yargs 内部生成的 help 信息,似乎和 common-bin 的 load 有冲突
|
|
20
|
-
yargs.help(false);
|
|
21
|
-
};
|
|
22
|
-
exports.defineGlobalOptions = defineGlobalOptions;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUF5QixFQUFRLEVBQUU7SUFDckUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNaLENBQUMsRUFBRTtZQUNELEtBQUssRUFBRSxRQUFRO1lBQ2YsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixXQUFXLEVBQUUsTUFBTTtTQUNwQjtRQUNELENBQUMsRUFBRTtZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFFekUsbURBQW1EO0lBQ25ELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsbUJBQW1CLHVCQW1COUIifQ==
|
package/build/utils/config.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CommandConfig } from '../types';
|
|
2
|
-
export declare const loadConfig: (cwd: string, configPath: string, override?: Partial<CommandConfig>) => CommandConfig;
|
|
3
|
-
export declare const getConfig: () => CommandConfig;
|
|
4
|
-
export declare const setConfig: <T extends keyof CommandConfig>(key: T, value: CommandConfig[T]) => CommandConfig;
|
|
5
|
-
export declare const normalizeConfig: (cwd: string, userConfig: Partial<CommandConfig>) => CommandConfig;
|
|
6
|
-
export declare const validateConfig: (userConfig: Partial<CommandConfig>) => void;
|