@rife/cli 0.0.6-beta.1 → 0.0.6-beta.10
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/dist/1.js +24 -0
- package/dist/1.mjs +20 -0
- package/dist/cjs/1.js +24 -0
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/esm/1.mjs +20 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.js +3 -11
- package/dist/logger.js.map +1 -1
- package/dist/plugin/commander.js +22 -17
- package/dist/plugin/commander.js.map +1 -1
- package/dist/plugin/compiler/index.js +8 -4
- package/dist/plugin/compiler/index.js.map +1 -1
- package/dist/plugin/compiler/swc.js +2 -1
- package/dist/plugin/compiler/swc.js.map +1 -1
- package/dist/plugin/compiler/swc2.js +65 -0
- package/dist/plugin/compiler/swc2.js.map +1 -0
- package/dist/plugin/config.js +25 -9
- package/dist/plugin/config.js.map +1 -1
- package/dist/plugin/index.js +1 -0
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/package copy.js.map +1 -1
- package/dist/plugin/package.js.map +1 -1
- package/dist/plugin/release.js +84 -14
- package/dist/plugin/release.js.map +1 -1
- package/dist/runner.js +33 -4
- package/dist/runner.js.map +1 -1
- package/dist/sync.js +4 -3
- package/dist/sync.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util.js +14 -0
- package/dist/util.js.map +1 -0
- package/package.json +27 -26
- package/src/cli.ts +23 -19
- package/src/index.ts +13 -3
- package/src/logger.ts +16 -34
- package/src/plugin/commander.ts +49 -44
- package/src/plugin/compiler/index.ts +115 -109
- package/src/plugin/compiler/swc.ts +56 -55
- package/src/plugin/compiler/tsc.ts +101 -101
- package/src/plugin/config.ts +78 -63
- package/src/plugin/index.ts +1 -0
- package/src/plugin/package.ts +0 -3
- package/src/plugin/release.ts +113 -32
- package/src/runner.ts +130 -88
- package/src/sync.ts +63 -62
- package/src/util.ts +9 -0
- package/dist/build.js +0 -3
- package/dist/build.js.map +0 -1
- package/dist/compiler.js +0 -82
- package/dist/compiler.js.map +0 -1
- package/dist/plugin.js +0 -161
- package/dist/plugin.js.map +0 -1
- package/dist/pnpmfile.js +0 -144
- package/dist/swc.js +0 -78
- package/dist/swc.js.map +0 -1
- package/dist/tsc.js +0 -94
- package/dist/tsc.js.map +0 -1
- package/src/build.ts +0 -0
- package/src/pnpmfile.ts +0 -121
- package/src/test/pnpmfile.test.ts +0 -223
package/dist/1.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _plugin = require("./plugin");
|
|
6
|
+
const _release = require("./plugin/release");
|
|
7
|
+
const _runner = require("./runner");
|
|
8
|
+
const plugins = [
|
|
9
|
+
(0, _plugin.pluginPackage)(),
|
|
10
|
+
(0, _plugin.pluginConfig)(),
|
|
11
|
+
(0, _plugin.pluginCommander)(),
|
|
12
|
+
(0, _release.pluginRelease)()
|
|
13
|
+
];
|
|
14
|
+
const runner = (0, _runner.createRunner)();
|
|
15
|
+
plugins.forEach((plugin)=>plugin.apply(runner));
|
|
16
|
+
(async ()=>{
|
|
17
|
+
await runner.hook.loadPackage.promise();
|
|
18
|
+
await runner.hook.loadConfig.promise();
|
|
19
|
+
await runner.hook.validateConfig.promise();
|
|
20
|
+
await runner.hook.applyConfig.promise();
|
|
21
|
+
await runner.hook.validatePlugin.promise();
|
|
22
|
+
await runner.hook.registerCommand.promise();
|
|
23
|
+
await runner.hook.startCommand.promise();
|
|
24
|
+
})();
|
package/dist/1.mjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { pluginCommander, pluginConfig, pluginPackage } from './plugin';
|
|
2
|
+
import { pluginRelease } from './plugin/release';
|
|
3
|
+
import { createRunner } from './runner';
|
|
4
|
+
const plugins = [
|
|
5
|
+
pluginPackage(),
|
|
6
|
+
pluginConfig(),
|
|
7
|
+
pluginCommander(),
|
|
8
|
+
pluginRelease()
|
|
9
|
+
];
|
|
10
|
+
const runner = createRunner();
|
|
11
|
+
plugins.forEach((plugin)=>plugin.apply(runner));
|
|
12
|
+
(async ()=>{
|
|
13
|
+
await runner.hook.loadPackage.promise();
|
|
14
|
+
await runner.hook.loadConfig.promise();
|
|
15
|
+
await runner.hook.validateConfig.promise();
|
|
16
|
+
await runner.hook.applyConfig.promise();
|
|
17
|
+
await runner.hook.validatePlugin.promise();
|
|
18
|
+
await runner.hook.registerCommand.promise();
|
|
19
|
+
await runner.hook.startCommand.promise();
|
|
20
|
+
})();
|
package/dist/cjs/1.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _plugin = require("./plugin");
|
|
6
|
+
const _release = require("./plugin/release");
|
|
7
|
+
const _runner = require("./runner");
|
|
8
|
+
const plugins = [
|
|
9
|
+
(0, _plugin.pluginPackage)(),
|
|
10
|
+
(0, _plugin.pluginConfig)(),
|
|
11
|
+
(0, _plugin.pluginCommander)(),
|
|
12
|
+
(0, _release.pluginRelease)()
|
|
13
|
+
];
|
|
14
|
+
const runner = (0, _runner.createRunner)();
|
|
15
|
+
plugins.forEach((plugin)=>plugin.apply(runner));
|
|
16
|
+
(async ()=>{
|
|
17
|
+
await runner.hook.loadPackage.promise();
|
|
18
|
+
await runner.hook.loadConfig.promise();
|
|
19
|
+
await runner.hook.validateConfig.promise();
|
|
20
|
+
await runner.hook.applyConfig.promise();
|
|
21
|
+
await runner.hook.validatePlugin.promise();
|
|
22
|
+
await runner.hook.registerCommand.promise();
|
|
23
|
+
await runner.hook.startCommand.promise();
|
|
24
|
+
})();
|
package/dist/cli.js
CHANGED
|
@@ -6,6 +6,7 @@ const plugins = [
|
|
|
6
6
|
(0, plugin_1.pluginPackage)(), //
|
|
7
7
|
(0, plugin_1.pluginConfig)(),
|
|
8
8
|
(0, plugin_1.pluginCommander)(),
|
|
9
|
+
(0, plugin_1.pluginRelease)(),
|
|
9
10
|
];
|
|
10
11
|
const runner = (0, runner_1.createRunner)();
|
|
11
12
|
plugins.forEach(plugin => plugin.apply(runner));
|
|
@@ -13,6 +14,9 @@ plugins.forEach(plugin => plugin.apply(runner));
|
|
|
13
14
|
await runner.hook.loadPackage.promise();
|
|
14
15
|
await runner.hook.loadConfig.promise();
|
|
15
16
|
await runner.hook.validateConfig.promise();
|
|
17
|
+
await runner.hook.applyConfig.promise();
|
|
18
|
+
await runner.hook.validatePlugin.promise();
|
|
19
|
+
await runner.hook.registerCommand.promise();
|
|
16
20
|
await runner.hook.startCommand.promise();
|
|
17
21
|
})();
|
|
18
22
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAAA,qCAAuF;AACvF,qCAAgD;AAEhD,MAAM,OAAO,GAAa;IACtB,IAAA,sBAAa,GAAE,EAAE,EAAE;IACnB,IAAA,qBAAY,GAAE;IACd,IAAA,wBAAe,GAAE;IACjB,IAAA,sBAAa,GAAE;CAClB,CAAC;AAEF,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;AAE9B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhD,CAAC,KAAK,IAAI,EAAE;IACR,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IAC5C,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7C,CAAC,CAAC,EAAE,CAAC"}
|
package/dist/esm/1.mjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { pluginCommander, pluginConfig, pluginPackage } from './plugin';
|
|
2
|
+
import { pluginRelease } from './plugin/release';
|
|
3
|
+
import { createRunner } from './runner';
|
|
4
|
+
const plugins = [
|
|
5
|
+
pluginPackage(),
|
|
6
|
+
pluginConfig(),
|
|
7
|
+
pluginCommander(),
|
|
8
|
+
pluginRelease()
|
|
9
|
+
];
|
|
10
|
+
const runner = createRunner();
|
|
11
|
+
plugins.forEach((plugin)=>plugin.apply(runner));
|
|
12
|
+
(async ()=>{
|
|
13
|
+
await runner.hook.loadPackage.promise();
|
|
14
|
+
await runner.hook.loadConfig.promise();
|
|
15
|
+
await runner.hook.validateConfig.promise();
|
|
16
|
+
await runner.hook.applyConfig.promise();
|
|
17
|
+
await runner.hook.validatePlugin.promise();
|
|
18
|
+
await runner.hook.registerCommand.promise();
|
|
19
|
+
await runner.hook.startCommand.promise();
|
|
20
|
+
})();
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fs = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
tslib_1.__exportStar(require("./runner"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./plugin"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./logger"), exports);
|
|
8
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
9
|
+
exports.fs = fs_extra_1.default;
|
|
7
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mDAAyB;AACzB,mDAAyB;AACzB,mDAAyB;AAQzB,gEAA0B;AAEjB,aAFF,kBAAE,CAEE"}
|
package/dist/logger.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createLogger = createLogger;
|
|
4
4
|
const consola_1 = require("consola");
|
|
5
|
-
function createLogger() {
|
|
5
|
+
function createLogger(options) {
|
|
6
6
|
const instance = (0, consola_1.createConsola)({
|
|
7
|
-
level: 4,
|
|
7
|
+
level: options?.debug ? 4 : 3,
|
|
8
8
|
// fancy: false,
|
|
9
9
|
formatOptions: {
|
|
10
10
|
// columns: 80,
|
|
@@ -13,14 +13,6 @@ function createLogger() {
|
|
|
13
13
|
date: false,
|
|
14
14
|
},
|
|
15
15
|
});
|
|
16
|
-
|
|
17
|
-
debug: (message, ...args) => instance.info(message, ...args),
|
|
18
|
-
info: (message, ...args) => instance.info(message, ...args),
|
|
19
|
-
error: (message, ...args) => instance.error(message, ...args),
|
|
20
|
-
success: (message, ...args) => instance.success(message, ...args),
|
|
21
|
-
fail: (message, ...args) => instance.fail(message, ...args),
|
|
22
|
-
withTag: tag => instance.withTag(tag),
|
|
23
|
-
};
|
|
24
|
-
return logger;
|
|
16
|
+
return instance;
|
|
25
17
|
}
|
|
26
18
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;AAEA,oCAaC;AAfD,qCAAwC;AAExC,SAAgB,YAAY,CAAC,OAA6B;IACtD,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC;QAC3B,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,gBAAgB;QAChB,aAAa,EAAE;YACX,eAAe;YACf,iBAAiB;YACjB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK;SACd;KACJ,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|
package/dist/plugin/commander.js
CHANGED
|
@@ -5,35 +5,40 @@ function pluginCommander() {
|
|
|
5
5
|
const plugin = {
|
|
6
6
|
name: pluginCommander.name,
|
|
7
7
|
apply: runner => {
|
|
8
|
-
const { hook, config, z } = runner;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
program
|
|
8
|
+
const { hook, command, config, z, logger } = runner;
|
|
9
|
+
const log = logger.withTag(pluginCommander.name);
|
|
10
|
+
hook.registerCommand.tapPromise(pluginCommander.name, async () => {
|
|
11
|
+
command
|
|
13
12
|
.command('dev')
|
|
14
|
-
.option('-n, --name <string>', '', '')
|
|
15
13
|
.description('启动开发')
|
|
16
|
-
.action(async (
|
|
17
|
-
|
|
14
|
+
.action(async () => {
|
|
15
|
+
process.env.NODE_ENV = 'development';
|
|
18
16
|
await hook.dev.promise();
|
|
19
17
|
});
|
|
20
|
-
|
|
18
|
+
command
|
|
21
19
|
.command('build')
|
|
22
|
-
.option('-n, --name <string>', '', '')
|
|
23
20
|
.description('构建项目')
|
|
24
|
-
.action(async (
|
|
25
|
-
|
|
21
|
+
.action(async () => {
|
|
22
|
+
process.env.NODE_ENV = 'production';
|
|
26
23
|
await hook.build.promise();
|
|
27
24
|
});
|
|
28
|
-
|
|
25
|
+
command
|
|
29
26
|
.command('release')
|
|
30
|
-
.option('-n, --name <string>', '', '')
|
|
31
27
|
.description('发布包')
|
|
32
|
-
.action(async (
|
|
33
|
-
await hook.applyConfig.promise(options);
|
|
28
|
+
.action(async () => {
|
|
34
29
|
await hook.release.promise();
|
|
35
30
|
});
|
|
36
|
-
|
|
31
|
+
command
|
|
32
|
+
.command('deploy')
|
|
33
|
+
.description('部署项目')
|
|
34
|
+
.action(async () => {
|
|
35
|
+
await hook.deploy.promise().catch(e => {
|
|
36
|
+
log.fail(`部署失败,${runner.duration},${e.message}`);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
hook.startCommand.tapPromise(pluginCommander.name, async () => {
|
|
41
|
+
await command.parseAsync(process.argv);
|
|
37
42
|
});
|
|
38
43
|
},
|
|
39
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commander.js","sourceRoot":"","sources":["../../src/plugin/commander.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"commander.js","sourceRoot":"","sources":["../../src/plugin/commander.ts"],"names":[],"mappings":";;AAEA,0CA8CC;AA9CD,SAAgB,eAAe;IAC3B,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,KAAK,EAAE,MAAM,CAAC,EAAE;YACZ,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBAC7D,OAAO;qBACF,OAAO,CAAC,KAAK,CAAC;qBACd,WAAW,CAAC,MAAM,CAAC;qBACnB,MAAM,CAAC,KAAK,IAAI,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;oBACrC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEP,OAAO;qBACF,OAAO,CAAC,OAAO,CAAC;qBAChB,WAAW,CAAC,MAAM,CAAC;qBACnB,MAAM,CAAC,KAAK,IAAI,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;oBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBAEP,OAAO;qBACF,OAAO,CAAC,SAAS,CAAC;qBAClB,WAAW,CAAC,KAAK,CAAC;qBAClB,MAAM,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEP,OAAO;qBACF,OAAO,CAAC,QAAQ,CAAC;qBACjB,WAAW,CAAC,MAAM,CAAC;qBACnB,MAAM,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pluginCompiler = pluginCompiler;
|
|
4
4
|
const compiler_1 = require("./compiler");
|
|
5
|
+
const util_1 = require("../../util");
|
|
5
6
|
function pluginCompiler(options) {
|
|
6
7
|
const plugin = {
|
|
7
8
|
name: pluginCompiler.name,
|
|
8
9
|
apply: runner => {
|
|
9
|
-
const { hook, logger, z, tapable } = runner;
|
|
10
|
+
const { hook, logger, z, tapable, fs } = runner;
|
|
10
11
|
const log = logger.withTag(pluginCompiler.name);
|
|
11
12
|
const validation = z
|
|
12
13
|
.object({
|
|
@@ -45,13 +46,12 @@ function pluginCompiler(options) {
|
|
|
45
46
|
const perfStart = performance.now();
|
|
46
47
|
const tsxConfig = validation.data.tsx;
|
|
47
48
|
await (0, compiler_1.compileTs)(runner, tsxConfig, { build: true });
|
|
48
|
-
const duration = ((performance.now() - perfStart) / 1000).toFixed(3);
|
|
49
49
|
if (runner.compiler.fail) {
|
|
50
|
-
log.fail(
|
|
50
|
+
log.fail(`构建失败,${(0, util_1.getDuration)(perfStart)}`);
|
|
51
51
|
process.exit(1);
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
log.success(
|
|
54
|
+
log.success(`构建成功,${(0, util_1.getDuration)(perfStart)}`);
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
runner.compiler.hook.checkAndEmitType.tapPromise(pluginCompiler.name, async () => {
|
|
@@ -71,6 +71,10 @@ function pluginCompiler(options) {
|
|
|
71
71
|
log.debug('没有指定 main');
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
|
+
if (!(await fs.exists(main))) {
|
|
75
|
+
log.warn(`启动文件不存在 %s`, main);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
74
78
|
log.info(`启动文件 node %s`, main);
|
|
75
79
|
const { fork } = require('child_process');
|
|
76
80
|
compiler.process?.kill();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/compiler/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/compiler/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swc.js","sourceRoot":"","sources":["../../../src/plugin/compiler/swc.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"swc.js","sourceRoot":"","sources":["../../../src/plugin/compiler/swc.ts"],"names":[],"mappings":";;AASA,kBA8CC;AA9CM,KAAK,UAAU,GAAG,CAAC,OAAkB;IACxC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,UAAU,GAAG;QACf,GAAG,EAAE;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,YAAY;aACvB;YACD,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,IAAI;SACxB;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,eAAe;YACf,aAAa,EAAE,IAAI;SACtB;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;IAEF,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,MAAM,MAAM,CAAC;QACT,UAAU,EAAE;YACR,MAAM;YACN,KAAK;YACL,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;YAC1C,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,IAAI;SAClB;QACD,UAAU;QACV,SAAS,EAAE;YACP,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAO,EAAE,EAAE;gBAC7B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE;gBACf,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1C,kBAAkB;gBAClB,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;SACzB;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.swc2 = swc2;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
const util_1 = require("../../util");
|
|
7
|
+
async function swc2() {
|
|
8
|
+
const swc = require('@swc/core');
|
|
9
|
+
console.log('swc ', swc.version);
|
|
10
|
+
const entries = [
|
|
11
|
+
{
|
|
12
|
+
source: './src/**/*',
|
|
13
|
+
outDir: 'dist',
|
|
14
|
+
normalize: (src) => src.replace(/^src/, ''),
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
for (const { source, outDir, normalize } of entries) {
|
|
18
|
+
const filePaths = await util_1.glob.glob(source, { dot: true, posix: true });
|
|
19
|
+
for (const filePath of filePaths) {
|
|
20
|
+
const status = await util_1.fs.lstat(filePath);
|
|
21
|
+
if (status.isDirectory()) {
|
|
22
|
+
await util_1.fs.ensureDir(filePath);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const normalizeFilePath = normalize ? normalize(filePath) : filePath;
|
|
26
|
+
const parsePath = path_1.default.parse(normalizeFilePath);
|
|
27
|
+
const rawFilePath = path_1.default.posix.join(path_1.default.dirname(normalizeFilePath), parsePath.name);
|
|
28
|
+
console.log(filePath, parsePath);
|
|
29
|
+
try {
|
|
30
|
+
const code = (await util_1.fs.readFile(filePath)).toString();
|
|
31
|
+
const swcOptions = {
|
|
32
|
+
filename: filePath,
|
|
33
|
+
jsc: {
|
|
34
|
+
parser: {
|
|
35
|
+
syntax: 'typescript',
|
|
36
|
+
},
|
|
37
|
+
target: 'esnext',
|
|
38
|
+
externalHelpers: true,
|
|
39
|
+
},
|
|
40
|
+
module: {
|
|
41
|
+
type: 'es6',
|
|
42
|
+
// ignoreDynamic: true,
|
|
43
|
+
// resolveFully: true,
|
|
44
|
+
// outFileExtension: true,
|
|
45
|
+
// preserveImportMeta: false,
|
|
46
|
+
},
|
|
47
|
+
sourceMaps: true,
|
|
48
|
+
isModule: true,
|
|
49
|
+
};
|
|
50
|
+
swcOptions.module.type = 'commonjs';
|
|
51
|
+
const cjs = await swc.transform(code, swcOptions);
|
|
52
|
+
const cjsFile = path_1.default.join(outDir, 'cjs', rawFilePath);
|
|
53
|
+
await util_1.fs.outputFile(`${cjsFile}.js`, cjs?.code || '');
|
|
54
|
+
swcOptions.module.type = 'es6';
|
|
55
|
+
const mjs = await swc.transform(code, swcOptions);
|
|
56
|
+
const mjsFile = path_1.default.join(outDir, 'esm', rawFilePath);
|
|
57
|
+
await util_1.fs.outputFile(`${mjsFile}.js`, mjs?.code || '');
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=swc2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swc2.js","sourceRoot":"","sources":["../../../src/plugin/compiler/swc2.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/config.js
CHANGED
|
@@ -7,17 +7,32 @@ function pluginConfig() {
|
|
|
7
7
|
const plugin = {
|
|
8
8
|
name: pluginConfig.name,
|
|
9
9
|
apply: runner => {
|
|
10
|
-
const { logger, hook, config, fs, z } = runner;
|
|
10
|
+
const { logger, hook, config, command, fs, z } = runner;
|
|
11
11
|
const log = logger.withTag(pluginConfig.name);
|
|
12
12
|
hook.loadConfig.tapPromise(pluginConfig.name, async () => {
|
|
13
|
-
|
|
14
|
-
const
|
|
13
|
+
let filePath = '';
|
|
14
|
+
const mjs = 'app.mjs';
|
|
15
|
+
const fileNames = ['app.js', 'app.cjs', mjs];
|
|
16
|
+
let isEsm = false;
|
|
17
|
+
for (const fileName of fileNames) {
|
|
18
|
+
if (await fs.exists(fileName)) {
|
|
19
|
+
filePath = path_1.default.posix.resolve(fileName);
|
|
20
|
+
isEsm = fileName === mjs;
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
15
24
|
log.debug(`filePath %s`, filePath);
|
|
16
|
-
if (!
|
|
17
|
-
log.error(`找不到配置文件
|
|
25
|
+
if (!filePath) {
|
|
26
|
+
log.error(`找不到配置文件 app.(c|m)?js`);
|
|
18
27
|
process.exit(1);
|
|
19
28
|
}
|
|
20
|
-
|
|
29
|
+
let all = [];
|
|
30
|
+
if (isEsm) {
|
|
31
|
+
all = (await import(filePath)).default;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
all = require(filePath);
|
|
35
|
+
}
|
|
21
36
|
runner.config.all = all;
|
|
22
37
|
});
|
|
23
38
|
hook.validateConfig.tapPromise(pluginConfig.name, async () => {
|
|
@@ -32,12 +47,13 @@ function pluginConfig() {
|
|
|
32
47
|
process.exit(1);
|
|
33
48
|
}
|
|
34
49
|
});
|
|
35
|
-
hook.applyConfig.tapPromise(pluginConfig.name, async (
|
|
50
|
+
hook.applyConfig.tapPromise(pluginConfig.name, async () => {
|
|
36
51
|
const result = z
|
|
37
52
|
.object({
|
|
38
|
-
name: z.string().trim().
|
|
53
|
+
name: z.string().trim().default(''),
|
|
39
54
|
})
|
|
40
|
-
.
|
|
55
|
+
.default({})
|
|
56
|
+
.safeParse(command.opts());
|
|
41
57
|
const name = result.data?.name;
|
|
42
58
|
if (!name) {
|
|
43
59
|
log.debug('没有指定 --name,默认使用列表第一个');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/index.js
CHANGED
|
@@ -5,4 +5,5 @@ tslib_1.__exportStar(require("./config"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./package"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./commander"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./compiler"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./release"), exports);
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,oDAA0B;AAC1B,sDAA4B;AAC5B,qDAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,oDAA0B;AAC1B,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package copy.js","sourceRoot":"","sources":["../../src/plugin/package copy.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"package copy.js","sourceRoot":"","sources":["../../src/plugin/package copy.ts"],"names":[],"mappings":";;AAIA,sCAwBC;;AA5BD,wDAAwB;AAIxB,SAAgB,aAAa;IACzB,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,KAAK,EAAE,MAAM,CAAC,EAAE;YACZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAChC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/plugin/package.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/plugin/package.ts"],"names":[],"mappings":";;AAIA,sCAwBC;;AA5BD,wDAAwB;AAIxB,SAAgB,aAAa;IACzB,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,KAAK,EAAE,MAAM,CAAC,EAAE;YACZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAChC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/dist/plugin/release.js
CHANGED
|
@@ -1,32 +1,102 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pluginRelease = pluginRelease;
|
|
4
|
-
const
|
|
5
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
6
5
|
function pluginRelease() {
|
|
7
6
|
const plugin = {
|
|
8
7
|
name: pluginRelease.name,
|
|
9
8
|
apply: runner => {
|
|
10
9
|
const { logger, hook, fs } = runner;
|
|
11
10
|
const log = logger.withTag(pluginRelease.name);
|
|
12
|
-
hook.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
hook.release.tapPromise(pluginRelease.name, async () => {
|
|
12
|
+
runner.clear();
|
|
13
|
+
await hook.build.promise();
|
|
14
|
+
log.start('开始发布');
|
|
15
|
+
const packageVersion = runner.package.version;
|
|
16
|
+
const packageName = runner.package.name;
|
|
17
|
+
const url = `https://registry.npmjs.org/${packageName}`;
|
|
18
|
+
let nextVersion = packageVersion;
|
|
19
|
+
log.debug(`查询版本号 ${packageVersion} 是否存在`);
|
|
20
|
+
const res = await (await fetch(url)).json();
|
|
21
|
+
const exist = res?.versions?.[packageVersion];
|
|
22
|
+
if (exist) {
|
|
23
|
+
const split = packageVersion.split('.');
|
|
24
|
+
split[split.length - 1] = Number(split[split.length - 1]) + 1;
|
|
25
|
+
nextVersion = split.join('.');
|
|
26
|
+
log.debug(`版本号 ${packageVersion} 存在,更新版本号为 ${nextVersion}`);
|
|
27
|
+
const text = fs.readFileSync('./package.json').toString();
|
|
28
|
+
const nextText = text.replace(new RegExp(`"version":\\s*"${packageVersion}"`), `"version": "${nextVersion}"`);
|
|
29
|
+
fs.writeFileSync('./package.json', nextText);
|
|
18
30
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
31
|
+
log.debug(`版本号 ${packageVersion} 不存在`);
|
|
32
|
+
log.info(`版本号为 ${nextVersion}`);
|
|
33
|
+
const tempDir = `./node_modules/.rife/release/`;
|
|
34
|
+
log.info(`清空目录 ${tempDir}`);
|
|
35
|
+
fs.emptyDirSync(tempDir);
|
|
36
|
+
const pack = `pnpm pack --pack-destination ${tempDir} --json`;
|
|
37
|
+
log.info(`打包文件 ${pack}`);
|
|
38
|
+
const packOutput = JSON.parse((0, child_process_1.execSync)(pack).toString());
|
|
39
|
+
const filename = packOutput.filename;
|
|
40
|
+
for (const item of packOutput.files) {
|
|
41
|
+
log.debug(item.path);
|
|
22
42
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
43
|
+
const debug = false;
|
|
44
|
+
const publish = `pnpm publish ${filename} --registry https://registry.npmjs.org --no-git-checks ${debug ? '--dry-run' : ''}`;
|
|
45
|
+
log.info(`发布文件 ${publish}`);
|
|
46
|
+
(0, child_process_1.execSync)(publish, { stdio: 'inherit' });
|
|
47
|
+
log.success(`发布成功,${runner.duration}`);
|
|
48
|
+
log.info('同步版本');
|
|
49
|
+
let hasSync = false;
|
|
50
|
+
while (true) {
|
|
51
|
+
const res = await queryVersion(packageName);
|
|
52
|
+
const nextManifest = res?.versions?.[nextVersion];
|
|
53
|
+
const exist = Boolean(nextManifest);
|
|
54
|
+
const latest = res?.['dist-tags']?.latest;
|
|
55
|
+
if (exist) {
|
|
56
|
+
log.debug(`同步版本存在`);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
log.info(`检查版本 ${nextVersion} 不存在,最新版本为 ${latest}`);
|
|
60
|
+
if (!hasSync) {
|
|
61
|
+
hasSync = true;
|
|
62
|
+
log.start(`开始同步`);
|
|
63
|
+
const sync = await syncVersion(packageName);
|
|
64
|
+
if (sync.ok === true) {
|
|
65
|
+
log.info(`调用同步接口成功,日志 https://registry.npmmirror.com/-/package/${packageName}/syncs/${sync.id}/log`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
log.debug(`调用同步接口失败,%j`, sync);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
26
72
|
}
|
|
73
|
+
log.success(`同步成功,${runner.duration}`);
|
|
27
74
|
});
|
|
28
75
|
},
|
|
29
76
|
};
|
|
30
77
|
return plugin;
|
|
31
78
|
}
|
|
79
|
+
async function queryVersion(packageName) {
|
|
80
|
+
const res = await (await fetch(`https://registry.npmmirror.com/${packageName}?t=${Math.random()}`)).json();
|
|
81
|
+
return res;
|
|
82
|
+
}
|
|
83
|
+
async function syncVersion(packageName) {
|
|
84
|
+
const sync = await (await fetch(`https://registry-direct.npmmirror.com/-/package/${packageName}/syncs`, {
|
|
85
|
+
headers: {
|
|
86
|
+
accept: '*/*',
|
|
87
|
+
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
|
88
|
+
'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
|
|
89
|
+
'sec-ch-ua-mobile': '?0',
|
|
90
|
+
'sec-ch-ua-platform': '"Windows"',
|
|
91
|
+
'sec-fetch-dest': 'empty',
|
|
92
|
+
'sec-fetch-mode': 'cors',
|
|
93
|
+
'sec-fetch-site': 'same-site',
|
|
94
|
+
Referer: 'https://npmmirror.com/',
|
|
95
|
+
'Referrer-Policy': 'strict-origin-when-cross-origin',
|
|
96
|
+
},
|
|
97
|
+
body: null,
|
|
98
|
+
method: 'PUT',
|
|
99
|
+
})).json();
|
|
100
|
+
return sync;
|
|
101
|
+
}
|
|
32
102
|
//# sourceMappingURL=release.js.map
|