@aiot-toolkit/aiotpack 2.0.3-beta.7 → 2.0.3-beta.8
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/afterCompile/ux/UxAfterCompile.js +301 -266
- package/lib/afterCompile/xts/entryTemplate.js +111 -113
- package/lib/afterCompile/xts/generateRpk.js +25 -54
- package/lib/afterCompile/xts/ts2wasm.js +62 -63
- package/lib/afterWorks/ux/UxAfterWorks.js +12 -19
- package/lib/beforeCompile/ux/UxBeforeCompile.js +26 -25
- package/lib/beforeCompile/xts/preInstall.js +50 -55
- package/lib/beforeWorks/ux/UxBeforeWorks.js +12 -19
- package/lib/compiler/enum/CompileMode.js +16 -23
- package/lib/compiler/interface/ICompileParam.js +1 -2
- package/lib/compiler/interface/ICompiler.js +1 -2
- package/lib/compiler/interface/ISignConfig.js +1 -2
- package/lib/compiler/javascript/JavascriptCompiler.js +147 -154
- package/lib/compiler/javascript/JavascriptDefaultCompileOption.js +20 -16
- package/lib/compiler/javascript/android/AndroidWebpackConfigurator.js +13 -11
- package/lib/compiler/javascript/android/plugin/WrapPlugin.js +52 -48
- package/lib/compiler/javascript/interface/IJavascriptCompileOption.js +1 -2
- package/lib/compiler/javascript/interface/IWebpackConfigurator.js +4 -1
- package/lib/compiler/javascript/vela/VelaWebpackConfigurator.js +78 -75
- package/lib/compiler/javascript/vela/enum/BuildNameFormatType.js +30 -41
- package/lib/compiler/javascript/vela/enum/EntryType.js +15 -29
- package/lib/compiler/javascript/vela/interface/IChunk.js +4 -1
- package/lib/compiler/javascript/vela/interface/IManifest.js +1 -2
- package/lib/compiler/javascript/vela/interface/IQuickAppConfig.js +1 -2
- package/lib/compiler/javascript/vela/model/Package.js +80 -51
- package/lib/compiler/javascript/vela/plugin/WrapPlugin.js +30 -26
- package/lib/compiler/javascript/vela/utils/Jsc.js +30 -33
- package/lib/compiler/javascript/vela/utils/UxCompileUtil.js +152 -130
- package/lib/compiler/javascript/vela/utils/ZipUtil.js +282 -276
- package/lib/compiler/javascript/vela/utils/signature/Base64.js +65 -67
- package/lib/compiler/javascript/vela/utils/signature/CRC32.js +37 -35
- package/lib/compiler/javascript/vela/utils/signature/SignUtil.js +755 -731
- package/lib/compiler/javascript/vela/utils/signature/Signer.js +24 -22
- package/lib/compiler/javascript/vela/utils/webpackLoader/addColSourceMap.js +47 -52
- package/lib/compiler/javascript/vela/utils/webpackLoader/extractMapData.js +21 -17
- package/lib/config/UxConfig.js +145 -173
- package/lib/config/XtsConfig.js +30 -40
- package/lib/index.js +88 -41
- package/lib/interface/ICompileOptions.js +5 -2
- package/lib/interface/IDeviceList.js +1 -2
- package/lib/loader/ux/JsLoader.js +32 -30
- package/lib/loader/ux/PngLoader.js +47 -53
- package/lib/loader/ux/android/UxLoader.js +30 -31
- package/lib/loader/ux/vela/AppUxLoader.js +23 -24
- package/lib/loader/ux/vela/HmlLoader.js +59 -55
- package/lib/loader/ux/vela/UxLoader.js +29 -35
- package/lib/loader/xts/XtsLoader.js +55 -41
- package/lib/utils/BeforeCompileUtils.js +100 -92
- package/lib/utils/PngUtils.js +42 -36
- package/lib/utils/ux/ManifestSchema.js +198 -194
- package/lib/utils/ux/UxFileUtils.js +130 -116
- package/lib/utils/ux/UxLoaderUtils.js +292 -307
- package/lib/utils/ux/android/AndroidUx.js +88 -90
- package/lib/utils/xts/XtsFileLaneUtils.js +58 -65
- package/lib/utils/xts/XtsFollowWorks.js +122 -129
- package/package.json +6 -6
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _crypto = _interopRequireDefault(require("crypto"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
9
|
/**
|
|
8
10
|
* Signer
|
|
9
11
|
*/
|
|
10
12
|
class Signer {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
13
|
+
static setRemoteCryptoSignFunction(fn) {
|
|
14
|
+
Signer._cryptoSignFunction = fn;
|
|
15
|
+
}
|
|
16
|
+
static getRemoteCryptoSignFunction() {
|
|
17
|
+
return Signer._cryptoSignFunction;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 使用RSA-SHA256
|
|
21
|
+
* @param buffer
|
|
22
|
+
* @param prikey
|
|
23
|
+
*/
|
|
24
|
+
static defaultCryptoSignFunction(buffer, prikey) {
|
|
25
|
+
const signer = _crypto.default.createSign('RSA-SHA256');
|
|
26
|
+
signer.update(buffer);
|
|
27
|
+
return signer.sign(prikey);
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
|
-
exports.default = Signer;
|
|
30
|
+
var _default = exports.default = Signer;
|
|
@@ -1,56 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
column: 0
|
|
33
|
-
},
|
|
34
|
-
source: mapping.source,
|
|
35
|
-
name: ''
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
recordLine = mapping.generatedLine;
|
|
39
|
-
}
|
|
40
|
-
tempGenerator.addMapping({
|
|
41
|
-
generated: {
|
|
42
|
-
line: mapping.generatedLine,
|
|
43
|
-
column: mapping.generatedColumn
|
|
44
|
-
},
|
|
45
|
-
original: {
|
|
46
|
-
line: mapping.originalLine,
|
|
47
|
-
column: mapping.originalColumn
|
|
48
|
-
},
|
|
49
|
-
source: mapping.source,
|
|
50
|
-
name: mapping.name
|
|
51
|
-
});
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _parser = require("@aiot-toolkit/parser");
|
|
8
|
+
async function addColSourceMap(source, map) {
|
|
9
|
+
const callback = this.async();
|
|
10
|
+
if (!map) {
|
|
11
|
+
callback(null, source, map);
|
|
12
|
+
}
|
|
13
|
+
let {
|
|
14
|
+
consumer,
|
|
15
|
+
tempGenerator
|
|
16
|
+
} = await _parser.SourceMapUtil.createConsumerAndGenerator(JSON.stringify(map));
|
|
17
|
+
let recordLine = -1;
|
|
18
|
+
consumer.eachMapping(mapping => {
|
|
19
|
+
if (mapping.source === consumer.sources[consumer.sources.length - 1]) {
|
|
20
|
+
if (recordLine < mapping.generatedLine && (mapping.generatedColumn !== 0 || mapping.originalColumn !== 0)) {
|
|
21
|
+
tempGenerator.addMapping({
|
|
22
|
+
generated: {
|
|
23
|
+
line: mapping.generatedLine,
|
|
24
|
+
column: 0
|
|
25
|
+
},
|
|
26
|
+
original: {
|
|
27
|
+
line: mapping.originalLine,
|
|
28
|
+
column: 0
|
|
29
|
+
},
|
|
30
|
+
source: mapping.source,
|
|
31
|
+
name: ''
|
|
52
32
|
});
|
|
53
|
-
|
|
33
|
+
}
|
|
34
|
+
recordLine = mapping.generatedLine;
|
|
35
|
+
}
|
|
36
|
+
tempGenerator.addMapping({
|
|
37
|
+
generated: {
|
|
38
|
+
line: mapping.generatedLine,
|
|
39
|
+
column: mapping.generatedColumn
|
|
40
|
+
},
|
|
41
|
+
original: {
|
|
42
|
+
line: mapping.originalLine,
|
|
43
|
+
column: mapping.originalColumn
|
|
44
|
+
},
|
|
45
|
+
source: mapping.source,
|
|
46
|
+
name: mapping.name
|
|
54
47
|
});
|
|
48
|
+
});
|
|
49
|
+
callback(null, source, JSON.parse(tempGenerator.toString()));
|
|
55
50
|
}
|
|
56
|
-
exports.default = addColSourceMap;
|
|
51
|
+
var _default = exports.default = addColSourceMap;
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
10
|
function extractMapData(source, map) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
const enterFilePath = this.resourcePath;
|
|
12
|
+
// 获取当前文件夹和文件名
|
|
13
|
+
const dirName = _path.default.dirname(enterFilePath);
|
|
14
|
+
const fileName = _path.default.basename(enterFilePath);
|
|
15
|
+
// 取到对应的map文件内容
|
|
16
|
+
const mapFilePath = _path.default.join(dirName, fileName + '.map');
|
|
17
|
+
if (_fs.default.existsSync(mapFilePath)) {
|
|
18
|
+
map = _fs.default.readFileSync(mapFilePath, {
|
|
19
|
+
encoding: 'utf-8'
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
this.callback(null, source, map && JSON.parse(map));
|
|
19
23
|
}
|
|
20
|
-
exports.default = extractMapData;
|
|
24
|
+
var _default = exports.default = extractMapData;
|
package/lib/config/UxConfig.js
CHANGED
|
@@ -1,179 +1,151 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _parser = require("@aiot-toolkit/parser");
|
|
8
|
+
var _sharedUtils = require("@aiot-toolkit/shared-utils");
|
|
9
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
10
|
+
var _path = _interopRequireDefault(require("path"));
|
|
11
|
+
var _JsLoader = _interopRequireDefault(require("../loader/ux/JsLoader"));
|
|
12
|
+
var _PngLoader = _interopRequireDefault(require("../loader/ux/PngLoader"));
|
|
13
|
+
var _AppUxLoader = _interopRequireDefault(require("../loader/ux/vela/AppUxLoader"));
|
|
14
|
+
var _HmlLoader = _interopRequireDefault(require("../loader/ux/vela/HmlLoader"));
|
|
15
|
+
var _UxLoader = _interopRequireDefault(require("../loader/ux/vela/UxLoader"));
|
|
16
|
+
var _UxLoader2 = _interopRequireDefault(require("../loader/ux/android/UxLoader"));
|
|
17
|
+
var _UxBeforeWorks = _interopRequireDefault(require("../beforeWorks/ux/UxBeforeWorks"));
|
|
18
|
+
var _UxAfterWorks = _interopRequireDefault(require("../afterWorks/ux/UxAfterWorks"));
|
|
19
|
+
var _UxAfterCompile = _interopRequireDefault(require("../afterCompile/ux/UxAfterCompile"));
|
|
20
|
+
var _UxBeforeCompile = _interopRequireDefault(require("../beforeCompile/ux/UxBeforeCompile"));
|
|
21
|
+
var _BeforeCompileUtils = _interopRequireDefault(require("../utils/BeforeCompileUtils"));
|
|
22
|
+
var _IChangedFile = require("file-lane/lib/interface/IChangedFile");
|
|
23
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
24
|
class UxConfig {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// 1.
|
|
52
|
-
return getProjectFiles();
|
|
53
|
-
};
|
|
54
|
-
this.exclude = [
|
|
55
|
-
'**/node_modules{,/**}',
|
|
56
|
-
'**/dist{,/**}',
|
|
57
|
-
'**/build{,/**}',
|
|
58
|
-
'**/.git{,/**}',
|
|
59
|
-
(filePath) => {
|
|
60
|
-
// 如果 是 script, style文件,且同路径下存在同名 hml,则忽略
|
|
61
|
-
const { ext, name } = path_1.default.parse(filePath);
|
|
62
|
-
if (![...parser_1.ExtensionConfig.SCRIPTS, ...parser_1.ExtensionConfig.STYLES].includes(ext)) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
const hmlPath = shared_utils_1.FileUtil.updateFileName(filePath, `${name}${parser_1.ExtensionConfig.HML}`);
|
|
66
|
-
if (fs_1.default.existsSync(hmlPath)) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
];
|
|
72
|
-
this.beforeWorks = [UxBeforeWorks_1.default.cleanOutput];
|
|
73
|
-
this.beforeCompile = [
|
|
74
|
-
UxBeforeCompile_1.default.validateManifest,
|
|
75
|
-
UxBeforeCompile_1.default.validateSitemap,
|
|
76
|
-
BeforeCompileUtils_1.default.clean,
|
|
77
|
-
BeforeCompileUtils_1.default.getEntries,
|
|
78
|
-
BeforeCompileUtils_1.default.getGlobalVar
|
|
79
|
-
];
|
|
80
|
-
this.afterCompile = [
|
|
81
|
-
{
|
|
82
|
-
worker: UxAfterCompile_1.default.symlinkNodeModule,
|
|
83
|
-
workerDescribe: 'Create a soft link to the node_modules folder'
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
worker: UxAfterCompile_1.default.webpack,
|
|
87
|
-
workerDescribe: 'Compile the project using webpack'
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
worker: UxAfterCompile_1.default.copyResource,
|
|
91
|
-
workerDescribe: 'Copy resource files'
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
worker: UxAfterCompile_1.default.jsc,
|
|
95
|
-
workerDescribe: 'Generate jsc bytecode'
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
worker: UxAfterCompile_1.default.protobuf,
|
|
99
|
-
workerDescribe: 'Generate protobuf json'
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
worker: UxAfterCompile_1.default.toRpk,
|
|
103
|
-
workerDescribe: 'Package the project into an RPK file'
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
worker: UxAfterCompile_1.default.generateDiff,
|
|
107
|
-
workerDescribe: 'Generate diff json'
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
worker: UxAfterCompile_1.default.moveBackResult,
|
|
111
|
-
workerDescribe: 'Migrate temporary project'
|
|
112
|
-
}
|
|
113
|
-
];
|
|
114
|
-
this.afterWorks = [UxAfterWorks_1.default.cleanOutput];
|
|
115
|
-
this.watchIgnores = [/node_modules/, /build/, /dist/];
|
|
25
|
+
constructor(projectPath) {
|
|
26
|
+
this.projectPath = projectPath;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 1. 取项目中所有的真实文件
|
|
30
|
+
* 1.1 无entryFileList时
|
|
31
|
+
* 1.2 有entryFileList且文件列表中有 与其他文件相关 的文件时
|
|
32
|
+
* 1.3 有entryFileList且文件列表中有文件为 删除 操作时
|
|
33
|
+
* 2. 返回符合条件的文件列表
|
|
34
|
+
* 2.1 有entryFileList且文件列表中 只有 不影响其他文件 的文件时
|
|
35
|
+
* @param entryFileList
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
collectFile = entryFileList => {
|
|
39
|
+
// 取项目中所有的真实文件
|
|
40
|
+
const getProjectFiles = () => {
|
|
41
|
+
const projectPath = this.projectPath;
|
|
42
|
+
let files = _sharedUtils.FileUtil.readAlldirSync(projectPath, undefined, this.exclude);
|
|
43
|
+
return files;
|
|
44
|
+
};
|
|
45
|
+
// 2.
|
|
46
|
+
if (entryFileList) {
|
|
47
|
+
let isGetAll = entryFileList.every(item => item.type === _IChangedFile.HandlerType.UNLINK || !/\.(ux|json|js)$/.test(item.path));
|
|
48
|
+
if (!isGetAll) {
|
|
49
|
+
return entryFileList.filter(filePath => _sharedUtils.FileUtil.include(filePath.path, undefined, this.exclude)).map(item => item.path);
|
|
50
|
+
}
|
|
116
51
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
52
|
+
// 1.
|
|
53
|
+
return getProjectFiles();
|
|
54
|
+
};
|
|
55
|
+
exclude = ['**/node_modules{,/**}', '**/dist{,/**}', '**/build{,/**}', '**/.git{,/**}', filePath => {
|
|
56
|
+
// 如果 是 script, style文件,且同路径下存在同名 hml,则忽略
|
|
57
|
+
const {
|
|
58
|
+
ext,
|
|
59
|
+
name
|
|
60
|
+
} = _path.default.parse(filePath);
|
|
61
|
+
if (![..._parser.ExtensionConfig.SCRIPTS, ..._parser.ExtensionConfig.STYLES].includes(ext)) {
|
|
62
|
+
return false;
|
|
121
63
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
get module() {
|
|
126
|
-
const isVela = this.getProjectType() === shared_utils_1.ProjectType.VELA_UX;
|
|
127
|
-
return isVela
|
|
128
|
-
? {
|
|
129
|
-
rules: [
|
|
130
|
-
{
|
|
131
|
-
test: ['app.ux'],
|
|
132
|
-
loader: [AppUxLoader_1.default]
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
test: [/.+\.ux$/],
|
|
136
|
-
exclude: [/app\.ux/],
|
|
137
|
-
loader: [UxLoader_1.default]
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
test: [/.+\.hml$/],
|
|
141
|
-
loader: [HmlLoader_1.default, UxLoader_1.default]
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
test: [/.+\.js$/],
|
|
145
|
-
loader: [JsLoader_1.default]
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
test: [/.+\.9.png/],
|
|
149
|
-
loader: [PngLoader_1.default]
|
|
150
|
-
}
|
|
151
|
-
]
|
|
152
|
-
}
|
|
153
|
-
: {
|
|
154
|
-
rules: [
|
|
155
|
-
{
|
|
156
|
-
test: [/.+\.ux$/],
|
|
157
|
-
loader: [UxLoader_2.default]
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
test: [/.+\.js$/],
|
|
161
|
-
loader: [JsLoader_1.default]
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
test: [/.+\.9.png/],
|
|
165
|
-
loader: [PngLoader_1.default]
|
|
166
|
-
}
|
|
167
|
-
]
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* 判断项目类型
|
|
172
|
-
*
|
|
173
|
-
* 目前的办法是通过 manifest.json 的 deviceTypeList 是否有 watch 判断
|
|
174
|
-
*/
|
|
175
|
-
getProjectType() {
|
|
176
|
-
return shared_utils_1.ProjectType.getProjectType(this.projectPath);
|
|
64
|
+
const hmlPath = _sharedUtils.FileUtil.updateFileName(filePath, `${name}${_parser.ExtensionConfig.HML}`);
|
|
65
|
+
if (_fs.default.existsSync(hmlPath)) {
|
|
66
|
+
return true;
|
|
177
67
|
}
|
|
68
|
+
return false;
|
|
69
|
+
}];
|
|
70
|
+
get output() {
|
|
71
|
+
const name = _path.default.basename(this.projectPath);
|
|
72
|
+
const result = `../.temp_${name}`;
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
beforeWorks = (() => [_UxBeforeWorks.default.cleanOutput])();
|
|
76
|
+
beforeCompile = (() => [_UxBeforeCompile.default.validateManifest, _UxBeforeCompile.default.validateSitemap, _BeforeCompileUtils.default.clean, _BeforeCompileUtils.default.getEntries, _BeforeCompileUtils.default.getGlobalVar])();
|
|
77
|
+
afterCompile = (() => [{
|
|
78
|
+
worker: _UxAfterCompile.default.symlinkNodeModule,
|
|
79
|
+
workerDescribe: 'Create a soft link to the node_modules folder'
|
|
80
|
+
}, {
|
|
81
|
+
worker: _UxAfterCompile.default.webpack,
|
|
82
|
+
workerDescribe: 'Compile the project using webpack'
|
|
83
|
+
}, {
|
|
84
|
+
worker: _UxAfterCompile.default.copyResource,
|
|
85
|
+
workerDescribe: 'Copy resource files'
|
|
86
|
+
}, {
|
|
87
|
+
worker: _UxAfterCompile.default.jsc,
|
|
88
|
+
workerDescribe: 'Generate jsc bytecode'
|
|
89
|
+
}, {
|
|
90
|
+
worker: _UxAfterCompile.default.protobuf,
|
|
91
|
+
workerDescribe: 'Generate protobuf json'
|
|
92
|
+
}, {
|
|
93
|
+
worker: _UxAfterCompile.default.toRpk,
|
|
94
|
+
workerDescribe: 'Package the project into an RPK file'
|
|
95
|
+
}, {
|
|
96
|
+
worker: _UxAfterCompile.default.generateDiff,
|
|
97
|
+
workerDescribe: 'Generate diff json'
|
|
98
|
+
}, {
|
|
99
|
+
worker: _UxAfterCompile.default.moveBackResult,
|
|
100
|
+
workerDescribe: 'Migrate temporary project'
|
|
101
|
+
}])();
|
|
102
|
+
afterWorks = (() => [_UxAfterWorks.default.cleanOutput])();
|
|
103
|
+
watchIgnores = [/node_modules/, /build/, /dist/];
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* 通过项目类型,返回模块配置
|
|
107
|
+
*/
|
|
108
|
+
get module() {
|
|
109
|
+
const isVela = this.getProjectType() === _sharedUtils.ProjectType.VELA_UX;
|
|
110
|
+
return isVela ? {
|
|
111
|
+
rules: [{
|
|
112
|
+
test: ['app.ux'],
|
|
113
|
+
loader: [_AppUxLoader.default]
|
|
114
|
+
}, {
|
|
115
|
+
test: [/.+\.ux$/],
|
|
116
|
+
exclude: [/app\.ux/],
|
|
117
|
+
loader: [_UxLoader.default]
|
|
118
|
+
}, {
|
|
119
|
+
test: [/.+\.hml$/],
|
|
120
|
+
loader: [_HmlLoader.default, _UxLoader.default]
|
|
121
|
+
}, {
|
|
122
|
+
test: [/.+\.js$/],
|
|
123
|
+
loader: [_JsLoader.default]
|
|
124
|
+
}, {
|
|
125
|
+
test: [/.+\.9.png/],
|
|
126
|
+
loader: [_PngLoader.default]
|
|
127
|
+
}]
|
|
128
|
+
} : {
|
|
129
|
+
rules: [{
|
|
130
|
+
test: [/.+\.ux$/],
|
|
131
|
+
loader: [_UxLoader2.default]
|
|
132
|
+
}, {
|
|
133
|
+
test: [/.+\.js$/],
|
|
134
|
+
loader: [_JsLoader.default]
|
|
135
|
+
}, {
|
|
136
|
+
test: [/.+\.9.png/],
|
|
137
|
+
loader: [_PngLoader.default]
|
|
138
|
+
}]
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* 判断项目类型
|
|
144
|
+
*
|
|
145
|
+
* 目前的办法是通过 manifest.json 的 deviceTypeList 是否有 watch 判断
|
|
146
|
+
*/
|
|
147
|
+
getProjectType() {
|
|
148
|
+
return _sharedUtils.ProjectType.getProjectType(this.projectPath);
|
|
149
|
+
}
|
|
178
150
|
}
|
|
179
|
-
exports.default = UxConfig;
|
|
151
|
+
var _default = exports.default = UxConfig;
|
package/lib/config/XtsConfig.js
CHANGED
|
@@ -1,46 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _entryTemplate = require("../afterCompile/xts/entryTemplate");
|
|
8
|
+
var _generateRpk = require("../afterCompile/xts/generateRpk");
|
|
9
|
+
var _ts2wasm = require("../afterCompile/xts/ts2wasm");
|
|
10
|
+
var _XtsLoader = _interopRequireDefault(require("../loader/xts/XtsLoader"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
12
|
/**
|
|
11
13
|
* XtsConfig
|
|
12
14
|
*/
|
|
13
15
|
class XtsConfig {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.afterCompile = [
|
|
34
|
-
{
|
|
35
|
-
worker: entryTemplate_1.generateEntryFile
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
worker: ts2wasm_1.ts2wasm
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
worker: generateRpk_1.generateRpk
|
|
42
|
-
}
|
|
43
|
-
];
|
|
44
|
-
}
|
|
16
|
+
constructor(projectPath) {
|
|
17
|
+
this.projectPath = projectPath;
|
|
18
|
+
}
|
|
19
|
+
exclude = ['**/node_modules{,/**}', '**/dist{,/**}', '**/build{,/**}', '**/.git{,/**}', '**/.wasmUnpacked{,/**}'];
|
|
20
|
+
output = 'build';
|
|
21
|
+
module = (() => ({
|
|
22
|
+
rules: [{
|
|
23
|
+
test: [/\.xts$/],
|
|
24
|
+
loader: [_XtsLoader.default]
|
|
25
|
+
}]
|
|
26
|
+
}))();
|
|
27
|
+
beforeCompile = [];
|
|
28
|
+
afterCompile = (() => [{
|
|
29
|
+
worker: _entryTemplate.generateEntryFile
|
|
30
|
+
}, {
|
|
31
|
+
worker: _ts2wasm.ts2wasm
|
|
32
|
+
}, {
|
|
33
|
+
worker: _generateRpk.generateRpk
|
|
34
|
+
}])();
|
|
45
35
|
}
|
|
46
|
-
exports.default = XtsConfig;
|
|
36
|
+
var _default = exports.default = XtsConfig;
|