@lcap/nasl 4.5.0-beta.2 → 4.5.0-beta.3

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 (114) hide show
  1. package/out/generator/genBundleFiles.d.ts.map +1 -1
  2. package/out/generator/genBundleFiles.js +160 -23
  3. package/out/generator/genBundleFiles.js.map +1 -1
  4. package/out/generator/release-body/utils.d.ts +1 -1
  5. package/out/generator/release-body/utils.d.ts.map +1 -1
  6. package/out/generator/release-body/utils.js +8 -6
  7. package/out/generator/release-body/utils.js.map +1 -1
  8. package/out/generator/rspack-broswer/bundle.d.ts +24 -0
  9. package/out/generator/rspack-broswer/bundle.d.ts.map +1 -0
  10. package/out/generator/rspack-broswer/bundle.js +442 -0
  11. package/out/generator/rspack-broswer/bundle.js.map +1 -0
  12. package/out/generator/rspack-broswer/container/client-lazyload-template.d.ts +9 -0
  13. package/out/generator/rspack-broswer/container/client-lazyload-template.d.ts.map +1 -0
  14. package/out/generator/rspack-broswer/container/client-lazyload-template.js +88 -0
  15. package/out/generator/rspack-broswer/container/client-lazyload-template.js.map +1 -0
  16. package/out/generator/rspack-broswer/container/file-system.d.ts +12 -0
  17. package/out/generator/rspack-broswer/container/file-system.d.ts.map +1 -0
  18. package/out/generator/rspack-broswer/container/file-system.js +58 -0
  19. package/out/generator/rspack-broswer/container/file-system.js.map +1 -0
  20. package/out/generator/rspack-broswer/container/index.d.ts +3 -0
  21. package/out/generator/rspack-broswer/container/index.d.ts.map +1 -0
  22. package/out/generator/rspack-broswer/container/index.js +15 -0
  23. package/out/generator/rspack-broswer/container/index.js.map +1 -0
  24. package/out/generator/rspack-broswer/index.d.ts +3 -0
  25. package/out/generator/rspack-broswer/index.d.ts.map +1 -0
  26. package/out/generator/rspack-broswer/index.js +19 -0
  27. package/out/generator/rspack-broswer/index.js.map +1 -0
  28. package/out/generator/rspack-broswer/loaders/vue/index.d.ts +2 -0
  29. package/out/generator/rspack-broswer/loaders/vue/index.d.ts.map +1 -0
  30. package/out/generator/rspack-broswer/loaders/vue/index.js +228 -0
  31. package/out/generator/rspack-broswer/loaders/vue/index.js.map +1 -0
  32. package/out/generator/rspack-broswer/plugins/lcap/constant.d.ts +3 -0
  33. package/out/generator/rspack-broswer/plugins/lcap/constant.d.ts.map +1 -0
  34. package/out/generator/rspack-broswer/plugins/lcap/constant.js +213 -0
  35. package/out/generator/rspack-broswer/plugins/lcap/constant.js.map +1 -0
  36. package/out/generator/rspack-broswer/plugins/lcap/index.d.ts +6 -0
  37. package/out/generator/rspack-broswer/plugins/lcap/index.d.ts.map +1 -0
  38. package/out/generator/rspack-broswer/plugins/lcap/index.js +175 -0
  39. package/out/generator/rspack-broswer/plugins/lcap/index.js.map +1 -0
  40. package/out/generator/rspack-broswer/plugins/missing-css-fallback/index.d.ts +10 -0
  41. package/out/generator/rspack-broswer/plugins/missing-css-fallback/index.d.ts.map +1 -0
  42. package/out/generator/rspack-broswer/plugins/missing-css-fallback/index.js +50 -0
  43. package/out/generator/rspack-broswer/plugins/missing-css-fallback/index.js.map +1 -0
  44. package/out/generator/ui-library-declaration/material.d.ts.map +1 -1
  45. package/out/generator/ui-library-declaration/material.js +1 -0
  46. package/out/generator/ui-library-declaration/material.js.map +1 -1
  47. package/out/natural/exports/doctor/doctorView.d.ts +2 -2
  48. package/out/natural/exports/doctor/doctorView.d.ts.map +1 -1
  49. package/out/natural/exports/doctor/doctorView.js +32 -14
  50. package/out/natural/exports/doctor/doctorView.js.map +1 -1
  51. package/out/natural/exports/doctor/index.d.ts +1 -1
  52. package/out/natural/exports/doctor/index.d.ts.map +1 -1
  53. package/out/natural/exports/doctor/types.d.ts +16 -2
  54. package/out/natural/exports/doctor/types.d.ts.map +1 -1
  55. package/out/natural/exports/doctor/viewGraph.d.ts.map +1 -1
  56. package/out/natural/exports/doctor/viewGraph.js +46 -13
  57. package/out/natural/exports/doctor/viewGraph.js.map +1 -1
  58. package/out/natural/exports/nasl2Files.d.ts.map +1 -1
  59. package/out/natural/exports/nasl2Files.js +78 -8
  60. package/out/natural/exports/nasl2Files.js.map +1 -1
  61. package/out/natural/exports/transform2BatchActions/diff/nodes.d.ts +24 -0
  62. package/out/natural/exports/transform2BatchActions/diff/nodes.d.ts.map +1 -1
  63. package/out/natural/exports/transform2BatchActions/diff/nodes.js +35 -1
  64. package/out/natural/exports/transform2BatchActions/diff/nodes.js.map +1 -1
  65. package/out/natural/exports/transform2BatchActions/parse.d.ts.map +1 -1
  66. package/out/natural/exports/transform2BatchActions/parse.js +25 -2
  67. package/out/natural/exports/transform2BatchActions/parse.js.map +1 -1
  68. package/out/natural/exports/transform2BatchActions/types.d.ts +2 -2
  69. package/out/natural/exports/transform2BatchActions/types.d.ts.map +1 -1
  70. package/out/natural/parser/parseNaturalTS.d.ts.map +1 -1
  71. package/out/natural/parser/parseNaturalTS.js +45 -1
  72. package/out/natural/parser/parseNaturalTS.js.map +1 -1
  73. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -1
  74. package/out/natural/parser/parseNaturalTSXView.js +23 -0
  75. package/out/natural/parser/parseNaturalTSXView.js.map +1 -1
  76. package/out/natural/transforms/transform2AuthLogic.d.ts +4 -0
  77. package/out/natural/transforms/transform2AuthLogic.d.ts.map +1 -0
  78. package/out/natural/transforms/transform2AuthLogic.js +116 -0
  79. package/out/natural/transforms/transform2AuthLogic.js.map +1 -0
  80. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  81. package/out/natural/transforms/transform2Enum.js +5 -1
  82. package/out/natural/transforms/transform2Enum.js.map +1 -1
  83. package/out/natural/transforms/transform2ExportInterface.d.ts +3 -0
  84. package/out/natural/transforms/transform2ExportInterface.d.ts.map +1 -0
  85. package/out/natural/transforms/transform2ExportInterface.js +96 -0
  86. package/out/natural/transforms/transform2ExportInterface.js.map +1 -0
  87. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  88. package/out/natural/transforms/transform2Logic.js +4 -28
  89. package/out/natural/transforms/transform2Logic.js.map +1 -1
  90. package/out/natural/transforms/transform2LogicItem.d.ts +7 -2
  91. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  92. package/out/natural/transforms/transform2LogicItem.js +61 -10
  93. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  94. package/out/natural/transforms/transform2OverriddenLogic.d.ts +3 -0
  95. package/out/natural/transforms/transform2OverriddenLogic.d.ts.map +1 -0
  96. package/out/natural/transforms/transform2OverriddenLogic.js +83 -0
  97. package/out/natural/transforms/transform2OverriddenLogic.js.map +1 -0
  98. package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -1
  99. package/out/natural/transforms/utils/parseDecorator.js +12 -0
  100. package/out/natural/transforms/utils/parseDecorator.js.map +1 -1
  101. package/out/natural/transforms/utils/parseLogicBody.d.ts +17 -0
  102. package/out/natural/transforms/utils/parseLogicBody.d.ts.map +1 -0
  103. package/out/natural/transforms/utils/parseLogicBody.js +47 -0
  104. package/out/natural/transforms/utils/parseLogicBody.js.map +1 -0
  105. package/out/natural/utils/nasl-file-types.d.ts.map +1 -1
  106. package/out/natural/utils/nasl-file-types.js +28 -0
  107. package/out/natural/utils/nasl-file-types.js.map +1 -1
  108. package/out/server/naslServer.d.ts.map +1 -1
  109. package/out/server/naslServer.js +1 -0
  110. package/out/server/naslServer.js.map +1 -1
  111. package/out/service/storage/specTools.d.ts.map +1 -1
  112. package/out/service/storage/specTools.js +10 -7
  113. package/out/service/storage/specTools.js.map +1 -1
  114. package/package.json +14 -9
