@taro-minify-pack/plugin-async-pack 0.0.5-alpha.6 → 0.0.5

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 (41) hide show
  1. package/README.md +33 -21
  2. package/dist/index.js +14 -34
  3. package/dist/index.js.map +1 -1
  4. package/dist/merge-output.d.ts +12 -0
  5. package/dist/merge-output.js +26 -0
  6. package/dist/merge-output.js.map +1 -0
  7. package/dist/transform-app-config.d.ts +0 -1
  8. package/dist/transform-app-config.js +2 -5
  9. package/dist/transform-app-config.js.map +1 -1
  10. package/dist/transform-app-stylesheet.d.ts +6 -0
  11. package/dist/transform-app-stylesheet.js +14 -0
  12. package/dist/transform-app-stylesheet.js.map +1 -0
  13. package/dist/transform-webpack-runtime.js +31 -87
  14. package/dist/transform-webpack-runtime.js.map +1 -1
  15. package/dist/utils.d.ts +0 -4
  16. package/dist/utils.js +1 -15
  17. package/dist/utils.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/index.ts +13 -36
  20. package/src/merge-output.ts +33 -0
  21. package/src/transform-app-config.ts +1 -8
  22. package/src/transform-app-stylesheet.ts +17 -0
  23. package/src/transform-webpack-runtime.ts +28 -93
  24. package/src/types.ts +2 -2
  25. package/src/utils.ts +0 -10
  26. package/dist/inject-style-component.d.ts +0 -14
  27. package/dist/inject-style-component.js +0 -62
  28. package/dist/inject-style-component.js.map +0 -1
  29. package/dist/singleton-promise.d.ts +0 -16
  30. package/dist/singleton-promise.js +0 -46
  31. package/dist/singleton-promise.js.map +0 -1
  32. package/dist/transform-pages-wxml.d.ts +0 -7
  33. package/dist/transform-pages-wxml.js +0 -31
  34. package/dist/transform-pages-wxml.js.map +0 -1
  35. package/dist/transform-react-lazy.d.ts +0 -7
  36. package/dist/transform-react-lazy.js +0 -140
  37. package/dist/transform-react-lazy.js.map +0 -1
  38. package/src/inject-style-component.ts +0 -70
  39. package/src/singleton-promise.ts +0 -52
  40. package/src/transform-pages-wxml.ts +0 -35
  41. package/src/transform-react-lazy.ts +0 -133
package/README.md CHANGED
@@ -1,31 +1,28 @@
1
1
  # @taro-minify-pack/plugin-async-pack
2
2
 
3
- 异步加载主包代码,优化主包体积(包含异步模块`js`与样式文件)
3
+ 异步加载主包代码,优化主包体积(仅包含异步模块`js`文件)
4
4
 
5
5
  ## ✨ 功能特性
6
6
 
7
7
  - **主包体积优化**:将动态导入的模块自动拆分到异步分包,有效减少主包体积
8
- - **样式文件异步加载**:支持异步模块的样式文件同步异步加载
9
- - **自动转换 React.lazy**:无需手动修改代码,自动将 React.lazy 转换为增强版实现
10
8
  - **灵活配置**:可自定义异步分包名称前缀和数量
11
- - **自动化处理**:自动修改小程序配置文件和页面WXML,无需手动操作
9
+ - **自动化处理**:自动修改小程序配置文件,无需手动操作
12
10
  - **性能提升**:减少小程序启动时间,提升用户体验
13
11
 
14
12
  ## 📦 安装
15
13
 
16
- ### npm 安装
17
14
  ```bash
18
- npm install @taro-minify-pack/plugin-async-pack @taro-minify-pack/react-lazy-enhanced
15
+ npm install @taro-minify-pack/plugin-async-pack
19
16
  ```
20
17
 
21
18
  ### yarn 安装
22
19
  ```bash
23
- yarn add @taro-minify-pack/plugin-async-pack @taro-minify-pack/react-lazy-enhanced
20
+ yarn add @taro-minify-pack/plugin-async-pack
24
21
  ```
25
22
 
26
23
  ### pnpm 安装
27
24
  ```bash
28
- pnpm add @taro-minify-pack/plugin-async-pack @taro-minify-pack/react-lazy-enhanced
25
+ pnpm add @taro-minify-pack/plugin-async-pack
29
26
  ```
30
27
 
31
28
  ## ⚙️ 配置
@@ -79,7 +76,6 @@ const module = await import('./dynamic-module')
79
76
 
80
77
  ### React 组件懒加载
81
78
  ```tsx
82
- // 插件会自动将 React.lazy 转换为使用 @taro-minify-pack/react-lazy-enhanced 的实现
83
79
  import { lazy, Suspense } from 'react'
84
80
 
85
81
  const DynamicComponent = lazy(() => import('./DynamicComponent'))
@@ -93,27 +89,42 @@ function App() {
93
89
  }
94
90
  ```
95
91
 
92
+ ### Vue 组件懒加载
93
+ ```vue
94
+ <template>
95
+ <view class="index">
96
+ <Suspense>
97
+ <template #default>
98
+ <AsyncComponent/>
99
+ </template>
100
+ <template #fallback>
101
+ <view>loading...</view>
102
+ </template>
103
+ </Suspense>
104
+ </view>
105
+ </template>
106
+
107
+ <script setup>
108
+ import {defineAsyncComponent, ref} from 'vue'
109
+ const AsyncComponent = defineAsyncComponent(() => import('./async-component')
110
+ )
111
+ </script>
112
+ ```
113
+
96
114
  ## 📝 工作原理
97
115
 
