@aiot-toolkit/aiotpack 2.0.5-beta.8 → 2.0.5-widget-provider-beta.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/README.md +46 -46
- package/lib/afterCompile/ux/UxAfterCompile.d.ts +28 -1
- package/lib/afterCompile/ux/UxAfterCompile.js +186 -38
- package/lib/afterWorks/ux/UxAfterWorks.js +1 -1
- package/lib/beforeCompile/ux/UxBeforeCompile.js +2 -2
- package/lib/compiler/enum/CompileMode.js +2 -2
- package/lib/compiler/javascript/JavascriptCompiler.d.ts +14 -0
- package/lib/compiler/javascript/JavascriptCompiler.js +91 -5
- package/lib/compiler/javascript/android/AndroidWebpackConfigurator.js +2 -2
- package/lib/compiler/javascript/android/plugin/WrapPlugin.js +7 -7
- package/lib/compiler/javascript/interface/IJavascriptCompileOption.d.ts +17 -1
- package/lib/compiler/javascript/interface/IJavascriptCompileOption.js +5 -1
- package/lib/compiler/javascript/vela/VelaWebpackConfigurator.js +3 -3
- package/lib/compiler/javascript/vela/enum/BuildNameFormatType.js +2 -2
- package/lib/compiler/javascript/vela/enum/EntryType.js +2 -2
- package/lib/compiler/javascript/vela/interface/IManifest.d.ts +11 -0
- package/lib/compiler/javascript/vela/interface/IManifest.js +11 -1
- package/lib/compiler/javascript/vela/model/Package.js +28 -28
- package/lib/compiler/javascript/vela/plugin/WrapPlugin.js +1 -2
- package/lib/compiler/javascript/vela/utils/Jsc.js +2 -2
- package/lib/compiler/javascript/vela/utils/UxCompileUtil.js +31 -17
- package/lib/compiler/javascript/vela/utils/ZipUtil.js +62 -62
- package/lib/compiler/javascript/vela/utils/signature/Base64.js +2 -2
- package/lib/compiler/javascript/vela/utils/signature/CRC32.js +2 -2
- package/lib/compiler/javascript/vela/utils/signature/SignUtil.js +68 -68
- package/lib/compiler/javascript/vela/utils/signature/Signer.js +6 -6
- package/lib/compiler/javascript/vela/utils/signature/pem/certificate.pem +26 -26
- package/lib/compiler/javascript/vela/utils/signature/pem/private.pem +50 -50
- package/lib/compiler/javascript/vela/utils/webpackLoader/IWebpackLoaderOption.d.ts +11 -0
- package/lib/compiler/javascript/vela/utils/webpackLoader/IWebpackLoaderOption.js +1 -0
- package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackJsLoader.d.ts +2 -0
- package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackJsLoader.js +27 -0
- package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackUxLoader.d.ts +2 -0
- package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackUxLoader.js +26 -0
- package/lib/compiler/tools/icu/ImageIcu.d.ts +37 -0
- package/lib/compiler/tools/icu/ImageIcu.js +110 -0
- package/lib/compiler/tools/icu/icu_darwin_arm64 +0 -0
- package/lib/compiler/tools/icu/icu_darwin_x64 +0 -0
- package/lib/compiler/tools/icu/icu_linux_arm64 +0 -0
- package/lib/compiler/tools/icu/icu_linux_x64 +0 -0
- package/lib/compiler/tools/icu/icu_win32_x64.exe +0 -0
- package/lib/config/UxConfig.d.ts +9 -4
- package/lib/config/UxConfig.js +29 -17
- package/lib/index.d.ts +1 -3
- package/lib/index.js +2 -28
- package/lib/loader/ux/JsLoader.js +2 -2
- package/lib/loader/ux/PngLoader.js +2 -2
- package/lib/loader/ux/android/UxLoader.js +2 -2
- package/lib/loader/ux/vela/AppUxLoader.js +3 -3
- package/lib/loader/ux/vela/HmlLoader.js +14 -14
- package/lib/loader/ux/vela/UxLoader.js +7 -0
- package/lib/utils/BeforeCompileUtils.d.ts +2 -0
- package/lib/utils/BeforeCompileUtils.js +34 -12
- package/lib/utils/PngUtils.js +11 -11
- package/lib/utils/ux/ManifestSchema.js +6 -3
- package/lib/utils/ux/UxFileUtils.d.ts +1 -0
- package/lib/utils/ux/UxFileUtils.js +56 -45
- package/lib/utils/ux/UxLoaderUtils.js +35 -35
- package/lib/utils/ux/android/AndroidUx.js +10 -10
- package/package.json +8 -11
- package/lib/afterCompile/xts/entryTemplate.d.ts +0 -21
- package/lib/afterCompile/xts/entryTemplate.js +0 -182
- package/lib/afterCompile/xts/generateRpk.d.ts +0 -3
- package/lib/afterCompile/xts/generateRpk.js +0 -28
- package/lib/afterCompile/xts/ts2wasm.d.ts +0 -8
- package/lib/afterCompile/xts/ts2wasm.js +0 -69
- package/lib/beforeCompile/xts/preInstall.d.ts +0 -3
- package/lib/beforeCompile/xts/preInstall.js +0 -54
- package/lib/config/XtsConfig.d.ts +0 -22
- package/lib/config/XtsConfig.js +0 -36
- package/lib/interface/ICompileOptions.d.ts +0 -6
- package/lib/interface/ICompileOptions.js +0 -7
- package/lib/loader/xts/XtsLoader.d.ts +0 -9
- package/lib/loader/xts/XtsLoader.js +0 -62
- package/lib/utils/xts/XtsFileLaneUtils.d.ts +0 -10
- package/lib/utils/xts/XtsFileLaneUtils.js +0 -61
- package/lib/utils/xts/XtsFollowWorks.d.ts +0 -34
- package/lib/utils/xts/XtsFollowWorks.js +0 -134
|
@@ -16,14 +16,14 @@ var _Base = _interopRequireDefault(require("./Base64"));
|
|
|
16
16
|
var _CRC = _interopRequireDefault(require("./CRC32"));
|
|
17
17
|
var _Signer = _interopRequireDefault(require("./Signer"));
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
/**
|
|
20
|
-
* SignUtil
|
|
19
|
+
/**
|
|
20
|
+
* SignUtil
|
|
21
21
|
*/
|
|
22
22
|
class SignUtil {
|
|
23
|
-
/**
|
|
24
|
-
* 获取签名相关的配置内容
|
|
25
|
-
* @param param IJavascriptCompileOption参数中获取签名目录等内容
|
|
26
|
-
* @returns
|
|
23
|
+
/**
|
|
24
|
+
* 获取签名相关的配置内容
|
|
25
|
+
* @param param IJavascriptCompileOption参数中获取签名目录等内容
|
|
26
|
+
* @returns
|
|
27
27
|
*/
|
|
28
28
|
static async getProjectSignConfig(param) {
|
|
29
29
|
const {
|
|
@@ -100,16 +100,16 @@ class SignUtil {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
/**
|
|
104
|
-
* 对二进制zipBuffer签名
|
|
105
|
-
*
|
|
106
|
-
* 1. 对`META-INF/CERT`做签名,并生成新的`META-INF/CERT` buffer
|
|
107
|
-
* 2. "新`META-INF/CERT` + 其它文件"生成新的 zipBuffer
|
|
108
|
-
* 3. 对“新zipBuffer”,做整体签名
|
|
109
|
-
* @param zipBuffer
|
|
110
|
-
* @param privatekey
|
|
111
|
-
* @param certificate
|
|
112
|
-
* @returns
|
|
103
|
+
/**
|
|
104
|
+
* 对二进制zipBuffer签名
|
|
105
|
+
*
|
|
106
|
+
* 1. 对`META-INF/CERT`做签名,并生成新的`META-INF/CERT` buffer
|
|
107
|
+
* 2. "新`META-INF/CERT` + 其它文件"生成新的 zipBuffer
|
|
108
|
+
* 3. 对“新zipBuffer”,做整体签名
|
|
109
|
+
* @param zipBuffer
|
|
110
|
+
* @param privatekey
|
|
111
|
+
* @param certificate
|
|
112
|
+
* @returns
|
|
113
113
|
*/
|
|
114
114
|
static async signPackage(target, privatekey, certificate) {
|
|
115
115
|
const getFileBuffer = path => {
|
|
@@ -166,15 +166,15 @@ class SignUtil {
|
|
|
166
166
|
}
|
|
167
167
|
return signedZipBuffer;
|
|
168
168
|
}
|
|
169
|
-
/**
|
|
170
|
-
* 根据ZIP流获取文件实例
|
|
171
|
-
*
|
|
172
|
-
* 1. zipbuffer转换为JSZip对象
|
|
173
|
-
* 2. 提取文件列表,并生成每个文件的 buffer
|
|
174
|
-
* 3. 创建获取文件buffer的函数
|
|
175
|
-
*
|
|
176
|
-
* @param zipBuffer
|
|
177
|
-
* @returns
|
|
169
|
+
/**
|
|
170
|
+
* 根据ZIP流获取文件实例
|
|
171
|
+
*
|
|
172
|
+
* 1. zipbuffer转换为JSZip对象
|
|
173
|
+
* 2. 提取文件列表,并生成每个文件的 buffer
|
|
174
|
+
* 3. 创建获取文件buffer的函数
|
|
175
|
+
*
|
|
176
|
+
* @param zipBuffer
|
|
177
|
+
* @returns
|
|
178
178
|
*/
|
|
179
179
|
static async createFileListFromZipBuffer(zipBuffer) {
|
|
180
180
|
const zipInst = await _jszip.default.loadAsync(zipBuffer, _ZipUtil.default.ZIP_OPTION);
|
|
@@ -195,14 +195,14 @@ class SignUtil {
|
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
|
-
/**
|
|
199
|
-
* 为 zip buffer 签名,返回签名后的buffer
|
|
200
|
-
*
|
|
201
|
-
* @description 根据zipBuffer + zip的文件列表 + 私钥 + 证书,对 zipbuffer 签名
|
|
202
|
-
* @param fileBuffer
|
|
203
|
-
* @param files
|
|
204
|
-
* @param privatekey
|
|
205
|
-
* @param certificate
|
|
198
|
+
/**
|
|
199
|
+
* 为 zip buffer 签名,返回签名后的buffer
|
|
200
|
+
*
|
|
201
|
+
* @description 根据zipBuffer + zip的文件列表 + 私钥 + 证书,对 zipbuffer 签名
|
|
202
|
+
* @param fileBuffer
|
|
203
|
+
* @param files
|
|
204
|
+
* @param privatekey
|
|
205
|
+
* @param certificate
|
|
206
206
|
*/
|
|
207
207
|
static doSign(fileBuffer, files, privatekey, certificate) {
|
|
208
208
|
const result = SignUtil.unZipFiles(fileBuffer, files);
|
|
@@ -217,10 +217,10 @@ class SignUtil {
|
|
|
217
217
|
const signContent = SignUtil.saveChunk(fileBuffer, chunks);
|
|
218
218
|
return signContent;
|
|
219
219
|
}
|
|
220
|
-
/**
|
|
221
|
-
* 解析buffer
|
|
222
|
-
* @param fileBuffer
|
|
223
|
-
* @param files
|
|
220
|
+
/**
|
|
221
|
+
* 解析buffer
|
|
222
|
+
* @param fileBuffer
|
|
223
|
+
* @param files
|
|
224
224
|
*/
|
|
225
225
|
static unZipFiles(fileBuffer, files) {
|
|
226
226
|
// 1. 读取zip文件
|
|
@@ -250,9 +250,9 @@ class SignUtil {
|
|
|
250
250
|
}
|
|
251
251
|
return false;
|
|
252
252
|
}
|
|
253
|
-
/**
|
|
254
|
-
* 解析ZIP 分解为数据块
|
|
255
|
-
* @param fileBuffer
|
|
253
|
+
/**
|
|
254
|
+
* 解析ZIP 分解为数据块
|
|
255
|
+
* @param fileBuffer
|
|
256
256
|
*/
|
|
257
257
|
static parserZip(fileBuffer) {
|
|
258
258
|
let chunk = {
|
|
@@ -299,10 +299,10 @@ class SignUtil {
|
|
|
299
299
|
}
|
|
300
300
|
return chunk;
|
|
301
301
|
}
|
|
302
|
-
/**
|
|
303
|
-
* 从后往前读取buffer,读取尾部buffer
|
|
304
|
-
* @param buffer
|
|
305
|
-
* @returns
|
|
302
|
+
/**
|
|
303
|
+
* 从后往前读取buffer,读取尾部buffer
|
|
304
|
+
* @param buffer
|
|
305
|
+
* @returns
|
|
306
306
|
*/
|
|
307
307
|
static readEOCD(buffer) {
|
|
308
308
|
let chunk;
|
|
@@ -327,11 +327,11 @@ class SignUtil {
|
|
|
327
327
|
}
|
|
328
328
|
return chunk;
|
|
329
329
|
}
|
|
330
|
-
/**
|
|
331
|
-
* 读取中部buffer
|
|
332
|
-
* @param buffer
|
|
333
|
-
* @param offset
|
|
334
|
-
* @param size
|
|
330
|
+
/**
|
|
331
|
+
* 读取中部buffer
|
|
332
|
+
* @param buffer
|
|
333
|
+
* @param offset
|
|
334
|
+
* @param size
|
|
335
335
|
*/
|
|
336
336
|
static readCD(buffer, offset, size) {
|
|
337
337
|
let chunk;
|
|
@@ -349,12 +349,12 @@ class SignUtil {
|
|
|
349
349
|
}
|
|
350
350
|
return chunk;
|
|
351
351
|
}
|
|
352
|
-
/**
|
|
353
|
-
* 读取前部buffer
|
|
354
|
-
* @param buffer
|
|
355
|
-
* @param offset
|
|
356
|
-
* @param size
|
|
357
|
-
* @returns
|
|
352
|
+
/**
|
|
353
|
+
* 读取前部buffer
|
|
354
|
+
* @param buffer
|
|
355
|
+
* @param offset
|
|
356
|
+
* @param size
|
|
357
|
+
* @returns
|
|
358
358
|
*/
|
|
359
359
|
static readFH(buffer, offset, size) {
|
|
360
360
|
let chunk;
|
|
@@ -372,10 +372,10 @@ class SignUtil {
|
|
|
372
372
|
}
|
|
373
373
|
return chunk;
|
|
374
374
|
}
|
|
375
|
-
/**
|
|
376
|
-
* 数据块hash
|
|
377
|
-
* @param buffer
|
|
378
|
-
* @param chunk
|
|
375
|
+
/**
|
|
376
|
+
* 数据块hash
|
|
377
|
+
* @param buffer
|
|
378
|
+
* @param chunk
|
|
379
379
|
*/
|
|
380
380
|
static processChunk(buffer, chunk) {
|
|
381
381
|
const cur = chunk.startIndex;
|
|
@@ -595,11 +595,11 @@ class SignUtil {
|
|
|
595
595
|
}
|
|
596
596
|
return signature;
|
|
597
597
|
}
|
|
598
|
-
/**
|
|
599
|
-
* 加签名文件
|
|
600
|
-
* @param filehashs
|
|
601
|
-
* @param prikey
|
|
602
|
-
* @param certpem
|
|
598
|
+
/**
|
|
599
|
+
* 加签名文件
|
|
600
|
+
* @param filehashs
|
|
601
|
+
* @param prikey
|
|
602
|
+
* @param certpem
|
|
603
603
|
*/
|
|
604
604
|
static signFiles(filehashs, prikey, certpem) {
|
|
605
605
|
const chunk = {
|
|
@@ -777,10 +777,10 @@ class SignUtil {
|
|
|
777
777
|
offset += sections.footer.len;
|
|
778
778
|
return newBuffer;
|
|
779
779
|
}
|
|
780
|
-
/**
|
|
781
|
-
* 过滤掉文件夹和META文件
|
|
782
|
-
* @param item
|
|
783
|
-
* @returns
|
|
780
|
+
/**
|
|
781
|
+
* 过滤掉文件夹和META文件
|
|
782
|
+
* @param item
|
|
783
|
+
* @returns
|
|
784
784
|
*/
|
|
785
785
|
static fileFilter(item) {
|
|
786
786
|
const path = item.path;
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _crypto = _interopRequireDefault(require("crypto"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
/**
|
|
10
|
-
* Signer
|
|
9
|
+
/**
|
|
10
|
+
* Signer
|
|
11
11
|
*/
|
|
12
12
|
class Signer {
|
|
13
13
|
static setRemoteCryptoSignFunction(fn) {
|
|
@@ -16,10 +16,10 @@ class Signer {
|
|
|
16
16
|
static getRemoteCryptoSignFunction() {
|
|
17
17
|
return Signer._cryptoSignFunction;
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
* 使用RSA-SHA256
|
|
21
|
-
* @param buffer
|
|
22
|
-
* @param prikey
|
|
19
|
+
/**
|
|
20
|
+
* 使用RSA-SHA256
|
|
21
|
+
* @param buffer
|
|
22
|
+
* @param prikey
|
|
23
23
|
*/
|
|
24
24
|
static defaultCryptoSignFunction(buffer, prikey) {
|
|
25
25
|
const signer = _crypto.default.createSign('RSA-SHA256');
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIEpDCCAowCCQC0eMZYkbPqvzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls
|
|
3
|
-
b2NhbGhvc3QwHhcNMjEwNDA3MDc0MTI2WhcNMzEwNDA1MDc0MTI2WjAUMRIwEAYD
|
|
4
|
-
VQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDR
|
|
5
|
-
fEK1e8OxPAmtBc/bkz+Vy1T0EcRgHjA+UzYNj1kzBFb7CW9V7DIesXJ5mAwR1HOm
|
|
6
|
-
D32Ijou2oSDaHKunnM576PgSCeoRUJkycUSXS0mK2+opuqXTywayTVmcNoqUuE+T
|
|
7
|
-
/XjUJZ+MXsl0zxC5pv0HyMG2sInpIuahj2QrRim7u8IEJugSQLCdw53EVrAQ51s9
|
|
8
|
-
AsSyL/IvdqtYK5kNAz+cIVdn4Vx88YOteqbeMSIg1ICqDc3IgD0sCjQesqIpsJBV
|
|
9
|
-
LJZfWQsRMFt0tUyZQCqjYOSdy0tbrIOL2QjtwSXOPB8bUptvScxevrHAML3qNDz+
|
|
10
|
-
oPdJRMCLK3DOaRorfGPqA0mjlxE6cVXKnkvQlM6Kf8QItYlLMspvv+TFx3VdakbI
|
|
11
|
-
SzP058PEyf2A7IWSzWvFlpigtGuBCtrq8liyFXAsTxMwIB/TwF/G0A1AANg8aK6Z
|
|
12
|
-
td/gHWqcOEbGDwEDCmTn4ockpKWbkrM3kqt75fl8yjeaDz1qN15cz/5YKz8aZnuC
|
|
13
|
-
3Pe4VT+QbCeflcIjLJbmKBCJ7sbbDQJOWPiq2QLjqrvG3rUTXF2xlUa3piWpxyHF
|
|
14
|
-
VICuCaojUgl80eb/9kfVUXdDVB8oJIJE/hLEnt90lXUIo7roz4hwFKPuqVhw8368
|
|
15
|
-
FOQvrQW/ogILoSFuPrCSrRbaBOqlefoHiaDZsSpwvwIDAQABMA0GCSqGSIb3DQEB
|
|
16
|
-
CwUAA4ICAQAYb0jECnfZxdIbbCQyRaIMHitZctUlhM48edNX8Jhj+3fMX4rgaua7
|
|
17
|
-
+QMlEhWSaXRZzN5VPA1ifFWaDjndde72iihYgtoTXRaHWquUKw1DkRizdzg7zH9k
|
|
18
|
-
6pi9QNBSDJ1+Pbpf+2ZDcIfTf+YsqmRDNgtmGEQmvad87eIW415ggvRnb0i2fm7v
|
|
19
|
-
0nCqMHSjTkkp9XHBXQ1jnz4zWNr1s+pEEIjy4+oOr7vjuBe/JTUKiQxyqQXWb4MQ
|
|
20
|
-
KhKvPaHsyMpa733/3BVaPrIYM9Y+cR6hVD5DdYsmhFA7oTk7oBpysDREAoXlTuDf
|
|
21
|
-
X+lCVRwek7jDIi1JgOjCroTFRF003V7pul67coGKj2mBTESb+B5FwXuDDDgkti1f
|
|
22
|
-
62FXQQFaBslY8N+tq3YQiZ4CZzREsZVDuRTJWC7nV6+wnOorgeGtmFBjCB11CvuR
|
|
23
|
-
av6rT4TA9Cp30EfWNYSJhmHNRHTSoFAUfbMpjUJ/ZoUfYN0QukFxBmDhy6sg5ZFg
|
|
24
|
-
RibPbqnSXmq9O2n+eHhJsIzrufkt9SSrs2VE2Xzzjfyshqajp92/UJYvyPVFCNKk
|
|
25
|
-
ja34I+m9g7BsgJ83CDcVIZG6QEBGvXHVNuN/5AmH4ZbVAjhcVLUB2FWKxnQJzI8g
|
|
26
|
-
lfWndbecBeyMfWktqudmF/RH/PpRSscmSFEYBt4Y38HI53xfIp74zQ==
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEpDCCAowCCQC0eMZYkbPqvzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls
|
|
3
|
+
b2NhbGhvc3QwHhcNMjEwNDA3MDc0MTI2WhcNMzEwNDA1MDc0MTI2WjAUMRIwEAYD
|
|
4
|
+
VQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDR
|
|
5
|
+
fEK1e8OxPAmtBc/bkz+Vy1T0EcRgHjA+UzYNj1kzBFb7CW9V7DIesXJ5mAwR1HOm
|
|
6
|
+
D32Ijou2oSDaHKunnM576PgSCeoRUJkycUSXS0mK2+opuqXTywayTVmcNoqUuE+T
|
|
7
|
+
/XjUJZ+MXsl0zxC5pv0HyMG2sInpIuahj2QrRim7u8IEJugSQLCdw53EVrAQ51s9
|
|
8
|
+
AsSyL/IvdqtYK5kNAz+cIVdn4Vx88YOteqbeMSIg1ICqDc3IgD0sCjQesqIpsJBV
|
|
9
|
+
LJZfWQsRMFt0tUyZQCqjYOSdy0tbrIOL2QjtwSXOPB8bUptvScxevrHAML3qNDz+
|
|
10
|
+
oPdJRMCLK3DOaRorfGPqA0mjlxE6cVXKnkvQlM6Kf8QItYlLMspvv+TFx3VdakbI
|
|
11
|
+
SzP058PEyf2A7IWSzWvFlpigtGuBCtrq8liyFXAsTxMwIB/TwF/G0A1AANg8aK6Z
|
|
12
|
+
td/gHWqcOEbGDwEDCmTn4ockpKWbkrM3kqt75fl8yjeaDz1qN15cz/5YKz8aZnuC
|
|
13
|
+
3Pe4VT+QbCeflcIjLJbmKBCJ7sbbDQJOWPiq2QLjqrvG3rUTXF2xlUa3piWpxyHF
|
|
14
|
+
VICuCaojUgl80eb/9kfVUXdDVB8oJIJE/hLEnt90lXUIo7roz4hwFKPuqVhw8368
|
|
15
|
+
FOQvrQW/ogILoSFuPrCSrRbaBOqlefoHiaDZsSpwvwIDAQABMA0GCSqGSIb3DQEB
|
|
16
|
+
CwUAA4ICAQAYb0jECnfZxdIbbCQyRaIMHitZctUlhM48edNX8Jhj+3fMX4rgaua7
|
|
17
|
+
+QMlEhWSaXRZzN5VPA1ifFWaDjndde72iihYgtoTXRaHWquUKw1DkRizdzg7zH9k
|
|
18
|
+
6pi9QNBSDJ1+Pbpf+2ZDcIfTf+YsqmRDNgtmGEQmvad87eIW415ggvRnb0i2fm7v
|
|
19
|
+
0nCqMHSjTkkp9XHBXQ1jnz4zWNr1s+pEEIjy4+oOr7vjuBe/JTUKiQxyqQXWb4MQ
|
|
20
|
+
KhKvPaHsyMpa733/3BVaPrIYM9Y+cR6hVD5DdYsmhFA7oTk7oBpysDREAoXlTuDf
|
|
21
|
+
X+lCVRwek7jDIi1JgOjCroTFRF003V7pul67coGKj2mBTESb+B5FwXuDDDgkti1f
|
|
22
|
+
62FXQQFaBslY8N+tq3YQiZ4CZzREsZVDuRTJWC7nV6+wnOorgeGtmFBjCB11CvuR
|
|
23
|
+
av6rT4TA9Cp30EfWNYSJhmHNRHTSoFAUfbMpjUJ/ZoUfYN0QukFxBmDhy6sg5ZFg
|
|
24
|
+
RibPbqnSXmq9O2n+eHhJsIzrufkt9SSrs2VE2Xzzjfyshqajp92/UJYvyPVFCNKk
|
|
25
|
+
ja34I+m9g7BsgJ83CDcVIZG6QEBGvXHVNuN/5AmH4ZbVAjhcVLUB2FWKxnQJzI8g
|
|
26
|
+
lfWndbecBeyMfWktqudmF/RH/PpRSscmSFEYBt4Y38HI53xfIp74zQ==
|
|
27
27
|
-----END CERTIFICATE-----
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
-
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
-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
-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
-
EkCwncOdxFawEOdbPQLEsi/yL3arWCuZDQM/nCFXZ+FcfPGDrXqm3jEiINSAqg3N
|
|
6
|
-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
-
b0nMXr6xwDC96jQ8/qD3SUTAiytwzmkaK3xj6gNJo5cROnFVyp5L0JTOin/ECLWJ
|
|
8
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
MmdJbOkGFIP4YdOLSDS/Kb+D9+KPH8C04oB1FonzYx4D149TsO+ACw/XStRu1b6R
|
|
36
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
BvtqeP42uGeGyBAeEAywp3T9Agu/ZuffPJjJu3IRPYnfvmAfYBa4VTWO3ZwP
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
51
|
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IFileLaneContext } from 'file-lane';
|
|
2
|
+
import IJavascriptCompileOption from '../../../interface/IJavascriptCompileOption';
|
|
3
|
+
import { ILog } from '@aiot-toolkit/shared-utils';
|
|
4
|
+
/**
|
|
5
|
+
* IWebpackLoaderOption
|
|
6
|
+
*/
|
|
7
|
+
export default interface IWebpackLoaderOption {
|
|
8
|
+
compileParam: IJavascriptCompileOption;
|
|
9
|
+
context: IFileLaneContext;
|
|
10
|
+
onLog: (log: ILog[]) => void;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = _default;
|
|
7
|
+
var _parser = require("@aiot-toolkit/parser");
|
|
8
|
+
var _sharedUtils = require("@aiot-toolkit/shared-utils");
|
|
9
|
+
async function _default(source) {
|
|
10
|
+
const callback = this.async();
|
|
11
|
+
const options = this.getOptions();
|
|
12
|
+
const {
|
|
13
|
+
context,
|
|
14
|
+
onLog,
|
|
15
|
+
compileParam
|
|
16
|
+
} = options;
|
|
17
|
+
const result = await new _parser.ScriptToTypescript({
|
|
18
|
+
filePath: this.resourcePath,
|
|
19
|
+
content: source,
|
|
20
|
+
projectPath: this.rootContext,
|
|
21
|
+
onLog: log => onLog?.([log]),
|
|
22
|
+
projectType: _sharedUtils.ProjectType.VELA_UX
|
|
23
|
+
}, compileParam, context).translate({
|
|
24
|
+
content: source
|
|
25
|
+
}, []);
|
|
26
|
+
callback(null, result.targetTree.getFullText());
|
|
27
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = _default;
|
|
7
|
+
var _UxLoaderUtils = _interopRequireDefault(require("../../../../../utils/ux/UxLoaderUtils"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
async function _default(source) {
|
|
10
|
+
const options = this.getOptions();
|
|
11
|
+
const {
|
|
12
|
+
onLog,
|
|
13
|
+
compileParam,
|
|
14
|
+
context
|
|
15
|
+
} = options;
|
|
16
|
+
const callback = this.async();
|
|
17
|
+
const {
|
|
18
|
+
files: compiledFiles,
|
|
19
|
+
logs
|
|
20
|
+
} = await _UxLoaderUtils.default.compileUxToJavascript({
|
|
21
|
+
path: this.resourcePath,
|
|
22
|
+
content: source
|
|
23
|
+
}, context, false, compileParam);
|
|
24
|
+
onLog?.(logs);
|
|
25
|
+
callback(null, compiledFiles[0].content, compiledFiles[1].content);
|
|
26
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
declare class ImageIcu {
|
|
2
|
+
static EXT: string;
|
|
3
|
+
static INCLUDE_LIST: string[];
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
getBinPath(): string;
|
|
9
|
+
/**
|
|
10
|
+
* 文件转换为 bin 格式
|
|
11
|
+
* @param {*} resourcePath 源文件
|
|
12
|
+
* @param {*} folder 产物目录
|
|
13
|
+
* @param {'lvgl'|'png'} format
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
translate(resourcePath: string, folder: string, format?: string): string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* 资源转换为 bin 文件路径
|
|
19
|
+
*
|
|
20
|
+
* 如果是 png, jpg,jpeg, webp, bmp,则转换为 .bin 后缀;其它类型不处理
|
|
21
|
+
*
|
|
22
|
+
* **此方法仅返回转换后的路径, 不会实际转换文件**
|
|
23
|
+
* @param {string} path
|
|
24
|
+
* @example assetsToBinPath('images/test.png') // images/test.bin
|
|
25
|
+
*
|
|
26
|
+
* @return {string} 可转则返回对应的 bin 路径;否则返回''
|
|
27
|
+
*/
|
|
28
|
+
static assetsToBinPath(assetsPath: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* 是否可转换
|
|
31
|
+
* @param {string} assetsPath
|
|
32
|
+
* @param {'lvgl'|'png'} format
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
static canTranslate(assetsPath: string, format?: string): boolean;
|
|
36
|
+
}
|
|
37
|
+
export default ImageIcu;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _path = _interopRequireDefault(require("path"));
|
|
8
|
+
var _os = _interopRequireDefault(require("os"));
|
|
9
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
10
|
+
var _child_process = require("child_process");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
class ImageIcu {
|
|
13
|
+
static EXT = '.bin';
|
|
14
|
+
static INCLUDE_LIST = ['.png', '.jpg', '.jpeg', '.webp', '.bmp'];
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
getBinPath() {
|
|
20
|
+
const platform = _os.default.platform();
|
|
21
|
+
const arch = _os.default.arch();
|
|
22
|
+
let result = _path.default.join(__dirname, `icu_${platform}_${arch}`);
|
|
23
|
+
if (platform === 'win32') {
|
|
24
|
+
result += '.exe';
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* 文件转换为 bin 格式
|
|
31
|
+
* @param {*} resourcePath 源文件
|
|
32
|
+
* @param {*} folder 产物目录
|
|
33
|
+
* @param {'lvgl'|'png'} format
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
translate(resourcePath, folder) {
|
|
37
|
+
let format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'lvgl';
|
|
38
|
+
if (!_fs.default.existsSync(resourcePath) || !ImageIcu.canTranslate(resourcePath)) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const binPath = this.getBinPath();
|
|
42
|
+
if (_fs.default.existsSync(binPath)) {
|
|
43
|
+
const pathParse = _path.default.parse(resourcePath);
|
|
44
|
+
|
|
45
|
+
// 后缀,lvgl格式的后缀为"bin", 其它保持原后缀
|
|
46
|
+
const extDic = {
|
|
47
|
+
lvgl: ImageIcu.EXT,
|
|
48
|
+
png: pathParse.ext
|
|
49
|
+
};
|
|
50
|
+
const ext = extDic[format];
|
|
51
|
+
if (!_fs.default.existsSync(folder)) {
|
|
52
|
+
_fs.default.mkdirSync(folder, {
|
|
53
|
+
recursive: true
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
const command = `${binPath} convert ${resourcePath} -O ${folder} -F ${format} -C i8 -r`;
|
|
57
|
+
const message = (0, _child_process.execSync)(command).toString('utf-8');
|
|
58
|
+
if (message) {
|
|
59
|
+
console.log(`convert error: path=${resourcePath} message=${message}`);
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
const result = _path.default.join(pathParse.dir, `${pathParse.name}${ext}`);
|
|
63
|
+
return result;
|
|
64
|
+
} else {
|
|
65
|
+
return resourcePath;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* 资源转换为 bin 文件路径
|
|
71
|
+
*
|
|
72
|
+
* 如果是 png, jpg,jpeg, webp, bmp,则转换为 .bin 后缀;其它类型不处理
|
|
73
|
+
*
|
|
74
|
+
* **此方法仅返回转换后的路径, 不会实际转换文件**
|
|
75
|
+
* @param {string} path
|
|
76
|
+
* @example assetsToBinPath('images/test.png') // images/test.bin
|
|
77
|
+
*
|
|
78
|
+
* @return {string} 可转则返回对应的 bin 路径;否则返回''
|
|
79
|
+
*/
|
|
80
|
+
static assetsToBinPath(assetsPath) {
|
|
81
|
+
if (!assetsPath) {
|
|
82
|
+
return '';
|
|
83
|
+
}
|
|
84
|
+
const pathParse = _path.default.parse(assetsPath);
|
|
85
|
+
if (ImageIcu.canTranslate(assetsPath)) {
|
|
86
|
+
return _path.default.join(pathParse.dir, `${pathParse.name}${ImageIcu.EXT}`);
|
|
87
|
+
}
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* 是否可转换
|
|
93
|
+
* @param {string} assetsPath
|
|
94
|
+
* @param {'lvgl'|'png'} format
|
|
95
|
+
* @returns
|
|
96
|
+
*/
|
|
97
|
+
static canTranslate(assetsPath) {
|
|
98
|
+
let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'lvgl';
|
|
99
|
+
if (!assetsPath) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const pathParse = _path.default.parse(assetsPath);
|
|
103
|
+
const ext = pathParse.ext.toLowerCase();
|
|
104
|
+
if (format === 'png') {
|
|
105
|
+
return ext === '.png';
|
|
106
|
+
}
|
|
107
|
+
return ImageIcu.INCLUDE_LIST.includes(ext);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
var _default = exports.default = ImageIcu;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/config/UxConfig.d.ts
CHANGED
|
@@ -25,11 +25,16 @@ declare class UxConfig implements IFileLaneConfig<IJavascriptCompileOption> {
|
|
|
25
25
|
exclude: (string | ((filePath: string) => boolean))[];
|
|
26
26
|
get output(): string;
|
|
27
27
|
beforeWorks: (typeof UxBeforeWorks.cleanOutput)[];
|
|
28
|
-
beforeCompile: import("file-lane").PreWork<IJavascriptCompileOption>[];
|
|
29
|
-
afterCompile: {
|
|
30
|
-
worker: import("file-lane").FollowWork<IJavascriptCompileOption>;
|
|
28
|
+
beforeCompile: import("../../../file-lane/lib").PreWork<IJavascriptCompileOption>[];
|
|
29
|
+
afterCompile: ({
|
|
30
|
+
worker: import("../../../file-lane/lib").FollowWork<IJavascriptCompileOption>;
|
|
31
|
+
workDescribe: string;
|
|
32
|
+
workerDescribe?: undefined;
|
|
33
|
+
} | {
|
|
34
|
+
worker: import("../../../file-lane/lib").FollowWork<IJavascriptCompileOption>;
|
|
31
35
|
workerDescribe: string;
|
|
32
|
-
|
|
36
|
+
workDescribe?: undefined;
|
|
37
|
+
})[];
|
|
33
38
|
afterWorks: (typeof UxAfterWorks.cleanOutput)[];
|
|
34
39
|
watchIgnores: RegExp[];
|
|
35
40
|
/**
|