@mpxjs/webpack-plugin 2.9.7 → 2.9.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 +47 -36
- package/lib/json-compiler/helper.js +8 -5
- package/lib/json-compiler/index.js +11 -4
- package/lib/runtime/components/web/mpx-movable-view.vue +1 -1
- package/lib/runtime/optionProcessor.d.ts +3 -1
- package/lib/runtime/optionProcessor.js +8 -9
- package/lib/script-setup-compiler/index.js +1 -1
- package/lib/template-compiler/bind-this.js +22 -8
- package/lib/template-compiler/compiler.js +1 -1
- package/lib/utils/get-entry-name.js +6 -4
- package/lib/web/processJSON.js +4 -3
- package/lib/web/processMainScript.js +3 -1
- package/lib/web/processScript.js +2 -2
- package/package.json +2 -2
package/lib/index.js
CHANGED
|
@@ -15,6 +15,8 @@ const EntryPlugin = require('webpack/lib/EntryPlugin')
|
|
|
15
15
|
const JavascriptModulesPlugin = require('webpack/lib/javascript/JavascriptModulesPlugin')
|
|
16
16
|
const FlagEntryExportAsUsedPlugin = require('webpack/lib/FlagEntryExportAsUsedPlugin')
|
|
17
17
|
const FileSystemInfo = require('webpack/lib/FileSystemInfo')
|
|
18
|
+
const ImportDependency = require('webpack/lib/dependencies/ImportDependency')
|
|
19
|
+
const AsyncDependenciesBlock = require('webpack/lib/AsyncDependenciesBlock')
|
|
18
20
|
const normalize = require('./utils/normalize')
|
|
19
21
|
const toPosix = require('./utils/to-posix')
|
|
20
22
|
const addQuery = require('./utils/add-query')
|
|
@@ -325,36 +327,31 @@ class MpxWebpackPlugin {
|
|
|
325
327
|
compiler.options.resolve.plugins.push(packageEntryPlugin)
|
|
326
328
|
compiler.options.resolve.plugins.push(new FixDescriptionInfoPlugin())
|
|
327
329
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
name: (entrypoint) => {
|
|
335
|
-
for (const packageName in mpx.independentSubpackagesMap) {
|
|
336
|
-
if (hasOwn(mpx.independentSubpackagesMap, packageName) && isChunkInPackage(entrypoint.name, packageName)) {
|
|
337
|
-
return `${packageName}/bundle`
|
|
338
|
-
}
|
|
330
|
+
const optimization = compiler.options.optimization
|
|
331
|
+
optimization.runtimeChunk = {
|
|
332
|
+
name: (entrypoint) => {
|
|
333
|
+
for (const packageName in mpx.independentSubpackagesMap) {
|
|
334
|
+
if (hasOwn(mpx.independentSubpackagesMap, packageName) && isChunkInPackage(entrypoint.name, packageName)) {
|
|
335
|
+
return `${packageName}/bundle`
|
|
339
336
|
}
|
|
340
|
-
return 'bundle'
|
|
341
337
|
}
|
|
338
|
+
return 'bundle'
|
|
342
339
|
}
|
|
343
|
-
splitChunksOptions = Object.assign({
|
|
344
|
-
defaultSizeTypes: ['javascript', 'unknown'],
|
|
345
|
-
chunks: 'all',
|
|
346
|
-
usedExports: optimization.usedExports === true,
|
|
347
|
-
minChunks: 1,
|
|
348
|
-
minSize: 1000,
|
|
349
|
-
enforceSizeThreshold: Infinity,
|
|
350
|
-
maxAsyncRequests: 30,
|
|
351
|
-
maxInitialRequests: 30,
|
|
352
|
-
automaticNameDelimiter: '-'
|
|
353
|
-
}, optimization.splitChunks)
|
|
354
|
-
delete optimization.splitChunks
|
|
355
|
-
splitChunksPlugin = new SplitChunksPlugin(splitChunksOptions)
|
|
356
|
-
splitChunksPlugin.apply(compiler)
|
|
357
340
|
}
|
|
341
|
+
const splitChunksOptions = Object.assign({
|
|
342
|
+
defaultSizeTypes: ['javascript', 'unknown'],
|
|
343
|
+
chunks: 'all',
|
|
344
|
+
usedExports: optimization.usedExports === true,
|
|
345
|
+
minChunks: 1,
|
|
346
|
+
minSize: 1000,
|
|
347
|
+
enforceSizeThreshold: Infinity,
|
|
348
|
+
maxAsyncRequests: 30,
|
|
349
|
+
maxInitialRequests: 30,
|
|
350
|
+
automaticNameDelimiter: '-'
|
|
351
|
+
}, optimization.splitChunks)
|
|
352
|
+
delete optimization.splitChunks
|
|
353
|
+
const splitChunksPlugin = new SplitChunksPlugin(splitChunksOptions)
|
|
354
|
+
splitChunksPlugin.apply(compiler)
|
|
358
355
|
|
|
359
356
|
// 代理writeFile
|
|
360
357
|
if (this.options.writeMode === 'changed') {
|
|
@@ -635,7 +632,7 @@ class MpxWebpackPlugin {
|
|
|
635
632
|
useRelativePath: this.options.useRelativePath,
|
|
636
633
|
removedChunks: [],
|
|
637
634
|
forceProxyEventRules: this.options.forceProxyEventRules,
|
|
638
|
-
|
|
635
|
+
supportRequireAsync: this.options.mode === 'wx' || this.options.mode === 'web' || (this.options.mode === 'ali' && this.options.enableAliRequireAsync),
|
|
639
636
|
partialCompile: this.options.partialCompile,
|
|
640
637
|
collectDynamicEntryInfo: ({ resource, packageName, filename, entryType }) => {
|
|
641
638
|
const curInfo = mpx.dynamicEntryInfo[packageName] = mpx.dynamicEntryInfo[packageName] || {
|
|
@@ -1092,16 +1089,30 @@ class MpxWebpackPlugin {
|
|
|
1092
1089
|
if (tarRoot) {
|
|
1093
1090
|
// 删除root query
|
|
1094
1091
|
if (queryObj.root) request = addQuery(request, {}, false, ['root'])
|
|
1095
|
-
//
|
|
1096
|
-
if (mpx.
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1092
|
+
// wx、ali(需开启enableAliRequireAsync)和web平台支持require.async,其余平台使用CommonJsAsyncDependency进行模拟抹平
|
|
1093
|
+
if (mpx.supportRequireAsync) {
|
|
1094
|
+
if (mpx.mode === 'web') {
|
|
1095
|
+
const depBlock = new AsyncDependenciesBlock(
|
|
1096
|
+
{
|
|
1097
|
+
name: tarRoot
|
|
1098
|
+
},
|
|
1099
|
+
expr.loc,
|
|
1100
|
+
request
|
|
1101
|
+
)
|
|
1102
|
+
const dep = new ImportDependency(request, expr.range)
|
|
1103
|
+
dep.loc = expr.loc
|
|
1104
|
+
depBlock.addDependency(dep)
|
|
1105
|
+
parser.state.current.addBlock(depBlock)
|
|
1106
|
+
} else {
|
|
1107
|
+
const dep = new DynamicEntryDependency(request, 'export', '', tarRoot, '', context, range, {
|
|
1108
|
+
isRequireAsync: true,
|
|
1109
|
+
retryRequireAsync: !!this.options.retryRequireAsync
|
|
1110
|
+
})
|
|
1101
1111
|
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1112
|
+
parser.state.current.addPresentationalDependency(dep)
|
|
1113
|
+
// 包含require.async的模块不能被concatenate,避免DynamicEntryDependency中无法获取模块chunk以计算相对路径
|
|
1114
|
+
parser.state.module.buildInfo.moduleConcatenationBailout = 'require async'
|
|
1115
|
+
}
|
|
1105
1116
|
} else {
|
|
1106
1117
|
const range = expr.range
|
|
1107
1118
|
const dep = new CommonJsAsyncDependency(request, range)
|
|
@@ -17,7 +17,7 @@ module.exports = function createJSONHelper ({ loaderContext, emitWarning, custom
|
|
|
17
17
|
const pathHash = mpx.pathHash
|
|
18
18
|
const getOutputPath = mpx.getOutputPath
|
|
19
19
|
const mode = mpx.mode
|
|
20
|
-
const
|
|
20
|
+
const supportRequireAsync = mpx.supportRequireAsync
|
|
21
21
|
const asyncSubpackageRules = mpx.asyncSubpackageRules
|
|
22
22
|
|
|
23
23
|
const isUrlRequest = r => isUrlRequestRaw(r, root, externals)
|
|
@@ -51,15 +51,15 @@ module.exports = function createJSONHelper ({ loaderContext, emitWarning, custom
|
|
|
51
51
|
resolve(context, component, loaderContext, (err, resource, info) => {
|
|
52
52
|
if (err) return callback(err)
|
|
53
53
|
const { resourcePath, queryObj } = parseRequest(resource)
|
|
54
|
-
let placeholder =
|
|
54
|
+
let placeholder = ''
|
|
55
55
|
if (queryObj.root) {
|
|
56
56
|
// 删除root query
|
|
57
57
|
resource = addQuery(resource, {}, false, ['root'])
|
|
58
58
|
// 目前只有微信支持分包异步化
|
|
59
|
-
if (
|
|
59
|
+
if (supportRequireAsync) {
|
|
60
60
|
tarRoot = queryObj.root
|
|
61
61
|
}
|
|
62
|
-
} else if (!queryObj.root && asyncSubpackageRules &&
|
|
62
|
+
} else if (!queryObj.root && asyncSubpackageRules && supportRequireAsync) {
|
|
63
63
|
for (const item of asyncSubpackageRules) {
|
|
64
64
|
if (matchCondition(resourcePath, item)) {
|
|
65
65
|
tarRoot = item.root
|
|
@@ -97,7 +97,10 @@ module.exports = function createJSONHelper ({ loaderContext, emitWarning, custom
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
const entry = getDynamicEntry(resource, 'component', outputPath, tarRoot, relativePath)
|
|
100
|
-
callback(null, entry,
|
|
100
|
+
callback(null, entry, {
|
|
101
|
+
tarRoot,
|
|
102
|
+
placeholder
|
|
103
|
+
})
|
|
101
104
|
})
|
|
102
105
|
}
|
|
103
106
|
|
|
@@ -14,6 +14,9 @@ const RecordGlobalComponentsDependency = require('../dependencies/RecordGlobalCo
|
|
|
14
14
|
const RecordIndependentDependency = require('../dependencies/RecordIndependentDependency')
|
|
15
15
|
const { MPX_DISABLE_EXTRACTOR_CACHE, RESOLVE_IGNORED_ERR, JSON_JS_EXT } = require('../utils/const')
|
|
16
16
|
const resolve = require('../utils/resolve')
|
|
17
|
+
const normalize = require('../utils/normalize')
|
|
18
|
+
const mpxViewPath = normalize.lib('runtime/components/ali/mpx-view.mpx')
|
|
19
|
+
const mpxTextPath = normalize.lib('runtime/components/ali/mpx-text.mpx')
|
|
17
20
|
|
|
18
21
|
module.exports = function (content) {
|
|
19
22
|
const nativeCallback = this.async()
|
|
@@ -65,9 +68,13 @@ module.exports = function (content) {
|
|
|
65
68
|
}
|
|
66
69
|
const normalizePlaceholder = (placeholder) => {
|
|
67
70
|
if (typeof placeholder === 'string') {
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
const placeholderMap = mode === 'ali'
|
|
72
|
+
? {
|
|
73
|
+
view: { name: 'mpx-view', resource: mpxViewPath },
|
|
74
|
+
text: { name: 'mpx-text', resource: mpxTextPath }
|
|
70
75
|
}
|
|
76
|
+
: {}
|
|
77
|
+
placeholder = placeholderMap[placeholder] || { name: placeholder }
|
|
71
78
|
}
|
|
72
79
|
if (!placeholder.name) {
|
|
73
80
|
emitError('The asyncSubpackageRules configuration format of @mpxjs/webpack-plugin a is incorrect')
|
|
@@ -211,14 +218,14 @@ module.exports = function (content) {
|
|
|
211
218
|
const processComponents = (components, context, callback) => {
|
|
212
219
|
if (components) {
|
|
213
220
|
async.eachOf(components, (component, name, callback) => {
|
|
214
|
-
processComponent(component, context, { relativePath }, (err, entry,
|
|
221
|
+
processComponent(component, context, { relativePath }, (err, entry, { tarRoot, placeholder } = {}) => {
|
|
215
222
|
if (err === RESOLVE_IGNORED_ERR) {
|
|
216
223
|
delete components[name]
|
|
217
224
|
return callback()
|
|
218
225
|
}
|
|
219
226
|
if (err) return callback(err)
|
|
220
227
|
components[name] = entry
|
|
221
|
-
if (
|
|
228
|
+
if (tarRoot) {
|
|
222
229
|
if (placeholder) {
|
|
223
230
|
placeholder = normalizePlaceholder(placeholder)
|
|
224
231
|
if (placeholder.resource) {
|
|
@@ -6,8 +6,10 @@ declare global {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export function processComponentOption (...args: any): object
|
|
10
10
|
|
|
11
11
|
export function getComponent (...args: any): object
|
|
12
12
|
|
|
13
13
|
export function getWxsMixin (...args: any): object
|
|
14
|
+
|
|
15
|
+
export function processAppOption (...args: any): void
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { hasOwn } from './utils'
|
|
1
|
+
import { hasOwn, isEmptyObject } from './utils'
|
|
2
2
|
import { isBrowser } from './env'
|
|
3
3
|
import transRpxStyle from './transRpxStyle'
|
|
4
4
|
import animation from './animation'
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export function processComponentOption (
|
|
7
7
|
{
|
|
8
8
|
option,
|
|
9
9
|
ctorType,
|
|
@@ -12,7 +12,7 @@ export default function processComponentOption (
|
|
|
12
12
|
componentsMap,
|
|
13
13
|
componentGenerics,
|
|
14
14
|
genericsInfo,
|
|
15
|
-
|
|
15
|
+
wxsMixin,
|
|
16
16
|
hasApp
|
|
17
17
|
}
|
|
18
18
|
) {
|
|
@@ -40,7 +40,7 @@ registered in parent context!`)
|
|
|
40
40
|
})
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
if (componentGenerics) {
|
|
43
|
+
if (!isEmptyObject(componentGenerics)) {
|
|
44
44
|
option.props = option.props || {}
|
|
45
45
|
option.props.generichash = String
|
|
46
46
|
Object.keys(componentGenerics).forEach((genericName) => {
|
|
@@ -64,10 +64,9 @@ registered in parent context!`)
|
|
|
64
64
|
option.filters = { transRpxStyle }
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
if (
|
|
68
|
-
option.mixins.
|
|
69
|
-
|
|
70
|
-
option.mixins = [mixin]
|
|
67
|
+
if (wxsMixin) {
|
|
68
|
+
option.mixins = option.mixins || []
|
|
69
|
+
option.mixins.push(wxsMixin)
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
if (outputPath) {
|
|
@@ -85,7 +84,7 @@ export function getComponent (component, extendOptions) {
|
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
export function getWxsMixin (wxsModules) {
|
|
88
|
-
if (!wxsModules || !Object.keys(wxsModules).length) return
|
|
87
|
+
if (!wxsModules || !Object.keys(wxsModules).length) return
|
|
89
88
|
return {
|
|
90
89
|
created () {
|
|
91
90
|
Object.keys(wxsModules).forEach((key) => {
|
|
@@ -96,12 +96,11 @@ function checkDelAndGetPath (path) {
|
|
|
96
96
|
} else {
|
|
97
97
|
delPath = current.parentPath
|
|
98
98
|
}
|
|
99
|
-
} else if (t.isLogicalExpression(current.container)) { // case: a || ''
|
|
99
|
+
} else if (t.isLogicalExpression(current.container)) { // 只处理case: a || '' or '123' || a
|
|
100
100
|
const key = current.key === 'left' ? 'right' : 'left'
|
|
101
101
|
if (t.isLiteral(current.parent[key])) {
|
|
102
102
|
delPath = current.parentPath
|
|
103
103
|
} else {
|
|
104
|
-
canDel = false
|
|
105
104
|
break
|
|
106
105
|
}
|
|
107
106
|
} else if (current.key === 'expression' && t.isExpressionStatement(current.parentPath)) { // dealRemove删除节点时需要
|
|
@@ -116,11 +115,23 @@ function checkDelAndGetPath (path) {
|
|
|
116
115
|
// 确定是否可删除
|
|
117
116
|
while (!t.isBlockStatement(current) && canDel) {
|
|
118
117
|
const { key, container } = current
|
|
118
|
+
if (t.isIfStatement(container) && key === 'test') { // if (a) {}
|
|
119
|
+
canDel = false
|
|
120
|
+
break
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (t.isLogicalExpression(container)) { // case: a || ((b || c) && d)
|
|
124
|
+
ignore = true
|
|
125
|
+
break
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// case: a ??= b
|
|
119
129
|
if (
|
|
120
|
-
|
|
121
|
-
|
|
130
|
+
key === 'right' &&
|
|
131
|
+
t.isAssignmentExpression(container) &&
|
|
132
|
+
['??=', '||=', '&&='].includes(container.operator)
|
|
122
133
|
) {
|
|
123
|
-
|
|
134
|
+
ignore = true
|
|
124
135
|
break
|
|
125
136
|
}
|
|
126
137
|
|
|
@@ -166,13 +177,16 @@ function dealRemove (path, replace) {
|
|
|
166
177
|
if (replace) {
|
|
167
178
|
path.replaceWith(t.stringLiteral(''))
|
|
168
179
|
} else {
|
|
169
|
-
|
|
180
|
+
if (path.inList) {
|
|
181
|
+
t.validate(path.parent, path.key, [null])
|
|
182
|
+
} else {
|
|
183
|
+
t.validate(path.parent, path.key, null)
|
|
184
|
+
}
|
|
170
185
|
path.remove()
|
|
171
186
|
}
|
|
172
187
|
delete path.needBind
|
|
173
188
|
delete path.collectInfo
|
|
174
|
-
} catch (e) {
|
|
175
|
-
}
|
|
189
|
+
} catch (e) {}
|
|
176
190
|
}
|
|
177
191
|
|
|
178
192
|
module.exports = {
|
|
@@ -1931,7 +1931,7 @@ function postProcessTemplate (el) {
|
|
|
1931
1931
|
}
|
|
1932
1932
|
}
|
|
1933
1933
|
|
|
1934
|
-
const isValidMode = makeMap('wx,ali,swan,tt,qq,web,qa,jd,dd,noMode')
|
|
1934
|
+
const isValidMode = makeMap('wx,ali,swan,tt,qq,web,qa,jd,dd,tenon,noMode')
|
|
1935
1935
|
|
|
1936
1936
|
const wrapRE = /^\((.*)\)$/
|
|
1937
1937
|
|
|
@@ -3,10 +3,12 @@ module.exports = function (loaderContext) {
|
|
|
3
3
|
const moduleGraph = loaderContext._compilation.moduleGraph
|
|
4
4
|
let entryName = ''
|
|
5
5
|
for (const [name, { dependencies }] of loaderContext._compilation.entries) {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
for (const dep of dependencies) {
|
|
7
|
+
const entryModule = moduleGraph.getModule(dep)
|
|
8
|
+
if (entryModule && entryModule.resource === loaderContext.resource) {
|
|
9
|
+
entryName = name
|
|
10
|
+
break
|
|
11
|
+
}
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
14
|
return entryName
|
package/lib/web/processJSON.js
CHANGED
|
@@ -61,7 +61,8 @@ module.exports = function (json, {
|
|
|
61
61
|
customGetDynamicEntry (resource, type, outputPath, packageRoot) {
|
|
62
62
|
return {
|
|
63
63
|
resource,
|
|
64
|
-
outputPath
|
|
64
|
+
// 输出web时组件outputPath不需要拼接packageRoot
|
|
65
|
+
outputPath: type === 'page' ? toPosix(path.join(packageRoot, outputPath)) : outputPath,
|
|
65
66
|
packageRoot
|
|
66
67
|
}
|
|
67
68
|
}
|
|
@@ -297,7 +298,7 @@ module.exports = function (json, {
|
|
|
297
298
|
const processComponents = (components, context, callback) => {
|
|
298
299
|
if (components) {
|
|
299
300
|
async.eachOf(components, (component, name, callback) => {
|
|
300
|
-
processComponent(component, context, {}, (err, { resource, outputPath } = {}) => {
|
|
301
|
+
processComponent(component, context, {}, (err, { resource, outputPath } = {}, { tarRoot } = {}) => {
|
|
301
302
|
if (err) return callback(err === RESOLVE_IGNORED_ERR ? null : err)
|
|
302
303
|
const { resourcePath, queryObj } = parseRequest(resource)
|
|
303
304
|
componentsMap[resourcePath] = outputPath
|
|
@@ -307,7 +308,7 @@ module.exports = function (json, {
|
|
|
307
308
|
isComponent: true,
|
|
308
309
|
outputPath
|
|
309
310
|
}),
|
|
310
|
-
async: queryObj.async
|
|
311
|
+
async: queryObj.async || tarRoot
|
|
311
312
|
}
|
|
312
313
|
callback()
|
|
313
314
|
})
|
|
@@ -46,7 +46,6 @@ module.exports = function (script, {
|
|
|
46
46
|
output += ` import Vue from 'vue'
|
|
47
47
|
import VueRouter from 'vue-router'
|
|
48
48
|
import Mpx from '@mpxjs/core'
|
|
49
|
-
import App from ${stringifyRequest(loaderContext, addQuery(resource, { isApp: true }))}
|
|
50
49
|
import { processAppOption, getComponent } from ${stringifyRequest(loaderContext, optionProcessorPath)}
|
|
51
50
|
Vue.use(VueRouter)\n`
|
|
52
51
|
|
|
@@ -64,6 +63,9 @@ module.exports = function (script, {
|
|
|
64
63
|
isMain: true,
|
|
65
64
|
globalTabBar
|
|
66
65
|
})
|
|
66
|
+
|
|
67
|
+
output += `\n const App = require(${stringifyRequest(loaderContext, addQuery(resource, { isApp: true }))}).default\n`
|
|
68
|
+
|
|
67
69
|
output += `
|
|
68
70
|
export default processAppOption({
|
|
69
71
|
App,
|
package/lib/web/processScript.js
CHANGED
|
@@ -40,7 +40,7 @@ module.exports = function (script, {
|
|
|
40
40
|
return attrs
|
|
41
41
|
},
|
|
42
42
|
content (script) {
|
|
43
|
-
let content = `\n import processComponentOption,
|
|
43
|
+
let content = `\n import { processComponentOption, getComponent, getWxsMixin } from ${stringifyRequest(optionProcessorPath)}\n`
|
|
44
44
|
let hasApp = true
|
|
45
45
|
if (!appInfo.name) {
|
|
46
46
|
hasApp = false
|
|
@@ -85,7 +85,7 @@ module.exports = function (script, {
|
|
|
85
85
|
componentsMap: ${shallowStringify(componentsMap)},
|
|
86
86
|
componentGenerics: ${JSON.stringify(componentGenerics)},
|
|
87
87
|
genericsInfo: ${JSON.stringify(genericsInfo)},
|
|
88
|
-
|
|
88
|
+
wxsMixin: getWxsMixin(wxsModules),
|
|
89
89
|
hasApp: ${hasApp}
|
|
90
90
|
})\n`
|
|
91
91
|
return content
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mpxjs/webpack-plugin",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.9",
|
|
4
4
|
"description": "mpx compile core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mpx"
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"engines": {
|
|
84
84
|
"node": ">=14.14.0"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "7ec6526f024c00f9c6b935c631bfdc61be27b69b"
|
|
87
87
|
}
|