98
116
  1. **Webpack 配置修改**:
99
117
  - 覆盖 `splitChunks` 规则,使`common`与`vendors`只处理同步模块
100
118
  - 配置 `chunkFilename` 生成规则,确保异步模块正确输出到指定分包
101
- - 修改 `miniCssExtractPlugin` 配置,确保异步模块的样式文件也能正确拆分到指定分包
102
-
103
- 2. **Babel 转换**:
104
- - 自动将所有 `React.lazy` 调用转换为使用 `@taro-minify-pack/react-lazy-enhanced` 的实现
105
- - 无需手动修改代码即可获得增强功能
119
+ - 修改 `miniCssExtractPlugin` 配置,确保异步模块的样式文件也能正确拆分到指定目录
120
+ - 修改 `runtime.js` 输出,确保异步模块的`js`文件能通过`require.async`正确引入
106
121
 
107
- 3. **样式处理**:
122
+ 2. **样式处理**:
108
123
  - 为每个异步分包生成样式组件
109
- - 自动收集该分包下的所有样式文件并通过 `@import` 引入
110
- - 确保异步模块的样式在组件加载时同步加载
124
+ - 自动收集该分包下的所有样式文件并通过 `@import` 引入主包`app.wxss`同步引入
111
125
 
112
- 4. **小程序配置修改**:
126
+ 3. **小程序配置修改**:
113
127
  - 自动修改 `app.json`,添加异步分包配置
114
- - 添加异步组件到全局 `usingComponents`
115
- - 设置 `componentPlaceholder` 以优化渲染性能
116
- - 更新页面 `WXML` 文件,在每个页面中自动添加样式组件引用
117
128
 
118
129
  ## ⚠️ 注意事项
119
130
 
@@ -123,6 +134,7 @@ function App() {
123
134
  4. **Webpack 版本**:仅支持 Webpack 5 编译器
124
135
  5. **自动转换**:插件会自动转换所有 `React.lazy` 调用,无需手动使用 `@taro-minify-pack/react-lazy-enhanced` 包中的懒加载函数
125
136
  6. **分包数量**:根据项目实际情况配置 `dynamicPackageCount`,过多的分包可能会影响性能
137
+ 7. **版本要求**:插件版本`0.0.5-alpha.x`尝试实现样式文件异步加载受微信机制影响存在无法优化的「闪屏样式丢失」,故`0.0.5`及以后版本不支持样式文件异步加载。
126
138
 
127
139
  ## 🔧 配置选项
128
140
 
package/dist/index.js CHANGED
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const webpack_sources_1 = require("webpack-sources");
9
3
  const transform_webpack_runtime_1 = require("./transform-webpack-runtime");
10
4
  const transform_before_compression_plugin_1 = require("./transform-before-compression-plugin");
11
- const inject_style_component_1 = require("./inject-style-component");
12
5
  const transform_app_config_1 = require("./transform-app-config");
13
- const transform_pages_wxml_1 = require("./transform-pages-wxml");
14
6
  const utils_1 = require("./utils");
7
+ const transform_app_stylesheet_1 = require("./transform-app-stylesheet");
8
+ const merge_output_1 = require("./merge-output");
15
9
  const dynamicPackOptsDefaultOpt = {
16
10
  dynamicPackageNamePrefix: 'dynamic-common',
17
11
  dynamicPackageCount: 1
@@ -47,42 +41,28 @@ exports.default = (ctx, pluginOpts) => {
47
41
  const chunkFilename = (pathData) => generateChunkFilename(pathData, '.wxss');
48
42
  return [Object.assign(Object.assign({}, options), { chunkFilename })];
49
43
  });
50
- chain.module
51
- .rule('script')
52
- .use('babelLoader')
53
- .tap((opts) => {
54
- const pluginConfig = path_1.default.resolve(__dirname, './transform-react-lazy');
55
- return Object.assign(Object.assign({}, opts), { plugins: [pluginConfig, ...(opts.plugins || [])] });
56
- });
57
44
  chain.plugin(transform_before_compression_plugin_1.PLUGIN_NAME).use(transform_before_compression_plugin_1.TransformBeforeCompressionPlugin, [{
58
- test: /^(runtime\.js)$/,
45
+ test: /^(runtime\.js|app\.wxss)$/,
59
46
  transform: (opt) => {
60
- const { source, assets } = opt;
47
+ const { source, assetName, assets } = opt;
61
48
  const transformOpts = Object.assign(Object.assign({}, finalOpts), { assets });
62
- return (0, transform_webpack_runtime_1.transformWebpackRuntime)(source, transformOpts);
49
+ if (/^app\.wxss$/.test(assetName))
50
+ return (0, transform_app_stylesheet_1.transformAppStylesheet)(source, transformOpts);
51
+ if (/^runtime\.js$/.test(assetName))
52
+ return (0, transform_webpack_runtime_1.transformWebpackRuntime)(source, transformOpts);
53
+ return source;
63
54
  }
64
55
  }]);
65
- chain.plugin(inject_style_component_1.PLUGIN_NAME).use(inject_style_component_1.InjectStyleComponentPlugin, [finalOpts]);
56
+ chain.plugin(merge_output_1.PLUGIN_NAME).use(merge_output_1.MergeOutputPlugin, [{
57
+ test: (assetName) => (0, utils_1.isDynamicPackageWXssAsset)(finalOpts.dynamicPackageNamePrefix, assetName),
58
+ outputFile: `${finalOpts.dynamicPackageNamePrefix}.wxss`
59
+ }]);
66
60
  });
