@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.
Files changed (78) hide show
  1. package/README.md +46 -46
  2. package/lib/afterCompile/ux/UxAfterCompile.d.ts +28 -1
  3. package/lib/afterCompile/ux/UxAfterCompile.js +186 -38
  4. package/lib/afterWorks/ux/UxAfterWorks.js +1 -1
  5. package/lib/beforeCompile/ux/UxBeforeCompile.js +2 -2
  6. package/lib/compiler/enum/CompileMode.js +2 -2
  7. package/lib/compiler/javascript/JavascriptCompiler.d.ts +14 -0
  8. package/lib/compiler/javascript/JavascriptCompiler.js +91 -5
  9. package/lib/compiler/javascript/android/AndroidWebpackConfigurator.js +2 -2
  10. package/lib/compiler/javascript/android/plugin/WrapPlugin.js +7 -7
  11. package/lib/compiler/javascript/interface/IJavascriptCompileOption.d.ts +17 -1
  12. package/lib/compiler/javascript/interface/IJavascriptCompileOption.js +5 -1
  13. package/lib/compiler/javascript/vela/VelaWebpackConfigurator.js +3 -3
  14. package/lib/compiler/javascript/vela/enum/BuildNameFormatType.js +2 -2
  15. package/lib/compiler/javascript/vela/enum/EntryType.js +2 -2
  16. package/lib/compiler/javascript/vela/interface/IManifest.d.ts +11 -0
  17. package/lib/compiler/javascript/vela/interface/IManifest.js +11 -1
  18. package/lib/compiler/javascript/vela/model/Package.js +28 -28
  19. package/lib/compiler/javascript/vela/plugin/WrapPlugin.js +1 -2
  20. package/lib/compiler/javascript/vela/utils/Jsc.js +2 -2
  21. package/lib/compiler/javascript/vela/utils/UxCompileUtil.js +31 -17
  22. package/lib/compiler/javascript/vela/utils/ZipUtil.js +62 -62
  23. package/lib/compiler/javascript/vela/utils/signature/Base64.js +2 -2
  24. package/lib/compiler/javascript/vela/utils/signature/CRC32.js +2 -2
  25. package/lib/compiler/javascript/vela/utils/signature/SignUtil.js +68 -68
  26. package/lib/compiler/javascript/vela/utils/signature/Signer.js +6 -6
  27. package/lib/compiler/javascript/vela/utils/signature/pem/certificate.pem +26 -26
  28. package/lib/compiler/javascript/vela/utils/signature/pem/private.pem +50 -50
  29. package/lib/compiler/javascript/vela/utils/webpackLoader/IWebpackLoaderOption.d.ts +11 -0
  30. package/lib/compiler/javascript/vela/utils/webpackLoader/IWebpackLoaderOption.js +1 -0
  31. package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackJsLoader.d.ts +2 -0
  32. package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackJsLoader.js +27 -0
  33. package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackUxLoader.d.ts +2 -0
  34. package/lib/compiler/javascript/vela/utils/webpackLoader/WebpackUxLoader.js +26 -0
  35. package/lib/compiler/tools/icu/ImageIcu.d.ts +37 -0
  36. package/lib/compiler/tools/icu/ImageIcu.js +110 -0
  37. package/lib/compiler/tools/icu/icu_darwin_arm64 +0 -0
  38. package/lib/compiler/tools/icu/icu_darwin_x64 +0 -0
  39. package/lib/compiler/tools/icu/icu_linux_arm64 +0 -0
  40. package/lib/compiler/tools/icu/icu_linux_x64 +0 -0
  41. package/lib/compiler/tools/icu/icu_win32_x64.exe +0 -0
  42. package/lib/config/UxConfig.d.ts +9 -4
  43. package/lib/config/UxConfig.js +29 -17
  44. package/lib/index.d.ts +1 -3
  45. package/lib/index.js +2 -28
  46. package/lib/loader/ux/JsLoader.js +2 -2
  47. package/lib/loader/ux/PngLoader.js +2 -2
  48. package/lib/loader/ux/android/UxLoader.js +2 -2
  49. package/lib/loader/ux/vela/AppUxLoader.js +3 -3
  50. package/lib/loader/ux/vela/HmlLoader.js +14 -14
  51. package/lib/loader/ux/vela/UxLoader.js +7 -0
  52. package/lib/utils/BeforeCompileUtils.d.ts +2 -0
  53. package/lib/utils/BeforeCompileUtils.js +34 -12
  54. package/lib/utils/PngUtils.js +11 -11
  55. package/lib/utils/ux/ManifestSchema.js +6 -3
  56. package/lib/utils/ux/UxFileUtils.d.ts +1 -0
  57. package/lib/utils/ux/UxFileUtils.js +56 -45
  58. package/lib/utils/ux/UxLoaderUtils.js +35 -35
  59. package/lib/utils/ux/android/AndroidUx.js +10 -10
  60. package/package.json +8 -11
  61. package/lib/afterCompile/xts/entryTemplate.d.ts +0 -21
  62. package/lib/afterCompile/xts/entryTemplate.js +0 -182
  63. package/lib/afterCompile/xts/generateRpk.d.ts +0 -3
  64. package/lib/afterCompile/xts/generateRpk.js +0 -28
  65. package/lib/afterCompile/xts/ts2wasm.d.ts +0 -8
  66. package/lib/afterCompile/xts/ts2wasm.js +0 -69
  67. package/lib/beforeCompile/xts/preInstall.d.ts +0 -3
  68. package/lib/beforeCompile/xts/preInstall.js +0 -54
  69. package/lib/config/XtsConfig.d.ts +0 -22
  70. package/lib/config/XtsConfig.js +0 -36
  71. package/lib/interface/ICompileOptions.d.ts +0 -6
  72. package/lib/interface/ICompileOptions.js +0 -7
  73. package/lib/loader/xts/XtsLoader.d.ts +0 -9
  74. package/lib/loader/xts/XtsLoader.js +0 -62
  75. package/lib/utils/xts/XtsFileLaneUtils.d.ts +0 -10
  76. package/lib/utils/xts/XtsFileLaneUtils.js +0 -61
  77. package/lib/utils/xts/XtsFollowWorks.d.ts +0 -34
  78. 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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
- 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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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
- 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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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
- hdYme1piGDGqDuHVKP2GsV2JdY4697QqUOBxo6F2C7ocgD5HAB77AKYnh1dp4Dng
44
- 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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,2 @@
1
+ import { LoaderContext } from '@rspack/core';
2
+ export default function (this: LoaderContext<any>, source: string): Promise<void>;
@@ -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,2 @@
1
+ import { LoaderContext } from '@rspack/core';
2
+ export default function (this: LoaderContext<any>, source: string): Promise<void>;
@@ -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;
@@ -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
  /**