@ray-js/cli 1.3.1-beta.6 → 1.3.1
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/bin/ray-build.js +16 -4
- package/bin/ray-start.js +16 -4
- package/lib/run-builder.js +14 -7
- package/package.json +9 -9
package/bin/ray-build.js
CHANGED
|
@@ -6,27 +6,39 @@ const registerEnv = require('./register-env')
|
|
|
6
6
|
program
|
|
7
7
|
.arguments('[cwd]')
|
|
8
8
|
.description('执行构建应用/组件')
|
|
9
|
-
.option('--source <folder>', '源码目录'
|
|
9
|
+
.option('--source <folder>', '源码目录')
|
|
10
10
|
.option('--output <folder>', '产物目录')
|
|
11
11
|
.option('--mini', '启用压缩构建产物', true)
|
|
12
12
|
.option('--blended', '混合编译')
|
|
13
13
|
.option('--no-mini', '禁用压缩构建产物')
|
|
14
14
|
.option('-t --target <target>', '目标平台')
|
|
15
|
-
.option('-a --analyze', '开启 analyze 分析'
|
|
15
|
+
.option('-a --analyze', '开启 analyze 分析')
|
|
16
16
|
.option('--type <type>', '构建类型 eg: app | component', 'app')
|
|
17
17
|
.option('--transform-mode <mode>', '组件转换类型 eg: auto | pure', 'pure')
|
|
18
|
-
.option('--debug', '开启运行时日志',
|
|
18
|
+
.option('--debug [debug]', '开启运行时日志', (v) => {
|
|
19
|
+
return JSON.parse(v === '1' || v === 'true')
|
|
20
|
+
})
|
|
19
21
|
.action(function (cwd = '', options) {
|
|
20
22
|
log.verbose('cli', options)
|
|
21
23
|
if (options.target === 'tuya') {
|
|
22
24
|
log.verbose('cli', 'change target tuya -> thing')
|
|
23
25
|
options.target = 'thing'
|
|
24
26
|
}
|
|
27
|
+
if (typeof options.debug === 'boolean') {
|
|
28
|
+
process.env.RAY_DEBUG = JSON.stringify(options.debug) // ray 运行时日志
|
|
29
|
+
process.env.REMAX_DEBUG = process.env.RAY_DEBUG // ray-core 运行时日志
|
|
30
|
+
} else {
|
|
31
|
+
const rayDebug = process.env.RAY_DEBUG
|
|
32
|
+
if (rayDebug === 'true' || rayDebug === 'false') {
|
|
33
|
+
process.env.REMAX_DEBUG = process.env.RAY_DEBUG
|
|
34
|
+
} else {
|
|
35
|
+
delete process.env.RAY_DEBUG
|
|
36
|
+
}
|
|
37
|
+
}
|
|
25
38
|
registerEnv({
|
|
26
39
|
NODE_ENV: 'production',
|
|
27
40
|
PLATFORM: options.target,
|
|
28
41
|
REMAX_PLATFORM: options.target,
|
|
29
|
-
REMAX_DEBUG: options.debug,
|
|
30
42
|
})
|
|
31
43
|
cwd = path.join(process.cwd(), cwd)
|
|
32
44
|
const devtools = process.env.TUYA_DEVTOOLS !== undefined
|
package/bin/ray-start.js
CHANGED
|
@@ -6,16 +6,18 @@ const registerEnv = require('./register-env')
|
|
|
6
6
|
program
|
|
7
7
|
.arguments('[cwd]')
|
|
8
8
|
.description('启动实时编译/预览')
|
|
9
|
-
.option('--source <folder>', '源码目录'
|
|
9
|
+
.option('--source <folder>', '源码目录')
|
|
10
10
|
.option('--output <folder>', '产物目录')
|
|
11
11
|
.option('--mini', '启用压缩构建产物', false)
|
|
12
12
|
.option('--blended', '混合编译')
|
|
13
13
|
.option('--no-mini', '禁用压缩构建产物')
|
|
14
14
|
.option('-t --target <target>', '目标平台')
|
|
15
|
-
.option('-a --analyze', '开启 analyze 分析'
|
|
15
|
+
.option('-a --analyze', '开启 analyze 分析')
|
|
16
16
|
.option('--type <type>', '构建类型 eg: app | component', 'app')
|
|
17
17
|
.option('--transform-mode <mode>', '组件转换类型 eg: auto | pure', 'pure')
|
|
18
|
-
.option('--debug', '开启运行时日志',
|
|
18
|
+
.option('--debug [debug]', '开启运行时日志', (v) => {
|
|
19
|
+
return JSON.parse(v === '1' || v === 'true')
|
|
20
|
+
})
|
|
19
21
|
.option('--emit-declaration-dev', '组件开发模式下生成dts文件', false)
|
|
20
22
|
.action(function (cwd = '', options) {
|
|
21
23
|
log.verbose('cli', options)
|
|
@@ -23,11 +25,21 @@ program
|
|
|
23
25
|
log.verbose('cli', 'change target tuya -> thing')
|
|
24
26
|
options.target = 'thing'
|
|
25
27
|
}
|
|
28
|
+
if (typeof options.debug === 'boolean') {
|
|
29
|
+
process.env.RAY_DEBUG = JSON.stringify(options.debug) // ray 运行时日志
|
|
30
|
+
process.env.REMAX_DEBUG = process.env.RAY_DEBUG // ray-core 运行时日志
|
|
31
|
+
} else {
|
|
32
|
+
const rayDebug = process.env.RAY_DEBUG
|
|
33
|
+
if (rayDebug === 'true' || rayDebug === 'false') {
|
|
34
|
+
process.env.REMAX_DEBUG = process.env.RAY_DEBUG
|
|
35
|
+
} else {
|
|
36
|
+
delete process.env.RAY_DEBUG
|
|
37
|
+
}
|
|
38
|
+
}
|
|
26
39
|
registerEnv({
|
|
27
40
|
NODE_ENV: 'development',
|
|
28
41
|
PLATFORM: options.target,
|
|
29
42
|
REMAX_PLATFORM: options.target, // @ray-core/ray/one 依赖此环境变量
|
|
30
|
-
REMAX_DEBUG: options.debug, // ray 运行时日志
|
|
31
43
|
})
|
|
32
44
|
cwd = path.join(process.cwd(), cwd)
|
|
33
45
|
const devtools = process.env.TUYA_DEVTOOLS !== undefined
|
package/lib/run-builder.js
CHANGED
|
@@ -24,7 +24,7 @@ const defaultCompileOptions = {
|
|
|
24
24
|
source: 'src',
|
|
25
25
|
mode: 'development',
|
|
26
26
|
watch: false,
|
|
27
|
-
target: '
|
|
27
|
+
target: 'thing',
|
|
28
28
|
mini: false,
|
|
29
29
|
analyze: false,
|
|
30
30
|
devtools: false,
|
|
@@ -36,13 +36,20 @@ function runBuilder(options) {
|
|
|
36
36
|
const api = new API_1.default(options);
|
|
37
37
|
// 加载ray.config.ts 或 ray.config.js
|
|
38
38
|
api.loadConfig();
|
|
39
|
+
// 选项优先级:defaultCompileOptions < 配置文件 < 命令行环境变量 < 命令行参数
|
|
39
40
|
const finalOpts = Object.assign({}, defaultCompileOptions, api.config, options);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
const isUndefined = process.env.RAY_DEBUG === undefined;
|
|
42
|
+
// 根据输入配置中注入运行时环境变量
|
|
43
|
+
if (options.debug === undefined) {
|
|
44
|
+
if (isUndefined) {
|
|
45
|
+
if (typeof api.config.debug === 'boolean') {
|
|
46
|
+
process.env.RAY_DEBUG = JSON.stringify(api.config.debug);
|
|
47
|
+
process.env.REMAX_DEBUG = process.env.RAY_DEBUG; // ray-js 依赖 ray-core,因此需根据 ray-js 来设置 ray-core 的 debug 环境变量
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
finalOpts.debug = process.env.RAY_DEBUG === 'true';
|
|
52
|
+
}
|
|
46
53
|
}
|
|
47
54
|
const { cwd, target, output, onTargetDir } = finalOpts;
|
|
48
55
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ray-js/cli",
|
|
3
|
-
"version": "1.3.1
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Ray cli",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ray": "./bin/ray"
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"watch": "tsc -p ./tsconfig.build.json --watch"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@ray-js/build-plugin-ray": "^1.3.1
|
|
28
|
-
"@ray-js/build-plugin-router": "^1.3.1
|
|
29
|
-
"@ray-js/builder-component": "^1.3.1
|
|
30
|
-
"@ray-js/builder-mp": "^1.3.1
|
|
31
|
-
"@ray-js/builder-web": "^1.3.1
|
|
32
|
-
"@ray-js/shared": "^1.3.1
|
|
33
|
-
"@ray-js/types": "^1.3.1
|
|
27
|
+
"@ray-js/build-plugin-ray": "^1.3.1",
|
|
28
|
+
"@ray-js/build-plugin-router": "^1.3.1",
|
|
29
|
+
"@ray-js/builder-component": "^1.3.1",
|
|
30
|
+
"@ray-js/builder-mp": "^1.3.1",
|
|
31
|
+
"@ray-js/builder-web": "^1.3.1",
|
|
32
|
+
"@ray-js/shared": "^1.3.1",
|
|
33
|
+
"@ray-js/types": "^1.3.1",
|
|
34
34
|
"colors": "1.4.0",
|
|
35
35
|
"commander": "^8.2.0",
|
|
36
36
|
"webpack-chain": "^6.5.1"
|
|
@@ -41,6 +41,6 @@
|
|
|
41
41
|
"email": "tuyafe@tuya.com"
|
|
42
42
|
}
|
|
43
43
|
],
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "4844c0f03bb434999b2e93196dba1cd53b9b6c56",
|
|
45
45
|
"repository": {}
|
|
46
46
|
}
|