67
61
  ctx.modifyBuildAssets(({ assets }) => {
68
62
  const hasDynamicModule = Object.keys(assets).some((key) => (0, utils_1.isDynamicPackageName)(finalOpts.dynamicPackageNamePrefix, key));
69
63
  if (!hasDynamicModule)
70
64
  return;
71
- const asyncComponents = (() => {
72
- if (finalOpts.dynamicPackageCount <= 1) {
73
- return { [inject_style_component_1.InjectStyleComponentName]: `${(0, utils_1.generateDynamicPackageName)(finalOpts)}/${inject_style_component_1.InjectStyleComponentName}` };
74
- }
75
- return new Array(finalOpts.dynamicPackageCount).fill(null).reduce((result, _, order) => {
76
- const dynamicPackageName = (0, utils_1.generateDynamicPackageName)(Object.assign(Object.assign({}, finalOpts), { order }));
77
- const componentName = `${inject_style_component_1.InjectStyleComponentName}-${(0, utils_1.generateKeyByOrder)(order)}`;
78
- return Object.assign(Object.assign({}, result), { [componentName]: `${dynamicPackageName}/${inject_style_component_1.InjectStyleComponentName}` });
79
- }, {});
80
- })();
81
- const filePath = path_1.default.resolve(__dirname, './singleton-promise.js');
82
- const fileContent = fs_1.default.readFileSync(filePath, { encoding: 'utf-8' });
83
- assets['singleton-promise.js'] = new webpack_sources_1.RawSource(fileContent);
84
- (0, transform_app_config_1.transformAppConfig)(Object.assign(Object.assign({}, finalOpts), { assets, asyncComponents }));
85
- (0, transform_pages_wxml_1.transformPagesWXml)({ assets, asyncComponents });
65
+ (0, transform_app_config_1.transformAppConfig)(Object.assign(Object.assign({}, finalOpts), { assets }));
86
66
  });
87
67
  };
88
68
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAEA,4CAAmB;AACnB,gDAAuB;AACvB,qDAA2C;AAC3C,2EAAqE;AACrE,+FAA2J;AAC3J,qEAA8I;AAC9I,iEAA2D;AAC3D,iEAA2D;AAC3D,mCAA6G;AAK7G,MAAM,yBAAyB,GAAkB;IAC/C,wBAAwB,EAAE,gBAAgB;IAC1C,mBAAmB,EAAE,CAAC;CACvB,CAAA;AAED,kBAAe,CAAC,GAAmB,EAAE,UAAyB,EAAE,EAAE;IAChE,MAAM,SAAS,mCAAQ,yBAAyB,GAAK,UAAU,CAAE,CAAA;IAEjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAM;IAE5C,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACnC,yBAAyB;QACzB,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;QAEvE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAA;QAE3D,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,iCAAM,MAAM,KAAE,MAAM,EAAE,SAAS,IAAG,CAAC,CAAC,MAAM,CAAA;QAE1E,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,iCAAM,OAAO,KAAE,MAAM,EAAE,SAAS,IAAG,CAAC,CAAC,OAAO,CAAA;QAE9E,MAAM,qBAAqB,GAAG,CAAC,QAAiB,EAAE,GAAU,EAAE,EAAE;YAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;YAC1B,MAAM,KAAK,GAAG,IAAA,qBAAa,EAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,EAAE,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAA;YAC7E,OAAO,GAAG,IAAA,kCAA0B,kCAAM,SAAS,KAAE,KAAK,IAAG,eAAe,GAAG,EAAE,CAAA;QACnF,CAAC,CAAA;QAED,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;YACvB,WAAW,kCACN,mBAAmB,KACtB,WAAW,kCACN,mBAAmB,CAAC,WAAW,KAClC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,gBAAgB,MAE5B;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,CAAC;YACV,MAAM,EAAE;gBACN,aAAa,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAC5E,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;gBAC1B,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;YACtB,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACrF,OAAO,iCAAM,OAAO,KAAE,aAAa,IAAG,CAAA;QACxC,CAAC,CAAC,CAAA;QAEJ,KAAK,CAAC,MAAM;aACT,IAAI,CAAC,QAAQ,CAAC;aACd,GAAG,CAAC,aAAa,CAAC;aAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;YACtE,uCAAY,IAAI,KAAE,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAE;QACtE,CAAC,CAAC,CAAA;QAEJ,KAAK,CAAC,MAAM,CAAC,iDAAoC,CAAC,CAAC,GAAG,CAAC,sEAAgC,EAAE,CAAC;gBACxF,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,CAAC,GAAiB,EAAE,EAAE;oBAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;oBAC9B,MAAM,aAAa,mCAAQ,SAAS,KAAE,MAAM,GAAE,CAAA;oBAC9C,OAAO,IAAA,mDAAuB,EAAC,MAAgB,EAAE,aAAa,CAAC,CAAA;gBACjE,CAAC;aACF,CAAC,CAAC,CAAA;QAEH,KAAK,CAAC,MAAM,CAAC,oCAA8B,CAAC,CAAC,GAAG,CAAC,mDAA0B,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3F,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,4BAAoB,EAAC,SAAS,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAA;QAEzH,IAAI,CAAC,gBAAgB;YAAE,OAAM;QAE7B,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;YAC5B,IAAI,SAAS,CAAC,mBAAmB,IAAI,CAAC,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC,iDAAwB,CAAC,EAAE,GAAG,IAAA,kCAA0B,EAAC,SAAS,CAAC,IAAI,iDAAwB,EAAE,EAAE,CAAA;YAAC,CAAC;YACzJ,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;gBACrF,MAAM,kBAAkB,GAAG,IAAA,kCAA0B,kCAAM,SAAS,KAAE,KAAK,IAAG,CAAA;gBAC9E,MAAM,aAAa,GAAG,GAAG,iDAAwB,IAAI,IAAA,0BAAkB,EAAC,KAAK,CAAC,EAAE,CAAA;gBAChF,uCAAY,MAAM,KAAE,CAAC,aAAa,CAAC,EAAE,GAAG,kBAAkB,IAAI,iDAAwB,EAAE,IAAE;YAC5F,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;QAElE,MAAM,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QAEpE,MAAM,CAAC,sBAAsB,CAAC,GAAG,IAAI,2BAAS,CAAC,WAAW,CAAC,CAAA;QAE3D,IAAA,yCAAkB,kCAAM,SAAS,KAAE,MAAM,EAAE,eAAe,IAAG,CAAA;QAE7D,IAAA,yCAAkB,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Compiler } from 'webpack';
2
+ export declare const PLUGIN_NAME = "MergeOutput";
3
+ interface MergeOutputOpt {
4
+ test: (assetName: string) => boolean;
5
+ outputFile: string;
6
+ }
7
+ export declare class MergeOutputPlugin {
8
+ private readonly opts;
9
+ constructor(opts: MergeOutputOpt);
10
+ apply(compiler: Compiler): void;
11
+ }
12
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MergeOutputPlugin = exports.PLUGIN_NAME = void 0;
4
+ exports.PLUGIN_NAME = 'MergeOutput';
5
+ class MergeOutputPlugin {
6
+ constructor(opts) {
7
+ this.opts = opts;
8
+ }
9
+ apply(compiler) {
10
+ compiler.hooks.compilation.tap(exports.PLUGIN_NAME, (compilation) => {
11
+ const stage = compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL; // 最早阶段,在优化前
12
+ compilation.hooks.processAssets.tap({ name: exports.PLUGIN_NAME, stage }, (assets) => {
13
+ const mergedResult = Object.keys(assets).reduce((result, item) => {
14
+ if (!this.opts.test(item))
15
+ return result;
16
+ const code = assets[item].source().toString();
17
+ delete assets[item];
18
+ return result + code + '\n';
19
+ }, '');
20
+ compilation.assets[this.opts.outputFile] = new compiler.webpack.sources.RawSource(mergedResult);
21
+ });
22
+ });
23
+ }
24
+ }
25
+ exports.MergeOutputPlugin = MergeOutputPlugin;
26
+ //# sourceMappingURL=merge-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-output.js","sourceRoot":"","sources":["../src/merge-output.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAG,aAAa,CAAA;AAOxC,MAAa,iBAAiB;IAG5B,YAAa,IAAoB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAE,QAAkB;QACvB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAW,EAAE,CAAC,WAAwB,EAAE,EAAE;YACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAA,CAAC,YAAY;YAEvF,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,mBAAW,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;oBAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,OAAO,MAAM,CAAA;oBACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;oBAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;oBACnB,OAAO,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;gBAC7B,CAAC,EAAE,EAAE,CAAC,CAAA;gBAEN,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAClG,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAvBD,8CAuBC"}
@@ -2,7 +2,6 @@ import type { AsyncPackOpts } from './types';
2
2
  import { RawSource } from 'webpack-sources';
