@arkxio/ark-dev-utils 0.1.8 → 0.1.9

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/lib/index.js CHANGED
@@ -1184,134 +1184,124 @@ var ExternalsDefault = {
1184
1184
 
1185
1185
  };
1186
1186
 
1187
- class ArkWebpackPlugin {
1188
-
1189
- constructor(options) {
1190
- this.metaOptions = options;
1191
- }
1192
-
1193
- apply(compiler) {
1194
- // 获取项目根目录路径
1195
- compiler.context;
1196
- const useExtractOptions = this.metaOptions;
1197
-
1198
- // 在每次编译开始时重置脚本索引计数器,确保文件名一致性
1199
- compiler.hooks.thisCompilation.tap('ArkResetScriptIdx', () => {
1200
- resetScriptIdx();
1201
- });
1202
-
1203
- compiler.hooks.thisCompilation.tap('ArkDynamicCdnChunkLoaderPlugin', (compilation) => {
1204
- compilation.hooks.processAssets.tap(
1205
- {
1206
- name: 'ArkDynamicCdnChunkLoaderPlugin',
1207
- stage: webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,
1208
- },
1209
- (assets) => {
1210
- // 新增分块文件过滤逻辑
1211
- const chunkFiles = new Set();
1212
- compilation.chunks.forEach(chunk => {
1213
- chunk.files.forEach(file => {
1214
- if (file.endsWith('.js')) chunkFiles.add(file);
1215
- });
1216
- });
1217
- // 调试日志
1218
- verbose('[分块文件列表]', Array.from(chunkFiles));
1219
-
1220
- Object.entries(assets).forEach(([filename, source]) => {
1221
- // 仅处理分块JS文件
1222
- if (!chunkFiles.has(filename)) return;
1223
-
1224
- // 检查资源内容有效性
1225
- if (
1226
- !source ||
1227
- !source.source ||
1228
- typeof source.source() !== 'string' ||
1229
- source.source().trim() === ''
1230
- ) {
1231
- console.warn(`资源 ${filename} 内容为空或无效,跳过处理`);
1232
- return;
1233
- }
1234
-
1235
- let content = source.source().toString();
1236
-
1237
- // 替换逻辑
1238
- // /(__webpack_require__\.l)\(url,/g)
1239
- // const webpackRequireLPattern = /(__webpack_require__\.l)\(url,/g;
1240
- // if (webpackRequireLPattern.test(content)) {
1241
- // verbose('检测到 __webpack_require__.l 模式');
1242
- // content = content.replace(
1243
- // webpackRequireLPattern,
1244
- // `(function(url, done, key, chunkId) {
1245
- // if (typeof window.ArkConfig !== 'undefined' && window.ArkConfig.cdnHost) {
1246
- // if (!url.startsWith(window.ArkConfig.cdnHost) && url.startsWith('https://unpkg.com')) {
1247
- // url = window.ArkConfig.cdnHost + url.slice('https://unpkg.com'.length);
1248
- // }
1249
- // }
1250
- // return $1(url, done, key, chunkId);
1251
- // })(url,`
1252
- // );
1253
- const webpackRequireLPattern = /"(https:\/\/unpkg\.com)/g;
1254
- if (webpackRequireLPattern.test(content)) {
1255
- verbose('检测到 unpkg.com 模式');
1256
- content = content.replace(
1257
- webpackRequireLPattern,
1258
- `window.ArkConfig.cdnHost + "`
1259
- );
1260
-
1261
- // 更新资源
1262
- compilation.updateAsset(
1263
- filename,
1264
- new compiler.webpack.sources.RawSource(content)
1265
- );
1266
- }
1267
-
1268
- });
1269
- }
1270
- );
1271
- });
1272
-
1273
- compiler.hooks.emit.tapPromise('ArkMetaJsonGeneratorPlugin', async (compilation) => {
1274
- // 注入环境判断脚本
1275
- const isDev = process.env.NODE_ENV === 'development';
1276
-
1277
- // 收集所有生成的JS文件
1278
- const outputPath = compilation.options.output.publicPath || '';
1279
- const jsFiles = [];
1280
-
1281
- // Webpack 5 正确的API:使用 getAssets()
1282
- const assets = compilation.getAssets ? compilation.getAssets() : compilation.assets;
1283
-
1284
- // 遍历所有资产,收集JS文件
1285
- assets.forEach((asset) => {
1286
- const assetName = asset.name || asset;
1287
- if (assetName.endsWith('.js')) {
1288
- console.log('Found JS file:', assetName);
1289
- // 排除 ark-meta.json ark_userChunk 文件
1290
- if (assetName.indexOf('js/app.') !== -1 ||
1291
- assetName.indexOf('js/runtime.') !== -1 ||
1292
- assetName.indexOf('js/vendors.') !== -1 ||
1293
- assetName.indexOf('js/main.') !== -1) {
1294
- jsFiles.push(outputPath + assetName);
1295
- }
1296
- }
1297
- });
1298
-
1299
- console.log('Final JS files for chunkJsSrcList:', jsFiles);
1300
-
1301
- // 创建 customAssets 数组用于收集自定义资产(如从 HTML 内联 script 提取的代码)
1302
- const customAssets = [];
1303
-
1304
- await extractArkMetaJson({
1305
- ...useExtractOptions,
1306
- chunkJsFiles: jsFiles,
1307
- isDev: isDev,
1308
- compilation: compilation,
1309
- customAssets: customAssets
1310
- });
1311
-
1312
- return Promise.resolve();
1313
- });
1314
- }
1187
+ class ArkWebpackPlugin {
1188
+
1189
+ constructor(options) {
1190
+ this.metaOptions = options;
1191
+ }
1192
+
1193
+ apply(compiler) {
1194
+ // 获取项目根目录路径
1195
+ compiler.context;
1196
+ const useExtractOptions = this.metaOptions;
1197
+
1198
+ // 在每次编译开始时重置脚本索引计数器,确保文件名一致性
1199
+ compiler.hooks.thisCompilation.tap('ArkResetScriptIdx', () => {
1200
+ resetScriptIdx();
1201
+ });
1202
+
1203
+ compiler.hooks.thisCompilation.tap('ArkDynamicCdnChunkLoaderPlugin', (compilation) => {
1204
+ compilation.hooks.processAssets.tap(
1205
+ {
1206
+ name: 'ArkDynamicCdnChunkLoaderPlugin',
1207
+ stage: webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,
1208
+ },
1209
+ (assets) => {
1210
+ // 新增分块文件过滤逻辑
1211
+ const chunkFiles = new Set();
1212
+ compilation.chunks.forEach(chunk => {
1213
+ chunk.files.forEach(file => {
1214
+ if (file.endsWith('.js')) chunkFiles.add(file);
1215
+ });
1216
+ });
1217
+ // 调试日志
1218
+ verbose('[分块文件列表]', Array.from(chunkFiles));
1219
+
1220
+ Object.entries(assets).forEach(([filename, source]) => {
1221
+ // 仅处理分块JS文件
1222
+ if (!chunkFiles.has(filename)) return;
1223
+
1224
+ // 检查资源内容有效性
1225
+ if (!source || !source.source || typeof source.source() !== 'string' || source.source().trim() === '') {
1226
+ console.warn(`资源 ${filename} 内容为空或无效,跳过处理`);
1227
+ return;
1228
+ }
1229
+
1230
+ let content = source.source().toString();
1231
+
1232
+ // 替换逻辑
1233
+ // /(__webpack_require__\.l)\(url,/g)
1234
+ // const webpackRequireLPattern = /(__webpack_require__\.l)\(url,/g;
1235
+ // if (webpackRequireLPattern.test(content)) {
1236
+ // verbose('检测到 __webpack_require__.l 模式');
1237
+ // content = content.replace(
1238
+ // webpackRequireLPattern,
1239
+ // `(function(url, done, key, chunkId) {
1240
+ // if (typeof window.ArkConfig !== 'undefined' && window.ArkConfig.cdnHost) {
1241
+ // if (!url.startsWith(window.ArkConfig.cdnHost) && url.startsWith('https://unpkg.com')) {
1242
+ // url = window.ArkConfig.cdnHost + url.slice('https://unpkg.com'.length);
1243
+ // }
1244
+ // }
1245
+ // return $1(url, done, key, chunkId);
1246
+ // })(url,`
1247
+ // );
1248
+ // const webpackRequireLPattern = /"(https:\/\/unpkg\.com)/g;
1249
+ // 新:捕获前面可选的 \(eval 模式下会有 \")
1250
+ const webpackRequireLPattern = /(\\?")https:\/\/unpkg\.com/g;
1251
+ if (webpackRequireLPattern.test(content)) {
1252
+ verbose('检测到 unpkg.com 模式');
1253
+ content = content.replace(webpackRequireLPattern, `window.ArkConfig.cdnHost + "`);
1254
+
1255
+ // 更新资源
1256
+ compilation.updateAsset(filename, new compiler.webpack.sources.RawSource(content));
1257
+ }
1258
+ });
1259
+ }
1260
+ );
1261
+ });
1262
+
1263
+ compiler.hooks.emit.tapPromise('ArkMetaJsonGeneratorPlugin', async (compilation) => {
1264
+ // 注入环境判断脚本
1265
+ const isDev = process.env.NODE_ENV === 'development';
1266
+
1267
+ // 收集所有生成的JS文件
1268
+ const outputPath = compilation.options.output.publicPath || '';
1269
+ const jsFiles = [];
1270
+
1271
+ // Webpack 5 正确的API:使用 getAssets()
1272
+ const assets = compilation.getAssets ? compilation.getAssets() : compilation.assets;
1273
+
1274
+ // 遍历所有资产,收集JS文件
1275
+ assets.forEach((asset) => {
1276
+ const assetName = asset.name || asset;
1277
+ if (assetName.endsWith('.js')) {
1278
+ console.log('Found JS file:', assetName);
1279
+ // 排除 ark-meta.json 和 ark_userChunk 文件
1280
+ if (assetName.indexOf('js/app.') !== -1 ||
1281
+ assetName.indexOf('js/runtime.') !== -1 ||
1282
+ assetName.indexOf('js/vendors.') !== -1 ||
1283
+ assetName.indexOf('js/main.') !== -1) {
1284
+ jsFiles.push(outputPath + assetName);
1285
+ }
1286
+ }
1287
+ });
1288
+
1289
+ console.log('Final JS files for chunkJsSrcList:', jsFiles);
1290
+
1291
+ // 创建 customAssets 数组用于收集自定义资产(如从 HTML 内联 script 提取的代码)
1292
+ const customAssets = [];
1293
+
1294
+ await extractArkMetaJson({
1295
+ ...useExtractOptions,
1296
+ chunkJsFiles: jsFiles,
1297
+ isDev: isDev,
1298
+ compilation: compilation,
1299
+ customAssets: customAssets
1300
+ });
1301
+
1302
+ return Promise.resolve();
1303
+ });
1304
+ }
1315
1305
  }
1316
1306
 
1317
1307
  var index = {
package/package.json CHANGED
@@ -1,51 +1,51 @@
1
- {
2
- "name": "@arkxio/ark-dev-utils",
3
- "version": "0.1.8",
4
- "description": "ark dev utils",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/arkxos/arkjs.git",
8
- "directory": "packages/ark-dev-utils"
9
- },
10
- "license": "MIT",
11
- "author": {
12
- "name": "fantasticsoul"
13
- },
14
- "main": "lib/index.js",
15
- "files": [
16
- "dist",
17
- "lib",
18
- "src",
19
- "typings.d.ts",
20
- "jsconfig.json",
21
- ".babelrc.js",
22
- "README.md"
23
- ],
24
- "dependencies": {
25
- "jsdom": ">=19.0.0"
26
- },
27
- "devDependencies": {
28
- "@babel/preset-env": "^7.12.11",
29
- "@babel/preset-react": "^7.12.10",
30
- "babel-cli": "^6.26.0",
31
- "fs-extra": "^10.1.0",
32
- "rollup": "^2.23.0"
33
- },
34
- "peerDependencies": {
35
- "jsdom": ">=19.0.0",
36
- "webpack": "5.75.0"
37
- },
38
- "bundleDependencies": false,
39
- "publishConfig": {
40
- "access": "public",
41
- "registry": "https://registry.npmjs.org/"
42
- },
43
- "deprecated": false,
44
- "scripts": {
45
- "build": "npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min",
46
- "build:commonjs": "cross-env BUILD_ENV=commonjs rollup -c",
47
- "build:es": "cross-env BUILD_ENV=es rollup -c",
48
- "build:umd": "cross-env BUILD_ENV=development rollup -c",
49
- "build:umd:min": "cross-env BUILD_ENV=production rollup -c"
50
- }
51
- }
1
+ {
2
+ "name": "@arkxio/ark-dev-utils",
3
+ "version": "0.1.9",
4
+ "description": "ark dev utils",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/arkxos/arkjs.git",
8
+ "directory": "packages/ark-dev-utils"
9
+ },
10
+ "license": "MIT",
11
+ "author": {
12
+ "name": "fantasticsoul"
13
+ },
14
+ "main": "lib/index.js",
15
+ "files": [
16
+ "dist",
17
+ "lib",
18
+ "src",
19
+ "typings.d.ts",
20
+ "jsconfig.json",
21
+ ".babelrc.js",
22
+ "README.md"
23
+ ],
24
+ "scripts": {
25
+ "build": "npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min",
26
+ "build:commonjs": "cross-env BUILD_ENV=commonjs rollup -c",
27
+ "build:es": "cross-env BUILD_ENV=es rollup -c",
28
+ "build:umd": "cross-env BUILD_ENV=development rollup -c",
29
+ "build:umd:min": "cross-env BUILD_ENV=production rollup -c"
30
+ },
31
+ "dependencies": {
32
+ "jsdom": ">=19.0.0"
33
+ },
34
+ "devDependencies": {
35
+ "@babel/preset-env": "^7.12.11",
36
+ "@babel/preset-react": "^7.12.10",
37
+ "babel-cli": "^6.26.0",
38
+ "fs-extra": "^10.1.0",
39
+ "rollup": "^2.23.0"
40
+ },
41
+ "peerDependencies": {
42
+ "jsdom": ">=19.0.0",
43
+ "webpack": "5.75.0"
44
+ },
45
+ "bundleDependencies": false,
46
+ "publishConfig": {
47
+ "access": "public",
48
+ "registry": "https://registry.npmjs.org/"
49
+ },
50
+ "deprecated": false
51
+ }
@@ -1,135 +1,125 @@
1
- import path from "path";
2
- import extractArkMetaJson from './meta-extractor/index';
3
- import {verbose} from "./inner-utils";
4
- import { Compilation } from 'webpack';
5
- import { resetScriptIdx } from './meta-extractor/fillAssetList';
6
-
7
- export default class ArkWebpackPlugin {
8
-
9
- constructor(options) {
10
- this.metaOptions = options;
11
- }
12
-
13
- apply(compiler) {
14
- // 获取项目根目录路径
15
- const projectRoot = compiler.context;
16
- const useExtractOptions = this.metaOptions;
17
-
18
- // 在每次编译开始时重置脚本索引计数器,确保文件名一致性
19
- compiler.hooks.thisCompilation.tap('ArkResetScriptIdx', () => {
20
- resetScriptIdx();
21
- });
22
-
23
- compiler.hooks.thisCompilation.tap('ArkDynamicCdnChunkLoaderPlugin', (compilation) => {
24
- compilation.hooks.processAssets.tap(
25
- {
26
- name: 'ArkDynamicCdnChunkLoaderPlugin',
27
- stage: Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,
28
- },
29
- (assets) => {
30
- // 新增分块文件过滤逻辑
31
- const chunkFiles = new Set();
32
- compilation.chunks.forEach(chunk => {
33
- chunk.files.forEach(file => {
34
- if (file.endsWith('.js')) chunkFiles.add(file);
35
- });
36
- });
37
- // 调试日志
38
- verbose('[分块文件列表]', Array.from(chunkFiles));
39
-
40
- Object.entries(assets).forEach(([filename, source]) => {
41
- // 仅处理分块JS文件
42
- if (!chunkFiles.has(filename)) return;
43
-
44
- // 检查资源内容有效性
45
- if (
46
- !source ||
47
- !source.source ||
48
- typeof source.source() !== 'string' ||
49
- source.source().trim() === ''
50
- ) {
51
- console.warn(`资源 ${filename} 内容为空或无效,跳过处理`);
52
- return;
53
- }
54
-
55
- let content = source.source().toString();
56
-
57
- // 替换逻辑
58
- // /(__webpack_require__\.l)\(url,/g)
59
- // const webpackRequireLPattern = /(__webpack_require__\.l)\(url,/g;
60
- // if (webpackRequireLPattern.test(content)) {
61
- // verbose('检测到 __webpack_require__.l 模式');
62
- // content = content.replace(
63
- // webpackRequireLPattern,
64
- // `(function(url, done, key, chunkId) {
65
- // if (typeof window.ArkConfig !== 'undefined' && window.ArkConfig.cdnHost) {
66
- // if (!url.startsWith(window.ArkConfig.cdnHost) && url.startsWith('https://unpkg.com')) {
67
- // url = window.ArkConfig.cdnHost + url.slice('https://unpkg.com'.length);
68
- // }
69
- // }
70
- // return $1(url, done, key, chunkId);
71
- // })(url,`
72
- // );
73
- const webpackRequireLPattern = /"(https:\/\/unpkg\.com)/g;
74
- if (webpackRequireLPattern.test(content)) {
75
- verbose('检测到 unpkg.com 模式');
76
- content = content.replace(
77
- webpackRequireLPattern,
78
- `window.ArkConfig.cdnHost + "`
79
- );
80
-
81
- // 更新资源
82
- compilation.updateAsset(
83
- filename,
84
- new compiler.webpack.sources.RawSource(content)
85
- );
86
- }
87
-
88
- });
89
- }
90
- );
91
- });
92
-
93
- compiler.hooks.emit.tapPromise('ArkMetaJsonGeneratorPlugin', async (compilation) => {
94
- // 注入环境判断脚本
95
- const isDev = process.env.NODE_ENV === 'development';
96
-
97
- // 收集所有生成的JS文件
98
- const outputPath = compilation.options.output.publicPath || '';
99
- const jsFiles = [];
100
-
101
- // Webpack 5 正确的API:使用 getAssets()
102
- const assets = compilation.getAssets ? compilation.getAssets() : compilation.assets;
103
-
104
- // 遍历所有资产,收集JS文件
105
- assets.forEach((asset) => {
106
- const assetName = asset.name || asset;
107
- if (assetName.endsWith('.js')) {
108
- console.log('Found JS file:', assetName);
109
- // 排除 ark-meta.json ark_userChunk 文件
110
- if (assetName.indexOf('js/app.') !== -1 ||
111
- assetName.indexOf('js/runtime.') !== -1 ||
112
- assetName.indexOf('js/vendors.') !== -1 ||
113
- assetName.indexOf('js/main.') !== -1) {
114
- jsFiles.push(outputPath + assetName);
115
- }
116
- }
117
- });
118
-
119
- console.log('Final JS files for chunkJsSrcList:', jsFiles);
120
-
121
- // 创建 customAssets 数组用于收集自定义资产(如从 HTML 内联 script 提取的代码)
122
- const customAssets = [];
123
-
124
- const arkMeta = await extractArkMetaJson({
125
- ...useExtractOptions,
126
- chunkJsFiles: jsFiles,
127
- isDev: isDev,
128
- compilation: compilation,
129
- customAssets: customAssets
130
- });
131
-
132
- return Promise.resolve();
133
- });
134
- }
135
- }
1
+ import path from "path";
2
+ import extractArkMetaJson from './meta-extractor/index';
3
+ import {verbose} from "./inner-utils";
4
+ import { Compilation } from 'webpack';
5
+ import { resetScriptIdx } from './meta-extractor/fillAssetList';
6
+
7
+ export default class ArkWebpackPlugin {
8
+
9
+ constructor(options) {
10
+ this.metaOptions = options;
11
+ }
12
+
13
+ apply(compiler) {
14
+ // 获取项目根目录路径
15
+ const projectRoot = compiler.context;
16
+ const useExtractOptions = this.metaOptions;
17
+
18
+ // 在每次编译开始时重置脚本索引计数器,确保文件名一致性
19
+ compiler.hooks.thisCompilation.tap('ArkResetScriptIdx', () => {
20
+ resetScriptIdx();
21
+ });
22
+
23
+ compiler.hooks.thisCompilation.tap('ArkDynamicCdnChunkLoaderPlugin', (compilation) => {
24
+ compilation.hooks.processAssets.tap(
25
+ {
26
+ name: 'ArkDynamicCdnChunkLoaderPlugin',
27
+ stage: Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,
28
+ },
29
+ (assets) => {
30
+ // 新增分块文件过滤逻辑
31
+ const chunkFiles = new Set();
32
+ compilation.chunks.forEach(chunk => {
33
+ chunk.files.forEach(file => {
34
+ if (file.endsWith('.js')) chunkFiles.add(file);
35
+ });
36
+ });
37
+ // 调试日志
38
+ verbose('[分块文件列表]', Array.from(chunkFiles));
39
+
40
+ Object.entries(assets).forEach(([filename, source]) => {
41
+ // 仅处理分块JS文件
42
+ if (!chunkFiles.has(filename)) return;
43
+
44
+ // 检查资源内容有效性
45
+ if (!source || !source.source || typeof source.source() !== 'string' || source.source().trim() === '') {
46
+ console.warn(`资源 ${filename} 内容为空或无效,跳过处理`);
47
+ return;
48
+ }
49
+
50
+ let content = source.source().toString();
51
+
52
+ // 替换逻辑
53
+ // /(__webpack_require__\.l)\(url,/g)
54
+ // const webpackRequireLPattern = /(__webpack_require__\.l)\(url,/g;
55
+ // if (webpackRequireLPattern.test(content)) {
56
+ // verbose('检测到 __webpack_require__.l 模式');
57
+ // content = content.replace(
58
+ // webpackRequireLPattern,
59
+ // `(function(url, done, key, chunkId) {
60
+ // if (typeof window.ArkConfig !== 'undefined' && window.ArkConfig.cdnHost) {
61
+ // if (!url.startsWith(window.ArkConfig.cdnHost) && url.startsWith('https://unpkg.com')) {
62
+ // url = window.ArkConfig.cdnHost + url.slice('https://unpkg.com'.length);
63
+ // }
64
+ // }
65
+ // return $1(url, done, key, chunkId);
66
+ // })(url,`
67
+ // );
68
+ // const webpackRequireLPattern = /"(https:\/\/unpkg\.com)/g;
69
+ // 新:捕获前面可选的 \(eval 模式下会有 \")
70
+ const webpackRequireLPattern = /(\\?")https:\/\/unpkg\.com/g;
71
+ if (webpackRequireLPattern.test(content)) {
72
+ verbose('检测到 unpkg.com 模式');
73
+ content = content.replace(webpackRequireLPattern, `window.ArkConfig.cdnHost + "`);
74
+
75
+ // 更新资源
76
+ compilation.updateAsset(filename, new compiler.webpack.sources.RawSource(content));
77
+ }
78
+ });
79
+ }
80
+ );
81
+ });
82
+
83
+ compiler.hooks.emit.tapPromise('ArkMetaJsonGeneratorPlugin', async (compilation) => {
84
+ // 注入环境判断脚本
85
+ const isDev = process.env.NODE_ENV === 'development';
86
+
87
+ // 收集所有生成的JS文件
88
+ const outputPath = compilation.options.output.publicPath || '';
89
+ const jsFiles = [];
90
+
91
+ // Webpack 5 正确的API:使用 getAssets()
92
+ const assets = compilation.getAssets ? compilation.getAssets() : compilation.assets;
93
+
94
+ // 遍历所有资产,收集JS文件
95
+ assets.forEach((asset) => {
96
+ const assetName = asset.name || asset;
97
+ if (assetName.endsWith('.js')) {
98
+ console.log('Found JS file:', assetName);
99
+ // 排除 ark-meta.json 和 ark_userChunk 文件
100
+ if (assetName.indexOf('js/app.') !== -1 ||
101
+ assetName.indexOf('js/runtime.') !== -1 ||
102
+ assetName.indexOf('js/vendors.') !== -1 ||
103
+ assetName.indexOf('js/main.') !== -1) {
104
+ jsFiles.push(outputPath + assetName);
105
+ }
106
+ }
107
+ });
108
+
109
+ console.log('Final JS files for chunkJsSrcList:', jsFiles);
110
+
111
+ // 创建 customAssets 数组用于收集自定义资产(如从 HTML 内联 script 提取的代码)
112
+ const customAssets = [];
113
+
114
+ const arkMeta = await extractArkMetaJson({
115
+ ...useExtractOptions,
116
+ chunkJsFiles: jsFiles,
117
+ isDev: isDev,
118
+ compilation: compilation,
119
+ customAssets: customAssets
120
+ });
121
+
122
+ return Promise.resolve();
123
+ });
124
+ }
125
+ }