@tarojs/cli 4.0.9-beta.2 → 4.0.9-beta.4
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/presets/commands/build.js +6 -0
- package/dist/presets/commands/build.js.map +1 -1
- package/dist/util/appConfig.d.ts +11 -0
- package/dist/util/appConfig.js +25 -0
- package/dist/util/appConfig.js.map +1 -0
- package/package.json +10 -10
- package/src/presets/commands/build.ts +7 -0
- package/src/util/appConfig.ts +29 -0
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const plugin_doctor_1 = require("@tarojs/plugin-doctor");
|
|
13
|
+
const appConfig_1 = require("../../util/appConfig");
|
|
13
14
|
const hooks = require("../constant");
|
|
14
15
|
exports.default = (ctx) => {
|
|
15
16
|
ctx.registerCommand({
|
|
@@ -18,6 +19,8 @@ exports.default = (ctx) => {
|
|
|
18
19
|
'--type [typeName]': 'Build type, weapp/swan/alipay/tt/qq/jd/h5/rn',
|
|
19
20
|
'--watch': 'Watch mode',
|
|
20
21
|
'--env [env]': 'Value for process.env.NODE_ENV',
|
|
22
|
+
'--pages': 'Specify the pages to be compiled, separate multiple by comma',
|
|
23
|
+
'--components': 'Specify the components to be compiled, separate multiple by comma',
|
|
21
24
|
'--mode [mode]': 'Value of dotenv extname',
|
|
22
25
|
'-p, --port [port]': 'Specified port',
|
|
23
26
|
'--no-build': 'Do not build project',
|
|
@@ -40,6 +43,7 @@ exports.default = (ctx) => {
|
|
|
40
43
|
synopsisList: [
|
|
41
44
|
'taro build --type weapp',
|
|
42
45
|
'taro build --type weapp --watch',
|
|
46
|
+
'taro build --type weapp --watch --pages pages/index/index',
|
|
43
47
|
'taro build --type weapp --env production',
|
|
44
48
|
'taro build --type weapp --blended',
|
|
45
49
|
'taro build --type weapp --no-build',
|
|
@@ -55,6 +59,7 @@ exports.default = (ctx) => {
|
|
|
55
59
|
const { platform, isWatch, blended, newBlended, withoutBuild, noInjectGlobalStyle, noCheck } = options;
|
|
56
60
|
const { fs, chalk, PROJECT_CONFIG } = ctx.helper;
|
|
57
61
|
const { outputPath, configPath } = ctx.paths;
|
|
62
|
+
const { args } = options;
|
|
58
63
|
if (!configPath || !fs.existsSync(configPath)) {
|
|
59
64
|
console.log(chalk.red(`找不到项目配置文件${PROJECT_CONFIG},请确定当前目录是 Taro 项目根目录!`));
|
|
60
65
|
process.exit(1);
|
|
@@ -114,6 +119,7 @@ exports.default = (ctx) => {
|
|
|
114
119
|
noInjectGlobalStyle,
|
|
115
120
|
modifyAppConfig(appConfig) {
|
|
116
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
(0, appConfig_1.extractCompileEntry)(appConfig, args, ctx);
|
|
117
123
|
yield ctx.applyPlugins({
|
|
118
124
|
name: hooks.MODIFY_APP_CONFIG,
|
|
119
125
|
opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/presets/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yDAG8B;AAE9B,qCAAoC;AAIpC,kBAAe,CAAC,GAAmB,EAAE,EAAE;IACrC,GAAG,CAAC,eAAe,CAAC;QAClB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE;YACV,mBAAmB,EAAE,8CAA8C;YACnE,SAAS,EAAE,YAAY;YACvB,aAAa,EAAE,gCAAgC;YAC/C,eAAe,EAAE,yBAAyB;YAC1C,mBAAmB,EAAE,gBAAgB;YACrC,YAAY,EAAE,sBAAsB;YACpC,YAAY,EAAE,kFAAkF;YAChG,eAAe,EAAE,4BAA4B;YAC7C,eAAe,EAAE,yBAAyB;YAC1C,iBAAiB,EAAE,oDAAoD;YACvE,oBAAoB,EAAE,uEAAuE;YAC7F,+BAA+B,EAAE,+CAA+C;YAChF,0BAA0B,EAAE,0DAA0D;YACtF,eAAe,EAAE,oEAAoE;YACrF,MAAM,EAAE,iDAAiD;YACzD,WAAW,EAAE,qDAAqD;YAClE,eAAe,EAAE,wGAAwG;YACzH,qBAAqB,EAAE,kCAAkC;YACzD,0BAA0B,EAAE,sCAAsC;YAClE,0BAA0B,EAAE,iCAAiC;YAC7D,YAAY,EAAE,qCAAqC;SACpD;QACD,YAAY,EAAE;YACZ,yBAAyB;YACzB,iCAAiC;YACjC,0CAA0C;YAC1C,mCAAmC;YACnC,oCAAoC;YACpC,2CAA2C;YAC3C,uCAAuC;YACvC,mCAAmC;YACnC,2BAA2B;YAC3B,+DAA+D;SAChE;QACK,EAAE,CAAC,IAAI;;gBACX,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;gBACnC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;gBACtG,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;gBAChD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/presets/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IPluginContext } from '@tarojs/service';
|
|
2
|
+
import { AppConfig } from '@tarojs/taro';
|
|
3
|
+
/**
|
|
4
|
+
* 按需编译功能,只编译指定的页面或组件
|
|
5
|
+
* @param appConfig
|
|
6
|
+
* @param args
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractCompileEntry(appConfig: AppConfig, args: {
|
|
9
|
+
_: string[];
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}, ctx: IPluginContext): void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractCompileEntry = void 0;
|
|
4
|
+
const shared_1 = require("@tarojs/shared");
|
|
5
|
+
/**
|
|
6
|
+
* 按需编译功能,只编译指定的页面或组件
|
|
7
|
+
* @param appConfig
|
|
8
|
+
* @param args
|
|
9
|
+
*/
|
|
10
|
+
function extractCompileEntry(appConfig, args, ctx) {
|
|
11
|
+
const { chalk } = ctx.helper;
|
|
12
|
+
const extractType = (0, shared_1.isString)(args.pages) ? 'pages' : (0, shared_1.isString)(args.components) ? 'components' : '';
|
|
13
|
+
if (!extractType)
|
|
14
|
+
return;
|
|
15
|
+
const entries = args[extractType].split(',').map(item => item.trim()).filter(Boolean);
|
|
16
|
+
if (!entries.length) {
|
|
17
|
+
console.log(chalk.yellow(`按需编译开启失败,请指定要编译的${extractType}`));
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
appConfig[extractType] = entries;
|
|
21
|
+
appConfig.subPackages = [];
|
|
22
|
+
console.log(chalk.green(`已开启按需编译,仅编译以下${extractType}: ${appConfig[extractType]}`));
|
|
23
|
+
}
|
|
24
|
+
exports.extractCompileEntry = extractCompileEntry;
|
|
25
|
+
//# sourceMappingURL=appConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../../src/util/appConfig.ts"],"names":[],"mappings":";;;AACA,2CAAyC;AAGzC;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,SAAoB,EACpB,IAAyC,EACzC,GAAmB;IAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;IAE5B,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAClG,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IAED,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,CAAA;IAChC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAA;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,WAAW,KAAK,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;AACpF,CAAC;AAnBD,kDAmBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/cli",
|
|
3
|
-
"version": "4.0.9-beta.
|
|
3
|
+
"version": "4.0.9-beta.4",
|
|
4
4
|
"description": "cli tool for taro",
|
|
5
5
|
"author": "O2Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,21 +41,21 @@
|
|
|
41
41
|
"ora": "^5.4.1",
|
|
42
42
|
"semver": "^7.6.0",
|
|
43
43
|
"validate-npm-package-name": "^5.0.0",
|
|
44
|
-
"@tarojs/
|
|
45
|
-
"@tarojs/
|
|
46
|
-
"@tarojs/
|
|
47
|
-
"@tarojs/
|
|
44
|
+
"@tarojs/helper": "4.0.9-beta.4",
|
|
45
|
+
"@tarojs/binding": "4.0.9-beta.4",
|
|
46
|
+
"@tarojs/shared": "4.0.9-beta.4",
|
|
47
|
+
"@tarojs/service": "4.0.9-beta.4"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@babel/types": "^7.24.0",
|
|
51
51
|
"@types/babel__traverse": "^7.20.6",
|
|
52
52
|
"eslint-plugin-react": "^7.34.1",
|
|
53
53
|
"eslint-plugin-react-hooks": "^4.4.0",
|
|
54
|
-
"@tarojs/plugin-platform-
|
|
55
|
-
"@tarojs/plugin-platform-
|
|
56
|
-
"@tarojs/taro": "4.0.9-beta.
|
|
57
|
-
"@tarojs/webpack5-runner": "4.0.9-beta.
|
|
58
|
-
"babel-preset-taro": "4.0.9-beta.
|
|
54
|
+
"@tarojs/plugin-platform-h5": "4.0.9-beta.4",
|
|
55
|
+
"@tarojs/plugin-platform-weapp": "4.0.9-beta.4",
|
|
56
|
+
"@tarojs/taro": "4.0.9-beta.4",
|
|
57
|
+
"@tarojs/webpack5-runner": "4.0.9-beta.4",
|
|
58
|
+
"babel-preset-taro": "4.0.9-beta.4"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"prod": "pnpm run build",
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
validateConfig
|
|
4
4
|
} from '@tarojs/plugin-doctor'
|
|
5
5
|
|
|
6
|
+
import { extractCompileEntry } from '../../util/appConfig'
|
|
6
7
|
import * as hooks from '../constant'
|
|
7
8
|
|
|
8
9
|
import type { IPluginContext } from '@tarojs/service'
|
|
@@ -14,6 +15,8 @@ export default (ctx: IPluginContext) => {
|
|
|
14
15
|
'--type [typeName]': 'Build type, weapp/swan/alipay/tt/qq/jd/h5/rn',
|
|
15
16
|
'--watch': 'Watch mode',
|
|
16
17
|
'--env [env]': 'Value for process.env.NODE_ENV',
|
|
18
|
+
'--pages': 'Specify the pages to be compiled, separate multiple by comma',
|
|
19
|
+
'--components': 'Specify the components to be compiled, separate multiple by comma',
|
|
17
20
|
'--mode [mode]': 'Value of dotenv extname',
|
|
18
21
|
'-p, --port [port]': 'Specified port',
|
|
19
22
|
'--no-build': 'Do not build project',
|
|
@@ -36,6 +39,7 @@ export default (ctx: IPluginContext) => {
|
|
|
36
39
|
synopsisList: [
|
|
37
40
|
'taro build --type weapp',
|
|
38
41
|
'taro build --type weapp --watch',
|
|
42
|
+
'taro build --type weapp --watch --pages pages/index/index',
|
|
39
43
|
'taro build --type weapp --env production',
|
|
40
44
|
'taro build --type weapp --blended',
|
|
41
45
|
'taro build --type weapp --no-build',
|
|
@@ -50,6 +54,7 @@ export default (ctx: IPluginContext) => {
|
|
|
50
54
|
const { platform, isWatch, blended, newBlended, withoutBuild, noInjectGlobalStyle, noCheck } = options
|
|
51
55
|
const { fs, chalk, PROJECT_CONFIG } = ctx.helper
|
|
52
56
|
const { outputPath, configPath } = ctx.paths
|
|
57
|
+
const { args } = options
|
|
53
58
|
|
|
54
59
|
if (!configPath || !fs.existsSync(configPath)) {
|
|
55
60
|
console.log(chalk.red(`找不到项目配置文件${PROJECT_CONFIG},请确定当前目录是 Taro 项目根目录!`))
|
|
@@ -120,6 +125,8 @@ export default (ctx: IPluginContext) => {
|
|
|
120
125
|
newBlended,
|
|
121
126
|
noInjectGlobalStyle,
|
|
122
127
|
async modifyAppConfig (appConfig) {
|
|
128
|
+
extractCompileEntry(appConfig, args, ctx)
|
|
129
|
+
|
|
123
130
|
await ctx.applyPlugins({
|
|
124
131
|
name: hooks.MODIFY_APP_CONFIG,
|
|
125
132
|
opts: {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IPluginContext } from '@tarojs/service'
|
|
2
|
+
import { isString } from '@tarojs/shared'
|
|
3
|
+
import { AppConfig } from '@tarojs/taro'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 按需编译功能,只编译指定的页面或组件
|
|
7
|
+
* @param appConfig
|
|
8
|
+
* @param args
|
|
9
|
+
*/
|
|
10
|
+
export function extractCompileEntry(
|
|
11
|
+
appConfig: AppConfig,
|
|
12
|
+
args: { _: string[], [key: string]: any },
|
|
13
|
+
ctx: IPluginContext
|
|
14
|
+
): void {
|
|
15
|
+
const { chalk } = ctx.helper
|
|
16
|
+
|
|
17
|
+
const extractType = isString(args.pages) ? 'pages' : isString(args.components) ? 'components' : ''
|
|
18
|
+
if (!extractType) return
|
|
19
|
+
|
|
20
|
+
const entries = args[extractType].split(',').map(item => item.trim()).filter(Boolean)
|
|
21
|
+
if (!entries.length) {
|
|
22
|
+
console.log(chalk.yellow(`按需编译开启失败,请指定要编译的${extractType}`))
|
|
23
|
+
return
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
appConfig[extractType] = entries
|
|
27
|
+
appConfig.subPackages = []
|
|
28
|
+
console.log(chalk.green(`已开启按需编译,仅编译以下${extractType}: ${appConfig[extractType]}`))
|
|
29
|
+
}
|