3
3
  interface Opts extends AsyncPackOpts {
4
4
  assets: Record<string, RawSource>;
5
- asyncComponents: Record<string, string>;
6
5
  }
7
6
  export declare const transformAppConfig: (opts: Opts) => void;
8
7
  export {};
@@ -16,17 +16,14 @@ const webpack_sources_1 = require("webpack-sources");
16
16
  const utils_1 = require("./utils");
17
17
  const appConfigAssetKey = 'app.json';
18
18
  const transformAppConfig = (opts) => {
19
- const { dynamicPackageCount, asyncComponents, assets } = opts;
19
+ const { dynamicPackageCount, assets } = opts;
20
20
  const curAppConfig = JSON.parse(assets[appConfigAssetKey].source());
21
21
  const { subPackages, subpackages, resolveAlias = {}, usingComponents = {}, componentPlaceholder = {} } = curAppConfig, otherAppJSON = __rest(curAppConfig, ["subPackages", "subpackages", "resolveAlias", "usingComponents", "componentPlaceholder"]);
22
22
  const finalSubPackages = subPackages || subpackages || [];
23
23
  const dynamicPackagesConfigs = new Array(dynamicPackageCount).fill(null).map((_, order) => {
24
24
  return { root: (0, utils_1.generateDynamicPackageName)(Object.assign(Object.assign({}, opts), { order })), pages: [] };
25
25
  });
26
- const asyncComponentPlaceholder = Object.keys(asyncComponents).reduce((result, item) => {
27
- return Object.assign(Object.assign({}, result), { [item]: 'block' });
28
- }, {});
29
- const finalAppConfig = Object.assign(Object.assign({}, otherAppJSON), { usingComponents: Object.assign(Object.assign({}, usingComponents), asyncComponents), componentPlaceholder: Object.assign(Object.assign({}, componentPlaceholder), asyncComponentPlaceholder), subPackages: [...finalSubPackages, ...dynamicPackagesConfigs], resolveAlias: Object.assign(Object.assign({}, resolveAlias), { '~/*': '/*' }) });
26
+ const finalAppConfig = Object.assign(Object.assign({}, otherAppJSON), { subPackages: [...finalSubPackages, ...dynamicPackagesConfigs], resolveAlias: Object.assign(Object.assign({}, resolveAlias), { '~/*': '/*' }) });
30
27
  assets[appConfigAssetKey] = new webpack_sources_1.RawSource(JSON.stringify(finalAppConfig));
31
28
  };
