@tarojs/service 3.7.0-alpha.5 → 3.7.0-alpha.7
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 +10 -3
- package/dist/platform-plugin-base/mini.js.map +1 -1
- package/dist/platform-plugin-base/platform.js +2 -2
- package/dist/platform-plugin-base/platform.js.map +1 -1
- package/dist/platform-plugin-base/web.js +8 -2
- package/dist/platform-plugin-base/web.js.map +1 -1
- package/package.json +4 -4
- package/src/platform-plugin-base/mini.ts +19 -8
- package/src/platform-plugin-base/platform.ts +2 -2
- package/src/platform-plugin-base/web.ts +8 -3
- package/types/platform-plugin-base/platform.d.ts +1 -1
|
@@ -33,10 +33,17 @@ class TaroPlatformBase extends platform_1.default {
|
|
|
33
33
|
}
|
|
34
34
|
setupImpl() {
|
|
35
35
|
var _a;
|
|
36
|
-
const {
|
|
37
|
-
|
|
36
|
+
const { output } = this.config;
|
|
37
|
+
// webpack5 原生支持 output.clean 选项,但是 webpack4 不支持, 为统一行为,这里做一下兼容
|
|
38
|
+
// (在 packages/taro-mini-runner/src/webpack/chain.ts 和 packages/taro-webpack-runner/src/utils/chain.ts 的 makeConfig 中对 clean 选项做了过滤)
|
|
39
|
+
// 仅 output.clean 为 false 时不清空输出目录
|
|
40
|
+
// eslint-disable-next-line eqeqeq
|
|
41
|
+
if (output == undefined || output.clean == undefined || output.clean === true) {
|
|
38
42
|
this.emptyOutputDir();
|
|
39
43
|
}
|
|
44
|
+
else if ((0, shared_1.isObject)(output.clean)) {
|
|
45
|
+
this.emptyOutputDir(output.clean.keep || []);
|
|
46
|
+
}
|
|
40
47
|
this.printDevelopmentTip(this.platform);
|
|
41
48
|
if (this.projectConfigJson) {
|
|
42
49
|
this.generateProjectConfig(this.projectConfigJson);
|
|
@@ -147,7 +154,7 @@ ${exampleCommand}`));
|
|
|
147
154
|
* 递归替换对象的 key 值
|
|
148
155
|
*/
|
|
149
156
|
recursiveReplaceObjectKeys(obj, keyMap) {
|
|
150
|
-
Object.keys(obj).forEach(key => {
|
|
157
|
+
Object.keys(obj).forEach((key) => {
|
|
151
158
|
if (keyMap[key]) {
|
|
152
159
|
obj[keyMap[key]] = obj[key];
|
|
153
160
|
if (typeof obj[key] === 'object') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mini.js","sourceRoot":"","sources":["../../src/platform-plugin-base/mini.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"mini.js","sourceRoot":"","sources":["../../src/platform-plugin-base/mini.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,9 +45,9 @@ class TaroPlatform {
|
|
|
45
45
|
const _compiler = config.compiler;
|
|
46
46
|
this.compiler = typeof _compiler === 'object' ? _compiler.type : _compiler;
|
|
47
47
|
}
|
|
48
|
-
emptyOutputDir() {
|
|
48
|
+
emptyOutputDir(excludes = []) {
|
|
49
49
|
const { outputPath } = this.ctx.paths;
|
|
50
|
-
this.helper.emptyDirectory(outputPath);
|
|
50
|
+
this.helper.emptyDirectory(outputPath, { excludes });
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
53
|
* 如果分端编译详情 webpack 配置了 output 则需更新 outputPath 位置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform-plugin-base/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAa,WAAW;IAAxB;QACE,aAAQ,GAAe,EAAE,CAAA;IAqB3B,CAAC;IAnBO,OAAO,CAAE,EAAQ,EAAE,KAAQ,EAAE,GAAG,IAAW;;YAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;KAAA;IAED,OAAO,CAAE,KAAQ;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACxD,CAAC;IAED,QAAQ,CAAE,KAAQ;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAE,OAAiB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF;AAtBD,kCAsBC;AAED,MAA8B,YAAY;IAaxC,YAAa,GAAmB,EAAE,MAAS;QAHjC,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAC1C,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAGlD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,CAAC;IAES,cAAc;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform-plugin-base/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAa,WAAW;IAAxB;QACE,aAAQ,GAAe,EAAE,CAAA;IAqB3B,CAAC;IAnBO,OAAO,CAAE,EAAQ,EAAE,KAAQ,EAAE,GAAG,IAAW;;YAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;KAAA;IAED,OAAO,CAAE,KAAQ;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACxD,CAAC;IAED,QAAQ,CAAE,KAAQ;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAE,OAAiB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF;AAtBD,kCAsBC;AAED,MAA8B,YAAY;IAaxC,YAAa,GAAmB,EAAE,MAAS;QAHjC,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAC1C,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAGlD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,CAAC;IAES,cAAc,CAAE,WAAmC,EAAE;QAC7D,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAE,MAAe;;QACvC,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAA;QACxC,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAA;SACzC;IACH,CAAC;CAMF;AAzCD,+BAyCC"}
|
|
@@ -32,10 +32,16 @@ class TaroPlatformWeb extends platform_1.default {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
setupWebApp() {
|
|
35
|
-
const {
|
|
36
|
-
|
|
35
|
+
const { output } = this.config;
|
|
36
|
+
// webpack5 原生支持 output.clean 选项,但是 webpack4 不支持, 为统一行为,这里做一下兼容
|
|
37
|
+
// (在 packages/taro-mini-runner/src/webpack/chain.ts 和 packages/taro-webpack-runner/src/utils/chain.ts 的 makeConfig 中对 clean 选项做了过滤)
|
|
38
|
+
// eslint-disable-next-line eqeqeq
|
|
39
|
+
if (output == undefined || output.clean == undefined || output.clean === true) {
|
|
37
40
|
this.emptyOutputDir();
|
|
38
41
|
}
|
|
42
|
+
else if ((0, shared_1.isObject)(output.clean)) {
|
|
43
|
+
this.emptyOutputDir(output.clean.keep || []);
|
|
44
|
+
}
|
|
39
45
|
this.printDevelopmentTip();
|
|
40
46
|
}
|
|
41
47
|
printDevelopmentTip() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/platform-plugin-base/web.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/platform-plugin-base/web.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/service",
|
|
3
|
-
"version": "3.7.0-alpha.
|
|
3
|
+
"version": "3.7.0-alpha.7",
|
|
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.7.0-alpha.
|
|
34
|
-
"@tarojs/shared": "3.7.0-alpha.
|
|
35
|
-
"@tarojs/taro": "3.7.0-alpha.
|
|
33
|
+
"@tarojs/helper": "3.7.0-alpha.7",
|
|
34
|
+
"@tarojs/shared": "3.7.0-alpha.7",
|
|
35
|
+
"@tarojs/taro": "3.7.0-alpha.7"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"vite": "^4.2.0",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { recursiveMerge } from '@tarojs/helper'
|
|
2
|
-
import { PLATFORM_TYPE } from '@tarojs/shared'
|
|
2
|
+
import { isObject, PLATFORM_TYPE } from '@tarojs/shared'
|
|
3
3
|
|
|
4
4
|
import { getPkgVersion } from '../utils/package'
|
|
5
5
|
import TaroPlatform from './platform'
|
|
@@ -35,9 +35,15 @@ export abstract class TaroPlatformBase<T extends TConfig = TConfig> extends Taro
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
private setupImpl () {
|
|
38
|
-
const {
|
|
39
|
-
|
|
38
|
+
const { output } = this.config
|
|
39
|
+
// webpack5 原生支持 output.clean 选项,但是 webpack4 不支持, 为统一行为,这里做一下兼容
|
|
40
|
+
// (在 packages/taro-mini-runner/src/webpack/chain.ts 和 packages/taro-webpack-runner/src/utils/chain.ts 的 makeConfig 中对 clean 选项做了过滤)
|
|
41
|
+
// 仅 output.clean 为 false 时不清空输出目录
|
|
42
|
+
// eslint-disable-next-line eqeqeq
|
|
43
|
+
if (output == undefined || output.clean == undefined || output.clean === true) {
|
|
40
44
|
this.emptyOutputDir()
|
|
45
|
+
} else if (isObject(output.clean)) {
|
|
46
|
+
this.emptyOutputDir(output.clean.keep || [])
|
|
41
47
|
}
|
|
42
48
|
this.printDevelopmentTip(this.platform)
|
|
43
49
|
if (this.projectConfigJson) {
|
|
@@ -139,10 +145,15 @@ ${exampleCommand}`))
|
|
|
139
145
|
|
|
140
146
|
private async buildImpl (extraOptions = {}) {
|
|
141
147
|
const runner = await this.getRunner()
|
|
142
|
-
const options = this.getOptions(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
const options = this.getOptions(
|
|
149
|
+
Object.assign(
|
|
150
|
+
{
|
|
151
|
+
runtimePath: this.runtimePath,
|
|
152
|
+
taroComponentsPath: this.taroComponentsPath
|
|
153
|
+
},
|
|
154
|
+
extraOptions
|
|
155
|
+
)
|
|
156
|
+
)
|
|
146
157
|
await runner(options)
|
|
147
158
|
}
|
|
148
159
|
|
|
@@ -163,7 +174,7 @@ ${exampleCommand}`))
|
|
|
163
174
|
* 递归替换对象的 key 值
|
|
164
175
|
*/
|
|
165
176
|
protected recursiveReplaceObjectKeys (obj, keyMap) {
|
|
166
|
-
Object.keys(obj).forEach(key => {
|
|
177
|
+
Object.keys(obj).forEach((key) => {
|
|
167
178
|
if (keyMap[key]) {
|
|
168
179
|
obj[keyMap[key]] = obj[key]
|
|
169
180
|
if (typeof obj[key] === 'object') {
|
|
@@ -53,9 +53,9 @@ export default abstract class TaroPlatform<T extends TConfig = TConfig> {
|
|
|
53
53
|
this.compiler = typeof _compiler === 'object' ? _compiler.type : _compiler
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
protected emptyOutputDir () {
|
|
56
|
+
protected emptyOutputDir (excludes: Array<string | RegExp> = []) {
|
|
57
57
|
const { outputPath } = this.ctx.paths
|
|
58
|
-
this.helper.emptyDirectory(outputPath)
|
|
58
|
+
this.helper.emptyDirectory(outputPath, { excludes })
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PLATFORM_TYPE } from '@tarojs/shared'
|
|
1
|
+
import { isObject, PLATFORM_TYPE } from '@tarojs/shared'
|
|
2
2
|
import { get, merge } from 'lodash'
|
|
3
3
|
import * as path from 'path'
|
|
4
4
|
|
|
@@ -20,9 +20,14 @@ export abstract class TaroPlatformWeb<T extends TConfig = TConfig> extends TaroP
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
private setupWebApp () {
|
|
23
|
-
const {
|
|
24
|
-
|
|
23
|
+
const { output } = this.config
|
|
24
|
+
// webpack5 原生支持 output.clean 选项,但是 webpack4 不支持, 为统一行为,这里做一下兼容
|
|
25
|
+
// (在 packages/taro-mini-runner/src/webpack/chain.ts 和 packages/taro-webpack-runner/src/utils/chain.ts 的 makeConfig 中对 clean 选项做了过滤)
|
|
26
|
+
// eslint-disable-next-line eqeqeq
|
|
27
|
+
if (output == undefined || output.clean == undefined || output.clean === true) {
|
|
25
28
|
this.emptyOutputDir()
|
|
29
|
+
} else if (isObject(output.clean)) {
|
|
30
|
+
this.emptyOutputDir(output.clean.keep || [])
|
|
26
31
|
}
|
|
27
32
|
this.printDevelopmentTip()
|
|
28
33
|
}
|
|
@@ -22,7 +22,7 @@ export default abstract class TaroPlatform<T extends TConfig = TConfig> {
|
|
|
22
22
|
protected setupTransaction: Transaction<this>;
|
|
23
23
|
protected buildTransaction: Transaction<this>;
|
|
24
24
|
constructor(ctx: IPluginContext, config: T);
|
|
25
|
-
protected emptyOutputDir(): void;
|
|
25
|
+
protected emptyOutputDir(excludes?: Array<string | RegExp>): void;
|
|
26
26
|
/**
|
|
27
27
|
* 如果分端编译详情 webpack 配置了 output 则需更新 outputPath 位置
|
|
28
28
|
*/
|