@taro-minify-pack/plugin-async-pack 0.1.4-alpha.4 → 0.1.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,7 +85,9 @@ const replaceWebpackLoadScriptFn = (assignmentExpressionNodePath, opts) => {
85
85
  const { left, right } = assignmentExpressionNodePath.node || {};
86
86
  if (!types.isMemberExpression(left))
87
87
  return;
88
- if (!types.isFunctionExpression(right))
88
+ // webpack5 的 loadScript 在产物中可能是 FunctionExpression 或 ArrowFunctionExpression(受
89
+ // output.environment.arrowFunction 影响,Taro 3.6.x 默认产物为箭头函数),二者都需命中
90
+ if (!types.isFunction(right))
89
91
  return;
90
92
  if (!types.isIdentifier(left.object, { name: '__webpack_require__' }))
91
93
  return;
@@ -112,6 +114,7 @@ const replaceWebpackLoadScriptFn = (assignmentExpressionNodePath, opts) => {
112
114
  assignmentExpressionNodePath.replaceWith(templateCodeAst);
113
115
  assignmentExpressionNodePath.insertBefore(loadDynamicModuleFnMapAst);
114
116
  assignmentExpressionNodePath.insertBefore(templateCodeDepAst);
117
+ return true;
115
118
  };
116
119
  const webpackLoadDynamicStylesheetTemplate = `
117
120
  !function () {
@@ -130,7 +133,7 @@ const replaceWebpackLoadDynamicModuleStylesheetFn = (path, opts) => {
130
133
  const { left, right } = nodePath.node || {};
131
134
  if (!types.isMemberExpression(left))
132
135
  return;
133
- if (!types.isFunctionExpression(right))
136
+ if (!types.isFunction(right))
134
137
  return;
135
138
  if (!types.isMemberExpression(left.object))
136
139
  return;
@@ -152,14 +155,28 @@ const replaceWebpackLoadDynamicModuleStylesheetFn = (path, opts) => {
152
155
  };
153
156
  const transformWebpackRuntime = (code, opts) => {
154
157
  const ast = parser.parse(code); // 将代码解析为 AST
158
+ let loadScriptMatched = false;
155
159
  (0, traverse_1.default)(ast, {
156
160
  UnaryExpression: (nodePath) => {
157
161
  replaceWebpackLoadDynamicModuleStylesheetFn(nodePath, opts);
158
162
  },
159
163
  AssignmentExpression: (nodePath) => {
160
- replaceWebpackLoadScriptFn(nodePath, opts);
164
+ const matched = replaceWebpackLoadScriptFn(nodePath, opts);
165
+ loadScriptMatched = loadScriptMatched || !!matched;
161
166
  }
162
167
  });
168
+ const hasDynamicJsAssets = Object.keys(opts.assets).some((assetName) => {
169
+ return (0, utils_1.isDynamicPackageAsset)(opts, assetName) && (0, utils_1.matchSuffix)('js', assetName);
170
+ });
171
+ // fail loud:配置了动态分包但 runtime 的 loadScript 未被替换时,异步 chunk 会退回
172
+ // 浏览器 script 注入(document.createElement),在微信小程序环境必然加载失败,
173
+ // 且该失败发生在真机运行时,构建期无任何报错——必须在构建期显式暴露
174
+ if (hasDynamicJsAssets && !loadScriptMatched) {
175
+ console.warn('[taro-plugin-async-pack] 未能在 runtime.js 中匹配 __webpack_require__.l(loadScript)赋值,' +
176
+ '异步 chunk 加载将退回浏览器实现,在微信小程序环境会运行时失败。' +
177
+ '已知 workaround:webpackChain 中设置 output.environment.arrowFunction = false,' +
178
+ '使 runtime 降为普通函数形态;或将你的 Taro/webpack 版本与插件兼容矩阵对照确认。');
179
+ }
163
180
  return (0, generator_1.default)(ast).code;
164
181
  };
165
182
  exports.transformWebpackRuntime = transformWebpackRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"transform-webpack-runtime.js","sourceRoot":"","sources":["../src/transform-webpack-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform-webpack-runtime.js","sourceRoot":"","sources":["../src/transform-webpack-runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taro-minify-pack/plugin-async-pack",
3
- "version": "0.1.4-alpha.4",
3
+ "version": "0.1.5-alpha.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -59,7 +59,9 @@ const replaceWebpackLoadScriptFn = (assignmentExpressionNodePath: NodePath<Assig
59
59
 
60
60
  if (!types.isMemberExpression(left)) return
61
61
 
62
- if (!types.isFunctionExpression(right)) return
62
+ // webpack5 的 loadScript 在产物中可能是 FunctionExpression 或 ArrowFunctionExpression(受
63
+ // output.environment.arrowFunction 影响,Taro 3.6.x 默认产物为箭头函数),二者都需命中
64
+ if (!types.isFunction(right)) return
63
65
 
64
66
  if (!types.isIdentifier(left.object, { name: '__webpack_require__' })) return
65
67
 
@@ -96,6 +98,8 @@ const replaceWebpackLoadScriptFn = (assignmentExpressionNodePath: NodePath<Assig
96
98
  assignmentExpressionNodePath.insertBefore(loadDynamicModuleFnMapAst)
97
99
 
98
100
  assignmentExpressionNodePath.insertBefore(templateCodeDepAst)
101
+
102
+ return true
99
103
  }
100
104
 
101
105
  const webpackLoadDynamicStylesheetTemplate = `
@@ -118,7 +122,7 @@ const replaceWebpackLoadDynamicModuleStylesheetFn = (path: NodePath<UnaryExpress
118
122
 
119
123
  if (!types.isMemberExpression(left)) return
120
124
 
121
- if (!types.isFunctionExpression(right)) return
125
+ if (!types.isFunction(right)) return
122
126
 
123
127
  if (!types.isMemberExpression(left.object)) return
124
128
 
@@ -143,13 +147,35 @@ const replaceWebpackLoadDynamicModuleStylesheetFn = (path: NodePath<UnaryExpress
143
147
 
144
148
  export const transformWebpackRuntime = (code: string, opts: Opts) => {
145
149
  const ast = parser.parse(code) // 将代码解析为 AST
150
+
151
+ let loadScriptMatched = false
152
+
146
153
  traverse(ast, {
147
154
  UnaryExpression: (nodePath: NodePath<UnaryExpression>) => {
148
155
  replaceWebpackLoadDynamicModuleStylesheetFn(nodePath, opts)
149
156
  },
150
157
  AssignmentExpression: (nodePath: NodePath<AssignmentExpression>) => {
151
- replaceWebpackLoadScriptFn(nodePath, opts)
158
+ const matched = replaceWebpackLoadScriptFn(nodePath, opts)
159
+
160
+ loadScriptMatched = loadScriptMatched || !!matched
152
161
  }
153
162
  })
163
+
164
+ const hasDynamicJsAssets = Object.keys(opts.assets).some((assetName) => {
165
+ return isDynamicPackageAsset(opts, assetName) && matchSuffix('js', assetName)
166
+ })
167
+
168
+ // fail loud:配置了动态分包但 runtime 的 loadScript 未被替换时,异步 chunk 会退回
169
+ // 浏览器 script 注入(document.createElement),在微信小程序环境必然加载失败,
170
+ // 且该失败发生在真机运行时,构建期无任何报错——必须在构建期显式暴露
171
+ if (hasDynamicJsAssets && !loadScriptMatched) {
172
+ console.warn(
173
+ '[taro-plugin-async-pack] 未能在 runtime.js 中匹配 __webpack_require__.l(loadScript)赋值,' +
174
+ '异步 chunk 加载将退回浏览器实现,在微信小程序环境会运行时失败。' +
175
+ '已知 workaround:webpackChain 中设置 output.environment.arrowFunction = false,' +
176
+ '使 runtime 降为普通函数形态;或将你的 Taro/webpack 版本与插件兼容矩阵对照确认。'
177
+ )
178
+ }
179
+
154
180
  return generator(ast).code
155
181
  }