@cosui/genui-toolkit 1.0.3 → 1.0.5

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 (51) hide show
  1. package/dist/check/artifact.d.ts +0 -3
  2. package/dist/check/artifact.d.ts.map +1 -1
  3. package/dist/check/artifact.js +0 -10
  4. package/dist/check/artifact.js.map +1 -1
  5. package/dist/check/checker.d.ts +0 -3
  6. package/dist/check/checker.d.ts.map +1 -1
  7. package/dist/check/checker.js +0 -6
  8. package/dist/check/checker.js.map +1 -1
  9. package/dist/check/cli.d.ts +2 -4
  10. package/dist/check/cli.d.ts.map +1 -1
  11. package/dist/check/cli.js +8 -28
  12. package/dist/check/cli.js.map +1 -1
  13. package/dist/check/rules/artifact.js +0 -8
  14. package/dist/check/rules/artifact.js.map +1 -1
  15. package/dist/check/rules/common.d.ts +0 -6
  16. package/dist/check/rules/common.d.ts.map +1 -1
  17. package/dist/check/rules/common.js +0 -6
  18. package/dist/check/rules/common.js.map +1 -1
  19. package/dist/check/rules/file.js +0 -9
  20. package/dist/check/rules/file.js.map +1 -1
  21. package/dist/check/rules/html.js +0 -36
  22. package/dist/check/rules/html.js.map +1 -1
  23. package/dist/check/rules/index.d.ts +0 -3
  24. package/dist/check/rules/index.d.ts.map +1 -1
  25. package/dist/check/rules/index.js +0 -43
  26. package/dist/check/rules/index.js.map +1 -1
  27. package/dist/check/rules/javascript.d.ts +1 -0
  28. package/dist/check/rules/javascript.d.ts.map +1 -1
  29. package/dist/check/rules/javascript.js +29 -107
  30. package/dist/check/rules/javascript.js.map +1 -1
  31. package/dist/check/rules/lite.d.ts +3 -0
  32. package/dist/check/rules/lite.d.ts.map +1 -0
  33. package/dist/check/rules/lite.js +8 -0
  34. package/dist/check/rules/lite.js.map +1 -0
  35. package/dist/check/rules/svg.d.ts +0 -4
  36. package/dist/check/rules/svg.d.ts.map +1 -1
  37. package/dist/check/rules/svg.js +0 -5
  38. package/dist/check/rules/svg.js.map +1 -1
  39. package/dist/cli.js +4 -4
  40. package/dist/cli.js.map +1 -1
  41. package/dist/preview.d.ts +2 -1
  42. package/dist/preview.d.ts.map +1 -1
  43. package/dist/preview.js +37 -7
  44. package/dist/preview.js.map +1 -1
  45. package/dist/push.d.ts.map +1 -1
  46. package/dist/push.js +30 -19
  47. package/dist/push.js.map +1 -1
  48. package/dist/remote.d.ts.map +1 -1
  49. package/dist/remote.js +1 -3
  50. package/dist/remote.js.map +1 -1
  51. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/check/rules/index.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AACxC,iCAAgC;AAChC,iCAAgC;AAChC,6CAA4C;AAC5C,+BAA8B;AAG9B;;GAEG;AACU,QAAA,KAAK,GAAW;IAEzB;;;;;;OAMG;IACH,uBAAY;IAEZ;;;;;OAKG;IACH,eAAQ;IAER;;;;;;;;;;OAUG;IACH,eAAQ;IAER;;;OAGG;IACH,aAAO;IAEP;;;;;;;;;;;OAWG;IACH,2BAAc;CACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/check/rules/index.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AACxC,iCAAgC;AAChC,iCAAgC;AAChC,6CAA4C;AAC5C,+BAA8B;AAMjB,QAAA,KAAK,GAAW;IASzB,uBAAY;IAQZ,eAAQ;IAaR,eAAQ;IAMR,aAAO;IAcP,2BAAc;CACjB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { Rule } from '../types';
2
2
  export declare const javascriptRule: Rule;
