xhs-mp-compiler-cli 2.0.0-beta.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/bin/xhs-mp-cli-build.js +48 -34
  2. package/dist/bin/xhs-mp-cli-dev.js +44 -44
  3. package/dist/bin/xhs-mp-cli.js +22 -12
  4. package/dist/compiler.d.ts +21 -28
  5. package/dist/compiler.js +327 -327
  6. package/dist/compilerImpl.d.ts +19 -0
  7. package/dist/compilerImpl.js +173 -0
  8. package/dist/config/constant.config.d.ts +24 -0
  9. package/dist/config/constant.config.js +82 -30
  10. package/dist/config/dir.config.js +23 -13
  11. package/dist/index.d.ts +9 -9
  12. package/dist/index.js +454 -408
  13. package/dist/packs/index.d.ts +4 -4
  14. package/dist/packs/index.js +38 -30
  15. package/dist/packs/mp-pack/index.js +38 -30
  16. package/dist/packs/webpack/dev-server/index.js +61 -50
  17. package/dist/packs/webpack/dev-server/lib/ensurePort.js +33 -23
  18. package/dist/packs/webpack/dev-server/lib/openBrowser.js +28 -18
  19. package/dist/packs/webpack/index.d.ts +1 -1
  20. package/dist/packs/webpack/index.js +99 -90
  21. package/dist/packs/webpack/webpack.d.ts +2 -1
  22. package/dist/packs/webpack/webpack.js +81 -63
  23. package/dist/presets/babel.d.ts +0 -1
  24. package/dist/presets/babel.js +64 -58
  25. package/dist/presets/common.js +42 -45
  26. package/dist/presets/configs/minigame/assets/assetsEntryPlugin.js +50 -40
  27. package/dist/presets/configs/minigame/assets/index.js +62 -52
  28. package/dist/presets/configs/minigame/service/index.js +49 -30
  29. package/dist/presets/configs/minigame/service/resolveLimitPlugin.js +33 -23
  30. package/dist/presets/configs/minigame/service/serviceChunkPlugin.d.ts +2 -2
  31. package/dist/presets/configs/minigame/service/serviceChunkPlugin.js +69 -60
  32. package/dist/presets/configs/minigame/service/serviceEntryPlugin.d.ts +3 -3
  33. package/dist/presets/configs/minigame/service/serviceEntryPlugin.js +39 -29
  34. package/dist/presets/configs/miniprogram/assets/assetsEntryPlugin.js +120 -113
  35. package/dist/presets/configs/miniprogram/assets/index.js +45 -43
  36. package/dist/presets/configs/miniprogram/render/component.js +51 -41
  37. package/dist/presets/configs/miniprogram/render/index.d.ts +2 -3
  38. package/dist/presets/configs/miniprogram/render/index.js +85 -68
  39. package/dist/presets/configs/miniprogram/render/render.js +53 -43
  40. package/dist/presets/configs/miniprogram/render/renderChunkPlugin.js +84 -49
  41. package/dist/presets/configs/miniprogram/render/sjsEntryPlugin.d.ts +15 -0
  42. package/dist/presets/configs/miniprogram/render/sjsEntryPlugin.js +164 -126
  43. package/dist/presets/configs/miniprogram/service/index.js +82 -65
  44. package/dist/presets/configs/miniprogram/service/resolveLimitPlugin.js +60 -50
  45. package/dist/presets/configs/miniprogram/service/serviceChunkPlugin.js +93 -55
  46. package/dist/presets/index.js +100 -90
  47. package/dist/presets/loaders/mg-entry-loader.js +32 -22
  48. package/dist/presets/loaders/mini-style-loader.js +79 -55
  49. package/dist/presets/loaders/mp-entry-loader.js +149 -140
  50. package/dist/presets/loaders/wxss-loader.js +73 -63
  51. package/dist/presets/plugins/InjectorPlugin.js +23 -13
  52. package/dist/presets/plugins/SourceMapDevToolPlugin.d.ts +1 -0
  53. package/dist/presets/plugins/SourceMapDevToolPlugin.js +23 -0
  54. package/dist/presets/prod.js +88 -78
  55. package/dist/sharedFs.d.ts +2 -0
  56. package/dist/sharedFs.js +24 -0
  57. package/dist/types/index.d.ts +11 -37
  58. package/dist/types/index.js +23 -13
  59. package/dist/utils/{apm/index.d.ts → apm.d.ts} +5 -3
  60. package/dist/utils/apm.js +245 -0
  61. package/dist/utils/cache.d.ts +28 -0
  62. package/dist/utils/cache.js +49 -0
  63. package/dist/utils/common.js +42 -32
  64. package/dist/utils/css.d.ts +1 -1
  65. package/dist/utils/css.js +43 -35
  66. package/dist/utils/depenedHelper.js +95 -85
  67. package/dist/utils/file.js +39 -29
  68. package/dist/utils/loader-utils.js +63 -53
  69. package/dist/utils/postcssRpx2Vw.js +43 -33
  70. package/dist/utils/project.d.ts +3 -2
  71. package/dist/utils/project.js +129 -119
  72. package/dist/utils/projectConfig.js +24 -15
  73. package/dist/utils/utils.js +51 -42
  74. package/dist/utils/workerPool.d.ts +29 -0
  75. package/dist/utils/workerPool.js +125 -0
  76. package/dist/utils/zip.js +239 -229
  77. package/package.json +33 -14
  78. package/dist/compilerCP.d.ts +0 -1
  79. package/dist/compilerCP.js +0 -175
  80. package/dist/presets/loaders/sjs-loader/index.d.ts +0 -12
  81. package/dist/presets/loaders/sjs-loader/index.js +0 -605
  82. package/dist/presets/loaders/sjs-loader/scope.d.ts +0 -36
  83. package/dist/presets/loaders/sjs-loader/scope.js +0 -122
  84. package/dist/presets/loaders/sjs-loader/tranform.d.ts +0 -2
  85. package/dist/presets/loaders/sjs-loader/tranform.js +0 -31
  86. package/dist/utils/apm/index.js +0 -198
  87. package/dist/utils/asyncWebpack.d.ts +0 -3
  88. package/dist/utils/asyncWebpack.js +0 -38
  89. package/dist/utils/const.d.ts +0 -27
  90. package/dist/utils/const.js +0 -47
  91. package/dist/utils/getSuffixName.d.ts +0 -3
  92. package/dist/utils/getSuffixName.js +0 -18
  93. package/dist/utils/tagTransformMap.d.ts +0 -36
  94. package/dist/utils/tagTransformMap.js +0 -39
