@tarojs/service 3.6.19 → 3.6.21
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/platform-plugin-base/mini.js +16 -1
- package/dist/platform-plugin-base/mini.js.map +1 -1
- package/dist/platform-plugin-base/webpack/hmr-plugin.js +37 -0
- package/dist/platform-plugin-base/webpack/hmr-plugin.js.map +1 -0
- package/package.json +4 -4
- package/src/platform-plugin-base/mini.ts +16 -0
- package/src/platform-plugin-base/webpack/hmr-plugin.ts +37 -0
- package/types/platform-plugin-base/mini.d.ts +1 -0
- package/types/platform-plugin-base/webpack/hmr-plugin.d.ts +3 -0
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.TaroPlatformBase = void 0;
|
|
13
13
|
const helper_1 = require("@tarojs/helper");
|
|
14
14
|
const shared_1 = require("@tarojs/shared");
|
|
15
|
+
const path = require("path");
|
|
15
16
|
const package_1 = require("../utils/package");
|
|
16
17
|
const platform_1 = require("./platform");
|
|
17
18
|
class TaroPlatformBase extends platform_1.default {
|
|
@@ -32,7 +33,7 @@ class TaroPlatformBase extends platform_1.default {
|
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
35
|
setupImpl() {
|
|
35
|
-
var _a;
|
|
36
|
+
var _a, _b;
|
|
36
37
|
const { output } = this.config;
|
|
37
38
|
// webpack5 原生支持 output.clean 选项,但是 webpack4 不支持, 为统一行为,这里做一下兼容
|
|
38
39
|
// (在 packages/taro-mini-runner/src/webpack/chain.ts 和 packages/taro-webpack-runner/src/utils/chain.ts 的 makeConfig 中对 clean 选项做了过滤)
|
|
@@ -52,6 +53,19 @@ class TaroPlatformBase extends platform_1.default {
|
|
|
52
53
|
const { printLog, processTypeEnum } = this.ctx.helper;
|
|
53
54
|
printLog("start" /* processTypeEnum.START */, '开发者工具-项目目录', `${this.ctx.paths.outputPath}`);
|
|
54
55
|
}
|
|
56
|
+
// Webpack5 代码自动热重载
|
|
57
|
+
if (this.compiler === 'webpack5' && this.config.isWatch && this.projectConfigJsonOutputPath) {
|
|
58
|
+
try {
|
|
59
|
+
const projectConfig = require(this.projectConfigJsonOutputPath);
|
|
60
|
+
if (((_b = projectConfig.setting) === null || _b === void 0 ? void 0 : _b.compileHotReLoad) === true) {
|
|
61
|
+
this.ctx.modifyWebpackChain(({ chain }) => {
|
|
62
|
+
chain.plugin('TaroMiniHMRPlugin')
|
|
63
|
+
.use(require(path.join(__dirname, './webpack/hmr-plugin.js')).default);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (_) { }
|
|
68
|
+
}
|
|
55
69
|
}
|
|
56
70
|
printDevelopmentTip(platform) {
|
|
57
71
|
var _a;
|
|
@@ -146,6 +160,7 @@ ${exampleCommand}`));
|
|
|
146
160
|
srcConfigName: src,
|
|
147
161
|
distConfigName: dist
|
|
148
162
|
});
|
|
163
|
+
this.projectConfigJsonOutputPath = `${this.ctx.paths.outputPath}/${dist}`;
|
|
149
164
|
}
|
|
150
165
|
/**
|
|
151
166
|
* 递归替换对象的 key 值
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mini.js","sourceRoot":"","sources":["../../src/platform-plugin-base/mini.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+C;AAC/C,2CAAwD;
|
|
1
|
+
{"version":3,"file":"mini.js","sourceRoot":"","sources":["../../src/platform-plugin-base/mini.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class TaroMiniHMRPlugin {
|
|
4
|
+
apply(compiler) {
|
|
5
|
+
compiler.hooks.thisCompilation.tap('TaroMiniHMRPlugin', compilation => {
|
|
6
|
+
compilation.hooks.beforeChunkAssets.tap('TaroMiniHMRPlugin', () => {
|
|
7
|
+
compilation.chunks.forEach(chunk => {
|
|
8
|
+
if (chunk.hasRuntime() && chunk.name === 'runtime') {
|
|
9
|
+
const runtimeModules = compilation.chunkGraph.getChunkRuntimeModulesInOrder(chunk);
|
|
10
|
+
for (const module of runtimeModules) {
|
|
11
|
+
if (module.name === 'jsonp chunk loading') {
|
|
12
|
+
const runtimeSource = compilation.codeGenerationResults.getSource(module, chunk.runtime, 'runtime');
|
|
13
|
+
runtimeSource._value += `
|
|
14
|
+
var miniHMRCallback = function(parentChunkLoadingFunction, data) {
|
|
15
|
+
var chunkIds = data[0];
|
|
16
|
+
var moreModules = data[1];
|
|
17
|
+
if(chunkIds.some(function(id) { return installedChunks[id] === 0 })) {
|
|
18
|
+
chunkIds.forEach(id => {
|
|
19
|
+
delete installedChunks[id]
|
|
20
|
+
})
|
|
21
|
+
Object.keys(moreModules).forEach(id => {
|
|
22
|
+
delete __webpack_module_cache__[id]
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
|
26
|
+
}
|
|
27
|
+
chunkLoadingGlobal.push = miniHMRCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = TaroMiniHMRPlugin;
|
|
37
|
+
//# sourceMappingURL=hmr-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr-plugin.js","sourceRoot":"","sources":["../../../src/platform-plugin-base/webpack/hmr-plugin.ts"],"names":[],"mappings":";;AAAA,MAAqB,iBAAiB;IACpC,KAAK,CAAE,QAAQ;QACb,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE;YACpE,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBAChE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACjC,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;wBAClD,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAA;wBAClF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;4BACnC,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE;gCACzC,MAAM,aAAa,GAAG,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAC/D,MAAM,EACN,KAAK,CAAC,OAAO,EACb,SAAS,CACV,CAAA;gCACD,aAAa,CAAC,MAAM,IAAI;;;;;;;;;;;;;;wGAcgE,CAAA;6BACzF;yBACF;qBACF;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AApCD,oCAoCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/service",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.21",
|
|
4
4
|
"description": "Taro Service",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"tapable": "^1.1.3",
|
|
31
31
|
"webpack-merge": "^4.2.2",
|
|
32
32
|
"ora": "^5.0.0",
|
|
33
|
-
"@tarojs/helper": "3.6.
|
|
34
|
-
"@tarojs/shared": "3.6.
|
|
35
|
-
"@tarojs/taro": "3.6.
|
|
33
|
+
"@tarojs/helper": "3.6.21",
|
|
34
|
+
"@tarojs/shared": "3.6.21",
|
|
35
|
+
"@tarojs/taro": "3.6.21"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"webpack": "5.78.0"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { recursiveMerge } from '@tarojs/helper'
|
|
2
2
|
import { isObject, PLATFORM_TYPE } from '@tarojs/shared'
|
|
3
|
+
import * as path from 'path'
|
|
3
4
|
|
|
4
5
|
import { getPkgVersion } from '../utils/package'
|
|
5
6
|
import TaroPlatform from './platform'
|
|
@@ -24,6 +25,8 @@ export abstract class TaroPlatformBase<T extends TConfig = TConfig> extends Taro
|
|
|
24
25
|
projectConfigJson?: string
|
|
25
26
|
taroComponentsPath?: string
|
|
26
27
|
|
|
28
|
+
private projectConfigJsonOutputPath: string
|
|
29
|
+
|
|
27
30
|
/**
|
|
28
31
|
* 1. 清空 dist 文件夹
|
|
29
32
|
* 2. 输出编译提示
|
|
@@ -53,6 +56,18 @@ export abstract class TaroPlatformBase<T extends TConfig = TConfig> extends Taro
|
|
|
53
56
|
const { printLog, processTypeEnum } = this.ctx.helper
|
|
54
57
|
printLog(processTypeEnum.START, '开发者工具-项目目录', `${this.ctx.paths.outputPath}`)
|
|
55
58
|
}
|
|
59
|
+
// Webpack5 代码自动热重载
|
|
60
|
+
if (this.compiler === 'webpack5' && this.config.isWatch && this.projectConfigJsonOutputPath) {
|
|
61
|
+
try {
|
|
62
|
+
const projectConfig = require(this.projectConfigJsonOutputPath)
|
|
63
|
+
if (projectConfig.setting?.compileHotReLoad === true) {
|
|
64
|
+
this.ctx.modifyWebpackChain(({ chain }) => {
|
|
65
|
+
chain.plugin('TaroMiniHMRPlugin')
|
|
66
|
+
.use(require(path.join(__dirname, './webpack/hmr-plugin.js')).default)
|
|
67
|
+
})
|
|
68
|
+
}
|
|
69
|
+
} catch (_) {}
|
|
70
|
+
}
|
|
56
71
|
}
|
|
57
72
|
|
|
58
73
|
protected printDevelopmentTip (platform: string) {
|
|
@@ -165,6 +180,7 @@ ${exampleCommand}`))
|
|
|
165
180
|
srcConfigName: src,
|
|
166
181
|
distConfigName: dist
|
|
167
182
|
})
|
|
183
|
+
this.projectConfigJsonOutputPath = `${this.ctx.paths.outputPath}/${dist}`
|
|
168
184
|
}
|
|
169
185
|
|
|
170
186
|
/**
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export default class TaroMiniHMRPlugin {
|
|
2
|
+
apply (compiler) {
|
|
3
|
+
compiler.hooks.thisCompilation.tap('TaroMiniHMRPlugin', compilation => {
|
|
4
|
+
compilation.hooks.beforeChunkAssets.tap('TaroMiniHMRPlugin', () => {
|
|
5
|
+
compilation.chunks.forEach(chunk => {
|
|
6
|
+
if (chunk.hasRuntime() && chunk.name === 'runtime') {
|
|
7
|
+
const runtimeModules = compilation.chunkGraph.getChunkRuntimeModulesInOrder(chunk)
|
|
8
|
+
for (const module of runtimeModules) {
|
|
9
|
+
if (module.name === 'jsonp chunk loading') {
|
|
10
|
+
const runtimeSource = compilation.codeGenerationResults.getSource(
|
|
11
|
+
module,
|
|
12
|
+
chunk.runtime,
|
|
13
|
+
'runtime'
|
|
14
|
+
)
|
|
15
|
+
runtimeSource._value += `
|
|
16
|
+
var miniHMRCallback = function(parentChunkLoadingFunction, data) {
|
|
17
|
+
var chunkIds = data[0];
|
|
18
|
+
var moreModules = data[1];
|
|
19
|
+
if(chunkIds.some(function(id) { return installedChunks[id] === 0 })) {
|
|
20
|
+
chunkIds.forEach(id => {
|
|
21
|
+
delete installedChunks[id]
|
|
22
|
+
})
|
|
23
|
+
Object.keys(moreModules).forEach(id => {
|
|
24
|
+
delete __webpack_module_cache__[id]
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
|
28
|
+
}
|
|
29
|
+
chunkLoadingGlobal.push = miniHMRCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));`
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -16,6 +16,7 @@ export declare abstract class TaroPlatformBase<T extends TConfig = TConfig> exte
|
|
|
16
16
|
abstract template: RecursiveTemplate | UnRecursiveTemplate;
|
|
17
17
|
projectConfigJson?: string;
|
|
18
18
|
taroComponentsPath?: string;
|
|
19
|
+
private projectConfigJsonOutputPath;
|
|
19
20
|
/**
|
|
20
21
|
* 1. 清空 dist 文件夹
|
|
21
22
|
* 2. 输出编译提示
|