@@ -0,0 +1,24 @@
1
+ import { builtinMemFs } from '@rspack/browser';
2
+ import type { Frontend } from '@lcap/nasl-concepts';
3
+ import type { BundleFileGeneratorConfig as Config } from '../release-body/types';
4
+ export { builtinMemFs };
5
+ interface BundleOptions {
6
+ publicPath?: string;
7
+ frontend?: Frontend;
8
+ config: Config;
9
+ }
10
+ /**
11
+ * 模拟postinstall, 将lcap_modules中的zip.tgz解压到/node_modules/目录下
12
+ * 举例:/lcap_modules/@lcap/ui-libraries-mcp@0.0.3/zip.tgz
13
+ * 解压后在/node_modules/@lcap/ui-libraries-mcp/目录下生成对应的文件
14
+ */
15
+ export declare function postInstall(): Promise<void>;
16
+ /**
17
+ * 清理文件系统中的 dist 文件
18
+ */
19
+ export declare function cleanFiles(): void;
20
+ export declare function bundle(options?: BundleOptions): Promise<{
21
+ path: string;
22
+ content: string;
23
+ }[]>;
24
+ //# sourceMappingURL=bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/generator/rspack-broswer/bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAwD,MAAM,iBAAiB,CAAC;AAQ7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AASjF,OAAO,EACL,YAAY,EACb,CAAA;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,kBAgChC;AAiHD;;GAEG;AACH,wBAAgB,UAAU,SAkBzB;AAmND,wBAAsB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa;UAwBvB,MAAM;aAAW,MAAM;KA6BnD"}
@@ -0,0 +1,442 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.bundle = exports.cleanFiles = exports.postInstall = exports.builtinMemFs = void 0;
30
+ // @ts-ignore
31
+ const browser_1 = require("@rspack/browser");
32
+ Object.defineProperty(exports, "builtinMemFs", { enumerable: true, get: function () { return browser_1.builtinMemFs; } });
33
+ // @ts-ignore
34
+ const pako = __importStar(require("pako"));
35
+ // @ts-ignore
36
+ const tar = __importStar(require("tar-stream"));
37
+ // @ts-ignore
38
+ const readable_stream_1 = require("readable-stream");
39
+ const nasl_unified_frontend_generator_1 = require("@lcap/nasl-unified-frontend-generator");
40
+ // @ts-ignore
41
+ const vue_1 = __importDefault(require("./loaders/vue"));
42
+ // @ts-ignore
43
+ const lcap_1 = __importDefault(require("./plugins/lcap"));
44
+ // @ts-ignore
45
+ const missing_css_fallback_1 = __importDefault(require("./plugins/missing-css-fallback"));
46
+ /**
47
+ * 模拟postinstall, 将lcap_modules中的zip.tgz解压到/node_modules/目录下
48
+ * 举例:/lcap_modules/@lcap/ui-libraries-mcp@0.0.3/zip.tgz
49
+ * 解压后在/node_modules/@lcap/ui-libraries-mcp/目录下生成对应的文件
50
+ */
51
+ async function postInstall() {
52
+ const vol = browser_1.builtinMemFs.volume;
53
+ const files = vol.toJSON();
54
+ const lcapModulesPrefix = '/lcap_modules/';
55
+ const tasks = [];
56
+ Object.keys(files).forEach((path) => {
57
+ if (path.startsWith(lcapModulesPrefix) && path.endsWith('zip.tgz')) {
58
+ // 移除前缀和后缀,并去除尾部斜杠
59
+ let moduleName = path.substring(lcapModulesPrefix.length, path.length - '/zip.tgz'.length);
60
+ // 去掉版本号(最后一个 @ 之后的部分)
61
+ const lastAtIndex = moduleName.lastIndexOf('@');
62
+ if (lastAtIndex > 0) { // > 0 确保不是开头的 @ (scoped package)
63
+ moduleName = moduleName.substring(0, lastAtIndex);
64
+ }
65
+ const targetDir = `/node_modules/${moduleName}/`;
66
+ tasks.push(extractTgz(path, targetDir).then(() => {
67
+ // 解压完成后删除 tgz 文件
68
+ vol.unlinkSync(path);
69
+ }));
70
+ }
71
+ });
72
+ if (tasks.length > 0) {
73
+ await Promise.all(tasks);
74
+ console.log('[postInstall] 所有 tgz 文件解压完成');
75
+ }
76
+ else {
77
+ console.log('[postInstall] 没有找到需要解压的 tgz 文件');
78
+ }
79
+ }
80
+ exports.postInstall = postInstall;
81
+ function extractTgz(tgzPath, targetDir) {
82
+ console.log(`[extractTgz] 开始解压: ${tgzPath} -> ${targetDir}`);
83
+ const vol = browser_1.builtinMemFs.volume;
84
+ // 1. 从 memfs 读取 tgz 文件
85
+ const tgzBuffer = vol.readFileSync(tgzPath);
86
+ // 2. 使用 pako 进行 gunzip 解压
87
+ let tarBuffer;
88
+ try {
89
+ tarBuffer = Buffer.from(pako.inflate(new Uint8Array(tgzBuffer)));
90
+ }
91
+ catch (error) {
92
+ console.error(`[extractTgz] gunzip 解压失败:`, error);
93
+ return Promise.reject(error);
94
+ }
95
+ // 3. 使用 tar-stream 解压 tar 文件
96
+ const extract = tar.extract();
97
+ let fileCount = 0;
98
+ return new Promise((resolve, reject) => {
99
+ extract.on('entry', (header, stream, next) => {
100
+ const chunks = [];
101
+ stream.on('data', (chunk) => {
102
+ chunks.push(chunk);
103
+ });
104
+ stream.on('end', () => {
105
+ if (header.type === 'file') {
106
+ const content = Buffer.concat(chunks);
107
+ // 去掉第一层目录(通常是 package/)
108
+ const pathParts = header.name?.split('/') || [];
109
+ const strippedPath = pathParts.slice(1).join('/');
110
+ if (!strippedPath) {
111
+ next();
112
+ return;
113
+ }
114
+ const filePath = `${targetDir}${strippedPath}`;
115
+ // 确保目录存在
116
+ const dir = filePath.substring(0, filePath.lastIndexOf('/'));
117
+ if (dir && !vol.existsSync(dir)) {
118
+ vol.mkdirSync(dir, { recursive: true });
119
+ }
120
+ // 写入文件到 memfs
121
+ vol.writeFileSync(filePath, content);
122
+ fileCount++;
123
+ }
124
+ next();
125
+ });
126
+ stream.on('error', (error) => {
127
+ console.error(`[extractTgz] stream 错误:`, error);
128
+ next();
129
+ });
130
+ stream.resume();
131
+ });
132
+ extract.on('finish', () => {
133
+ console.log(`[extractTgz] 解压完成,共 ${fileCount} 个文件`);
134
+ resolve();
135
+ });
136
+ extract.on('error', (error) => {
137
+ console.error(`[extractTgz] tar 解压失败:`, error);
138
+ reject(error);
139
+ });
140
+ try {
141
+ // 将 tar buffer 转换为 stream 并传入 extract
142
+ readable_stream_1.Readable.from(tarBuffer).pipe(extract);
143
+ }
144
+ catch (error) {
145
+ console.error(`[extractTgz] 创建 stream 失败:`, error);
146
+ reject(error);
147
+ }
148
+ });
149
+ }
150
+ /**
151
+ * 构建完成后的钩子函数
152
+ * 只保留/dist目录下的文件,其他文件全部删除
153
+ */
154
+ function postBuild(options) {
155
+ const { publicPath } = options || {};
156
+ const vol = browser_1.builtinMemFs.volume;
157
+ const files = vol.toJSON();
158
+ let result = [];
159
+ Object.keys(files).forEach((path) => {
160
+ if (path.startsWith('/dist/')) {
161
+ // 只保留/dist目录下的文件
162
+ if (files[path] !== null && !path.endsWith('.html')) {
163
+ result.push({
164
+ path: `${publicPath || '/'}${path.substring('/dist/'.length)}`,
165
+ content: typeof files[path] === 'string' ? files[path] : files[path].toString(),
166
+ });
167
+ }
168
+ }
169
+ });
170
+ return result;
171
+ }
172
+ /**
173
+ * 清理文件系统中的 dist 文件
174
+ */
175
+ function cleanFiles() {
176
+ const vol = browser_1.builtinMemFs.volume;
177
+ // 删除所有文件
178
+ const files = vol.toJSON();
179
+ Object.keys(files).forEach((path) => {
180
+ try {
181
+ if (vol.existsSync(path)) {
182
+ const stat = vol.statSync(path);
183
+ if (stat.isDirectory()) {
184
+ vol.rmdirSync(path);
185
+ }
186
+ else {
187
+ vol.unlinkSync(path);
188
+ }
189
+ }
190
+ }
191
+ catch (error) {
192
+ // 忽略删除错误(可能已被其他操作删除)
193
+ }
194
+ });
195
+ }
196
+ exports.cleanFiles = cleanFiles;
197
+ /**
198
+ * 准备必要的虚拟文件
199
+ */
200
+ function prepareVirtualFiles() {
201
+ const vol = browser_1.builtinMemFs.volume;
202
+ // 写入内存文件系统
203
+ vol.fromJSON({
204
+ ['/LOADER/rspack-vue-loader.js']: '',
205
+ });
206
+ }
207
+ /**
208
+ * 生成 Rspack 配置
209
+ */
210
+ function createRspackConfig(options) {
211
+ const { publicPath, frontend, config } = options || {};
212
+ const vol = browser_1.builtinMemFs.volume;
213
+ const files = vol.toJSON();
214
+ const externals = {
215
+ vue: 'Vue',
216
+ 'vue-router': 'VueRouter',
217
+ pinia: 'Pinia',
218
+ 'vue-i18n': 'VueI18n',
219
+ 'vue/compiler-sfc': 'VueCompilerSFC',
220
+ lodash: 'Lodash',
221
+ };
222
+ // 基础组件库
223
+ const lcapStandardUI = (0, nasl_unified_frontend_generator_1.getPredefinedMaterialByTags)(['vue3', 'ui', frontend?.type]);
224
+ if (lcapStandardUI) {
225
+ externals[lcapStandardUI.name] = lcapStandardUI.libName;
226
+ }
227
+ const LcapPluginOptions = {
228
+ // 是否预览
229
+ isDev: true,
230
+ isIncremental: false,
231
+ lastResource: {
232
+ chunksMap: '',
233
+ },
234
+ extra: files['/client-lazyload-template.js']
235
+ ? new Function(files['/client-lazyload-template.js'].replace('module.exports =', 'return'))()
236
+ : {},
237
+ };
238
+ // @ts-ignore
239
+ if (config.isIncremental && config.cacheChunksMapCode) {
240
+ LcapPluginOptions.isIncremental = true;
241
+ LcapPluginOptions.lastResource.chunksMap = config.cacheChunksMapCode;
242
+ }
243
+ return {
244
+ mode: 'production',
245
+ context: '/',
246
+ entry: {
247
+ main: '/src/main.ts',
248
+ },
249
+ output: {
250
+ path: '/dist',
251
+ publicPath: publicPath || '/',
252
+ filename: '[name].[chunkhash:8].js',
253
+ chunkFilename: '[name].[chunkhash:8].js',
254
+ },
255
+ resolve: {
256
+ extensions: ['...', '.mjs', '.ts', '.vue'],
257
+ alias: {
258
+ '@': '/src',
259
+ },
260
+ },
261
+ externals,
262
+ module: {
263
+ rules: [
264
+ {
265
+ test: /\.vue$/,
266
+ use: [
267
+ {
268
+ loader: 'builtin:swc-loader',
269
+ options: {
270
+ jsc: {
271
+ parser: {
272
+ syntax: 'typescript',
273
+ },
274
+ },
275
+ },
276
+ },
277
+ {
278
+ loader: '/LOADER/rspack-vue-loader.js',
279
+ options: {
280
+ experimentalInlineMatchResource: true,
281
+ },
282
+ },
283
+ ],
284
+ },
285
+ {
286
+ test: /\.ts$/,
287
+ use: {
288
+ loader: 'builtin:swc-loader',
289
+ options: {
290
+ jsc: {
291
+ parser: {
292
+ syntax: 'typescript',
293
+ },
294
+ },
295
+ },
296
+ },
297
+ },
298
+ {
299
+ test: /\.[mc]?js$/,
300
+ type: 'javascript/auto',
301
+ use: [
302
+ {
303
+ loader: 'builtin:swc-loader',
304
+ options: {
305
+ jsc: {
306
+ parser: {
307
+ syntax: 'ecmascript',
308
+ },
309
+ },
310
+ },
311
+ },
312
+ ],
313
+ },
314
+ ],
315
+ },
316
+ plugins: [
317
+ new browser_1.DefinePlugin({
318
+ 'process.env.NODE_ENV': JSON.stringify('production'),
319
+ }),
320
+ new browser_1.HtmlRspackPlugin({
321
+ template: '/index.html',
322
+ publicPath: publicPath || '/',
323
+ inject: 'body',
324
+ }),
325
+ new lcap_1.default(LcapPluginOptions),
326
+ new missing_css_fallback_1.default({
327
+ pattern: /\/dist-theme\/index\.css$/,
328
+ fallbackContent: '/* CSS theme file not found, using empty fallback */',
329
+ }),
330
+ new browser_1.BrowserRequirePlugin({
331
+ modules: {
332
+ '/LOADER/rspack-vue-loader.js': vue_1.default,
333
+ },
334
+ }),
335
+ ],
336
+ optimization: {
337
+ minimize: false,
338
+ runtimeChunk: 'single',
339
+ splitChunks: {
340
+ chunks: 'all',
341
+ minSize: 0,
342
+ cacheGroups: {
343
+ page: {
344
+ test: /src[\\/]pages[\\/]/,
345
+ name: (module, _chunks, cacheGroupKey) => {
346
+ const { resource } = module;
347
+ const match = /[\\/]pages[\\/](.*)\.vue?/.exec(resource);
348
+ const moduleName = match ? match[1].split(/[\\/]/g).join('_') : 'unknown';
349
+ return `${cacheGroupKey}_${moduleName}`;
350
+ },
351
+ enforce: true,
352
+ priority: 5,
353
+ },
354
+ routes: {
355
+ test: /src[\\/]router\.ts/,
356
+ name: 'routes',
357
+ enforce: true,
358
+ priority: 4,
359
+ },
360
+ vendor: {
361
+ test: /[\\/]node_modules[\\/]/,
362
+ name: 'vendor',
363
+ enforce: true,
364
+ priority: 2,
365
+ },
366
+ source: {
367
+ test: /[\\/]src[\\/]/,
368
+ name: 'source',
369
+ enforce: true,
370
+ priority: 1,
371
+ },
372
+ },
373
+ },
374
+ },
375
+ experiments: {
376
+ css: true,
377
+ },
378
+ };
379
+ }
380
+ /**
381
+ * 在浏览器中下载 JSON 数据为文件
382
+ */
383
+ function downloadJSON(data, filename) {
384
+ const jsonStr = JSON.stringify(data, null, 2);
385
+ const blob = new Blob([jsonStr], { type: 'application/json' });
386
+ const url = URL.createObjectURL(blob);
387
+ const a = document.createElement('a');
388
+ a.href = url;
389
+ a.download = filename;
390
+ document.body.appendChild(a);
391
+ a.click();
392
+ document.body.removeChild(a);
393
+ URL.revokeObjectURL(url);
394
+ }
395
+ async function bundle(options) {
396
+ console.log('[bundle] 开始打包流程...');
397
+ // 解压 tgz 文件
398
+ await postInstall();
399
+ prepareVirtualFiles();
400
+ const config = createRspackConfig(options);
401
+ const compiler = (0, browser_1.rspack)(config);
402
+ // 打印文件系统状态
403
+ const vol = browser_1.builtinMemFs.volume;
404
+ const filesData = vol.toJSON();
405
+ console.log(`[bundle] 当前文件系统中文件:`, filesData);
406
+ // 将 vol.toJSON 的结果保存到本地,方便调试
407
+ // try {
408
+ // downloadJSON(filesData, `memfs-files-${Date.now()}.json`);
409
+ // console.log('[bundle] 文件系统快照已下载');
410
+ // } catch (error) {
411
+ // console.warn('[bundle] 下载文件系统快照失败:', error);
412
+ // }
413
+ return new Promise((resolve, reject) => {
414
+ console.log('[bundle] 开始编译...');
415
+ compiler.run((err, stats) => {
416
+ if (err) {
417
+ reject(err);
418
+ return;
419
+ }
420
+ if (stats.hasErrors()) {
421
+ const errors = stats.toJson().errors;
422
+ reject(new Error(errors.map((e) => e.message).join('\n')));
423
+ return;
424
+ }
425
+ console.log('[bundle] 编译完成,开始后处理...');
426
+ let files;
427
+ try {
428
+ files = postBuild(options);
429
+ console.log('[bundle] 后处理完成');
430
+ }
431
+ catch (error) {
432
+ console.error('[bundle] 后处理失败:', error);
433
+ reject(error);
434
+ return;
435
+ }
436
+ console.log('[bundle] 打包流程完成');
437
+ resolve(files);
438
+ });
439
+ });
440
+ }
441
+ exports.bundle = bundle;
442
+ //# sourceMappingURL=bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/generator/rspack-broswer/bundle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,6CAA6G;AAmB3G,6FAnBe,sBAAY,OAmBf;AAlBd,aAAa;AACb,2CAA6B;AAC7B,aAAa;AACb,gDAAkC;AAClC,aAAa;AACb,qDAA2C;AAC3C,2FAAoF;AAGpF,aAAa;AACb,wDAA4C;AAC5C,aAAa;AACb,0DAAwC;AACxC,aAAa;AACb,0FAAsE;AAatE;;;;GAIG;AACI,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAA4C,CAAC;IAErE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,kBAAkB;YAClB,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3F,sBAAsB;YACtB,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,iCAAiC;gBACtD,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,SAAS,GAAG,iBAAiB,UAAU,GAAG,CAAC;YAEjD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/C,iBAAiB;gBACjB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAhCD,kCAgCC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,SAAiB;IACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC;IAE7D,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAEhC,uBAAuB;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAW,CAAC;IAEtD,0BAA0B;IAC1B,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAmB,EAAE,MAA6B,EAAE,IAAgB,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAa,CAAC,CAAC;oBAE7C,wBAAwB;oBACxB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAElD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,IAAI,EAAE,CAAC;wBACP,OAAO;oBACT,CAAC;oBAED,MAAM,QAAQ,GAAG,GAAG,SAAS,GAAG,YAAY,EAAE,CAAC;oBAE/C,SAAS;oBACT,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBAED,cAAc;oBACd,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrC,SAAS,EAAE,CAAC;gBACd,CAAC;gBACD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3B,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;gBAChD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,MAAM,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,sCAAsC;YACtC,0BAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAuB;IACxC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAA4C,CAAC;IAErE,IAAI,MAAM,GAAwC,EAAE,CAAC;IAErD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,iBAAiB;YACjB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,UAAU,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC9D,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,IAAI,CAAY,CAAC,CAAC,CAAE,KAAK,CAAC,IAAI,CAAY,CAAC,QAAQ,EAAE;iBACxG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAChC,SAAS;IACT,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAA4C,CAAC;IACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qBAAqB;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAlBD,gCAkBC;AAED;;GAEG;AACH,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAEhC,WAAW;IACX,GAAG,CAAC,QAAQ,CAAC;QACX,CAAC,8BAA8B,CAAC,EAAE,EAAE;KACrC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEvD,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAA2B,GAAG,CAAC,MAAM,EAA4B,CAAC;IAE7E,MAAM,SAAS,GAA2B;QACxC,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,SAAS;QACrB,kBAAkB,EAAE,gBAAgB;QACpC,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,QAAQ;IACR,MAAM,cAAc,GAAG,IAAA,6DAA2B,EAAC,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,cAAc,EAAE,CAAC;QACnB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,OAAQ,CAAC;IAC3D,CAAC;IAED,MAAM,iBAAiB,GAAG;QACxB,OAAO;QACP,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE;YACZ,SAAS,EAAE,EAAE;SACd;QACD,KAAK,EAAE,KAAK,CAAC,8BAA8B,CAAC;YAC1C,CAAC,CAAC,IAAI,QAAQ,CACV,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAC5E,EAAE;YACL,CAAC,CAAC,EAAE;KACP,CAAA;IAED,aAAa;IACb,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACtD,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC;QACvC,iBAAiB,CAAC,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACvE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;SACrB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,UAAU,IAAI,GAAG;YAC7B,QAAQ,EAAE,yBAAyB;YACnC,aAAa,EAAE,yBAAyB;SACzC;QACD,OAAO,EAAE;YACP,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;YAC1C,KAAK,EAAE;gBACL,GAAG,EAAE,MAAM;aACZ;SACF;QACD,SAAS;QACT,MAAM,EAAE;YACN,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE;wBACH;4BACE,MAAM,EAAE,oBAAoB;4BAC5B,OAAO,EAAE;gCACP,GAAG,EAAE;oCACH,MAAM,EAAE;wCACN,MAAM,EAAE,YAAY;qCACrB;iCACF;6BACF;yBACF;wBACD;4BACE,MAAM,EAAE,8BAA8B;4BACtC,OAAO,EAAE;gCACP,+BAA+B,EAAE,IAAI;6BACtC;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,GAAG,EAAE;wBACH,MAAM,EAAE,oBAAoB;wBAC5B,OAAO,EAAE;4BACP,GAAG,EAAE;gCACH,MAAM,EAAE;oCACN,MAAM,EAAE,YAAY;iCACrB;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,iBAAiB;oBACvB,GAAG,EAAE;wBACH;4BACE,MAAM,EAAE,oBAAoB;4BAC5B,OAAO,EAAE;gCACP,GAAG,EAAE;oCACH,MAAM,EAAE;wCACN,MAAM,EAAE,YAAY;qCACrB;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QACD,OAAO,EAAE;YACP,IAAI,sBAAY,CAAC;gBACf,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACrD,CAAC;YACF,IAAI,0BAAgB,CAAC;gBACnB,QAAQ,EAAE,aAAa;gBACvB,UAAU,EAAE,UAAU,IAAI,GAAG;gBAC7B,MAAM,EAAE,MAAM;aACf,CAAC;YACF,IAAI,cAAU,CAAC,iBAAiB,CAAC;YACjC,IAAI,8BAAwB,CAAC;gBAC3B,OAAO,EAAE,2BAA2B;gBACpC,eAAe,EAAE,sDAAsD;aACxE,CAAC;YACF,IAAI,8BAAoB,CAAC;gBACvB,OAAO,EAAE;oBACP,8BAA8B,EAAE,aAAe;iBAChD;aACF,CAAC;SACH;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,QAAiB;YAC/B,WAAW,EAAE;gBACX,MAAM,EAAE,KAAc;gBACtB,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE;wBACJ,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,CAAC,MAAW,EAAE,OAAY,EAAE,aAAqB,EAAE,EAAE;4BACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;4BAC5B,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC1E,OAAO,GAAG,aAAa,IAAI,UAAU,EAAE,CAAC;wBAC1C,CAAC;wBACD,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,CAAC;qBACZ;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,CAAC;qBACZ;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,CAAC;qBACZ;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,CAAC;qBACZ;iBACF;aACF;SACF;QACD,WAAW,EAAE;YACX,GAAG,EAAE,IAAI;SACV;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAS,EAAE,QAAgB;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,OAAuB;IAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAElC,YAAY;IACZ,MAAM,WAAW,EAAE,CAAC;IAEpB,mBAAmB,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;IAEhC,WAAW;IACX,MAAM,GAAG,GAAG,sBAAY,CAAC,MAAM,CAAC;IAChC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,QAAQ;IACR,+DAA+D;IAC/D,uCAAuC;IACvC,oBAAoB;IACpB,iDAAiD;IACjD,IAAI;IAEJ,OAAO,IAAI,OAAO,CAAsC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1E,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAiB,EAAE,KAAU,EAAE,EAAE;YAC7C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;gBACrC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC;YACV,IAAI,CAAC;gBACH,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AArDD,wBAqDC"}
@@ -0,0 +1,9 @@
1
+ import { Container } from 'inversify';
2
+ import { NASLAppIR, ReactFileDescription } from '@lcap/nasl-unified-frontend-generator';
3
+ export declare class ClientLazyloadTemplateBuilderPlugin {
4
+ private microFrontendManager;
5
+ constructor(microFrontendManager: any);
6
+ buildClientLazyloadTemplate(ir: NASLAppIR): ReactFileDescription;
7
+ static install(c: Container): Container;
8
+ }
9
+ //# sourceMappingURL=client-lazyload-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-lazyload-template.d.ts","sourceRoot":"","sources":["../../../../src/generator/rspack-broswer/container/client-lazyload-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAIL,SAAS,EACT,oBAAoB,EAIrB,MAAM,uCAAuC,CAAC;AAE/C,qBACa,mCAAmC;IAEE,OAAO,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,GAAG;IAGjF,2BAA2B,CAAC,EAAE,EAAE,SAAS;IAiEzC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS;CAW5B"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ var ClientLazyloadTemplateBuilderPlugin_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ClientLazyloadTemplateBuilderPlugin = void 0;
14
+ const inversify_1 = require("inversify");
15
+ const nasl_unified_frontend_generator_1 = require("@lcap/nasl-unified-frontend-generator");
16
+ let ClientLazyloadTemplateBuilderPlugin = ClientLazyloadTemplateBuilderPlugin_1 = class ClientLazyloadTemplateBuilderPlugin {
17
+ constructor(microFrontendManager) {
18
+ this.microFrontendManager = microFrontendManager;
19
+ }
20
+ buildClientLazyloadTemplate(ir) {
21
+ const isDebug = ir.configs.config.debug;
22
+ const entryScript = this.microFrontendManager.produceScript(ir);
23
+ const config = ir.configs.config;
24
+ const staticURL = config.STATIC_URL || '';
25
+ let preJS = [];
26
+ let postJS = [];
27
+ let preCSS = [];
28
+ let postCSS = [];
29
+ // IDE调试模式
30
+ if (isDebug) {
31
+ preJS.push(`${staticURL}/packages/@lcap/breakpoint-client@1.0.0/dist/index.js?time=${Date.now()}`);
32
+ }
33
+ // browswer-vendors
34
+ const template = (0, nasl_unified_frontend_generator_1.getPredefinedMaterialByTags)(['vue3', 'template', ir.configs.frontendDesc?.type]);
35
+ if (template) {
36
+ const { name, version } = template;
37
+ preJS.push(`${staticURL}/packages/${name}@${version}/broswer-vendors.js`);
38
+ }
39
+ // 基础组件库
40
+ const lcapStandardUI = (0, nasl_unified_frontend_generator_1.getPredefinedMaterialByTags)(['vue3', 'ui', ir.configs.frontendDesc?.type]);
41
+ if (lcapStandardUI) {
42
+ const { name, version } = lcapStandardUI;
43
+ preJS.push(`${staticURL}/packages/${name}@${version}/dist-theme/index.js`);
44
+ preCSS.push(`${staticURL}/packages/${name}@${version}/dist-theme/index.css`);
45
+ }
46
+ // oss资源encode
47
+ if ((0, nasl_unified_frontend_generator_1.isEnabledEncode)()) {
48
+ preJS = preJS.map(url => (0, nasl_unified_frontend_generator_1.encodeFetchFileURL)(url));
49
+ postJS = postJS.map(url => (0, nasl_unified_frontend_generator_1.encodeFetchFileURL)(url));
50
+ preCSS = preCSS.map(url => (0, nasl_unified_frontend_generator_1.encodeFetchFileURL)(url));
51
+ postCSS = postCSS.map(url => (0, nasl_unified_frontend_generator_1.encodeFetchFileURL)(url));
52
+ }
53
+ let code = `const preJS = ${JSON.stringify(preJS, null, 2)};
54
+ const postJS = ${JSON.stringify(postJS, null, 2)};
55
+ const preCSS = ${JSON.stringify(preCSS, null, 2)};
56
+ const postCSS = ${JSON.stringify(postCSS, null, 2)};
57
+ const entryCode = \`${entryScript}\`;
58
+
59
+ module.exports = {
60
+ preJS,
61
+ postJS,
62
+ preCSS,
63
+ postCSS,
64
+ entryCode,
65
+ }`;
66
+ // entryScript中会有loadAssets的调用, loadAssets会在LcapPlugin中生成到client.js
67
+ return new nasl_unified_frontend_generator_1.ReactFileDescription('../client-lazyload-template.js', [], [], [
68
+ code
69
+ ]);
70
+ }
71
+ static install(c) {
72
+ if (c.isBound(nasl_unified_frontend_generator_1.Vue3ClientLazyloadTemplateBuilderPlugin)) {
73
+ // @ts-expect-error
74
+ c.rebind(nasl_unified_frontend_generator_1.Vue3ClientLazyloadTemplateBuilderPlugin).to(ClientLazyloadTemplateBuilderPlugin_1);
75
+ }
76
+ else {
77
+ // @ts-expect-error
78
+ c.bind(nasl_unified_frontend_generator_1.Vue3ClientLazyloadTemplateBuilderPlugin).to(ClientLazyloadTemplateBuilderPlugin_1);
79
+ }
80
+ return c;
81
+ }
82
+ };
83
+ exports.ClientLazyloadTemplateBuilderPlugin = ClientLazyloadTemplateBuilderPlugin;
84
+ exports.ClientLazyloadTemplateBuilderPlugin = ClientLazyloadTemplateBuilderPlugin = ClientLazyloadTemplateBuilderPlugin_1 = __decorate([
85
+ (0, inversify_1.injectable)(),
86
+ __param(0, (0, inversify_1.inject)(nasl_unified_frontend_generator_1.ServiceMetaKind.MicroFrontendManager))
87
+ ], ClientLazyloadTemplateBuilderPlugin);
88
+ //# sourceMappingURL=client-lazyload-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-lazyload-template.js","sourceRoot":"","sources":["../../../../src/generator/rspack-broswer/container/client-lazyload-template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" />
2
+ import { Container } from 'inversify';
3
+ import { GeneratorInfrastructureDomain } from '@lcap/nasl-unified-frontend-generator';
4
+ export declare class FileSystemPlugin implements GeneratorInfrastructureDomain.FileSystemProvider {
5
+ private vol;
6
+ read(path: string): string | Buffer | undefined;
7
+ write(path: string, content: string | Buffer | ArrayBuffer): void;
8
+ remove(key: string): void;
9
+ toJSON(): Record<string, string | Buffer | null>;
10
+ static install(container: Container): void;
11
+ }
12
+ //# sourceMappingURL=file-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../../../src/generator/rspack-broswer/container/file-system.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAmB,MAAM,uCAAuC,CAAC;AAKvG,qBACa,gBAAiB,YAAW,6BAA6B,CAAC,kBAAkB;IACvF,OAAO,CAAC,GAAG,CAAuB;IAClC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAM/C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAiBjE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAGzB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAIhD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS;CAQpC"}