package/package.json CHANGED
@@ -1,11 +1,24 @@
1
1
  {
2
2
  "name": "xhs-mp-compiler-cli",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0",
4
4
  "description": "xhs mp command tool.",
5
5
  "preferGlobal": true,
6
6
  "category": "esm",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "require": "./dist/index.js",
12
+ "import": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./sharedFs": {
16
+ "require": "./dist/sharedFs.js",
17
+ "import": "./dist/sharedFs.js",
18
+ "types": "./dist/sharedFs.d.ts"
19
+ },
20
+ "./*.map": "./dist/*.map"
21
+ },
9
22
  "publishConfig": {
10
23
  "registry": "https://registry.npmjs.org/",
11
24
  "access": "public"
@@ -20,11 +33,6 @@
20
33
  "author": "zyu1 <fuzhu@xiaohongshu.com>",
21
34
  "license": "MIT",
22
35
  "dependencies": {
23
- "archiver": "^7.0.1",
24
- "debug": "^4.3.4",
25
- "globby": "^11.1.0",
26
- "query-string": "^8.1.0",
27
- "yauzl": "^2.10.0",
28
36
  "@babel/core": "^7.12.10",
29
37
  "@babel/generator": "^7.12.10",
30
38
  "@babel/parser": "^7.12.10",
@@ -38,11 +46,11 @@
38
46
  "@swc/core": "^1.3.74",
39
47
  "@swc/helpers": "^0.5.1",
40
48
  "@vue/babel-preset-jsx": "^1.2.4",
49
+ "archiver": "^7.0.1",
41
50
  "babel-loader": "^8.2.2",
42
51
  "babel-plugin-istanbul": "^6.0.0",
43
52
  "babel-preset-minify": "^0.4.3",
44
53
  "clean-webpack-plugin": "^3.0.0",
45
- "uuid": "^9.0.1",
46
54
  "clone": "^2.1.2",
47
55
  "commander": "^8.0.0",
48
56
  "copy-webpack-plugin": "^9.0.1",
@@ -50,11 +58,12 @@
50
58
  "css-loader": "^5.0.2",
51
59
  "css-minimizer-webpack-plugin": "^1.2.0",
52
60
  "cssnano": "4.1.10",
61
+ "debug": "^4.3.4",
53
62
  "enhanced-resolve": "^5.8.3",
54
63
  "fork-ts-checker-webpack-plugin": "^6.1.0",
55
- "friendly-errors-webpack-plugin": "^1.7.0",
56
64
  "fs-extra": "^10.0.0",
57
65
  "glob": "^8.0.1",
66
+ "globby": "^11.1.0",
58
67
  "htmlparser2": "^7.1.2",
59
68
  "lodash": "^4.17.21",
60
69
  "mini-css-extract-plugin": "^1.6.2",
@@ -67,6 +76,7 @@
67
76
  "postcss-prefix-selector": "^1.10.0",
68
77
  "postcss-preset-env": "^6.7.0",
69
78
  "postcss-pxtorem": "^5.1.1",
79
+ "query-string": "^8.1.0",
70
80
  "querystring": "^0.2.1",
71
81
  "source-map": "^0.6.1",
72
82
  "speed-measure-webpack-plugin": "^1.5.0",
@@ -75,6 +85,7 @@
75
85
  "tapable": "^2.2.1",
76
86
  "terser-webpack-plugin": "^5.2.4",
77
87
  "typescript": "^5.1.6",
88
+ "uuid": "^9.0.1",
78
89
  "vue": "^3.2.26",
79
90
  "vue-loader": "^16.4.1",
80
91
  "vue-style-loader": "^4.1.2",
@@ -82,11 +93,18 @@
82
93
  "webpack-bundle-analyzer": "^4.4.0",
83
94
  "webpack-chain": "^6.5.1",
84
95
  "webpack-sources": "^3.2.2",
85
- "xhs-mp-compiler-ml-loader": "2.0.0-beta.3",
86
- "xhs-mp-compiler-utils": "2.0.0-beta.3",
87
- "xhs-mp-pack": "^2.0.0-beta.3",
88
- "xhs-mp-project": "^2.0.0-beta.3",
89
- "xhs-mp-utils": "^2.0.0-beta.3"
96
+ "xhs-mp-workerpool": "^9.1.3",
97
+ "xhs-mp-ml-loader": "2.0.0",
98
+ "xhs-mp-compiler-utils": "1.11.0",
99
+ "xhs-mp-pack": "1.11.0",
100
+ "xhs-mp-project": "1.11.0",
101
+ "xhs-mp-shared": "1.11.0",
102
+ "xhs-mp-shared-fs": "1.11.0",
103
+ "xhs-mp-sjs-loader": "1.11.0",
104
+ "yauzl": "^2.10.0"
105
+ },
106
+ "peerDependencies": {
107
+ "xhs-mp-ml-parser": "2.0.0"
90
108
  },
91
109
  "devDependencies": {
92
110
  "@types/babel__generator": "7.6.3",
@@ -110,7 +128,8 @@
110
128
  "ts-node": "10.0.0",
111
129
  "typescript": "5.1.6",
112
130
  "vue3-jest": "27.0.0-alpha.2",
113
- "webpack-dev-server": "4.0.0-beta.3"
131
+ "webpack-dev-server": "4.0.0-beta.3",
132
+ "xhs-mp-ml-parser": "2.0.0"
114
133
  },
115
134
  "scripts": {
116
135
  "version": "formula changelog && git add .",
@@ -1 +0,0 @@
1
- export {};
@@ -1,175 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const packs_1 = require("./packs");
13
- let globalConfig = JSON.parse(process.argv[2]);
14
- let hadWatchBuilt = false;
15
- let projectCompiler;
16
- /* 发送消息给父进程 */
17
- const sendToMaster = (method, data = {}) => {
18
- var _a;
19
- (_a = process.send) === null || _a === void 0 ? void 0 : _a.call(process, JSON.stringify(Object.assign({ method }, data)));
20
- };
21
- const tryGC = () => {
22
- if (global.gc) {
23
- global.gc();
24
- }
25
- };
26
- function formatWebpackMessages(err, stats) {
27
- if (err) {
28
- return { errors: [err.message], warnings: [] };
29
- }
30
- const json = stats.toJson({ warnings: true, errors: true, all: false });
31
- const formattedErrors = json.errors.map(item => item.message);
32
- const formattedWarnings = json.warnings.map(item => item.message);
33
- const result = { errors: formattedErrors, warnings: formattedWarnings };
34
- return result;
35
- }
36
- const handlers = {
37
- runWatch: (msg) => __awaiter(void 0, void 0, void 0, function* () {
38
- const { uuid, data } = msg;
39
- if (!projectCompiler) {
40
- projectCompiler = (0, packs_1.createCompiler)(data);
41
- }
42
- sendToMaster('run watch start');
43
- const { err, stats } = (yield projectCompiler.watch({
44
- scene: data.scene
45
- }, (err, stats) => {
46
- var _a;
47
- console.log('file change...', err, stats);
48
- // 修改文件时构建
49
- const hasError = err || ((_a = stats === null || stats === void 0 ? void 0 : stats.hasErrors) === null || _a === void 0 ? void 0 : _a.call(stats));
50
- if (hasError) {
51
- sendToMaster('emitCompileStats', {
52
- stats: formatWebpackMessages(err, stats)
53
- });
54
- return;
55
- }
56
- sendToMaster('compileFinishWhenFileChange');
57
- }));
58
- console.log('it is watching...', err, stats);
59
- const hasError = err || stats.hasErrors();
60
- if (hasError) {
61
- sendToMaster('callback', {
62
- uuid,
63
- success: false,
64
- stats: formatWebpackMessages(err, stats)
65
- });
66
- }
67
- else {
68
- hadWatchBuilt = true;
69
- sendToMaster('callback', {
70
- uuid,
71
- success: true
72
- });
73
- }
74
- }),
75
- changeCompileOptions(msg) {
76
- const { data } = msg;
77
- projectCompiler === null || projectCompiler === void 0 ? void 0 : projectCompiler.changeCompileOptions(data);
78
- },
79
- activatePkgs: (msg) => __awaiter(void 0, void 0, void 0, function* () {
80
- var _a, _b, _c;
81
- const { uuid, data: { compilePkgs } } = msg;
82
- console.log('run activate start', compilePkgs);
83
- const { err, stats } = (yield ((_b = (_a = projectCompiler).activatePkgs) === null || _b === void 0 ? void 0 : _b.call(_a, compilePkgs)));
84
- console.log('run activate finish', err, stats);
85
- const hasError = err || ((_c = stats === null || stats === void 0 ? void 0 : stats.hasErrors) === null || _c === void 0 ? void 0 : _c.call(stats));
86
- if (hasError) {
87
- sendToMaster('callback', {
88
- uuid,
89
- success: false,
90
- stats: formatWebpackMessages(err, stats)
91
- });
92
- }
93
- else {
94
- hadWatchBuilt = true;
95
- sendToMaster('callback', {
96
- uuid,
97
- success: true
98
- });
99
- }
100
- }),
101
- runBuild: msg => {
102
- console.log('sp run build', msg);
103
- const { uuid, data } = msg;
104
- if (!projectCompiler) {
105
- projectCompiler = (0, packs_1.createCompiler)(data);
106
- }
107
- projectCompiler.on('progress', progress => {
108
- sendToMaster('compilePercent', {
109
- percentage: progress
110
- });
111
- });
112
- projectCompiler.build((err, stats) => {
113
- var _a;
114
- const hasError = err || ((_a = stats === null || stats === void 0 ? void 0 : stats.hasErrors) === null || _a === void 0 ? void 0 : _a.call(stats));
115
- console.log('sp run build finish', stats);
116
- if (hasError) {
117
- const statsInfo = formatWebpackMessages(err, stats);
118
- sendToMaster('callback', {
119
- uuid,
120
- success: false,
121
- stats: statsInfo
122
- });
123
- return;
124
- }
125
- sendToMaster('callback', {
126
- uuid,
127
- success: true
128
- });
129
- tryGC();
130
- });
131
- },
132
- runTask: (msg) => {
133
- if (msg) {
134
- globalConfig = Object.assign(Object.assign({}, globalConfig), msg);
135
- }
136
- const { uuid, data } = globalConfig;
137
- if (data.action === 'dev') {
138
- handlers.runWatch({ uuid, data });
139
- }
140
- else {
141
- handlers.runBuild({ uuid, data });
142
- }
143
- },
144
- close() {
145
- var _a;
146
- console.log('close');
147
- (_a = projectCompiler === null || projectCompiler === void 0 ? void 0 : projectCompiler.close) === null || _a === void 0 ? void 0 : _a.call(projectCompiler, () => { });
148
- projectCompiler = null;
149
- }
150
- };
151
- process.on('message', (message) => {
152
- let objData = {};
153
- try {
154
- objData = JSON.parse(message);
155
- }
156
- catch (error) {
157
- // do something
158
- }
159
- const { uuid, method, data = {} } = objData;
160
- if (!handlers[method]) {
161
- return;
162
- }
163
- handlers[method](objData);
164
- });
165
- process.on('uncaughtException', error => {
166
- console.error(error);
167
- sendToMaster('emitCompileStats', {
168
- stats: {
169
- errors: [error.message]
170
- }
171
- });
172
- });
173
- process.on('disconnect', () => {
174
- process.exit(-1);
175
- });
@@ -1,12 +0,0 @@
1
- import type { Span } from '@swc/core';
2
- export declare const SJS_HELPER = "_sjs$";
3
- declare function sjsCompiler(code: any, onRequire: (s: string) => string): {
4
- code: string;
5
- map: string | undefined;
6
- legacyCode: string;
7
- errors: {
8
- message: string;
9
- span: Span;
10
- }[];
11
- };
12
- export default sjsCompiler;