32
29
  exports.transformAppConfig = transformAppConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"transform-app-config.js","sourceRoot":"","sources":["../src/transform-app-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,qDAA2C;AAC3C,mCAAoD;AAOpD,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAE7B,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,EAAE;IAC/C,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAE7D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAY,CAAC,CAAA;IAE7E,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,oBAAoB,GAAG,EAAE,KAAsB,YAAY,EAA7B,YAAY,UAAK,YAAY,EAAhI,yFAAiH,CAAe,CAAA;IAEtI,MAAM,gBAAgB,GAAG,WAAW,IAAI,WAAW,IAAI,EAAE,CAAA;IAEzD,MAAM,sBAAsB,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACxF,OAAO,EAAE,IAAI,EAAE,IAAA,kCAA0B,kCAAM,IAAI,KAAE,KAAK,IAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC5E,CAAC,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACrF,uCAAY,MAAM,KAAE,CAAC,IAAI,CAAC,EAAE,OAAO,IAAE;IACvC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,mCACf,YAAY,KACf,eAAe,kCAAO,eAAe,GAAK,eAAe,GACzD,oBAAoB,kCAAO,oBAAoB,GAAK,yBAAyB,GAC7E,WAAW,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,sBAAsB,CAAC,EAC7D,YAAY,kCAAO,YAAY,KAAE,KAAK,EAAE,IAAI,MAC7C,CAAA;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI,2BAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;AAC3E,CAAC,CAAA;AA1BY,QAAA,kBAAkB,sBA0B9B"}
