@tarojs/webpack5-runner 4.2.2-alpha.1 → 4.2.2-alpha.2
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/index.mini.js +4 -15
- package/dist/index.mini.js.map +1 -1
- package/dist/plugins/BuildNativePlugin.js +11 -22
- package/dist/plugins/BuildNativePlugin.js.map +1 -1
- package/dist/plugins/HarmonyPlugin.js +1 -1
- package/dist/plugins/HarmonyPlugin.js.map +1 -1
- package/dist/plugins/MiniCompileModePlugin.js +4 -49
- package/dist/plugins/MiniCompileModePlugin.js.map +1 -1
- package/dist/plugins/MiniPlugin.js +58 -282
- package/dist/plugins/MiniPlugin.js.map +1 -1
- package/dist/plugins/TaroNormalModule.js +0 -16
- package/dist/plugins/TaroNormalModule.js.map +1 -1
- package/dist/plugins/TaroNormalModulesPlugin.js +6 -127
- package/dist/plugins/TaroNormalModulesPlugin.js.map +1 -1
- package/dist/plugins/TaroSingleEntryPlugin.js +1 -1
- package/dist/plugins/TaroSingleEntryPlugin.js.map +1 -1
- package/dist/template/comp.js +1 -2
- package/dist/utils/component.js +1 -2
- package/dist/utils/component.js.map +1 -1
- package/dist/utils/webpack.js +1 -40
- package/dist/utils/webpack.js.map +1 -1
- package/dist/webpack/HarmonyWebpackPlugin.js +1 -3
- package/dist/webpack/HarmonyWebpackPlugin.js.map +1 -1
- package/dist/webpack/MiniBaseConfig.js +0 -2
- package/dist/webpack/MiniBaseConfig.js.map +1 -1
- package/dist/webpack/MiniCombination.js +26 -51
- package/dist/webpack/MiniCombination.js.map +1 -1
- package/dist/webpack/MiniWebpackPlugin.js +1 -17
- package/dist/webpack/MiniWebpackPlugin.js.map +1 -1
- package/package.json +13 -14
- package/dist/plugins/AsyncSubPackagePlugin.js +0 -489
- package/dist/plugins/AsyncSubPackagePlugin.js.map +0 -1
- package/dist/plugins/SubPackageIndiePlugin.js +0 -1060
- package/dist/plugins/SubPackageIndiePlugin.js.map +0 -1
- package/dist/plugins/TaroInjectSyncCorePlugin.js +0 -39
- package/dist/plugins/TaroInjectSyncCorePlugin.js.map +0 -1
- package/dist/shared-runtime/app-shim.js +0 -305
- package/dist/shared-runtime/async-provider.js +0 -144
- package/dist/shared-runtime/build-shared-runtime.js +0 -377
- package/dist/shared-runtime/build-shared-runtime.js.map +0 -1
- package/dist/shared-runtime/constants.js +0 -50
- package/dist/shared-runtime/constants.js.map +0 -1
- package/dist/shared-runtime/entry.sync.js +0 -102
- package/dist/shared-runtime/externals.js +0 -96
- package/dist/shared-runtime/externals.js.map +0 -1
- package/dist/shared-runtime/scan-imperative-api.js +0 -267
- package/dist/shared-runtime/scan-imperative-api.js.map +0 -1
- package/dist/utils/asyncSubPackage.js +0 -106
- package/dist/utils/asyncSubPackage.js.map +0 -1
- package/dist/utils/forceCustomWrapper.js +0 -17
- package/dist/utils/forceCustomWrapper.js.map +0 -1
|
@@ -1,27 +1,4 @@
|
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -35,29 +12,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
13
|
};
|
|
37
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.STYLE_ISOLATION_SHARED = exports.STYLE_ISOLATION_APPLY_SHARED = exports.customWrapperName = exports.baseCompName = void 0;
|
|
39
15
|
const node_path_1 = __importDefault(require("node:path"));
|
|
40
16
|
const helper_1 = require("@tarojs/helper");
|
|
41
17
|
const loader_utils_1 = require("loader-utils");
|
|
42
|
-
const tapable_1 = require("tapable");
|
|
43
18
|
const EntryDependency_1 = __importDefault(require("webpack/lib/dependencies/EntryDependency"));
|
|
44
19
|
const TaroSingleEntryDependency_1 = __importDefault(require("../dependencies/TaroSingleEntryDependency"));
|
|
45
20
|
const prerender_1 = require("../prerender/prerender");
|
|
46
|
-
const constants_1 = require("../shared-runtime/constants");
|
|
47
21
|
const component_1 = require("../utils/component");
|
|
48
|
-
const forceCustomWrapper_1 = require("../utils/forceCustomWrapper");
|
|
49
22
|
const webpack_1 = require("../utils/webpack");
|
|
50
|
-
const AsyncSubPackagePlugin_1 = __importDefault(require("./AsyncSubPackagePlugin"));
|
|
51
|
-
const SubPackageIndiePlugin_1 = __importStar(require("./SubPackageIndiePlugin"));
|
|
52
23
|
const TaroLoadChunksPlugin_1 = __importDefault(require("./TaroLoadChunksPlugin"));
|
|
53
24
|
const TaroNormalModulesPlugin_1 = __importDefault(require("./TaroNormalModulesPlugin"));
|
|
54
25
|
const TaroSingleEntryPlugin_1 = __importDefault(require("./TaroSingleEntryPlugin"));
|
|
55
|
-
|
|
56
|
-
|
|
26
|
+
const baseCompName = 'comp';
|
|
27
|
+
const customWrapperName = 'custom-wrapper';
|
|
57
28
|
const PLUGIN_NAME = 'TaroMiniPlugin';
|
|
58
29
|
const CHILD_COMPILER_TAG = 'child';
|
|
59
|
-
exports.STYLE_ISOLATION_APPLY_SHARED = 'apply-shared';
|
|
60
|
-
exports.STYLE_ISOLATION_SHARED = 'shared';
|
|
61
30
|
function isLoaderExist(loaders, loaderName) {
|
|
62
31
|
return loaders.some(item => item.loader === loaderName);
|
|
63
32
|
}
|
|
@@ -77,9 +46,6 @@ class TaroMiniPlugin {
|
|
|
77
46
|
this.dependencies = new Map();
|
|
78
47
|
this.pageLoaderName = '@tarojs/taro-loader/lib/page';
|
|
79
48
|
this.independentPackages = new Map();
|
|
80
|
-
this.asyncSubPackagePlugin = null;
|
|
81
|
-
this.subPackageIndiePlugin = null;
|
|
82
|
-
this.forceCustomWrapperDefineDefinitions = null;
|
|
83
49
|
const { combination } = options;
|
|
84
50
|
const miniBuildConfig = combination.config;
|
|
85
51
|
const { template, baseLevel = 16, experimental } = miniBuildConfig;
|
|
@@ -103,22 +69,6 @@ class TaroMiniPlugin {
|
|
|
103
69
|
hot: options.hot,
|
|
104
70
|
loaderMeta: options.loaderMeta || {},
|
|
105
71
|
};
|
|
106
|
-
// 初始化扩展钩子
|
|
107
|
-
this.hooks = {
|
|
108
|
-
modifyEntries: new tapable_1.SyncWaterfallHook(['entries']),
|
|
109
|
-
modifyChunkRequire: new tapable_1.SyncWaterfallHook(['result', 'chunkId', 'miniType']),
|
|
110
|
-
afterResolveModule: new tapable_1.SyncHook(['resolveData']),
|
|
111
|
-
compileExtraEntries: new tapable_1.SyncHook(['compiler', 'compilation', 'promises']),
|
|
112
|
-
modifySkipRootTemplates: new tapable_1.SyncWaterfallHook(['skip']),
|
|
113
|
-
generateExtraFiles: new tapable_1.SyncWaterfallHook(['customWrapperRoots', 'compilation', 'compiler']),
|
|
114
|
-
modifyPageConfig: new tapable_1.SyncWaterfallHook(['context', 'page', 'customWrapperRoots']),
|
|
115
|
-
modifyComponentConfig: new tapable_1.SyncHook(['context', 'customWrapperRoots']),
|
|
116
|
-
afterGenerateFiles: new tapable_1.SyncHook(['compilation', 'compiler']),
|
|
117
|
-
optimizeAssets: new tapable_1.SyncHook(['compilation']),
|
|
118
|
-
modifyConfig: new tapable_1.SyncWaterfallHook(['config', 'componentName']),
|
|
119
|
-
modifyStyleImport: new tapable_1.SyncWaterfallHook(['context', 'page']),
|
|
120
|
-
modifyShouldProcessStyles: new tapable_1.SyncWaterfallHook(['shouldProcess']),
|
|
121
|
-
};
|
|
122
72
|
if (template.isSupportRecursive === false && baseLevel > 0) {
|
|
123
73
|
template.baseLevel = baseLevel;
|
|
124
74
|
}
|
|
@@ -149,20 +99,11 @@ class TaroMiniPlugin {
|
|
|
149
99
|
apply(compiler) {
|
|
150
100
|
this.context = compiler.context;
|
|
151
101
|
this.appEntry = this.getAppEntry(compiler);
|
|
152
|
-
if (this.options.newBlended) {
|
|
153
|
-
this.subPackageIndiePlugin = new SubPackageIndiePlugin_1.default(this);
|
|
154
|
-
this.subPackageIndiePlugin.apply();
|
|
155
|
-
// 反向挂到 combination,供主构建结束后的 buildSharedRuntime 读取 mainPackageRoots
|
|
156
|
-
// (把同步核 taro-shared-sync.js 拷进每个 mainPackageRoot,实现 subPackageIndie 自包含)。
|
|
157
|
-
this.options.combination.subPackageIndiePlugin = this.subPackageIndiePlugin;
|
|
158
|
-
}
|
|
159
102
|
const { commonChunks, combination, framework, isBuildPlugin, newBlended, } = this.options;
|
|
160
103
|
const { addChunkPages, onCompilerMake, modifyBuildAssets, onParseCreateElement, } = combination.config;
|
|
161
104
|
/** build mode */
|
|
162
105
|
compiler.hooks.run.tapAsync(PLUGIN_NAME, this.tryAsync((compiler) => __awaiter(this, void 0, void 0, function* () {
|
|
163
106
|
yield this.run(compiler);
|
|
164
|
-
this.applyForceCustomWrapperDefine(compiler);
|
|
165
|
-
this.applyAsyncSubPackagePlugin(compiler);
|
|
166
107
|
new TaroLoadChunksPlugin_1.default({
|
|
167
108
|
commonChunks: commonChunks,
|
|
168
109
|
isBuildPlugin,
|
|
@@ -179,8 +120,6 @@ class TaroMiniPlugin {
|
|
|
179
120
|
this.isWatch = true;
|
|
180
121
|
}
|
|
181
122
|
yield this.run(compiler);
|
|
182
|
-
this.applyForceCustomWrapperDefine(compiler);
|
|
183
|
-
this.applyAsyncSubPackagePlugin(compiler);
|
|
184
123
|
if (!this.loadChunksPlugin) {
|
|
185
124
|
this.loadChunksPlugin = new TaroLoadChunksPlugin_1.default({
|
|
186
125
|
commonChunks: commonChunks,
|
|
@@ -198,7 +137,6 @@ class TaroMiniPlugin {
|
|
|
198
137
|
const dependencies = this.dependencies;
|
|
199
138
|
const promises = [];
|
|
200
139
|
this.compileIndependentPages(compiler, compilation, dependencies, promises);
|
|
201
|
-
this.hooks.compileExtraEntries.call(compiler, compilation, promises);
|
|
202
140
|
dependencies.forEach(dep => {
|
|
203
141
|
promises.push(new Promise((resolve, reject) => {
|
|
204
142
|
compilation.addEntry(this.options.sourceDir, dep, Object.assign({ name: dep.name }, dep.options), err => err ? reject(err) : resolve(null));
|
|
@@ -211,26 +149,12 @@ class TaroMiniPlugin {
|
|
|
211
149
|
/** For Webpack compilation get factory from compilation.dependencyFactories by denpendence's constructor */
|
|
212
150
|
compilation.dependencyFactories.set(EntryDependency_1.default, normalModuleFactory);
|
|
213
151
|
compilation.dependencyFactories.set(TaroSingleEntryDependency_1.default, normalModuleFactory);
|
|
214
|
-
if (this.options.newBlended) {
|
|
215
|
-
normalModuleFactory.hooks.afterResolve.tap(PLUGIN_NAME, (resolveData) => {
|
|
216
|
-
this.hooks.afterResolveModule.call(resolveData);
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
152
|
/**
|
|
220
153
|
* webpack NormalModule 在 runLoaders 真正解析资源的前一刻,
|
|
221
154
|
* 往 NormalModule.loaders 中插入对应的 Taro Loader
|
|
222
155
|
*/
|
|
223
156
|
compiler.webpack.NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (_loaderContext, module) => {
|
|
224
|
-
var _a;
|
|
225
157
|
const { framework, loaderMeta, pxTransformConfig } = this.options;
|
|
226
|
-
// 共享运行时(split 模式):把 sharedRuntime 开关、pkgId(取 output.chunkLoadingGlobal,
|
|
227
|
-
// 每业务包已必须唯一)、全局对象键名(constants.ts 单一来源)透传给 app/page loader,
|
|
228
|
-
// 供产物注入多包 App 隔离逻辑。
|
|
229
|
-
const sharedRuntime = !!this.options.combination.config.sharedRuntime;
|
|
230
|
-
const sharedRuntimePkgId = sharedRuntime
|
|
231
|
-
? ((_a = compiler.options.output) === null || _a === void 0 ? void 0 : _a.chunkLoadingGlobal) || 'webpackJsonp'
|
|
232
|
-
: undefined;
|
|
233
|
-
const sharedRuntimeGlobalKey = sharedRuntime ? constants_1.SHARED_GLOBAL_ASYNC : undefined;
|
|
234
158
|
if (module.miniType === helper_1.META_TYPE.ENTRY) {
|
|
235
159
|
const loaderName = '@tarojs/taro-loader';
|
|
236
160
|
if (!isLoaderExist(module.loaders, loaderName)) {
|
|
@@ -245,10 +169,7 @@ class TaroMiniPlugin {
|
|
|
245
169
|
behaviorsName: this.options.behaviorsName,
|
|
246
170
|
blended: this.options.blended,
|
|
247
171
|
newBlended: this.options.newBlended,
|
|
248
|
-
pxTransformConfig
|
|
249
|
-
sharedRuntime,
|
|
250
|
-
sharedRuntimePkgId,
|
|
251
|
-
sharedRuntimeGlobalKey,
|
|
172
|
+
pxTransformConfig
|
|
252
173
|
}
|
|
253
174
|
});
|
|
254
175
|
}
|
|
@@ -279,10 +200,7 @@ class TaroMiniPlugin {
|
|
|
279
200
|
appConfig: this.appConfig,
|
|
280
201
|
runtimePath: this.options.runtimePath,
|
|
281
202
|
behaviorsName: this.options.behaviorsName,
|
|
282
|
-
hot: this.options.hot
|
|
283
|
-
sharedRuntime,
|
|
284
|
-
sharedRuntimePkgId,
|
|
285
|
-
sharedRuntimeGlobalKey,
|
|
203
|
+
hot: this.options.hot
|
|
286
204
|
}
|
|
287
205
|
});
|
|
288
206
|
}
|
|
@@ -374,10 +292,6 @@ class TaroMiniPlugin {
|
|
|
374
292
|
let source;
|
|
375
293
|
const id = (0, webpack_1.getChunkIdOrName)(chunk);
|
|
376
294
|
const { miniType } = entryModule;
|
|
377
|
-
const modifyResult = this.hooks.modifyChunkRequire.call({ source: modules, handled: false }, id, miniType);
|
|
378
|
-
if (modifyResult === null || modifyResult === void 0 ? void 0 : modifyResult.handled) {
|
|
379
|
-
return modifyResult.source;
|
|
380
|
-
}
|
|
381
295
|
const entryChunk = [{ name: 'app' }];
|
|
382
296
|
// 所有模块都依赖app.js,确保@tarojs\plugin-platform-xxx\dist\runtime.js先于@tarojs/runtime执行,避免Taro API未被初始化
|
|
383
297
|
if (this.nativeComponents.has(id) || miniType === helper_1.META_TYPE.STATIC) {
|
|
@@ -386,8 +300,7 @@ class TaroMiniPlugin {
|
|
|
386
300
|
source = (0, webpack_1.addRequireToSource)(id, modules, v);
|
|
387
301
|
}
|
|
388
302
|
});
|
|
389
|
-
|
|
390
|
-
return source || modules;
|
|
303
|
+
return source;
|
|
391
304
|
}
|
|
392
305
|
else if (miniType === helper_1.META_TYPE.PAGE) {
|
|
393
306
|
return (0, webpack_1.addRequireToSource)(id, modules, entryChunk);
|
|
@@ -396,23 +309,6 @@ class TaroMiniPlugin {
|
|
|
396
309
|
});
|
|
397
310
|
});
|
|
398
311
|
}
|
|
399
|
-
/**
|
|
400
|
-
* 初始化异步分包插件。
|
|
401
|
-
* MiniPlugin 仅作为桥接,具体的 babel 注入、chunk 处理和 app.json 注册由 AsyncSubPackagePlugin 承担。
|
|
402
|
-
*/
|
|
403
|
-
applyAsyncSubPackagePlugin(compiler) {
|
|
404
|
-
if (!this.subPackageIndiePlugin)
|
|
405
|
-
return;
|
|
406
|
-
const asyncRootMap = this.subPackageIndiePlugin.getAsyncSubPackageRootMap();
|
|
407
|
-
if (asyncRootMap.size === 0)
|
|
408
|
-
return;
|
|
409
|
-
if (!this.asyncSubPackagePlugin) {
|
|
410
|
-
this.asyncSubPackagePlugin = new AsyncSubPackagePlugin_1.default(this);
|
|
411
|
-
}
|
|
412
|
-
this.asyncSubPackagePlugin.updateAsyncRootMap(asyncRootMap);
|
|
413
|
-
this.asyncSubPackagePlugin.updateAsyncRuntimeRoots(this.subPackageIndiePlugin.getAsyncSubPackageRuntimeRoots());
|
|
414
|
-
this.asyncSubPackagePlugin.apply(compiler);
|
|
415
|
-
}
|
|
416
312
|
/**
|
|
417
313
|
* 根据 webpack entry 配置获取入口文件路径
|
|
418
314
|
* @returns app 入口文件路径
|
|
@@ -458,8 +354,6 @@ class TaroMiniPlugin {
|
|
|
458
354
|
*/
|
|
459
355
|
run(compiler) {
|
|
460
356
|
return __awaiter(this, void 0, void 0, function* () {
|
|
461
|
-
var _a;
|
|
462
|
-
(_a = this.subPackageIndiePlugin) === null || _a === void 0 ? void 0 : _a.invalidateRunCache();
|
|
463
357
|
if (this.options.isBuildPlugin) {
|
|
464
358
|
this.getPluginFiles();
|
|
465
359
|
this.getConfigFiles(compiler);
|
|
@@ -585,12 +479,12 @@ class TaroMiniPlugin {
|
|
|
585
479
|
}
|
|
586
480
|
if (!this.options.template.isSupportRecursive) {
|
|
587
481
|
pluginJSON.publicComponents = Object.assign({}, publicComponents, {
|
|
588
|
-
[
|
|
482
|
+
[baseCompName]: baseCompName
|
|
589
483
|
});
|
|
590
484
|
}
|
|
591
485
|
if (isUsingCustomWrapper) {
|
|
592
486
|
pluginJSON.publicComponents = Object.assign({}, publicComponents, {
|
|
593
|
-
[
|
|
487
|
+
[customWrapperName]: customWrapperName
|
|
594
488
|
});
|
|
595
489
|
}
|
|
596
490
|
}
|
|
@@ -719,11 +613,8 @@ class TaroMiniPlugin {
|
|
|
719
613
|
*/
|
|
720
614
|
addEntry(entryPath, entryName, entryType, options = {}) {
|
|
721
615
|
let dep;
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
const depKey = entryType === helper_1.META_TYPE.STATIC ? `${entryPath}#${entryName}` : entryPath;
|
|
725
|
-
if (this.dependencies.has(depKey)) {
|
|
726
|
-
dep = this.dependencies.get(depKey);
|
|
616
|
+
if (this.dependencies.has(entryPath)) {
|
|
617
|
+
dep = this.dependencies.get(entryPath);
|
|
727
618
|
dep.name = entryName;
|
|
728
619
|
dep.loc = { name: entryName };
|
|
729
620
|
dep.request = entryPath;
|
|
@@ -734,7 +625,7 @@ class TaroMiniPlugin {
|
|
|
734
625
|
else {
|
|
735
626
|
dep = new TaroSingleEntryDependency_1.default(entryPath, entryName, { name: entryName }, entryType, options);
|
|
736
627
|
}
|
|
737
|
-
this.dependencies.set(
|
|
628
|
+
this.dependencies.set(entryPath, dep);
|
|
738
629
|
}
|
|
739
630
|
/**
|
|
740
631
|
* 在 this.dependencies 中新增或修改 app、模板组件、页面、组件等资源模块
|
|
@@ -742,17 +633,10 @@ class TaroMiniPlugin {
|
|
|
742
633
|
addEntries() {
|
|
743
634
|
const { template } = this.options;
|
|
744
635
|
this.addEntry(this.appEntry, 'app', helper_1.META_TYPE.ENTRY);
|
|
745
|
-
|
|
746
|
-
skipRootComp: false,
|
|
747
|
-
skipRootWrapper: false,
|
|
748
|
-
});
|
|
749
|
-
if (!template.isSupportRecursive && !entryFlags.skipRootComp) {
|
|
636
|
+
if (!template.isSupportRecursive) {
|
|
750
637
|
this.addEntry(node_path_1.default.resolve(__dirname, '..', 'template/comp'), 'comp', helper_1.META_TYPE.STATIC);
|
|
751
638
|
}
|
|
752
|
-
|
|
753
|
-
this.addEntry(node_path_1.default.resolve(__dirname, '..', 'template/custom-wrapper'), 'custom-wrapper', helper_1.META_TYPE.STATIC);
|
|
754
|
-
}
|
|
755
|
-
// subPackageIndie 下的 comp/custom-wrapper 统一走独立子编译器,避免被主编译的公共 chunk 共享
|
|
639
|
+
this.addEntry(node_path_1.default.resolve(__dirname, '..', 'template/custom-wrapper'), 'custom-wrapper', helper_1.META_TYPE.STATIC);
|
|
756
640
|
this.pages.forEach(item => {
|
|
757
641
|
if (item.isNative) {
|
|
758
642
|
this.addEntry(item.path, item.name, helper_1.META_TYPE.NORMAL, { isNativePage: true });
|
|
@@ -782,39 +666,6 @@ class TaroMiniPlugin {
|
|
|
782
666
|
}
|
|
783
667
|
});
|
|
784
668
|
}
|
|
785
|
-
computeForceCustomWrapperForWebpackMainComp() {
|
|
786
|
-
var _a;
|
|
787
|
-
if (this.options.template.isSupportRecursive)
|
|
788
|
-
return false;
|
|
789
|
-
const independentPaths = new Set();
|
|
790
|
-
this.independentPackages.forEach(({ pages }) => {
|
|
791
|
-
pages.forEach(p => independentPaths.add(p));
|
|
792
|
-
});
|
|
793
|
-
for (const page of this.pages) {
|
|
794
|
-
if (page.isNative || independentPaths.has(page.path))
|
|
795
|
-
continue;
|
|
796
|
-
const content = (_a = this.filesConfig[this.getConfigFilePath(page.name)]) === null || _a === void 0 ? void 0 : _a.content;
|
|
797
|
-
if (content === null || content === void 0 ? void 0 : content.forceCustomWrapper)
|
|
798
|
-
return true;
|
|
799
|
-
}
|
|
800
|
-
return false;
|
|
801
|
-
}
|
|
802
|
-
computeForceCustomWrapperForIndieRoot(pages) {
|
|
803
|
-
return (0, forceCustomWrapper_1.computeForceCustomWrapperForIndependentPackage)(pages, this.pages, this.filesConfig, (p) => this.getConfigFilePath(p));
|
|
804
|
-
}
|
|
805
|
-
applyForceCustomWrapperDefine(compiler) {
|
|
806
|
-
if (this.options.template.isSupportRecursive)
|
|
807
|
-
return;
|
|
808
|
-
const value = JSON.stringify(this.computeForceCustomWrapperForWebpackMainComp());
|
|
809
|
-
if (!this.forceCustomWrapperDefineDefinitions) {
|
|
810
|
-
this.forceCustomWrapperDefineDefinitions = {
|
|
811
|
-
TARO_FORCE_CUSTOM_WRAPPER: value
|
|
812
|
-
};
|
|
813
|
-
new compiler.webpack.DefinePlugin(this.forceCustomWrapperDefineDefinitions).apply(compiler);
|
|
814
|
-
return;
|
|
815
|
-
}
|
|
816
|
-
this.forceCustomWrapperDefineDefinitions.TARO_FORCE_CUSTOM_WRAPPER = value;
|
|
817
|
-
}
|
|
818
669
|
replaceExt(file, ext) {
|
|
819
670
|
return node_path_1.default.join(node_path_1.default.dirname(file), node_path_1.default.basename(file, node_path_1.default.extname(file)) + `${ext}`);
|
|
820
671
|
}
|
|
@@ -974,7 +825,7 @@ class TaroMiniPlugin {
|
|
|
974
825
|
filename: `[name]${this.options.fileType.style}`,
|
|
975
826
|
chunkFilename: `[name]${this.options.fileType.style}`
|
|
976
827
|
}).apply(childCompiler);
|
|
977
|
-
new compiler.webpack.DefinePlugin(
|
|
828
|
+
new compiler.webpack.DefinePlugin(this.options.constantsReplaceList).apply(childCompiler);
|
|
978
829
|
if (compiler.options.optimization) {
|
|
979
830
|
new SplitChunksPlugin({
|
|
980
831
|
chunks: 'all',
|
|
@@ -1114,12 +965,6 @@ class TaroMiniPlugin {
|
|
|
1114
965
|
usingComponents[key] = match ? `${node_path_1.default.sep}${match[0]}` : compPath;
|
|
1115
966
|
}
|
|
1116
967
|
}
|
|
1117
|
-
cloneThirdPartyComponent(thirdPartyComponents, componentName) {
|
|
1118
|
-
const attrs = component_1.componentConfig.thirdPartyComponents.get(componentName);
|
|
1119
|
-
if (!attrs || thirdPartyComponents.has(componentName))
|
|
1120
|
-
return;
|
|
1121
|
-
thirdPartyComponents.set(componentName, new Set(attrs));
|
|
1122
|
-
}
|
|
1123
968
|
/** 生成小程序独立分包的相关文件 */
|
|
1124
969
|
generateIndependentMiniFiles(compilation, compiler) {
|
|
1125
970
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1136,27 +981,24 @@ class TaroMiniPlugin {
|
|
|
1136
981
|
this.generateTemplateFile(compilation, compiler, `${name}/${baseTemplateName}`, template.buildTemplate, component_1.componentConfig);
|
|
1137
982
|
if (!template.isSupportRecursive) {
|
|
1138
983
|
// 如微信、QQ 不支持递归模版的小程序,需要使用自定义组件协助递归
|
|
1139
|
-
|
|
984
|
+
this.generateConfigFile(compilation, compiler, `${name}/${baseCompName}`, {
|
|
1140
985
|
component: true,
|
|
1141
|
-
styleIsolation:
|
|
986
|
+
styleIsolation: 'apply-shared',
|
|
1142
987
|
usingComponents: {
|
|
1143
|
-
[
|
|
988
|
+
[baseCompName]: `./${baseCompName}`,
|
|
989
|
+
[customWrapperName]: `./${customWrapperName}`
|
|
1144
990
|
}
|
|
1145
|
-
};
|
|
1146
|
-
|
|
1147
|
-
compConfig.usingComponents[exports.customWrapperName] = `./${exports.customWrapperName}`;
|
|
1148
|
-
}
|
|
1149
|
-
this.generateConfigFile(compilation, compiler, `${name}/${exports.baseCompName}`, compConfig);
|
|
1150
|
-
this.generateTemplateFile(compilation, compiler, `${name}/${exports.baseCompName}`, template.buildBaseComponentTemplate, this.options.fileType.templ);
|
|
991
|
+
});
|
|
992
|
+
this.generateTemplateFile(compilation, compiler, `${name}/${baseCompName}`, template.buildBaseComponentTemplate, this.options.fileType.templ);
|
|
1151
993
|
}
|
|
1152
|
-
this.generateConfigFile(compilation, compiler, `${name}/${
|
|
994
|
+
this.generateConfigFile(compilation, compiler, `${name}/${customWrapperName}`, {
|
|
1153
995
|
component: true,
|
|
1154
|
-
styleIsolation:
|
|
996
|
+
styleIsolation: 'apply-shared',
|
|
1155
997
|
usingComponents: {
|
|
1156
|
-
[
|
|
998
|
+
[customWrapperName]: `./${customWrapperName}`
|
|
1157
999
|
}
|
|
1158
1000
|
});
|
|
1159
|
-
this.generateTemplateFile(compilation, compiler, `${name}/${
|
|
1001
|
+
this.generateTemplateFile(compilation, compiler, `${name}/${customWrapperName}`, template.buildCustomComponentTemplate, this.options.fileType.templ);
|
|
1160
1002
|
this.generateXSFile(compilation, compiler, `${name}/utils`);
|
|
1161
1003
|
});
|
|
1162
1004
|
this.pages.forEach(page => {
|
|
@@ -1179,14 +1021,14 @@ class TaroMiniPlugin {
|
|
|
1179
1021
|
this.generateTemplateFile(compilation, compiler, page.path, template.buildPageTemplate, importBaseTemplatePath, config);
|
|
1180
1022
|
}
|
|
1181
1023
|
if (config) {
|
|
1182
|
-
const importBaseCompPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, independentName, this.getTargetFilePath(
|
|
1183
|
-
const importCustomWrapperPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, independentName, this.getTargetFilePath(
|
|
1024
|
+
const importBaseCompPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, independentName, this.getTargetFilePath(baseCompName, ''))));
|
|
1025
|
+
const importCustomWrapperPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, independentName, this.getTargetFilePath(customWrapperName, ''))));
|
|
1184
1026
|
config.content.usingComponents = Object.assign({}, config.content.usingComponents);
|
|
1185
1027
|
if (isUsingCustomWrapper) {
|
|
1186
|
-
config.content.usingComponents[
|
|
1028
|
+
config.content.usingComponents[customWrapperName] = importCustomWrapperPath;
|
|
1187
1029
|
}
|
|
1188
1030
|
if (!template.isSupportRecursive && !page.isNative) {
|
|
1189
|
-
config.content.usingComponents[
|
|
1031
|
+
config.content.usingComponents[baseCompName] = importBaseCompPath;
|
|
1190
1032
|
}
|
|
1191
1033
|
this.generateConfigFile(compilation, compiler, page.path, config.content);
|
|
1192
1034
|
}
|
|
@@ -1201,8 +1043,6 @@ class TaroMiniPlugin {
|
|
|
1201
1043
|
const { modifyMiniConfigs } = combination.config;
|
|
1202
1044
|
const baseTemplateName = 'base';
|
|
1203
1045
|
const isUsingCustomWrapper = component_1.componentConfig.thirdPartyComponents.has('custom-wrapper');
|
|
1204
|
-
let subPackageIndieCustomWrapperRoots = new Set();
|
|
1205
|
-
compilation[SubPackageIndiePlugin_1.subPackageIndieCustomWrapperRootsKey] = subPackageIndieCustomWrapperRoots;
|
|
1206
1046
|
/**
|
|
1207
1047
|
* 与原生小程序混写时解析模板与样式
|
|
1208
1048
|
*/
|
|
@@ -1222,55 +1062,47 @@ class TaroMiniPlugin {
|
|
|
1222
1062
|
const appConfigName = node_path_1.default.basename(appConfigPath).replace(node_path_1.default.extname(appConfigPath), '');
|
|
1223
1063
|
this.generateConfigFile(compilation, compiler, this.appEntry, this.filesConfig[appConfigName].content);
|
|
1224
1064
|
}
|
|
1225
|
-
|
|
1226
|
-
skipRootTemplates = this.hooks.modifySkipRootTemplates.call(skipRootTemplates);
|
|
1227
|
-
if (!template.isSupportRecursive && !skipRootTemplates) {
|
|
1065
|
+
if (!template.isSupportRecursive) {
|
|
1228
1066
|
// 如微信、QQ 不支持递归模版的小程序,需要使用自定义组件协助递归
|
|
1229
|
-
this.generateTemplateFile(compilation, compiler,
|
|
1067
|
+
this.generateTemplateFile(compilation, compiler, baseCompName, template.buildBaseComponentTemplate, this.options.fileType.templ);
|
|
1230
1068
|
const baseCompConfig = {
|
|
1231
1069
|
component: true,
|
|
1232
|
-
styleIsolation:
|
|
1070
|
+
styleIsolation: 'apply-shared',
|
|
1233
1071
|
usingComponents: {
|
|
1234
|
-
[
|
|
1072
|
+
[baseCompName]: `./${baseCompName}`
|
|
1235
1073
|
}
|
|
1236
1074
|
};
|
|
1237
1075
|
if (isUsingCustomWrapper) {
|
|
1238
|
-
baseCompConfig.usingComponents[
|
|
1239
|
-
this.generateConfigFile(compilation, compiler,
|
|
1076
|
+
baseCompConfig.usingComponents[customWrapperName] = `./${customWrapperName}`;
|
|
1077
|
+
this.generateConfigFile(compilation, compiler, customWrapperName, {
|
|
1240
1078
|
component: true,
|
|
1241
|
-
styleIsolation:
|
|
1079
|
+
styleIsolation: 'apply-shared',
|
|
1242
1080
|
usingComponents: {
|
|
1243
|
-
[
|
|
1244
|
-
[
|
|
1081
|
+
[baseCompName]: `./${baseCompName}`,
|
|
1082
|
+
[customWrapperName]: `./${customWrapperName}`
|
|
1245
1083
|
}
|
|
1246
1084
|
});
|
|
1247
1085
|
}
|
|
1248
|
-
this.generateConfigFile(compilation, compiler,
|
|
1086
|
+
this.generateConfigFile(compilation, compiler, baseCompName, baseCompConfig);
|
|
1249
1087
|
}
|
|
1250
|
-
else
|
|
1088
|
+
else {
|
|
1251
1089
|
if (isUsingCustomWrapper) {
|
|
1252
|
-
this.generateConfigFile(compilation, compiler,
|
|
1090
|
+
this.generateConfigFile(compilation, compiler, customWrapperName, {
|
|
1253
1091
|
component: true,
|
|
1254
|
-
styleIsolation:
|
|
1092
|
+
styleIsolation: 'apply-shared',
|
|
1255
1093
|
usingComponents: {
|
|
1256
|
-
[
|
|
1094
|
+
[customWrapperName]: `./${customWrapperName}`
|
|
1257
1095
|
}
|
|
1258
1096
|
});
|
|
1259
1097
|
}
|
|
1260
1098
|
}
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
isUsingCustomWrapper && this.generateTemplateFile(compilation, compiler, exports.customWrapperName, template.buildCustomComponentTemplate, this.options.fileType.templ);
|
|
1265
|
-
this.generateXSFile(compilation, compiler, 'utils');
|
|
1266
|
-
}
|
|
1267
|
-
subPackageIndieCustomWrapperRoots = this.hooks.generateExtraFiles.call(subPackageIndieCustomWrapperRoots, compilation, compiler);
|
|
1268
|
-
compilation[SubPackageIndiePlugin_1.subPackageIndieCustomWrapperRootsKey] = subPackageIndieCustomWrapperRoots;
|
|
1099
|
+
this.generateTemplateFile(compilation, compiler, baseTemplateName, template.buildTemplate, component_1.componentConfig);
|
|
1100
|
+
isUsingCustomWrapper && this.generateTemplateFile(compilation, compiler, customWrapperName, template.buildCustomComponentTemplate, this.options.fileType.templ);
|
|
1101
|
+
this.generateXSFile(compilation, compiler, 'utils');
|
|
1269
1102
|
this.components.forEach(component => {
|
|
1270
1103
|
const importBaseTemplatePath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(component.path, node_path_1.default.join(sourceDir, isBuildPlugin ? 'plugin' : '', this.getTemplatePath(baseTemplateName))));
|
|
1271
1104
|
const config = this.filesConfig[this.getConfigFilePath(component.name)];
|
|
1272
1105
|
if (config) {
|
|
1273
|
-
this.hooks.modifyComponentConfig.call({ config, component }, subPackageIndieCustomWrapperRoots);
|
|
1274
1106
|
this.generateConfigFile(compilation, compiler, component.path, config.content);
|
|
1275
1107
|
}
|
|
1276
1108
|
if (!component.isNative) {
|
|
@@ -1278,46 +1110,31 @@ class TaroMiniPlugin {
|
|
|
1278
1110
|
}
|
|
1279
1111
|
});
|
|
1280
1112
|
this.pages.forEach(page => {
|
|
1281
|
-
|
|
1113
|
+
const importBaseTemplatePath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, isBuildPlugin ? 'plugin' : '', this.getTemplatePath(baseTemplateName))));
|
|
1282
1114
|
const config = this.filesConfig[this.getConfigFilePath(page.name)];
|
|
1283
1115
|
// pages 里面会混合独立分包的,在这里需要过滤一下,避免重复生成 assets
|
|
1284
1116
|
const isIndependent = !!this.getIndependentPackage(page.path);
|
|
1285
1117
|
if (isIndependent)
|
|
1286
1118
|
return;
|
|
1287
1119
|
// 生成页面模板需要在生成页面配置之前,因为会依赖到页面配置的部分内容
|
|
1288
|
-
let importBaseCompPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, isBuildPlugin ? 'plugin' : '', this.getTargetFilePath(exports.baseCompName, ''))));
|
|
1289
|
-
let importCustomWrapperPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, isBuildPlugin ? 'plugin' : '', this.getTargetFilePath(exports.customWrapperName, ''))));
|
|
1290
|
-
let isPageRecursiveDisabled = false;
|
|
1291
|
-
let shouldUseCustomWrapper = isUsingCustomWrapper;
|
|
1292
|
-
const pageConfigContext = this.hooks.modifyPageConfig.call({
|
|
1293
|
-
importBaseTemplatePath,
|
|
1294
|
-
importBaseCompPath,
|
|
1295
|
-
importCustomWrapperPath,
|
|
1296
|
-
shouldUseCustomWrapper,
|
|
1297
|
-
isPageRecursiveDisabled,
|
|
1298
|
-
}, page, subPackageIndieCustomWrapperRoots);
|
|
1299
|
-
importBaseTemplatePath = pageConfigContext.importBaseTemplatePath;
|
|
1300
|
-
importBaseCompPath = pageConfigContext.importBaseCompPath;
|
|
1301
|
-
importCustomWrapperPath = pageConfigContext.importCustomWrapperPath;
|
|
1302
|
-
shouldUseCustomWrapper = pageConfigContext.shouldUseCustomWrapper;
|
|
1303
|
-
isPageRecursiveDisabled = pageConfigContext.isPageRecursiveDisabled;
|
|
1304
1120
|
if (!page.isNative) {
|
|
1305
1121
|
this.generateTemplateFile(compilation, compiler, page.path, template.buildPageTemplate, importBaseTemplatePath, config);
|
|
1306
1122
|
}
|
|
1307
1123
|
if (config) {
|
|
1124
|
+
const importBaseCompPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, isBuildPlugin ? 'plugin' : '', this.getTargetFilePath(baseCompName, ''))));
|
|
1125
|
+
const importCustomWrapperPath = (0, helper_1.promoteRelativePath)(node_path_1.default.relative(page.path, node_path_1.default.join(sourceDir, isBuildPlugin ? 'plugin' : '', this.getTargetFilePath(customWrapperName, ''))));
|
|
1308
1126
|
config.content.usingComponents = Object.assign({}, config.content.usingComponents);
|
|
1309
|
-
if (
|
|
1310
|
-
config.content.usingComponents[
|
|
1127
|
+
if (isUsingCustomWrapper) {
|
|
1128
|
+
config.content.usingComponents[customWrapperName] = importCustomWrapperPath;
|
|
1311
1129
|
}
|
|
1312
|
-
if (!template.isSupportRecursive && !page.isNative
|
|
1313
|
-
config.content.usingComponents[
|
|
1130
|
+
if (!template.isSupportRecursive && !page.isNative) {
|
|
1131
|
+
config.content.usingComponents[baseCompName] = importBaseCompPath;
|
|
1314
1132
|
}
|
|
1315
1133
|
this.generateConfigFile(compilation, compiler, page.path, config.content);
|
|
1316
1134
|
}
|
|
1317
1135
|
});
|
|
1318
1136
|
this.generateTabBarFiles(compilation, compiler);
|
|
1319
1137
|
this.injectCommonStyles(compilation, compiler);
|
|
1320
|
-
this.hooks.afterGenerateFiles.call(compilation, compiler);
|
|
1321
1138
|
if (this.themeLocation) {
|
|
1322
1139
|
this.generateDarkModeFile(compilation, compiler);
|
|
1323
1140
|
}
|
|
@@ -1350,15 +1167,12 @@ class TaroMiniPlugin {
|
|
|
1350
1167
|
delete compilation.assets[assetPath];
|
|
1351
1168
|
}
|
|
1352
1169
|
});
|
|
1353
|
-
this.hooks.optimizeAssets.call(compilation);
|
|
1354
1170
|
});
|
|
1355
1171
|
}
|
|
1356
1172
|
generateConfigFile(compilation, compiler, filePath, config) {
|
|
1357
1173
|
const { RawSource } = compiler.webpack.sources;
|
|
1358
1174
|
const fileConfigName = this.getConfigPath(this.getComponentName(filePath));
|
|
1359
|
-
const
|
|
1360
|
-
config = this.hooks.modifyConfig.call(config, componentName);
|
|
1361
|
-
const unofficialConfigs = ['enableShareAppMessage', 'enableShareTimeline', 'enablePageMeta', 'components', 'forceCustomWrapper'];
|
|
1175
|
+
const unofficialConfigs = ['enableShareAppMessage', 'enableShareTimeline', 'enablePageMeta', 'components'];
|
|
1362
1176
|
unofficialConfigs.forEach(item => {
|
|
1363
1177
|
delete config[item];
|
|
1364
1178
|
});
|
|
@@ -1504,21 +1318,12 @@ class TaroMiniPlugin {
|
|
|
1504
1318
|
});
|
|
1505
1319
|
});
|
|
1506
1320
|
}
|
|
1507
|
-
|
|
1508
|
-
const hasAppStyle = !!assets[appStyle];
|
|
1509
|
-
let shouldProcessStyles = commons.size() > 0;
|
|
1510
|
-
if (!hasAppStyle) {
|
|
1511
|
-
shouldProcessStyles = false;
|
|
1512
|
-
}
|
|
1513
|
-
shouldProcessStyles = this.hooks.modifyShouldProcessStyles.call(shouldProcessStyles);
|
|
1514
|
-
if (shouldProcessStyles) {
|
|
1321
|
+
if (commons.size() > 0) {
|
|
1515
1322
|
const APP_STYLE_NAME = 'app-origin' + styleExt;
|
|
1516
1323
|
assets[APP_STYLE_NAME] = new ConcatSource(originSource);
|
|
1517
1324
|
const source = new ConcatSource('');
|
|
1518
1325
|
source.add(`@import ${JSON.stringify((0, loader_utils_1.urlToRequest)(APP_STYLE_NAME))};`);
|
|
1519
|
-
|
|
1520
|
-
source.add(commons);
|
|
1521
|
-
}
|
|
1326
|
+
source.add(commons);
|
|
1522
1327
|
source.add('\n');
|
|
1523
1328
|
assets[appStyle] = source;
|
|
1524
1329
|
if (newBlended) {
|
|
@@ -1534,43 +1339,14 @@ class TaroMiniPlugin {
|
|
|
1534
1339
|
}
|
|
1535
1340
|
const source = new ConcatSource('');
|
|
1536
1341
|
const originSource = assets[pageStyle];
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
isMainPackageRoot: false,
|
|
1541
|
-
}, page);
|
|
1542
|
-
if (styleImportContext.shouldSkip) {
|
|
1543
|
-
// no-op
|
|
1544
|
-
}
|
|
1545
|
-
else if (styleImportContext.importStatement) {
|
|
1546
|
-
source.add(styleImportContext.importStatement);
|
|
1547
|
-
}
|
|
1548
|
-
else {
|
|
1549
|
-
componentCommons.forEach(item => {
|
|
1550
|
-
source.add(`@import ${JSON.stringify((0, loader_utils_1.urlToRequest)(node_path_1.default.posix.relative(node_path_1.default.dirname(pageStyle), item)))};\n`);
|
|
1551
|
-
});
|
|
1552
|
-
}
|
|
1342
|
+
componentCommons.forEach(item => {
|
|
1343
|
+
source.add(`@import ${JSON.stringify((0, loader_utils_1.urlToRequest)(node_path_1.default.posix.relative(node_path_1.default.dirname(pageStyle), item)))};\n`);
|
|
1344
|
+
});
|
|
1553
1345
|
source.add(originSource);
|
|
1554
1346
|
assets[pageStyle] = source;
|
|
1555
1347
|
}
|
|
1556
1348
|
else {
|
|
1557
|
-
|
|
1558
|
-
const styleImportContext = this.hooks.modifyStyleImport.call({
|
|
1559
|
-
importStatement: '',
|
|
1560
|
-
shouldSkip: false,
|
|
1561
|
-
isMainPackageRoot: false,
|
|
1562
|
-
}, page);
|
|
1563
|
-
if (styleImportContext.importStatement) {
|
|
1564
|
-
const source = new ConcatSource('');
|
|
1565
|
-
if (pageStyle in assets) {
|
|
1566
|
-
source.add(assets[pageStyle]);
|
|
1567
|
-
}
|
|
1568
|
-
const importSource = new ConcatSource('');
|
|
1569
|
-
importSource.add(styleImportContext.importStatement);
|
|
1570
|
-
importSource.add(source);
|
|
1571
|
-
assets[pageStyle] = importSource;
|
|
1572
|
-
}
|
|
1573
|
-
else if (pageStyle in assets) {
|
|
1349
|
+
if (pageStyle in assets) {
|
|
1574
1350
|
const source = new ConcatSource('');
|
|
1575
1351
|
const originSource = assets[pageStyle];
|
|
1576
1352
|
source.add(`@import ${JSON.stringify((0, loader_utils_1.urlToRequest)(node_path_1.default.posix.relative(node_path_1.default.dirname(pageStyle), 'app' + styleExt)))};\n`);
|