3
+ export declare const javascriptSyntaxRule: Rule;
3
4
  //# sourceMappingURL=javascript.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/check/rules/javascript.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA2B,IAAI,EAAC,MAAM,UAAU,CAAC;AAwkB7D,eAAO,MAAM,cAAc,EAAE,IAyB5B,CAAC"}
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/check/rules/javascript.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA2B,IAAI,EAAC,MAAM,UAAU,CAAC;AAinB7D,eAAO,MAAM,cAAc,EAAE,IAAiC,CAAC;AAG/D,eAAO,MAAM,oBAAoB,EAAE,IAAkC,CAAC"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.javascriptRule = void 0;
36
+ exports.javascriptSyntaxRule = exports.javascriptRule = void 0;
37
37
  const parse5 = __importStar(require("parse5"));
38
38
  const ts = __importStar(require("typescript"));
39
39
  const node_util_1 = require("node:util");
@@ -76,15 +76,6 @@ function collectBindingNames(name, result) {
76
76
  }
77
77
  }
78
78
  }
79
- /**
80
- * 递归遍历源文件 AST,收集其中声明的所有标识符名称
81
- *
82
- * 收集范围包括变量声明、函数参数(含解构绑定)、函数声明、类声明,
83
- * 以及默认导入、具名导入和命名空间导入的本地名称。
84
- *
85
- * @param sourceFile 待分析的 TypeScript/JavaScript 源文件 AST
86
- * @return 源文件中所有已声明标识符名称的集合
87
- */
88
79
  function collectDeclaredNames(sourceFile) {
89
80
  const result = new Map();
90
81
  const isLexicalScope = (node) => ts.isSourceFile(node)
@@ -139,15 +130,6 @@ function collectDeclaredNames(sourceFile) {
139
130
  visit(sourceFile);
140
131
  return result;
141
132
  }
142
- /**
143
- * 解析 JS 源码,构建规则校验所需的上下文
144
- *
145
- * @param file 源文件路径,用于问题定位与结果标注
146
- * @param source JS 源码文本
147
- * @param fullSource 所属完整源码,用于还原内联脚本位置
148
- * @param baseOffset 脚本在完整源码中的字符偏移
149
- * @return 包含源文件 AST、已声明标识符集合与位置信息的校验上下文
150
- */
151
133
  function createContext(file, source, fullSource = source, baseOffset = 0) {
152
134
  const sourceFile = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.JS);
153
135
  return {
@@ -164,14 +146,6 @@ function walkHtml(node, visitor) {
164
146
  walkHtml(child, visitor);
165
147
  }
166
148
  }
167
- /**
168
- * 判断节点是否为引用指定名称的全局标识符
169
- *
170
- * @param context 校验上下文,提供已声明标识符集合
171
- * @param node 待判断的 AST 节点
172
- * @param name 目标标识符名称
173
- * @return 节点为该名称的标识符且未在源码中声明时返回 true
174
- */
175
149
  function isGlobalIdentifier(context, node, name) {
176
150
  if (!ts.isIdentifier(node) || node.text !== name) {
177
151
  return false;
@@ -212,13 +186,6 @@ function isGlobalReference(context, node, name) {
212
186
  && object !== undefined
213
187
  && ['window', 'globalThis', 'self'].some(globalName => (isGlobalIdentifier(context, object, globalName)));
214
188
  }
215
- /**
216
- * 计算 AST 节点在源文件中的位置
217
- *
218
- * @param context 校验上下文,提供完整源码和字符偏移
219
- * @param node 待定位的 AST 节点
220
- * @return 从 1 开始计数的绝对行列位置
221
- */
222
189
  function getOffsetLocation(context, sourceOffset) {
223
190
  const offset = context.baseOffset + sourceOffset;
224
191
  const before = context.fullSource.slice(0, offset);
@@ -231,13 +198,6 @@ function getOffsetLocation(context, sourceOffset) {
231
198
  function getLocation(context, node) {
232
199
  return getOffsetLocation(context, node.getStart(context.sourceFile));
233
200
  }
234
- /**
235
- * 判断表达式是否指向全局 location 对象
236
- *
237
- * @param context 校验上下文,提供已声明标识符集合
238
- * @param node 待判断的表达式节点
239
- * @returns 表达式为未在源码中声明的 location 或 window.location 时返回 true
240
- */
241
201
  function isLocation(context, node) {
242
202
  if (isGlobalIdentifier(context, node, 'location')) {
243
203
  return true;
@@ -246,13 +206,6 @@ function isLocation(context, node) {
246
206
  && node.name.text === 'location'
247
207
  && ['window', 'globalThis', 'self', 'document'].some(name => (isGlobalIdentifier(context, node.expression, name)));
248
208
  }
249
- /**
250
- * 从 HTML 源码中提取内联脚本,并为每段脚本构建检查上下文
251
- *
252
- * @param file 所属产物文件,用于在诊断结果中标记文件路径
253
- * @param source HTML 源码文本
254
- * @returns 每段内联脚本对应的检查上下文列表
255
- */
256
209
  function inlineScripts(file, source) {
257
210
  const document = parse5.parse(source, { sourceCodeLocationInfo: true });
258
211
  const contexts = [];
@@ -287,13 +240,6 @@ function isExternalTarget(value) {
287
240
  const target = value.trim();
288
241
  return target.length > 0 && !target.startsWith('#') && !target.startsWith('?');
289
242
  }
290
- /**
291
- * 检查脚本中的动态代码执行用法,覆盖 eval、Function 构造器
292
- *
293
- * @param context 当前脚本的检查上下文,用于判断标识符是否为全局引用并定位诊断位置
294
- * @param node 待检查的语法树节点
295
- * @returns 命中动态代码用法时返回对应的 error 级问题,未命中返回 null
296
- */
297
243
  function checkDynamicCode(context, node) {
298
244
  if (ts.isCallExpression(node)) {
299
245
  if (isGlobalReference(context, node.expression, 'eval')) {
@@ -303,7 +249,6 @@ function checkDynamicCode(context, node) {
303
249
  message: '代码使用了 eval,请改写为普通 JavaScript 逻辑',
304
250
  };
305
251
  }
306
- // Function 构造器
307
252
  if (isGlobalReference(context, node.expression, 'Function')) {
308
253
  return {
309
254
  ...getLocation(context, node),
@@ -311,7 +256,6 @@ function checkDynamicCode(context, node) {
311
256
  message: '代码使用了 Function 构造器,请改用普通函数声明',
312
257
  };
313
258
  }
314
- // setTimeout / setInterval 动态插入代码
315
259
  const timerName = ['setTimeout', 'setInterval'].find(name => (isGlobalReference(context, node.expression, name)));
316
260
  if (timerName && getStaticString(node.arguments[0]) !== null) {
317
261
  return {
@@ -320,7 +264,6 @@ function checkDynamicCode(context, node) {
320
264
  message: `${timerName} 使用了字符串参数,请改为传入函数`,
321
265
  };
322
266
  }
323
- // document.write / writeHTML
324
267
  if ((ts.isPropertyAccessExpression(node.expression) || ts.isElementAccessExpression(node.expression))
325
268
  && ['write', 'writeln'].includes(getStaticPropertyName(node.expression) ?? '')
326
269
  && isGlobalReference(context, node.expression.expression, 'document')) {
@@ -343,7 +286,6 @@ function checkDynamicCode(context, node) {
343
286
  };
344
287
  }
345
288
  }
346
- // document.createElement 创建嵌入元素
347
289
  const documentMethod = getStaticPropertyName(node.expression);
348
290
  if ((ts.isPropertyAccessExpression(node.expression) || ts.isElementAccessExpression(node.expression))
349
291
  && ['createElement', 'createElementNS'].includes(documentMethod ?? '')
@@ -363,7 +305,6 @@ function checkDynamicCode(context, node) {
363
305
  }
364
306
  }
365
307
  }
366
- // new Function
367
308
  if (ts.isNewExpression(node) && isGlobalReference(context, node.expression, 'Function')) {
368
309
  return {
369
310
  ...getLocation(context, node),
@@ -373,12 +314,6 @@ function checkDynamicCode(context, node) {
373
314
  }
374
315
  return null;
375
316
  }
376
- /**
377
- * 禁止 WebRTC
378
- * @param context 当前脚本的检查上下文,用于判断标识符是否为全局引用并定位诊断位置
379
- * @param node 待检查的语法树节点
380
- * @returns 命中 WebRTC 用法时返回对应的 error 级问题,未命中返回 null
381
- */
382
317
  function checkWebRtc(context, node) {
383
318
  if (!ts.isNewExpression(node)
384
319
  || !['RTCPeerConnection', 'webkitRTCPeerConnection'].some(name => (isGlobalReference(context, node.expression, name)))) {
@@ -390,13 +325,6 @@ function checkWebRtc(context, node) {
390
325
  message: '代码使用了 RTCPeerConnection,请删除该逻辑并仅使用代码包内资源',
391
326
  };
392
327
  }
393
- /**
394
- * 禁止 Worker/SharedWorker 构造与 Service Worker 注册
395
- *
396
- * @param context 当前脚本的检查上下文,用于判断标识符是否为全局引用并定位诊断位置
397
- * @param node 待检查的语法树节点
398
- * @returns 命中后台脚本用法时返回对应的 warning 级问题,未命中返回 null
399
- */
400
328
  function checkBackground(context, node) {
401
329
  if (ts.isNewExpression(node) && (isGlobalReference(context, node.expression, 'Worker')
402
330
  || isGlobalReference(context, node.expression, 'SharedWorker'))) {
@@ -422,13 +350,6 @@ function checkBackground(context, node) {
422
350
  }
423
351
  return null;
424
352
  }
425
- /**
426
- * 禁止 window.open、location 跳转方法调用与 location 属性赋值
427
- *
428
- * @param context 当前脚本的检查上下文,用于判断标识符是否为全局引用并定位诊断位置
429
- * @param node 待检查的语法树节点
430
- * @returns 命中导航违规用法时返回对应的 error 级问题,未命中返回 null
431
- */
432
353
  function checkNavigation(context, node) {
433
354
  if (ts.isCallExpression(node) && isGlobalReference(context, node.expression, 'open')) {
434
355
  return {
@@ -477,13 +398,7 @@ function checkNavigation(context, node) {
477
398
  }
478
399
  return null;
479
400
  }
480
- /**
481
- * 遍历脚本语法树,对每个节点执行全部检查项并汇总诊断结果
482
- *
483
- * @param context 待检查脚本的上下文,包含文件路径与解析后的语法树
484
- * @returns 检查命中的诊断结果列表,每项都会补全所属文件路径
485
- */
486
- function inspect(context) {
401
+ function inspect(context, capabilityChecks) {
487
402
  const sourceFile = context.sourceFile;
488
403
  const problems = (sourceFile.parseDiagnostics ?? []).map(diagnostic => ({
489
404
  ...getOffsetLocation(context, diagnostic.start ?? 0),
@@ -496,6 +411,9 @@ function inspect(context) {
496
411
  ...item,
497
412
  })));
498
413
  }
414
+ if (!capabilityChecks) {
415
+ return [];
416
+ }
499
417
  const checks = [
500
418
  checkDynamicCode,
501
419
  checkBackground,
@@ -517,25 +435,29 @@ function inspect(context) {
517
435
  ...item,
518
436
  })));
519
437
  }
520
- exports.javascriptRule = {
521
- id: 'javascript',
522
- async check({ artifact }) {
523
- const diagnostics = [];
524
- for (const file of artifact.files.values()) {
525
- const extension = file.path.toLowerCase();
526
- if (!extension.endsWith('.js')
527
- && !extension.endsWith('.html')) {
528
- continue;
529
- }
530
- const source = await (0, common_1.readUtf8)((0, common_1.toFile)(file));
531
- const contexts = extension.endsWith('.html')
532
- ? inlineScripts(file, source)
533
- : [createContext(file.path, source)];
534
- for (const context of contexts) {
535
- diagnostics.push(...inspect(context));
438
+ function createJavascriptRule(capabilityChecks) {
439
+ return {
440
+ id: 'javascript',
441
+ async check({ artifact }) {
442
+ const diagnostics = [];
443
+ for (const file of artifact.files.values()) {
444
+ const extension = file.path.toLowerCase();
445
+ if (!extension.endsWith('.js')
446
+ && !extension.endsWith('.html')) {
447
+ continue;
448
+ }
449
+ const source = await (0, common_1.readUtf8)((0, common_1.toFile)(file));
450
+ const contexts = extension.endsWith('.html')
451
+ ? inlineScripts(file, source)
452
+ : [createContext(file.path, source)];
453
+ for (const context of contexts) {
454
+ diagnostics.push(...inspect(context, capabilityChecks));
455
+ }
536
456
  }
537
- }
538
- return diagnostics;
539
- },
540
- };
457
+ return diagnostics;
458
+ },
459
+ };
460
+ }
461
+ exports.javascriptRule = createJavascriptRule(true);
462
+ exports.javascriptSyntaxRule = createJavascriptRule(false);
541
463
  //# sourceMappingURL=javascript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/check/rules/javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/check/rules/javascript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Rule } from '../types.js';
2
+ export declare const liteRules: Rule[];
3
+ //# sourceMappingURL=lite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lite.d.ts","sourceRoot":"","sources":["../../../src/check/rules/lite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGtC,eAAO,MAAM,SAAS,EAAE,IAAI,EAAmD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.liteRules = void 0;
4
+ const artifact_js_1 = require("./artifact.js");
5
+ const file_js_1 = require("./file.js");
6
+ const javascript_js_1 = require("./javascript.js");
7
+ exports.liteRules = [artifact_js_1.artifactRule, file_js_1.fileRule, javascript_js_1.javascriptSyntaxRule];
8
+ //# sourceMappingURL=lite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lite.js","sourceRoot":"","sources":["../../../src/check/rules/lite.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,uCAAmC;AACnC,mDAAqD;AAIxC,QAAA,SAAS,GAAW,CAAC,0BAAY,EAAE,kBAAQ,EAAE,oCAAoB,CAAC,CAAC"}
@@ -1,8 +1,4 @@
1
1
  import type { ArtifactFile, Diagnostic, Rule } from '../types';
2
- /**
3
- * 检查 ZIP 中独立的 .svg 资源;HTML 内联 SVG 由 htmlRule 检查
4
- * 禁止 SVG 脚本、行内事件和 JavaScript URI
5
- */
6
2
  export declare function checkSvg(file: ArtifactFile): Diagnostic[];
7
3
  export declare const svgRule: Rule;
8
4
  //# sourceMappingURL=svg.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/check/rules/svg.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AA6B7D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,EAAE,CAsCzD;AAED,eAAO,MAAM,OAAO,EAAE,IAOrB,CAAC"}
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/check/rules/svg.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AAiC7D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,EAAE,CAsCzD;AAED,eAAO,MAAM,OAAO,EAAE,IAOrB,CAAC"}
@@ -51,10 +51,6 @@ function walk(node, visitor) {
51
51
  walk(child, visitor);
52
52
  }
53
53
  }
54
- /**
55
- * 检查 ZIP 中独立的 .svg 资源;HTML 内联 SVG 由 htmlRule 检查
56
- * 禁止 SVG 脚本、行内事件和 JavaScript URI
57
- */
58
54
  function checkSvg(file) {
59
55
  const source = new TextDecoder('utf-8', { fatal: true }).decode(file.bytes);
60
56
  const document = parse5.parseFragment(source, {
@@ -63,7 +59,6 @@ function checkSvg(file) {
63
59
  const problems = [];
64
60
  walk(document, node => {
65
61
  const tagName = (node.tagName ?? '').toLowerCase();
66
- // <script> 节点
67
62
  if (tagName === 'script') {
68
63
  problems.push({
69
64
  severity: 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/check/rules/svg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/check/rules/svg.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -9,13 +9,13 @@ const node_fs_1 = require("node:fs");
9
9
  const node_path_1 = require("node:path");
10
10
  const USAGE = `Usage:
11
11
  genui --version
12
- genui preview [project-path] [-n <name>] [-d, --description <description>] [--qr-image]
13
- genui check <artifact>
12
+ genui preview [project-path] [-n <name>] [-d, --description <description>] [--lite] [--qr-image]
13
+ genui check <artifact> [--lite]
14
14
  genui login
15
15
  genui logout
16
16
  genui list
17
17
  genui publish [-a <appkey>] [-p <project-path>] [-n <name>] [-l <logo>]
18
- [-b <brief>] [-d, --description <summary>] [--dry-run] [--yes]
18
+ [-b <brief>] [-d, --description <summary>] [--lite] [--dry-run] [--yes]
19
19
 
20
20
  Commands:
21
21
  --version, -v 查看当前安装版本
@@ -24,7 +24,7 @@ Commands:
24
24
  login 登录百度账户
25
25
  logout 清除本机登录态
26
26
  list 查看已有项目
27
- publish 检查并提交项目审核`;
27
+ publish 检查并提交项目审核;--lite 使用 lite 模式提交`;
28
28
  function getVersion() {
29
29
  const packageJsonPath = (0, node_path_1.join)(__dirname, '../package.json');
30
30
  const packageJson = JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, 'utf8'));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AACA,gEAAmC;AACnC,qCAAqC;AACrC,yCAA+B;AAE/B,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;qBAiBO,CAAC;AAEtB,SAAS,UAAU;IACf,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAwB,CAAC;IAC7F,OAAO,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,sBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1B,OAAO;IACX,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAwC;QAClD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QACpE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7D,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/D,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KACjE,CAAC;IACF,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACjB,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,sBAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AACA,gEAAmC;AACnC,qCAAqC;AACrC,yCAA+B;AAE/B,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;yCAiB2B,CAAC;AAE1C,SAAS,UAAU;IACf,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAwB,CAAC;IAC7F,OAAO,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,sBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1B,OAAO;IACX,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAwC;QAClD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QACpE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7D,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/D,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KACjE,CAAC;IACF,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACjB,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,sBAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}
package/dist/preview.d.ts CHANGED
@@ -5,7 +5,7 @@ export interface PreviewServer {
5
5
  usingPlazaTemplate: boolean;
6
6
  close: () => Promise<void>;
7
7
  }
8
- export declare function startPreview(projectPath: string, port?: number, appName?: string, appDescription?: string): Promise<PreviewServer>;
8
+ export declare function startPreview(projectPath: string, port?: number, appName?: string, appDescription?: string, lite?: boolean): Promise<PreviewServer>;
9
9
  export declare function openPreview(url: string): void;
10
10
  export declare function showPreview(preview: PreviewServer, qrImage?: boolean): Promise<void>;
11
11
  interface PreviewOptions {
@@ -14,6 +14,7 @@ interface PreviewOptions {
14
14
  name: string;
15
15
  description: string;
16
16
  qrImage: boolean;
17
+ lite: boolean;
17
18
  }
18
19
  export declare function resolvePreviewProjectPath(argv: string[]): PreviewOptions;
19
20
  export declare function runPreview(argv: string[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAUA,OAAO,UAAU,CAAC;AAqBlB,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAiID,wBAAsB,YAAY,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,SAAI,EACR,OAAO,SAAmB,EAC1B,cAAc,SAA0B,GACzC,OAAO,CAAC,aAAa,CAAC,CA4FxB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ7C;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxF;AAED,UAAU,cAAc;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CACpB;AA+BD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAiCxE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9D"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAUA,OAAO,UAAU,CAAC;AAqBlB,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AA2JD,wBAAsB,YAAY,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,SAAI,EACR,OAAO,SAAmB,EAC1B,cAAc,SAA0B,EACxC,IAAI,UAAQ,GACb,OAAO,CAAC,aAAa,CAAC,CAgGxB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ7C;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxF;AAED,UAAU,cAAc;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACjB;AA+BD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAkCxE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9D"}
package/dist/preview.js CHANGED
@@ -106,8 +106,9 @@ async function downloadPreviewTemplate() {
106
106
  return null;
107
107
  }
108
108
  }
109
- function injectPreviewData(template, origin, templateOrigin, name, description) {
109
+ function injectPreviewData(template, origin, templateOrigin, name, description, lite) {
110
110
  const data = JSON.stringify({
111
+ params: lite ? { lite: '1' } : undefined,
111
112
  currentApp: {
112
113
  appId: 0,
113
114
  name,
@@ -116,7 +117,31 @@ function injectPreviewData(template, origin, templateOrigin, name, description)
116
117
  },
117
118
  }).replaceAll('<', '\\u003c');
118
119
  const shimOrigin = JSON.stringify(process.env.GENUI_PREVIEW_SHIM_ORIGIN || templateOrigin);
119
- const localPreviewScript = `<script>(()=>{const p=v=>{try{const u=new URL(String(v),location.href);if(u.pathname!=="/pages/shim.html")return v;const o=${shimOrigin};if(o){const t=new URL(o);u.protocol=t.protocol;u.host=t.host}u.searchParams.set("previewOrigin",location.origin);return u.href}catch{return v}};const d=Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"src");if(d?.set&&d?.get){Object.defineProperty(HTMLIFrameElement.prototype,"src",{...d,set(v){d.set.call(this,p(v))}})}const s=HTMLIFrameElement.prototype.setAttribute;HTMLIFrameElement.prototype.setAttribute=function(n,v){return s.call(this,n,n==="src"?p(v):v)}})();</script>`;
120
+ const localPreviewScript = `<script>(()=>{
121
+ const p=value=>{try{
122
+ const url=new URL(String(value),location.href);
123
+ if(url.pathname!=="/pages/shim.html"&&url.pathname!=="/pages/shim-lite.html")return value;
124
+ const origin=${shimOrigin};
125
+ if(origin){
126
+ const target=new URL(origin);
127
+ if(target.hostname==='127.0.0.1'||target.hostname==='localhost'){
128
+ target.hostname=location.hostname;
129
+ }
130
+ url.protocol=target.protocol;
131
+ url.host=target.host;
132
+ }
133
+ url.searchParams.set('previewOrigin',location.origin);
134
+ return url.href;
135
+ }catch{return value}};
136
+ const descriptor=Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,'src');
137
+ if(descriptor?.set&&descriptor?.get){Object.defineProperty(HTMLIFrameElement.prototype,'src',{
138
+ ...descriptor,set(value){descriptor.set.call(this,p(value))}
139
+ })}
140
+ const setAttribute=HTMLIFrameElement.prototype.setAttribute;
141
+ HTMLIFrameElement.prototype.setAttribute=function(name,value){
142
+ return setAttribute.call(this,name,name.toLowerCase()==='src'?p(value):value);
143
+ };
144
+ })();</script>`;
120
145
  return template.replace(/<head([^>]*)>/i, `<head$1>${LOCAL_PREVIEW_MARK}${localPreviewScript}`).replace(/(<script[^>]*id=["']server-data["'][^>]*>)[\s\S]*?(<\/script>)/i, (_match, open, close) => `${open}${data}${close}`);
121
146
  }
122
147
  function buildFallbackPreview(entry, origin) {
@@ -130,9 +155,13 @@ function localFile(root, relativePath) {
130
155
  const requested = node_path_1.default.resolve(root, relativePath);
131
156
  return requested === root || requested.startsWith(`${root}${node_path_1.default.sep}`) ? requested : null;
132
157
  }
133
- async function startPreview(projectPath, port = 0, appName = DEFAULT_APP_NAME, appDescription = DEFAULT_APP_DESCRIPTION) {
158
+ async function startPreview(projectPath, port = 0, appName = DEFAULT_APP_NAME, appDescription = DEFAULT_APP_DESCRIPTION, lite = false) {
134
159
  const { root, entry, cleanup } = await preparePreviewProject(projectPath);
135
160
  const template = await downloadPreviewTemplate();
161
+ if (lite && !template) {
162
+ cleanup();
163
+ throw new Error('lite 预览需要加载预览模板,请检查模板服务或 GENUI_PREVIEW_TEMPLATE_URL');
164
+ }
136
165
  const server = node_http_1.default.createServer(async (request, response) => {
137
166
  const requestUrl = new URL(request.url || '/', 'http://localhost');
138
167
  const pathname = decodeURIComponent(requestUrl.pathname);
@@ -141,7 +170,7 @@ async function startPreview(projectPath, port = 0, appName = DEFAULT_APP_NAME, a
141
170
  response.setHeader('Content-Type', 'text/html; charset=utf-8');
142
171
  response.setHeader('Cache-Control', 'no-store');
143
172
  response.end(template
144
- ? injectPreviewData(template.html, origin, template.origin, appName, appDescription)
173
+ ? injectPreviewData(template.html, origin, template.origin, appName, appDescription, lite)
145
174
  : buildFallbackPreview(entry, origin));
146
175
  return;
147
176
  }
@@ -263,7 +292,7 @@ function textValue(value) {
263
292
  function resolvePreviewProjectPath(argv) {
264
293
  const args = (0, minimist_1.default)(argv, {
265
294
  alias: { p: 'project-path', n: 'name', d: 'description' },
266
- boolean: ['qr-image'],
295
+ boolean: ['qr-image', 'lite'],
267
296
  default: { port: 0 },
268
297
  });
269
298
  if (args._.length > 1) {
@@ -291,11 +320,12 @@ function resolvePreviewProjectPath(argv) {
291
320
  name: name || DEFAULT_APP_NAME,
292
321
  description: description || DEFAULT_APP_DESCRIPTION,
293
322
  qrImage: args['qr-image'],
323
+ lite: args.lite,
294
324
  };
295
325
  }
296
326
  async function runPreview(argv) {
297
- const { projectPath, port, name, description, qrImage } = resolvePreviewProjectPath(argv);
298
- const preview = await startPreview(projectPath, port, name, description);
327
+ const { projectPath, port, name, description, qrImage, lite } = resolvePreviewProjectPath(argv);
328
+ const preview = await startPreview(projectPath, port, name, description, lite);
299
329
  await showPreview(preview, qrImage);
300
330
  console.log('按 Ctrl+C 停止服务');
301
331
  }