1
+ {"version":3,"file":"transform-app-config.js","sourceRoot":"","sources":["../src/transform-app-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,qDAA2C;AAC3C,mCAAoD;AAMpD,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAE7B,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,EAAE;IAC/C,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAY,CAAC,CAAA;IAE7E,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,oBAAoB,GAAG,EAAE,KAAsB,YAAY,EAA7B,YAAY,UAAK,YAAY,EAAhI,yFAAiH,CAAe,CAAA;IAEtI,MAAM,gBAAgB,GAAG,WAAW,IAAI,WAAW,IAAI,EAAE,CAAA;IAEzD,MAAM,sBAAsB,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACxF,OAAO,EAAE,IAAI,EAAE,IAAA,kCAA0B,kCAAM,IAAI,KAAE,KAAK,IAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC5E,CAAC,CAAC,CAAA;IAEF,MAAM,cAAc,mCACf,YAAY,KACf,WAAW,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,sBAAsB,CAAC,EAC7D,YAAY,kCAAO,YAAY,KAAE,KAAK,EAAE,IAAI,MAC7C,CAAA;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI,2BAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;AAC3E,CAAC,CAAA;AApBY,QAAA,kBAAkB,sBAoB9B"}
@@ -0,0 +1,6 @@
1
+ import type { CompilationAssets, AsyncPackOpts } from './types';
2
+ interface Opts extends AsyncPackOpts {
3
+ assets: CompilationAssets;
4
+ }
5
+ export declare const transformAppStylesheet: (code: string, opts: Opts) => string;
6
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformAppStylesheet = void 0;
4
+ const transformAppStylesheet = (code, opts) => {
5
+ const { dynamicPackageNamePrefix, assets } = opts;
6
+ const isDynamicModuleStyleFileExist = Object.keys(assets).some(assetName => {
7
+ return new RegExp(`${dynamicPackageNamePrefix}\\.wxss`).test(assetName);
8
+ });
9
+ if (!isDynamicModuleStyleFileExist)
10
+ return code;
11
+ return code.concat(`@import './${dynamicPackageNamePrefix}.wxss';`);
12
+ };
13
+ exports.transformAppStylesheet = transformAppStylesheet;
14
+ //# sourceMappingURL=transform-app-stylesheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-app-stylesheet.js","sourceRoot":"","sources":["../src/transform-app-stylesheet.ts"],"names":[],"mappings":";;;AAMO,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,IAAU,EAAE,EAAE;IACjE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAEjD,MAAM,6BAA6B,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACzE,OAAO,IAAI,MAAM,CAAC,GAAG,wBAAwB,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6BAA6B;QAAE,OAAO,IAAI,CAAA;IAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,wBAAwB,SAAS,CAAC,CAAA;AACrE,CAAC,CAAA;AAVY,QAAA,sBAAsB,0BAUlC"}
@@ -100,120 +100,64 @@ const replaceWebpackLoadScriptFn = (assignmentExpressionNodePath, opts) => {
100
100
  const dynamicJsAssets = Object.keys(assets).filter((assetName) => {
101
101
  return (0, utils_1.isDynamicPackageJsAsset)(dynamicPackageNamePrefix, assetName);
102
102
  });
103
- const dynamicWXssAssets = Object.keys(assets).filter((assetName) => {
104
- return (0, utils_1.isDynamicPackageWXssAsset)(dynamicPackageNamePrefix, assetName);
105
- });
106
103
  const loadDynamicModuleFnMapCode = (() => {
107
104
  const dynamicAssetsRequireTempCode = dynamicJsAssets.map((dynamicJsAsset) => {
108
105
  return `'/${dynamicJsAsset}':function (){ return require.async('~/${dynamicJsAsset}'); }`;
109
106
  });
110
107
  return `var loadDynamicModuleFnMap = {${dynamicAssetsRequireTempCode.join(',')}}`;
111
108
  })();
112
- const hasStyleDynamicAssetsListCode = (() => {
113
- const hasStyleDynamicAssetsList = dynamicJsAssets.filter((dynamicJsAsset) => {
114
- const matchWXssAssets = dynamicJsAsset.replace(/\.js$/, '.wxss');
115
- return dynamicWXssAssets.includes(matchWXssAssets);
116
- });
117
- return `var hasStyleDynamicModuleList = [${hasStyleDynamicAssetsList.map(item => `'/${item}'`).join(',')}]`;
118
- })();
119
109
  const templateCodeAst = core_1.template.ast(webpackLoadDynamicModuleTemplate);
120
110
  const loadDynamicModuleFnMapAst = core_1.template.ast(loadDynamicModuleFnMapCode);
121
- const hasStyleDynamicAssetsListAst = core_1.template.ast(hasStyleDynamicAssetsListCode);
122
111
  const templateCodeDepAst = core_1.template.ast(webpackLoadDynamicModuleTemplateDep);
123
112
  assignmentExpressionNodePath.replaceWith(templateCodeAst);
124
113
  assignmentExpressionNodePath.insertBefore(loadDynamicModuleFnMapAst);
125
- assignmentExpressionNodePath.insertBefore(hasStyleDynamicAssetsListAst);
126
114
  assignmentExpressionNodePath.insertBefore(templateCodeDepAst);
127
115
  };
128
116
  const webpackLoadDynamicStylesheetTemplate = `
129
- __webpack_require__.f.miniCss = function (dynamicStylesheetChunkId, promises) {
130
- var cssChunks = CSS_CHUNKS;
131
- if(installedCssChunks[dynamicStylesheetChunkId] !== 0 && cssChunks[dynamicStylesheetChunkId]){
132
- promises.push(loadStylesheet(dynamicStylesheetChunkId))
117
+ !function () {
118
+ var loadStylesheet = function (_chunkId) {
119
+ return Promise.resolve()
133
120
  }
134
- }
121
+ __webpack_require__.f.miniCss = function (dynamicStylesheetChunkId, promises) {
122
+ promises.push(loadStylesheet(dynamicStylesheetChunkId));
123
+ };
124
+ }();
135
125
  `;
136
- const replaceWebpackLoadDynamicModuleStylesheetFn = (assignmentExpressionNodePath) => {
137
- const { left, right } = assignmentExpressionNodePath.node || {};
138
- if (!types.isMemberExpression(left))
139
- return;
140
- if (!types.isFunctionExpression(right))
141
- return;
142
- if (!types.isMemberExpression(left.object))
143
- return;
144
- if (!types.isIdentifier(left.object.object, { name: '__webpack_require__' }))
145
- return;
146
- if (!types.isIdentifier(left.object.property, { name: 'f' }))
147
- return;
148
- if (!types.isIdentifier(left.property, { name: 'miniCss' }))
149
- return;
150
- const isProcessed = right.params.some((item) => {
151
- return types.isIdentifier(item, { name: 'dynamicStylesheetChunkId' });
152
- });
153
- if (isProcessed)
154
- return;
155
- const cssChunksValueAst = [];
156
- assignmentExpressionNodePath.traverse({
157
- VariableDeclarator: (nodePath) => {
158
- const { id, init } = nodePath.node || {};
159
- if (!types.isIdentifier(id, { name: 'cssChunks' }))
126
+ const replaceWebpackLoadDynamicModuleStylesheetFn = (path, opts) => {
127
+ let needProcessed = false;
128
+ path.traverse({
129
+ AssignmentExpression: (nodePath) => {
130
+ const { left, right } = nodePath.node || {};
131
+ if (!types.isMemberExpression(left))
132
+ return;
133
+ if (!types.isFunctionExpression(right))
134
+ return;
135
+ if (!types.isMemberExpression(left.object))
136
+ return;
137
+ if (!types.isIdentifier(left.object.object, { name: '__webpack_require__' }))
138
+ return;
139
+ if (!types.isIdentifier(left.object.property, { name: 'f' }))
160
140
  return;
161
- if (!types.isObjectExpression(init))
141
+ if (!types.isIdentifier(left.property, { name: 'miniCss' }))
162
142
  return;
163
- cssChunksValueAst.push(...init.properties);
143
+ if (right.params.some((item) => types.isIdentifier(item, { name: 'dynamicStylesheetChunkId' })))
144
+ return;
145
+ needProcessed = true;
164
146
  }
165
147
  });
166
- const CSS_CHUNKS = types.objectExpression(cssChunksValueAst);
167
- const templateCodeAst = core_1.template.statement(webpackLoadDynamicStylesheetTemplate)({ CSS_CHUNKS });
168
- assignmentExpressionNodePath.replaceWith(templateCodeAst);
169
- };
170
- const webpackLoadStylesheetTemplate = `
171
- loadStylesheet = function (chunkId) {
172
- const href = __webpack_require__.miniCssF(chunkId);
173
- const fullHref = __webpack_require__.p + href;
174
- const dynamicPackageNameRegex = DYNAMIC_PACKAGE_NAME_REGEX;
175
- const [,dynamicPackageName] = fullHref.match(dynamicPackageNameRegex) || [];
176
- const { SingletonPromise } = require('~/singleton-promise.js');
177
- return SingletonPromise.wait({ dynamicPackageName })
178
- }
179
- `;
180
- const replaceLoadStylesheetFn = (nodePath, opts) => {
181
- const { id, init } = nodePath.node || {};
182
- if (!types.isIdentifier(id, { name: 'loadStylesheet' }))
148
+ if (!needProcessed)
183
149
  return;
184
- if (!types.isFunctionExpression(init))
185
- return;
186
- const isProcessed = !init.params.length;
187
- if (isProcessed)
188
- return;
189
- const { dynamicPackageNamePrefix } = opts;
190
- const DYNAMIC_PACKAGE_NAME_REGEX = types.regExpLiteral(`(${dynamicPackageNamePrefix}(?:-[a-z]{2})?)\\/`);
191
- const templateCodeAst = core_1.template.expression(webpackLoadStylesheetTemplate)({ DYNAMIC_PACKAGE_NAME_REGEX });
192
- nodePath.replaceWith(templateCodeAst);
193
- };
194
- const removeCreateStylesheetFn = (nodePath) => {
195
- const { id } = nodePath.node || {};
196
- if (!types.isIdentifier(id, { name: 'createStylesheet' }))
197
- return;
198
- nodePath.remove();
199
- };
200
- const removeFindStylesheetFn = (nodePath) => {
201
- const { id } = nodePath.node || {};
202
- if (!types.isIdentifier(id, { name: 'findStylesheet' }))
203
- return;
204
- nodePath.remove();
150
+ const templateCodeAst = core_1.template.ast(webpackLoadDynamicStylesheetTemplate);
151
+ path.parentPath.replaceWith(templateCodeAst);
205
152
  };
206
153
  const transformWebpackRuntime = (code, opts) => {
207
154
  const ast = parser.parse(code); // 将代码解析为 AST
208
155
  (0, traverse_1.default)(ast, {
156
+ UnaryExpression: (nodePath) => {
157
+ replaceWebpackLoadDynamicModuleStylesheetFn(nodePath, opts);
158
+ },
209
159
  AssignmentExpression: (nodePath) => {
210
160
  replaceWebpackLoadScriptFn(nodePath, opts);
211
- replaceWebpackLoadDynamicModuleStylesheetFn(nodePath);
212
- },
213
- VariableDeclarator(nodePath) {
214
- replaceLoadStylesheetFn(nodePath, opts);
215
- removeCreateStylesheetFn(nodePath);
216
- removeFindStylesheetFn(nodePath);
217
161
  }
218
162
  });
219
163
  return (0, generator_1.default)(ast).code;
@@ -1 +1 @@
1
- {"version":3,"file":"transform-webpack-runtime.js","sourceRoot":"","sources":["../src/transform-webpack-runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAgD;AAChD,iEAAwC;AACxC,sDAAuC;AACvC,+DAAsC;AACtC,oDAAqC;AAUrC,mCAA4E;AAM5E,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;CAiB3C,CAAA;AAED,MAAM,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;CAmBxC,CAAA;AAED,MAAM,0BAA0B,GAAG,CAAC,4BAA4D,EAAE,IAAU,EAAE,EAAE;IAC9G,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,4BAA4B,CAAC,IAAI,IAAI,EAAE,CAAA;IAE/D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAAE,OAAM;IAE3C,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAM;IAE9C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;QAAE,OAAM;IAE7E,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAE,OAAM;IAE7D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,IAAI,WAAW;QAAE,OAAM;IAEvB,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAA;IAEjD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/D,OAAO,IAAA,+BAAuB,EAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACjE,OAAO,IAAA,iCAAyB,EAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE;QACvC,MAAM,4BAA4B,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;YAC1E,OAAO,KAAK,cAAc,0CAA0C,cAAc,OAAO,CAAA;QAC3F,CAAC,CAAC,CAAA;QAEF,OAAO,iCAAiC,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACnF,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE;QAC1C,MAAM,yBAAyB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE;YAC1E,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAChE,OAAO,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,oCAAoC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC7G,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,eAAe,GAAG,eAAQ,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAA;IAEnF,MAAM,yBAAyB,GAAG,eAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IAE1E,MAAM,4BAA4B,GAAG,eAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;IAEhF,MAAM,kBAAkB,GAAG,eAAQ,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IAE5E,4BAA4B,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IAEzD,4BAA4B,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAA;IAEpE,4BAA4B,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAA;IAEvE,4BAA4B,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,oCAAoC,GAAG;;;;;;;CAO5C,CAAA;AAED,MAAM,2CAA2C,GAAG,CAClD,4BAA4D,EAC5D,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,4BAA4B,CAAC,IAAI,IAAI,EAAE,CAAA;IAE/D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAAE,OAAM;IAE3C,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAM;IAE9C,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAM;IAElD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;QAAE,OAAM;IAEpF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAE,OAAM;IAEpE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAAE,OAAM;IAEnE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,IAAI,WAAW;QAAE,OAAM;IAEvB,MAAM,iBAAiB,GAAyD,EAAE,CAAA;IAElF,4BAA4B,CAAC,QAAQ,CAAC;QACpC,kBAAkB,EAAE,CAAC,QAAsC,EAAE,EAAE;YAC7D,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;YACxC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAAE,OAAM;YAC1D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAAE,OAAM;YAC3C,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;QAC5C,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;IAE5D,MAAM,eAAe,GAAG,eAAQ,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAEhG,4BAA4B,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG;;;;;;;;;CASrC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,QAAsC,EAAE,IAAU,EAAE,EAAE;IACrF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;IACxC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAAE,OAAM;IAC/D,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAM;IAC7C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IACvC,IAAI,WAAW;QAAE,OAAM;IACvB,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAA;IACzC,MAAM,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,wBAAwB,oBAAoB,CAAC,CAAA;IACxG,MAAM,eAAe,GAAG,eAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAA;IAC1G,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,QAAsC,EAAE,EAAE;IAC1E,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;IAClC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAAE,OAAM;IACjE,QAAQ,CAAC,MAAM,EAAE,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,QAAsC,EAAE,EAAE;IACxE,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAA;IAClC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAAE,OAAM;IAC/D,QAAQ,CAAC,MAAM,EAAE,CAAA;AACnB,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,IAAU,EAAE,EAAE;IAClE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,CAAC,aAAa;IAC5C,IAAA,kBAAQ,EAAC,GAAG,EAAE;QACZ,oBAAoB,EAAE,CAAC,QAAwC,EAAE,EAAE;YACjE,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC1C,2CAA2C,CAAC,QAAQ,CAAC,CAAA;QACvD,CAAC;QACD,kBAAkB,CAAE,QAAsC;YACxD,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACvC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;YAClC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;KACF,CAAC,CAAA;IACF,OAAO,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAC5B,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC"}
1
+ {"version":3,"file":"transform-webpack-runtime.js","sourceRoot":"","sources":["../src/transform-webpack-runtime.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -5,10 +5,6 @@ export declare const isNumber: (val: any) => boolean;
5
5
  export declare const isDynamicPackageName: (prefix: string, packageName: string) => boolean;
6
6
  export declare const isDynamicPackageJsAsset: (prefix: string, assetName: string) => boolean;
7
7
  export declare const isDynamicPackageWXssAsset: (prefix: string, assetName: string) => boolean;
8
- export declare const isDynamicPackageWXssAssetWithOrder: (opt: AsyncPackOpts & {
9
- order?: number;
10
- }, assetName: string) => boolean;
11
8
  export declare const generateDynamicPackageName: (opt: AsyncPackOpts & {
12
9
  order?: number;
13
10
  }) => string;
14
- export declare const normalizeFileName: (fileName: string) => string;
package/dist/utils.js CHANGED
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.normalizeFileName = exports.generateDynamicPackageName = exports.isDynamicPackageWXssAssetWithOrder = exports.isDynamicPackageWXssAsset = exports.isDynamicPackageJsAsset = exports.isDynamicPackageName = exports.isNumber = exports.hashModBigInt = exports.generateKeyByOrder = void 0;
7
- const path_1 = __importDefault(require("path"));
3
+ exports.generateDynamicPackageName = exports.isDynamicPackageWXssAsset = exports.isDynamicPackageJsAsset = exports.isDynamicPackageName = exports.isNumber = exports.hashModBigInt = exports.generateKeyByOrder = void 0;
8
4
  const generateKeyByOrder = (order) => {
9
5
  const startStr = 'a'.charCodeAt(0);
10
6
  const firstLetter = String.fromCharCode(startStr + Math.floor(order / 26));
@@ -37,20 +33,10 @@ const isDynamicPackageWXssAsset = (prefix, assetName) => {
37
33
  return dynamicWXssAssetRegExp.test(assetName);
38
34
  };
39
35
  exports.isDynamicPackageWXssAsset = isDynamicPackageWXssAsset;
40
- const isDynamicPackageWXssAssetWithOrder = (opt, assetName) => {
41
- if (!(0, exports.isNumber)(opt.order) || opt.dynamicPackageCount <= 1)
42
- return (0, exports.isDynamicPackageWXssAsset)(opt.dynamicPackageNamePrefix, assetName);
43
- return new RegExp(`^${opt.dynamicPackageNamePrefix}-${(0, exports.generateKeyByOrder)(opt.order)}\\/.*\\.wxss$`).test(assetName);
44
- };
45
- exports.isDynamicPackageWXssAssetWithOrder = isDynamicPackageWXssAssetWithOrder;
46
36
  const generateDynamicPackageName = (opt) => {
47
37
  if (!(0, exports.isNumber)(opt.order) || opt.dynamicPackageCount <= 1)
48
38
  return opt.dynamicPackageNamePrefix;
49
39
  return `${opt.dynamicPackageNamePrefix}-${(0, exports.generateKeyByOrder)(opt.order)}`;
50
40
  };
51
41
  exports.generateDynamicPackageName = generateDynamicPackageName;
52
- const normalizeFileName = (fileName) => {
53
- return path_1.default.normalize(fileName).replace(/\\/g, '/');
54
- };
55
- exports.normalizeFileName = normalizeFileName;
56
42
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;IAC/D,OAAO,GAAG,WAAW,GAAG,YAAY,EAAE,CAAA;AACxC,CAAC,CAAA;AALY,QAAA,kBAAkB,sBAK9B;AAEM,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IACnB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAHY,QAAA,aAAa,iBAGzB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,EAAE;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACxD,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAEM,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;IAC1E,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAA;IACnE,OAAO,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC9C,CAAC,CAAA;AAHY,QAAA,oBAAoB,wBAGhC;AAEM,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE;IAC3E,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,2BAA2B,CAAC,CAAA;IAC9E,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC7C,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,yBAAyB,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE;IAC7E,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,6BAA6B,CAAC,CAAA;IAClF,OAAO,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC/C,CAAC,CAAA;AAHY,QAAA,yBAAyB,6BAGrC;AAEM,MAAM,0BAA0B,GAAG,CAAC,GAAuC,EAAE,EAAE;IACpF,IAAI,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,wBAAwB,CAAA;IAC7F,OAAO,GAAG,GAAG,CAAC,wBAAwB,IAAI,IAAA,0BAAkB,EAAC,GAAG,CAAC,KAAM,CAAC,EAAE,CAAA;AAC5E,CAAC,CAAA;AAHY,QAAA,0BAA0B,8BAGtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taro-minify-pack/plugin-async-pack",
3
- "version": "0.0.5-alpha.6",
3
+ "version": "0.0.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",