@spcsn/taro-service 0.1.0 → 1.0.1
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/LICENSE +1 -153
- package/README.md +28 -0
- package/dist/index.d.ts +4 -5
- package/dist/index.js +6 -7
- package/dist/index.js.map +1 -1
- package/dist/platform-plugin-base/index.d.ts +0 -1
- package/dist/platform-plugin-base/index.js +0 -1
- package/dist/platform-plugin-base/index.js.map +1 -1
- package/dist/platform-plugin-base/mini.d.ts +10 -1
- package/dist/platform-plugin-base/mini.js +201 -43
- package/dist/platform-plugin-base/mini.js.map +1 -1
- package/dist/platform-plugin-base/platform.d.ts +1 -1
- package/dist/platform-plugin-base/platform.js +10 -14
- package/dist/platform-plugin-base/platform.js.map +1 -1
- package/dist/runner-utils/constant.d.ts +5 -0
- package/dist/runner-utils/constant.js +53 -0
- package/dist/runner-utils/constant.js.map +1 -0
- package/dist/runner-utils/index.d.ts +2 -0
- package/dist/runner-utils/index.js +19 -0
- package/dist/runner-utils/index.js.map +1 -0
- package/dist/runner-utils/vite.d.ts +10 -0
- package/dist/runner-utils/vite.js +10 -0
- package/dist/runner-utils/vite.js.map +1 -0
- package/dist/{Config.js → service-config.js} +27 -5
- package/dist/service-config.js.map +1 -0
- package/dist/{Kernel.d.ts → service-kernel.d.ts} +2 -2
- package/dist/{Kernel.js → service-kernel.js} +59 -17
- package/dist/service-kernel.js.map +1 -0
- package/dist/{Plugin.d.ts → service-plugin.d.ts} +1 -1
- package/dist/{Plugin.js → service-plugin.js} +5 -1
- package/dist/service-plugin.js.map +1 -0
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +28 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/package.js +5 -4
- package/dist/utils/package.js.map +1 -1
- package/dist/utils/profile.d.ts +10 -0
- package/dist/utils/profile.js +51 -0
- package/dist/utils/profile.js.map +1 -0
- package/dist/utils/types.d.ts +3 -21
- package/package.json +15 -14
- package/dist/Config.js.map +0 -1
- package/dist/Kernel.js.map +0 -1
- package/dist/Plugin.js.map +0 -1
- package/dist/platform-plugin-base/web.d.ts +0 -32
- package/dist/platform-plugin-base/web.js +0 -150
- package/dist/platform-plugin-base/web.js.map +0 -1
- package/dist/platform-plugin-base/webpack/hmr-plugin.d.ts +0 -4
- package/dist/platform-plugin-base/webpack/hmr-plugin.js +0 -37
- package/dist/platform-plugin-base/webpack/hmr-plugin.js.map +0 -1
- /package/dist/{Config.d.ts → service-config.d.ts} +0 -0
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Transaction = void 0;
|
|
4
|
-
const VALID_COMPILER = ['
|
|
5
|
-
// React-only / Vite-only fork:默认改用 vite,webpack5 仅作兼容路径,后续阶段将整体移除
|
|
4
|
+
const VALID_COMPILER = ['vite'];
|
|
6
5
|
const DEFAULT_COMPILER = 'vite';
|
|
7
|
-
const DEPRECATED_COMPILERS = new Set(['webpack5']);
|
|
8
6
|
class Transaction {
|
|
9
|
-
|
|
10
|
-
this.wrappers = [];
|
|
11
|
-
}
|
|
7
|
+
wrappers = [];
|
|
12
8
|
async perform(fn, scope, ...args) {
|
|
13
9
|
this.initAll(scope);
|
|
14
10
|
await fn.call(scope, ...args);
|
|
@@ -28,23 +24,23 @@ class Transaction {
|
|
|
28
24
|
}
|
|
29
25
|
exports.Transaction = Transaction;
|
|
30
26
|
class TaroPlatform {
|
|
27
|
+
ctx;
|
|
28
|
+
config;
|
|
29
|
+
helper;
|
|
30
|
+
compiler;
|
|
31
|
+
behaviorsName;
|
|
32
|
+
setupTransaction = new Transaction();
|
|
33
|
+
buildTransaction = new Transaction();
|
|
31
34
|
constructor(ctx, config) {
|
|
32
|
-
this.setupTransaction = new Transaction();
|
|
33
|
-
this.buildTransaction = new Transaction();
|
|
34
35
|
this.ctx = ctx;
|
|
35
36
|
this.helper = ctx.helper;
|
|
36
37
|
this.config = config;
|
|
37
38
|
this.updateOutputPath(config);
|
|
38
39
|
const _compiler = config.compiler;
|
|
39
40
|
this.compiler = typeof _compiler === 'object' ? _compiler.type : _compiler;
|
|
40
|
-
// Note: 兼容 webpack4 和不填写 compiler 的情况,React-only fork 默认使用 vite
|
|
41
41
|
if (!VALID_COMPILER.includes(this.compiler)) {
|
|
42
42
|
this.compiler = DEFAULT_COMPILER;
|
|
43
43
|
}
|
|
44
|
-
if (DEPRECATED_COMPILERS.has(this.compiler)) {
|
|
45
|
-
// eslint-disable-next-line no-console
|
|
46
|
-
console.warn(`[taro] compiler "${this.compiler}" 已被标记为 deprecated,React-only fork 仅长期维护 vite。请在 Taro 配置中切换 compiler 为 "vite"。`);
|
|
47
|
-
}
|
|
48
44
|
}
|
|
49
45
|
getConfig() {
|
|
50
46
|
return this.config;
|
|
@@ -54,7 +50,7 @@ class TaroPlatform {
|
|
|
54
50
|
this.helper.emptyDirectory(outputPath, { excludes });
|
|
55
51
|
}
|
|
56
52
|
/**
|
|
57
|
-
*
|
|
53
|
+
* 如果分端编译详情配置了 output.path,则需更新 outputPath 位置
|
|
58
54
|
*/
|
|
59
55
|
updateOutputPath(config) {
|
|
60
56
|
const platformPath = config.output?.path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform-plugin-base/platform.ts"],"names":[],"mappings":";;;AAUA,MAAM,cAAc,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform-plugin-base/platform.ts"],"names":[],"mappings":";;;AAUA,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAa,WAAW;IACtB,QAAQ,GAAe,EAAE,CAAC;IAE1B,KAAK,CAAC,OAAO,CAAC,EAAQ,EAAE,KAAQ,EAAE,GAAG,IAAW;QAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ,CAAC,KAAQ;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU,CAAC,OAAiB;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AAtBD,kCAsBC;AAED,MAA8B,YAAY;IAC9B,GAAG,CAAiB;IACpB,MAAM,CAAI;IACV,MAAM,CAA2B;IACjC,QAAQ,CAAS;IAM3B,aAAa,CAAU;IAEb,gBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAC;IAC3C,gBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAC;IAErD,YAAY,GAAmB,EAAE,MAAS;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,cAAc,CAAC,WAAmC,EAAE;QAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAe;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QACzC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC;QAC3C,CAAC;IACH,CAAC;CAMF;AAlDD,+BAkDC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MEDIA_LIMIT = exports.FONT_LIMIT = exports.IMAGE_LIMIT = exports.VITE_COMPILER_LABEL = exports.DEFAULT_Components = void 0;
|
|
4
|
+
exports.DEFAULT_Components = new Set([
|
|
5
|
+
'view',
|
|
6
|
+
'scroll-view',
|
|
7
|
+
'swiper',
|
|
8
|
+
'cover-view',
|
|
9
|
+
'cover-image',
|
|
10
|
+
'icon',
|
|
11
|
+
'text',
|
|
12
|
+
'rich-text',
|
|
13
|
+
'progress',
|
|
14
|
+
'button',
|
|
15
|
+
'checkbox',
|
|
16
|
+
'form',
|
|
17
|
+
'input',
|
|
18
|
+
'label',
|
|
19
|
+
'picker',
|
|
20
|
+
'picker-view',
|
|
21
|
+
'picker-view-column',
|
|
22
|
+
'radio',
|
|
23
|
+
'radio-group',
|
|
24
|
+
'checkbox-group',
|
|
25
|
+
'slider',
|
|
26
|
+
'switch',
|
|
27
|
+
'textarea',
|
|
28
|
+
'navigator',
|
|
29
|
+
'audio',
|
|
30
|
+
'image',
|
|
31
|
+
'video',
|
|
32
|
+
'camera',
|
|
33
|
+
'live-player',
|
|
34
|
+
'live-pusher',
|
|
35
|
+
'map',
|
|
36
|
+
'canvas',
|
|
37
|
+
'open-data',
|
|
38
|
+
'web-view',
|
|
39
|
+
'swiper-item',
|
|
40
|
+
'movable-area',
|
|
41
|
+
'movable-view',
|
|
42
|
+
'functional-page-navigator',
|
|
43
|
+
'ad',
|
|
44
|
+
'block',
|
|
45
|
+
'import',
|
|
46
|
+
'official-account',
|
|
47
|
+
'editor',
|
|
48
|
+
]);
|
|
49
|
+
exports.VITE_COMPILER_LABEL = 'taro:compiler';
|
|
50
|
+
exports.IMAGE_LIMIT = 2 * 1024;
|
|
51
|
+
exports.FONT_LIMIT = 10 * 1024;
|
|
52
|
+
exports.MEDIA_LIMIT = 10 * 1024;
|
|
53
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/runner-utils/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAS;IAChD,MAAM;IACN,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,MAAM;IACN,MAAM;IACN,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,aAAa;IACb,oBAAoB;IACpB,OAAO;IACP,aAAa;IACb,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,aAAa;IACb,aAAa;IACb,KAAK;IACL,QAAQ;IACR,WAAW;IACX,UAAU;IACV,aAAa;IACb,cAAc;IACd,cAAc;IACd,2BAA2B;IAC3B,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,kBAAkB;IAClB,QAAQ;CACT,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,eAAe,CAAC;AAEtC,QAAA,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;AACvB,QAAA,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;AACvB,QAAA,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./constant"), exports);
|
|
18
|
+
__exportStar(require("./vite"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ViteMiniCompilerContext } from '@spcsn/taro/types/compile/viteCompilerContext';
|
|
2
|
+
interface ViteRollupPluginContextLike {
|
|
3
|
+
getModuleInfo: (moduleId: string) => {
|
|
4
|
+
meta?: {
|
|
5
|
+
viteCompilerContext?: ViteMiniCompilerContext;
|
|
6
|
+
};
|
|
7
|
+
} | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function getViteMiniCompilerContext(rollupPluginContext: ViteRollupPluginContextLike): ViteMiniCompilerContext | void;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getViteMiniCompilerContext = getViteMiniCompilerContext;
|
|
4
|
+
const constant_1 = require("./constant");
|
|
5
|
+
function getViteMiniCompilerContext(rollupPluginContext) {
|
|
6
|
+
const info = rollupPluginContext.getModuleInfo(constant_1.VITE_COMPILER_LABEL);
|
|
7
|
+
const compiler = info?.meta?.viteCompilerContext;
|
|
8
|
+
return compiler;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=vite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/runner-utils/vite.ts"],"names":[],"mappings":";;AAQA,gEAMC;AAdD,yCAAiD;AAQjD,SAAgB,0BAA0B,CACxC,mBAAgD;IAEhD,MAAM,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,8BAAmB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -38,11 +38,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const path = __importStar(require("node:path"));
|
|
40
40
|
const taro_helper_1 = require("@spcsn/taro-helper");
|
|
41
|
+
const lodash_1 = require("lodash");
|
|
41
42
|
const ora_1 = __importDefault(require("ora"));
|
|
42
|
-
const webpack_merge_1 = require("webpack-merge");
|
|
43
43
|
const utils_1 = require("./utils");
|
|
44
44
|
const constants_1 = require("./utils/constants");
|
|
45
|
+
const profile_js_1 = require("./utils/profile.js");
|
|
45
46
|
class Config {
|
|
47
|
+
appPath;
|
|
48
|
+
configPath;
|
|
49
|
+
initialConfig;
|
|
50
|
+
initialGlobalConfig;
|
|
51
|
+
isInitSuccess;
|
|
52
|
+
disableGlobalConfig;
|
|
46
53
|
constructor(opts) {
|
|
47
54
|
this.appPath = opts.appPath;
|
|
48
55
|
this.disableGlobalConfig = !!opts?.disableGlobalConfig;
|
|
@@ -51,25 +58,41 @@ class Config {
|
|
|
51
58
|
this.initialConfig = {};
|
|
52
59
|
this.initialGlobalConfig = {};
|
|
53
60
|
this.isInitSuccess = false;
|
|
61
|
+
const resolveConfigPathStartMs = profile_js_1.serviceProfiler.start();
|
|
54
62
|
this.configPath = (0, taro_helper_1.resolveScriptPath)(path.join(this.appPath, constants_1.CONFIG_DIR_NAME, constants_1.DEFAULT_CONFIG_FILE));
|
|
55
|
-
|
|
63
|
+
profile_js_1.serviceProfiler.end('resolve config path', resolveConfigPathStartMs);
|
|
64
|
+
const existsConfigStartMs = profile_js_1.serviceProfiler.start();
|
|
65
|
+
const hasConfig = taro_helper_1.fs.existsSync(this.configPath);
|
|
66
|
+
profile_js_1.serviceProfiler.end('check config exists', existsConfigStartMs);
|
|
67
|
+
if (!hasConfig) {
|
|
56
68
|
if (this.disableGlobalConfig)
|
|
57
69
|
return;
|
|
58
70
|
this.initGlobalConfig();
|
|
59
71
|
}
|
|
60
72
|
else {
|
|
73
|
+
const globalConfigStartMs = profile_js_1.serviceProfiler.start();
|
|
61
74
|
this.initGlobalConfig(configEnv.command);
|
|
75
|
+
profile_js_1.serviceProfiler.end('global config', globalConfigStartMs);
|
|
76
|
+
const swcRegisterStartMs = profile_js_1.serviceProfiler.start();
|
|
62
77
|
(0, taro_helper_1.createSwcRegister)({
|
|
63
78
|
only: [(filePath) => filePath.indexOf(path.join(this.appPath, constants_1.CONFIG_DIR_NAME)) >= 0],
|
|
64
79
|
});
|
|
80
|
+
profile_js_1.serviceProfiler.end('swc register', swcRegisterStartMs);
|
|
65
81
|
try {
|
|
82
|
+
const requireConfigStartMs = profile_js_1.serviceProfiler.start();
|
|
66
83
|
const userExport = (0, taro_helper_1.getModuleDefaultExport)(require(this.configPath));
|
|
67
|
-
|
|
84
|
+
profile_js_1.serviceProfiler.end('require config', requireConfigStartMs);
|
|
85
|
+
const evaluateConfigStartMs = profile_js_1.serviceProfiler.start();
|
|
86
|
+
this.initialConfig = typeof userExport === 'function' ? await userExport(lodash_1.merge, configEnv) : userExport;
|
|
87
|
+
profile_js_1.serviceProfiler.end('evaluate config', evaluateConfigStartMs);
|
|
68
88
|
this.isInitSuccess = true;
|
|
69
89
|
}
|
|
70
90
|
catch (err) {
|
|
71
91
|
console.log(err);
|
|
72
92
|
}
|
|
93
|
+
finally {
|
|
94
|
+
profile_js_1.serviceProfiler.print('config timings');
|
|
95
|
+
}
|
|
73
96
|
}
|
|
74
97
|
}
|
|
75
98
|
initGlobalConfig(command = '') {
|
|
@@ -113,7 +136,6 @@ class Config {
|
|
|
113
136
|
logger: initialConfig.logger,
|
|
114
137
|
baseLevel: initialConfig.baseLevel,
|
|
115
138
|
csso: initialConfig.csso,
|
|
116
|
-
sass: initialConfig.sass,
|
|
117
139
|
uglify: initialConfig.uglify,
|
|
118
140
|
plugins: initialConfig.plugins,
|
|
119
141
|
projectName: initialConfig.projectName,
|
|
@@ -132,4 +154,4 @@ class Config {
|
|
|
132
154
|
}
|
|
133
155
|
}
|
|
134
156
|
exports.default = Config;
|
|
135
|
-
//# sourceMappingURL=
|
|
157
|
+
//# sourceMappingURL=service-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-config.js","sourceRoot":"","sources":["../src/service-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
-
import Plugin from './
|
|
2
|
+
import Plugin from './service-plugin';
|
|
3
3
|
import type { Func, IProjectConfig, PluginItem } from '@spcsn/taro/types/compile';
|
|
4
|
-
import type Config from './
|
|
4
|
+
import type Config from './service-config';
|
|
5
5
|
import type { ICommand, IHook, IPaths, IPlatform, IPlugin, IPluginsObject, IPreset } from './utils/types';
|
|
6
6
|
interface IKernelOptions {
|
|
7
7
|
appPath: string;
|
|
@@ -39,14 +39,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
const node_events_1 = require("node:events");
|
|
40
40
|
const path = __importStar(require("node:path"));
|
|
41
41
|
const helper = __importStar(require("@spcsn/taro-helper"));
|
|
42
|
-
const runnerUtils = __importStar(require("@spcsn/taro-runner-utils"));
|
|
43
42
|
const taro_shared_1 = require("@spcsn/taro-shared");
|
|
43
|
+
const joi_1 = __importDefault(require("joi"));
|
|
44
44
|
const lodash_1 = require("lodash");
|
|
45
45
|
const tapable_1 = require("tapable");
|
|
46
|
-
const
|
|
46
|
+
const service_plugin_1 = __importDefault(require("./service-plugin"));
|
|
47
|
+
const runnerUtils = __importStar(require("./runner-utils"));
|
|
47
48
|
const utils_1 = require("./utils");
|
|
48
49
|
const constants_1 = require("./utils/constants");
|
|
50
|
+
const profile_js_1 = require("./utils/profile.js");
|
|
49
51
|
class Kernel extends node_events_1.EventEmitter {
|
|
52
|
+
appPath;
|
|
53
|
+
isWatch;
|
|
54
|
+
isProduction;
|
|
55
|
+
optsPresets;
|
|
56
|
+
optsPlugins;
|
|
57
|
+
plugins;
|
|
58
|
+
paths;
|
|
59
|
+
extraPlugins;
|
|
60
|
+
globalExtraPlugins;
|
|
61
|
+
config;
|
|
62
|
+
initialConfig;
|
|
63
|
+
initialGlobalConfig;
|
|
64
|
+
hooks;
|
|
65
|
+
methods;
|
|
66
|
+
cliCommands;
|
|
67
|
+
cliCommandsPath;
|
|
68
|
+
commands;
|
|
69
|
+
platforms;
|
|
70
|
+
helper;
|
|
71
|
+
runnerUtils;
|
|
72
|
+
runOpts;
|
|
73
|
+
debugger;
|
|
50
74
|
constructor(options) {
|
|
51
75
|
super();
|
|
52
76
|
this.debugger = process.env.DEBUG === 'Taro:Kernel' ? helper.createDebug('Taro:Kernel') : function () { };
|
|
@@ -74,10 +98,12 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
74
98
|
nodeModulesPath: helper.recursiveFindNodeModules(path.join(this.appPath, helper.NODE_MODULES)),
|
|
75
99
|
};
|
|
76
100
|
if (this.config.isInitSuccess) {
|
|
101
|
+
const sourceRoot = this.initialConfig.sourceRoot || helper.SOURCE_DIR;
|
|
102
|
+
const outputRoot = this.initialConfig.outputRoot || helper.OUTPUT_DIR;
|
|
77
103
|
Object.assign(this.paths, {
|
|
78
104
|
configPath: this.config.configPath,
|
|
79
|
-
sourcePath: path.join(this.appPath,
|
|
80
|
-
outputPath: path.resolve(this.appPath,
|
|
105
|
+
sourcePath: path.join(this.appPath, sourceRoot),
|
|
106
|
+
outputPath: path.resolve(this.appPath, outputRoot),
|
|
81
107
|
});
|
|
82
108
|
}
|
|
83
109
|
this.debugger(`initPaths:${JSON.stringify(this.paths, null, 2)}`);
|
|
@@ -99,7 +125,8 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
99
125
|
const globalPresets = (0, utils_1.convertPluginsToObject)(initialGlobalConfig.presets || [])();
|
|
100
126
|
this.debugger('initPresetsAndPlugins', cliAndProjectConfigPresets, cliAndProjectPlugins);
|
|
101
127
|
this.debugger('globalPresetsAndPlugins', globalPlugins, globalPresets);
|
|
102
|
-
process.env.NODE_ENV !== 'test'
|
|
128
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
129
|
+
const swcRegisterStartMs = profile_js_1.serviceProfiler.start();
|
|
103
130
|
helper.createSwcRegister({
|
|
104
131
|
only: [
|
|
105
132
|
...Object.keys(cliAndProjectConfigPresets),
|
|
@@ -108,11 +135,17 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
108
135
|
...Object.keys(globalPlugins),
|
|
109
136
|
],
|
|
110
137
|
});
|
|
138
|
+
profile_js_1.serviceProfiler.end('plugin swc register', swcRegisterStartMs);
|
|
139
|
+
}
|
|
111
140
|
this.plugins = new Map();
|
|
112
141
|
this.extraPlugins = {};
|
|
113
142
|
this.globalExtraPlugins = {};
|
|
143
|
+
const resolvePresetsStartMs = profile_js_1.serviceProfiler.start();
|
|
114
144
|
this.resolvePresets(cliAndProjectConfigPresets, globalPresets);
|
|
145
|
+
profile_js_1.serviceProfiler.end('resolve presets', resolvePresetsStartMs);
|
|
146
|
+
const resolvePluginsStartMs = profile_js_1.serviceProfiler.start();
|
|
115
147
|
this.resolvePlugins(cliAndProjectPlugins, globalPlugins);
|
|
148
|
+
profile_js_1.serviceProfiler.end('resolve plugins', resolvePluginsStartMs);
|
|
116
149
|
}
|
|
117
150
|
resolvePresets(cliAndProjectPresets, globalPresets) {
|
|
118
151
|
const resolvedCliAndProjectPresets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, cliAndProjectPresets, constants_1.PluginType.Preset);
|
|
@@ -173,10 +206,16 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
173
206
|
existsCliCommand.push(commandFilePath);
|
|
174
207
|
}
|
|
175
208
|
const commandPlugins = (0, utils_1.convertPluginsToObject)(existsCliCommand || [])();
|
|
209
|
+
const commandSwcRegisterStartMs = profile_js_1.serviceProfiler.start();
|
|
176
210
|
helper.createSwcRegister({ only: [...Object.keys(commandPlugins)] });
|
|
211
|
+
profile_js_1.serviceProfiler.end('command swc register', commandSwcRegisterStartMs);
|
|
212
|
+
const resolveCommandPluginsStartMs = profile_js_1.serviceProfiler.start();
|
|
177
213
|
const resolvedCommandPlugins = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, commandPlugins, constants_1.PluginType.Plugin);
|
|
214
|
+
profile_js_1.serviceProfiler.end('resolve command plugins', resolveCommandPluginsStartMs);
|
|
178
215
|
while (resolvedCommandPlugins.length) {
|
|
216
|
+
const initCommandPluginStartMs = profile_js_1.serviceProfiler.start();
|
|
179
217
|
this.initPlugin(resolvedCommandPlugins.shift());
|
|
218
|
+
profile_js_1.serviceProfiler.end('init command plugin', initCommandPluginStartMs);
|
|
180
219
|
}
|
|
181
220
|
}
|
|
182
221
|
checkPluginOpts(pluginCtx, opts) {
|
|
@@ -184,9 +223,8 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
184
223
|
return;
|
|
185
224
|
}
|
|
186
225
|
this.debugger('checkPluginOpts', pluginCtx);
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
if (!joi.isSchema(schema)) {
|
|
226
|
+
const schema = pluginCtx.optsSchema(joi_1.default);
|
|
227
|
+
if (!joi_1.default.isSchema(schema)) {
|
|
190
228
|
throw new Error(`插件${pluginCtx.id}中设置参数检查 schema 有误,请检查!`);
|
|
191
229
|
}
|
|
192
230
|
const { error } = schema.validate(opts);
|
|
@@ -203,7 +241,7 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
203
241
|
this.plugins.set(plugin.id, plugin);
|
|
204
242
|
}
|
|
205
243
|
initPluginCtx({ id, path, ctx }) {
|
|
206
|
-
const pluginCtx = new
|
|
244
|
+
const pluginCtx = new service_plugin_1.default({ id, path, ctx });
|
|
207
245
|
const internalMethods = ['onReady', 'onStart'];
|
|
208
246
|
const kernelApis = [
|
|
209
247
|
'appPath',
|
|
@@ -272,7 +310,6 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
272
310
|
waterfall.tapPromise({
|
|
273
311
|
name: hook.plugin,
|
|
274
312
|
stage: hook.stage || 0,
|
|
275
|
-
// @ts-ignore
|
|
276
313
|
before: hook.before,
|
|
277
314
|
}, async (arg) => {
|
|
278
315
|
const res = await hook.fn(opts, arg);
|
|
@@ -328,10 +365,12 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
328
365
|
this.debugger(`command:runOpts:${JSON.stringify(opts, null, 2)}`);
|
|
329
366
|
this.setRunOpts(opts);
|
|
330
367
|
this.debugger('initPresetsAndPlugins');
|
|
368
|
+
const initPluginsStartMs = profile_js_1.serviceProfiler.start();
|
|
331
369
|
this.initPresetsAndPlugins();
|
|
332
|
-
|
|
370
|
+
profile_js_1.serviceProfiler.end('init presets/plugins', initPluginsStartMs);
|
|
371
|
+
await profile_js_1.serviceProfiler.measure('onReady hooks', () => this.applyPlugins('onReady'));
|
|
333
372
|
this.debugger('command:onStart');
|
|
334
|
-
await this.applyPlugins('onStart');
|
|
373
|
+
await profile_js_1.serviceProfiler.measure('onStart hooks', () => this.applyPlugins('onStart'));
|
|
335
374
|
if (!this.commands.has(name)) {
|
|
336
375
|
throw new Error(`${name} 命令不存在`);
|
|
337
376
|
}
|
|
@@ -339,19 +378,22 @@ class Kernel extends node_events_1.EventEmitter {
|
|
|
339
378
|
return this.runHelp(name);
|
|
340
379
|
}
|
|
341
380
|
if (opts?.options?.platform) {
|
|
381
|
+
const platformConfigStartMs = profile_js_1.serviceProfiler.start();
|
|
342
382
|
opts.config = this.runWithPlatform(opts.options.platform);
|
|
343
|
-
|
|
383
|
+
profile_js_1.serviceProfiler.end('platform config', platformConfigStartMs);
|
|
384
|
+
await profile_js_1.serviceProfiler.measure('modifyRunnerOpts hooks', () => this.applyPlugins({
|
|
344
385
|
name: 'modifyRunnerOpts',
|
|
345
386
|
opts: {
|
|
346
387
|
opts: opts?.config,
|
|
347
388
|
},
|
|
348
|
-
});
|
|
389
|
+
}));
|
|
349
390
|
}
|
|
350
|
-
await this.applyPlugins({
|
|
391
|
+
await profile_js_1.serviceProfiler.measure(`${name} hooks`, () => this.applyPlugins({
|
|
351
392
|
name,
|
|
352
393
|
opts,
|
|
353
|
-
});
|
|
394
|
+
}));
|
|
395
|
+
profile_js_1.serviceProfiler.print('kernel command timings');
|
|
354
396
|
}
|
|
355
397
|
}
|
|
356
398
|
exports.default = Kernel;
|
|
357
|
-
//# sourceMappingURL=
|
|
399
|
+
//# sourceMappingURL=service-kernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-kernel.js","sourceRoot":"","sources":["../src/service-kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const taro_helper_1 = require("@spcsn/taro-helper");
|
|
4
4
|
class Plugin {
|
|
5
|
+
id;
|
|
6
|
+
path;
|
|
7
|
+
ctx;
|
|
8
|
+
optsSchema;
|
|
5
9
|
constructor(opts) {
|
|
6
10
|
this.id = opts.id;
|
|
7
11
|
this.path = opts.path;
|
|
@@ -70,4 +74,4 @@ function processArgs(args) {
|
|
|
70
74
|
}
|
|
71
75
|
return { name, fn };
|
|
72
76
|
}
|
|
73
|
-
//# sourceMappingURL=
|
|
77
|
+
//# sourceMappingURL=service-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-plugin.js","sourceRoot":"","sources":["../src/service-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { IPlugin, IPluginsObject } from './types';
|
|
|
4
4
|
export declare const isNpmPkg: (name: string) => boolean;
|
|
5
5
|
export declare function getPluginPath(pluginPath: string): string;
|
|
6
6
|
export declare function convertPluginsToObject(items: PluginItem[]): () => IPluginsObject;
|
|
7
|
-
export declare function mergePlugins(dist: PluginItem[], src: PluginItem[]): () =>
|
|
7
|
+
export declare function mergePlugins(dist: PluginItem[], src: PluginItem[]): () => any;
|
|
8
8
|
export declare function resolvePresetsOrPlugins(root: string, args: IPluginsObject, type: PluginType, skipError?: boolean): IPlugin[];
|
|
9
9
|
export declare function printHelpLog(command: any, optionsList: Map<string, string>, synopsisList?: Set<string>): void;
|
|
10
|
-
export declare function filterGlobalConfig(globalConfig: IProjectConfig, command: string): IProjectConfig<"
|
|
10
|
+
export declare function filterGlobalConfig(globalConfig: IProjectConfig, command: string): IProjectConfig<"vite">;
|
package/dist/utils/index.js
CHANGED
|
@@ -46,6 +46,19 @@ const lodash_1 = require("lodash");
|
|
|
46
46
|
const resolve = __importStar(require("resolve"));
|
|
47
47
|
const isNpmPkg = (name) => !/^(\.|\/)/.test(name);
|
|
48
48
|
exports.isNpmPkg = isNpmPkg;
|
|
49
|
+
const removedLegacyPlugins = new Set(['@spcsn/taro-plugin-generator']);
|
|
50
|
+
const cliBuiltinPlugins = {
|
|
51
|
+
'@spcsn/taro-plugin-platform-weapp': 'dist/platform-weapp/index.js',
|
|
52
|
+
};
|
|
53
|
+
function resolveCliBuiltinPlugin(item, root) {
|
|
54
|
+
const builtinPath = cliBuiltinPlugins[item];
|
|
55
|
+
if (!builtinPath)
|
|
56
|
+
return;
|
|
57
|
+
const cliPackageJson = require.resolve('@spcsn/taro-cli/package.json', {
|
|
58
|
+
paths: [__dirname, root].filter(Boolean),
|
|
59
|
+
});
|
|
60
|
+
return path.join(path.dirname(cliPackageJson), builtinPath);
|
|
61
|
+
}
|
|
49
62
|
function getPluginPath(pluginPath) {
|
|
50
63
|
if ((0, exports.isNpmPkg)(pluginPath) || path.isAbsolute(pluginPath))
|
|
51
64
|
return pluginPath;
|
|
@@ -83,6 +96,9 @@ function resolvePresetsOrPlugins(root, args, type, skipError) {
|
|
|
83
96
|
const presetsOrPluginsNames = Object.keys(args) || [];
|
|
84
97
|
for (let i = 0; i < presetsOrPluginsNames.length; i++) {
|
|
85
98
|
const item = presetsOrPluginsNames[i];
|
|
99
|
+
if (removedLegacyPlugins.has(item)) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
86
102
|
let fPath;
|
|
87
103
|
try {
|
|
88
104
|
fPath = resolve.sync(item, {
|
|
@@ -92,9 +108,15 @@ function resolvePresetsOrPlugins(root, args, type, skipError) {
|
|
|
92
108
|
}
|
|
93
109
|
catch (err) {
|
|
94
110
|
if (err.code === 'MODULE_NOT_FOUND') {
|
|
111
|
+
try {
|
|
112
|
+
fPath = resolveCliBuiltinPlugin(item, root);
|
|
113
|
+
}
|
|
114
|
+
catch (e) { }
|
|
115
|
+
}
|
|
116
|
+
if (!fPath && err.code === 'MODULE_NOT_FOUND') {
|
|
95
117
|
try {
|
|
96
118
|
const cliPath = require.resolve('@spcsn/taro-cli/package.json', { paths: [__dirname, root].filter(Boolean) });
|
|
97
|
-
fPath = resolve.sync(item, { basedir:
|
|
119
|
+
fPath = resolve.sync(item, { basedir: path.dirname(cliPath), extensions: ['.js', '.ts'] });
|
|
98
120
|
}
|
|
99
121
|
catch (e) { }
|
|
100
122
|
}
|
|
@@ -114,6 +136,11 @@ function resolvePresetsOrPlugins(root, args, type, skipError) {
|
|
|
114
136
|
}
|
|
115
137
|
}
|
|
116
138
|
}
|
|
139
|
+
const existingPlugin = resolvedPresetsOrPlugins.find((plugin) => plugin.id === fPath);
|
|
140
|
+
if (existingPlugin) {
|
|
141
|
+
existingPlugin.opts = (0, lodash_1.merge)({}, existingPlugin.opts, args[item] || {});
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
117
144
|
const resolvedItem = {
|
|
118
145
|
id: fPath,
|
|
119
146
|
path: fPath,
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|