xhs-mp-compiler-cli 2.0.0-beta.4 → 2.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/dist/bin/xhs-mp-cli-build.js +48 -34
- package/dist/bin/xhs-mp-cli-dev.js +44 -44
- package/dist/bin/xhs-mp-cli.js +22 -12
- package/dist/compiler.d.ts +21 -28
- package/dist/compiler.js +327 -327
- package/dist/compilerImpl.d.ts +19 -0
- package/dist/compilerImpl.js +173 -0
- package/dist/config/constant.config.d.ts +24 -0
- package/dist/config/constant.config.js +82 -30
- package/dist/config/dir.config.js +23 -13
- package/dist/index.d.ts +9 -9
- package/dist/index.js +454 -408
- package/dist/packs/index.d.ts +4 -4
- package/dist/packs/index.js +38 -30
- package/dist/packs/mp-pack/index.js +38 -30
- package/dist/packs/webpack/dev-server/index.js +61 -50
- package/dist/packs/webpack/dev-server/lib/ensurePort.js +33 -23
- package/dist/packs/webpack/dev-server/lib/openBrowser.js +28 -18
- package/dist/packs/webpack/index.d.ts +1 -1
- package/dist/packs/webpack/index.js +99 -90
- package/dist/packs/webpack/webpack.d.ts +2 -1
- package/dist/packs/webpack/webpack.js +81 -63
- package/dist/presets/babel.d.ts +0 -1
- package/dist/presets/babel.js +64 -58
- package/dist/presets/common.js +42 -45
- package/dist/presets/configs/minigame/assets/assetsEntryPlugin.js +50 -40
- package/dist/presets/configs/minigame/assets/index.js +62 -52
- package/dist/presets/configs/minigame/service/index.js +49 -30
- package/dist/presets/configs/minigame/service/resolveLimitPlugin.js +33 -23
- package/dist/presets/configs/minigame/service/serviceChunkPlugin.d.ts +2 -2
- package/dist/presets/configs/minigame/service/serviceChunkPlugin.js +69 -60
- package/dist/presets/configs/minigame/service/serviceEntryPlugin.d.ts +3 -3
- package/dist/presets/configs/minigame/service/serviceEntryPlugin.js +39 -29
- package/dist/presets/configs/miniprogram/assets/assetsEntryPlugin.js +120 -113
- package/dist/presets/configs/miniprogram/assets/index.js +45 -43
- package/dist/presets/configs/miniprogram/render/component.js +51 -41
- package/dist/presets/configs/miniprogram/render/index.d.ts +2 -3
- package/dist/presets/configs/miniprogram/render/index.js +85 -68
- package/dist/presets/configs/miniprogram/render/render.js +53 -43
- package/dist/presets/configs/miniprogram/render/renderChunkPlugin.js +84 -49
- package/dist/presets/configs/miniprogram/render/sjsEntryPlugin.d.ts +15 -0
- package/dist/presets/configs/miniprogram/render/sjsEntryPlugin.js +164 -126
- package/dist/presets/configs/miniprogram/service/index.js +82 -65
- package/dist/presets/configs/miniprogram/service/resolveLimitPlugin.js +60 -50
- package/dist/presets/configs/miniprogram/service/serviceChunkPlugin.js +93 -55
- package/dist/presets/index.js +100 -90
- package/dist/presets/loaders/mg-entry-loader.js +32 -22
- package/dist/presets/loaders/mini-style-loader.js +79 -55
- package/dist/presets/loaders/mp-entry-loader.js +149 -140
- package/dist/presets/loaders/wxss-loader.js +73 -63
- package/dist/presets/plugins/InjectorPlugin.js +23 -13
- package/dist/presets/plugins/SourceMapDevToolPlugin.d.ts +1 -0
- package/dist/presets/plugins/SourceMapDevToolPlugin.js +23 -0
- package/dist/presets/prod.js +88 -78
- package/dist/sharedFs.d.ts +2 -0
- package/dist/sharedFs.js +24 -0
- package/dist/types/index.d.ts +11 -37
- package/dist/types/index.js +23 -13
- package/dist/utils/{apm/index.d.ts → apm.d.ts} +5 -3
- package/dist/utils/apm.js +245 -0
- package/dist/utils/cache.d.ts +28 -0
- package/dist/utils/cache.js +49 -0
- package/dist/utils/common.js +42 -32
- package/dist/utils/css.d.ts +1 -1
- package/dist/utils/css.js +43 -35
- package/dist/utils/depenedHelper.js +95 -85
- package/dist/utils/file.js +39 -29
- package/dist/utils/loader-utils.js +63 -53
- package/dist/utils/postcssRpx2Vw.js +43 -33
- package/dist/utils/project.d.ts +3 -2
- package/dist/utils/project.js +129 -119
- package/dist/utils/projectConfig.js +24 -15
- package/dist/utils/utils.js +51 -42
- package/dist/utils/workerPool.d.ts +29 -0
- package/dist/utils/workerPool.js +125 -0
- package/dist/utils/zip.js +239 -229
- package/package.json +33 -14
- package/dist/compilerCP.d.ts +0 -1
- package/dist/compilerCP.js +0 -175
- package/dist/presets/loaders/sjs-loader/index.d.ts +0 -12
- package/dist/presets/loaders/sjs-loader/index.js +0 -605
- package/dist/presets/loaders/sjs-loader/scope.d.ts +0 -36
- package/dist/presets/loaders/sjs-loader/scope.js +0 -122
- package/dist/presets/loaders/sjs-loader/tranform.d.ts +0 -2
- package/dist/presets/loaders/sjs-loader/tranform.js +0 -31
- package/dist/utils/apm/index.js +0 -198
- package/dist/utils/asyncWebpack.d.ts +0 -3
- package/dist/utils/asyncWebpack.js +0 -38
- package/dist/utils/const.d.ts +0 -27
- package/dist/utils/const.js +0 -47
- package/dist/utils/getSuffixName.d.ts +0 -3
- package/dist/utils/getSuffixName.js +0 -18
- package/dist/utils/tagTransformMap.d.ts +0 -36
- package/dist/utils/tagTransformMap.js +0 -39
|
@@ -1,40 +1,54 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
enableV1
|
|
32
|
-
enableV2
|
|
33
|
-
enableVDom
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
5
|
+
(function (factory) {
|
|
6
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
7
|
+
var v = factory(require, exports);
|
|
8
|
+
if (v !== undefined) module.exports = v;
|
|
9
|
+
}
|
|
10
|
+
else if (typeof define === "function" && define.amd) {
|
|
11
|
+
define(["require", "exports", "commander", "path", "../packs"], factory);
|
|
12
|
+
}
|
|
13
|
+
})(function (require, exports) {
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const commander_1 = require("commander");
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const packs_1 = require("../packs");
|
|
19
|
+
const commander = new commander_1.Command();
|
|
20
|
+
commander.usage('[options]').option('-d, --mpDir <path>', 'set workdir [default: ./]');
|
|
21
|
+
commander.usage('[options]').option('-p, --platform <string>', 'set platform [default: xhs]');
|
|
22
|
+
commander.usage('[options]').option('-l, --lite <string>', '轻量编译器');
|
|
23
|
+
commander.usage('[options]').option('-c, --compressJs <boolean>', 'compressJs');
|
|
24
|
+
commander.usage('[options]').option('-v1, --enableV1 <boolean>', 'package v1');
|
|
25
|
+
commander.usage('[options]').option('-v2, --enableV2 <boolean>', 'package v2');
|
|
26
|
+
commander.usage('[options]').option('-vdom, --enableVDom <boolean>', 'vdom 架构支持');
|
|
27
|
+
commander.parse(process.argv);
|
|
28
|
+
const projectPath = commander.opts().mpDir ? path_1.default.resolve(commander.opts().mpDir) : process.cwd();
|
|
29
|
+
const platform = commander.opts().platform ? commander.opts().platform : 'xhs';
|
|
30
|
+
const enableV1 = commander.opts().enableV1 === "true";
|
|
31
|
+
const enableV2 = commander.opts().enableV2 === "true";
|
|
32
|
+
const enableVDom = commander.opts().enableVDom === "true";
|
|
33
|
+
const compressJs = commander.opts().compressJs === "true";
|
|
34
|
+
const projectPacker = (0, packs_1.createPacker)({
|
|
35
|
+
projectPath,
|
|
36
|
+
action: 'build',
|
|
37
|
+
platform,
|
|
38
|
+
compressJs,
|
|
39
|
+
enableSourcemap: false,
|
|
40
|
+
enableV1,
|
|
41
|
+
enableV2,
|
|
42
|
+
enableVDom,
|
|
43
|
+
packMode: 'webpack',
|
|
44
|
+
});
|
|
45
|
+
projectPacker.on('buildInfo', data => {
|
|
46
|
+
if (data.resource) {
|
|
47
|
+
console.log(`资源编译:${data.resource}`);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
projectPacker.build((err, stats) => {
|
|
51
|
+
console.log('编译完成');
|
|
52
|
+
console.log(stats.toString({ warnings: true, errors: true, all: false }));
|
|
39
53
|
});
|
|
40
54
|
});
|
|
@@ -1,50 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
39
|
-
multiCompiler.run((err, stats) => {
|
|
40
|
-
console.log(stats.toString({ warnings: true, errors: true, all: false }));
|
|
41
|
-
multiCompiler.close(() => {
|
|
42
|
-
// noop
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
(0, packs_1.createCompiler)({
|
|
5
|
+
(function (factory) {
|
|
6
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
7
|
+
var v = factory(require, exports);
|
|
8
|
+
if (v !== undefined) module.exports = v;
|
|
9
|
+
}
|
|
10
|
+
else if (typeof define === "function" && define.amd) {
|
|
11
|
+
define(["require", "exports", "commander", "path", "../packs"], factory);
|
|
12
|
+
}
|
|
13
|
+
})(function (require, exports) {
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const commander_1 = require("commander");
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const packs_1 = require("../packs");
|
|
19
|
+
const commander = new commander_1.Command();
|
|
20
|
+
commander.usage('[options]').option('-d, --mpDir <path>', 'set workdir [default: ./]');
|
|
21
|
+
commander.usage('[options]').option('-p, --platform <string>', 'set platform [default: xhs]');
|
|
22
|
+
commander.usage('[options]').option('-P, --port <string>', 'set dev server port [default: 1388]');
|
|
23
|
+
commander.usage('[options]').option('-l, --lite <string>', 'lite compiler');
|
|
24
|
+
commander.usage('[options]').option('-o, --out <string>', '是否输出内容');
|
|
25
|
+
commander.usage('[options]').option('-v1, --enableV1 <boolean>', 'package v1');
|
|
26
|
+
commander.usage('[options]').option('-v2, --enableV2 <boolean>', 'package v2');
|
|
27
|
+
commander.usage('[options]').option('-vdom, --enableVDom <boolean>', 'vdom 架构支持');
|
|
28
|
+
commander.parse(process.argv);
|
|
29
|
+
const projectPath = commander.opts().mpDir ? path_1.default.resolve(commander.opts().mpDir) : process.cwd();
|
|
30
|
+
const platform = commander.opts().platform ? commander.opts().platform : 'xhs';
|
|
31
|
+
const devServerPort = commander.opts().port ? commander.opts().port : 1388;
|
|
32
|
+
const out = commander.opts().out === "true";
|
|
33
|
+
const enableV1 = commander.opts().enableV1 === "true";
|
|
34
|
+
const enableV2 = commander.opts().enableV2 === "true";
|
|
35
|
+
const enableVDom = commander.opts().enableVDom === "true";
|
|
36
|
+
const projectPacker = (0, packs_1.createPacker)({
|
|
48
37
|
projectPath,
|
|
49
38
|
action: 'dev',
|
|
50
39
|
enableDevServer: true,
|
|
@@ -55,5 +44,16 @@ else {
|
|
|
55
44
|
enableV1,
|
|
56
45
|
enableV2,
|
|
57
46
|
enableVDom,
|
|
47
|
+
packMode: 'webpack',
|
|
48
|
+
});
|
|
49
|
+
projectPacker.on('buildInfo', data => {
|
|
50
|
+
if (data.resource) {
|
|
51
|
+
console.log(`资源编译:${data.resource}`);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
projectPacker.watch({
|
|
55
|
+
scene: 'watch',
|
|
56
|
+
}, (err, stats) => {
|
|
57
|
+
console.log(stats.toString({ warnings: true, errors: true, all: false }));
|
|
58
58
|
});
|
|
59
|
-
}
|
|
59
|
+
});
|
package/dist/bin/xhs-mp-cli.js
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.
|
|
5
|
+
(function (factory) {
|
|
6
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
7
|
+
var v = factory(require, exports);
|
|
8
|
+
if (v !== undefined) module.exports = v;
|
|
9
|
+
}
|
|
10
|
+
else if (typeof define === "function" && define.amd) {
|
|
11
|
+
define(["require", "exports", "commander", "../../package.json"], factory);
|
|
12
|
+
}
|
|
13
|
+
})(function (require, exports) {
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const commander_1 = require("commander");
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
const package_json_1 = __importDefault(require("../../package.json"));
|
|
19
|
+
const commander = new commander_1.Command();
|
|
20
|
+
commander
|
|
21
|
+
.version(package_json_1.default.version)
|
|
22
|
+
.usage('<command> [options]')
|
|
23
|
+
.command('dev', '启动开发服务')
|
|
24
|
+
.command('build', '打包小程序')
|
|
25
|
+
.parse(process.argv);
|
|
26
|
+
});
|
package/dist/compiler.d.ts
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
/// <reference types="node/child_process" />
|
|
2
|
-
/// <reference types=".pnpm/artifactory.devops.xiaohongshu.com+@types+node@20.12.2/node_modules/@types/node/child_process" />
|
|
3
|
-
/// <reference types="node/stream" />
|
|
4
|
-
/// <reference types=".pnpm/artifactory.devops.xiaohongshu.com+@types+node@20.12.2/node_modules/@types/node/stream" />
|
|
5
|
-
/**
|
|
6
|
-
* 在子进程执行编译
|
|
7
|
-
*/
|
|
8
|
-
import { ChildProcess } from 'child_process';
|
|
9
1
|
import { EventEmitter } from 'stream';
|
|
10
2
|
type Platform = 'wx' | 'xhs';
|
|
3
|
+
type IWorkerType = 'web' | 'process' | 'thread';
|
|
11
4
|
export interface ICompilerOption {
|
|
5
|
+
packMode: string;
|
|
12
6
|
projectPath: string;
|
|
13
7
|
appMode: string;
|
|
14
8
|
}
|
|
@@ -18,37 +12,35 @@ export interface ICompilerArgs {
|
|
|
18
12
|
inspectPort?: number;
|
|
19
13
|
maxSpaceSaze?: number;
|
|
20
14
|
nodeJsPath?: string;
|
|
15
|
+
workerType?: IWorkerType;
|
|
21
16
|
}
|
|
22
17
|
export interface ForkWebpackOption {
|
|
23
18
|
platform: Platform;
|
|
24
|
-
extJsonPath: string;
|
|
25
19
|
distDir: string;
|
|
26
20
|
cacheDirectory: string | null;
|
|
27
21
|
}
|
|
28
22
|
export interface ICheckOptions {
|
|
29
23
|
compilePkgs?: string[];
|
|
30
|
-
|
|
24
|
+
compressCss?: boolean;
|
|
25
|
+
compressJs?: boolean;
|
|
31
26
|
enableV2?: boolean;
|
|
32
27
|
enableV1?: boolean;
|
|
33
28
|
}
|
|
34
|
-
declare abstract class AbstractCompiler extends EventEmitter {
|
|
29
|
+
export declare abstract class AbstractCompiler extends EventEmitter {
|
|
35
30
|
protected inspectPort: any;
|
|
36
|
-
|
|
31
|
+
protected workerType: IWorkerType;
|
|
37
32
|
private compilerOpts;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
protected create: (passData?: {}) => ChildProcess;
|
|
33
|
+
protected logger: any;
|
|
34
|
+
protected pool: any;
|
|
35
|
+
constructor(opts: ICompilerOption, args: ICompilerArgs);
|
|
36
|
+
static prepareDevPool(): void;
|
|
37
|
+
static createPool(workerType: any, poolOpts?: {}, processArgs?: {}): any;
|
|
38
|
+
static createProcessOps: (processArgs: any) => any;
|
|
45
39
|
close(): void;
|
|
46
40
|
kill(): void;
|
|
47
|
-
|
|
48
|
-
call: (method: any, data: any) => Promise<unknown>;
|
|
49
|
-
send: (method: any, data: any) => void;
|
|
41
|
+
call: (method: any, data: any, options?: any) => any;
|
|
50
42
|
}
|
|
51
|
-
declare class MPPackDevCompiler extends AbstractCompiler {
|
|
43
|
+
export declare class MPPackDevCompiler extends AbstractCompiler {
|
|
52
44
|
private pending;
|
|
53
45
|
private pendingPkgs;
|
|
54
46
|
private readyPkgs;
|
|
@@ -62,17 +54,18 @@ declare class MPPackDevCompiler extends AbstractCompiler {
|
|
|
62
54
|
makePkgsReady(opts: ICheckOptions): Promise<void>;
|
|
63
55
|
reCompilePkgs(options: any): Promise<void>;
|
|
64
56
|
}
|
|
65
|
-
declare class WebPackDevCompiler extends AbstractCompiler {
|
|
57
|
+
export declare class WebPackDevCompiler extends AbstractCompiler {
|
|
66
58
|
private watching;
|
|
67
59
|
private pendingTask?;
|
|
68
|
-
constructor(props: any);
|
|
60
|
+
constructor(props: any, args: any);
|
|
69
61
|
makePkgsReady(opts: any): Promise<unknown>;
|
|
70
62
|
reCompilePkgs(opts: any): Promise<void>;
|
|
71
63
|
}
|
|
72
|
-
declare class BuildCompiler extends AbstractCompiler {
|
|
64
|
+
export declare class BuildCompiler extends AbstractCompiler {
|
|
73
65
|
cps: any;
|
|
74
66
|
constructor(props: any, args: any);
|
|
75
|
-
build(option: ICheckOptions): Promise<
|
|
67
|
+
build(option: ICheckOptions): Promise<any>;
|
|
76
68
|
}
|
|
77
|
-
export declare function
|
|
69
|
+
export declare function getProjectCompilerClass(compilerType: any): typeof MPPackDevCompiler | typeof WebPackDevCompiler | typeof BuildCompiler;
|
|
70
|
+
export declare const prepareDevPool: typeof AbstractCompiler.prepareDevPool;
|
|
78
71
|
export {};
|