@aster-cloud/aster-lang-ts 1.0.29 → 1.0.31
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/dist/scripts/aster.js +11 -26
- package/dist/scripts/aster.js.map +1 -1
- package/dist/scripts/corpus-loader.d.ts +17 -0
- package/dist/scripts/corpus-loader.d.ts.map +1 -0
- package/dist/scripts/corpus-loader.js +60 -0
- package/dist/scripts/corpus-loader.js.map +1 -0
- package/dist/scripts/emit-classfiles-core.js +5 -13
- package/dist/scripts/emit-classfiles-core.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +7 -12
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/generate_error_codes.js +2 -0
- package/dist/scripts/generate_error_codes.js.map +1 -1
- package/dist/scripts/golden.js +4 -1
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/test-lossless-golden.js +2 -1
- package/dist/scripts/test-lossless-golden.js.map +1 -1
- package/dist/scripts/validate_error_codes.js +1 -0
- package/dist/scripts/validate_error_codes.js.map +1 -1
- package/dist/scripts/verify-lexicon-sync.js +5 -1
- package/dist/scripts/verify-lexicon-sync.js.map +1 -1
- package/dist/src/ast/ast.d.ts +1 -1
- package/dist/src/ast/ast.d.ts.map +1 -1
- package/dist/src/ast/ast.js +2 -1
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/browser.d.ts +7 -0
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +4 -0
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/utils/gradle-env.d.ts +9 -0
- package/dist/src/cli/utils/gradle-env.d.ts.map +1 -0
- package/dist/src/cli/utils/gradle-env.js +18 -0
- package/dist/src/cli/utils/gradle-env.js.map +1 -0
- package/dist/src/cli/utils/out-dir.d.ts +18 -0
- package/dist/src/cli/utils/out-dir.d.ts.map +1 -0
- package/dist/src/cli/utils/out-dir.js +49 -0
- package/dist/src/cli/utils/out-dir.js.map +1 -0
- package/dist/src/cnl-printer.d.ts +10 -0
- package/dist/src/cnl-printer.d.ts.map +1 -0
- package/dist/src/cnl-printer.js +360 -0
- package/dist/src/cnl-printer.js.map +1 -0
- package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
- package/dist/src/config/lexicons/de-DE.js +8 -2
- package/dist/src/config/lexicons/de-DE.js.map +1 -1
- package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
- package/dist/src/config/lexicons/en-US.js +8 -4
- package/dist/src/config/lexicons/en-US.js.map +1 -1
- package/dist/src/config/lexicons/hi-IN.d.ts.map +1 -1
- package/dist/src/config/lexicons/hi-IN.js +8 -2
- package/dist/src/config/lexicons/hi-IN.js.map +1 -1
- package/dist/src/config/lexicons/template.d.ts.map +1 -1
- package/dist/src/config/lexicons/template.js +12 -0
- package/dist/src/config/lexicons/template.js.map +1 -1
- package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/zh-CN.js +9 -3
- package/dist/src/config/lexicons/zh-CN.js.map +1 -1
- package/dist/src/config/semantic.d.ts +6 -0
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +8 -0
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/config/token-kind.d.ts +12 -0
- package/dist/src/config/token-kind.d.ts.map +1 -1
- package/dist/src/config/token-kind.js +18 -0
- package/dist/src/config/token-kind.js.map +1 -1
- package/dist/src/core/core_ir.d.ts +1 -1
- package/dist/src/core/core_ir.d.ts.map +1 -1
- package/dist/src/core/core_ir.js +3 -1
- package/dist/src/core/core_ir.js.map +1 -1
- package/dist/src/core/interpreter.d.ts.map +1 -1
- package/dist/src/core/interpreter.js +222 -18
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/cst/cst_printer.d.ts.map +1 -1
- package/dist/src/cst/cst_printer.js +66 -32
- package/dist/src/cst/cst_printer.js.map +1 -1
- package/dist/src/diagnostics/diagnostics.d.ts +1 -0
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +1 -0
- package/dist/src/diagnostics/diagnostics.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +10 -2
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +64 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/effects/effect_inference.js +1 -1
- package/dist/src/effects/effect_inference.js.map +1 -1
- package/dist/src/formatter.d.ts +3 -0
- package/dist/src/formatter.d.ts.map +1 -1
- package/dist/src/formatter.js +8 -261
- package/dist/src/formatter.js.map +1 -1
- package/dist/src/frontend/transformers.d.ts.map +1 -1
- package/dist/src/frontend/transformers.js +10 -2
- package/dist/src/frontend/transformers.js.map +1 -1
- package/dist/src/governance/controls-registry.data.d.ts +40 -0
- package/dist/src/governance/controls-registry.data.d.ts.map +1 -0
- package/dist/src/governance/controls-registry.data.js +35 -0
- package/dist/src/governance/controls-registry.data.js.map +1 -0
- package/dist/src/governance/controls.d.ts +23 -0
- package/dist/src/governance/controls.d.ts.map +1 -0
- package/dist/src/governance/controls.js +77 -0
- package/dist/src/governance/controls.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lower_to_core.js +1 -1
- package/dist/src/lower_to_core.js.map +1 -1
- package/dist/src/lsp/completion.d.ts +22 -1
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +42 -1
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/debounce-map.d.ts +16 -0
- package/dist/src/lsp/debounce-map.d.ts.map +1 -0
- package/dist/src/lsp/debounce-map.js +32 -0
- package/dist/src/lsp/debounce-map.js.map +1 -0
- package/dist/src/lsp/server.js +6 -8
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/utils.d.ts.map +1 -1
- package/dist/src/lsp/utils.js +2 -0
- package/dist/src/lsp/utils.js.map +1 -1
- package/dist/src/lsp/workspace/file-watcher.d.ts +1 -0
- package/dist/src/lsp/workspace/file-watcher.d.ts.map +1 -1
- package/dist/src/lsp/workspace/file-watcher.js +24 -14
- package/dist/src/lsp/workspace/file-watcher.js.map +1 -1
- package/dist/src/manifest.d.ts +2 -0
- package/dist/src/manifest.d.ts.map +1 -1
- package/dist/src/manifest.js.map +1 -1
- package/dist/src/package/manifest-parser.d.ts +10 -0
- package/dist/src/package/manifest-parser.d.ts.map +1 -1
- package/dist/src/package/manifest-parser.js +27 -28
- package/dist/src/package/manifest-parser.js.map +1 -1
- package/dist/src/package/manifest-schema.d.ts +15 -0
- package/dist/src/package/manifest-schema.d.ts.map +1 -0
- package/dist/src/package/manifest-schema.js +116 -0
- package/dist/src/package/manifest-schema.js.map +1 -0
- package/dist/src/parser/context.d.ts +2 -0
- package/dist/src/parser/context.d.ts.map +1 -1
- package/dist/src/parser/context.js +1 -0
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +26 -10
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts +4 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +147 -6
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts +12 -0
- package/dist/src/parser/import-parser.d.ts.map +1 -1
- package/dist/src/parser/import-parser.js +28 -0
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser.js +1 -1
- package/dist/src/parser.js.map +1 -1
- package/dist/src/typecheck/browser.d.ts +3 -0
- package/dist/src/typecheck/browser.d.ts.map +1 -1
- package/dist/src/typecheck/browser.js +10 -1
- package/dist/src/typecheck/browser.js.map +1 -1
- package/dist/src/typecheck/context.d.ts +3 -0
- package/dist/src/typecheck/context.d.ts.map +1 -1
- package/dist/src/typecheck/context.js.map +1 -1
- package/dist/src/typecheck/expression.d.ts +6 -0
- package/dist/src/typecheck/expression.d.ts.map +1 -1
- package/dist/src/typecheck/expression.js +54 -2
- package/dist/src/typecheck/expression.js.map +1 -1
- package/dist/src/typecheck/generics.d.ts.map +1 -1
- package/dist/src/typecheck/generics.js +3 -0
- package/dist/src/typecheck/generics.js.map +1 -1
- package/dist/src/typecheck/governance.d.ts +43 -0
- package/dist/src/typecheck/governance.d.ts.map +1 -0
- package/dist/src/typecheck/governance.js +162 -0
- package/dist/src/typecheck/governance.js.map +1 -0
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +10 -1
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/statement.d.ts.map +1 -1
- package/dist/src/typecheck/statement.js +2 -2
- package/dist/src/typecheck/statement.js.map +1 -1
- package/dist/src/typecheck/type_system.d.ts.map +1 -1
- package/dist/src/typecheck/type_system.js +4 -0
- package/dist/src/typecheck/type_system.js.map +1 -1
- package/dist/src/typecheck/verdict_signatures.d.ts +19 -0
- package/dist/src/typecheck/verdict_signatures.d.ts.map +1 -0
- package/dist/src/typecheck/verdict_signatures.js +23 -0
- package/dist/src/typecheck/verdict_signatures.js.map +1 -0
- package/dist/src/types/base.d.ts +2 -0
- package/dist/src/types/base.d.ts.map +1 -1
- package/dist/test/helpers/sibling-source.d.ts +10 -0
- package/dist/test/helpers/sibling-source.d.ts.map +1 -0
- package/dist/test/helpers/sibling-source.js +20 -0
- package/dist/test/helpers/sibling-source.js.map +1 -0
- package/dist/test/unit/allocation-budget.test.d.ts +2 -0
- package/dist/test/unit/allocation-budget.test.d.ts.map +1 -0
- package/dist/test/unit/allocation-budget.test.js +160 -0
- package/dist/test/unit/allocation-budget.test.js.map +1 -0
- package/dist/test/unit/apply-call.test.js +5 -0
- package/dist/test/unit/apply-call.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/possessive-anchor.test.js +10 -0
- package/dist/test/unit/canonicalizer/possessive-anchor.test.js.map +1 -1
- package/dist/test/unit/cli/gradle-env-guard.test.d.ts +2 -0
- package/dist/test/unit/cli/gradle-env-guard.test.d.ts.map +1 -0
- package/dist/test/unit/cli/gradle-env-guard.test.js +53 -0
- package/dist/test/unit/cli/gradle-env-guard.test.js.map +1 -0
- package/dist/test/unit/cli/gradle-env.test.d.ts +2 -0
- package/dist/test/unit/cli/gradle-env.test.d.ts.map +1 -0
- package/dist/test/unit/cli/gradle-env.test.js +31 -0
- package/dist/test/unit/cli/gradle-env.test.js.map +1 -0
- package/dist/test/unit/cli/out-dir.test.d.ts +2 -0
- package/dist/test/unit/cli/out-dir.test.d.ts.map +1 -0
- package/dist/test/unit/cli/out-dir.test.js +96 -0
- package/dist/test/unit/cli/out-dir.test.js.map +1 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.d.ts +2 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.d.ts.map +1 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.js +190 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -0
- package/dist/test/unit/formatter-roundtrip.test.d.ts +2 -0
- package/dist/test/unit/formatter-roundtrip.test.d.ts.map +1 -0
- package/dist/test/unit/formatter-roundtrip.test.js +125 -0
- package/dist/test/unit/formatter-roundtrip.test.js.map +1 -0
- package/dist/test/unit/governance/controls-registry-parity.test.d.ts +2 -0
- package/dist/test/unit/governance/controls-registry-parity.test.d.ts.map +1 -0
- package/dist/test/unit/governance/controls-registry-parity.test.js +28 -0
- package/dist/test/unit/governance/controls-registry-parity.test.js.map +1 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.d.ts +2 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.d.ts.map +1 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.js +106 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.js.map +1 -0
- package/dist/test/unit/governance/governance-check.test.d.ts +2 -0
- package/dist/test/unit/governance/governance-check.test.d.ts.map +1 -0
- package/dist/test/unit/governance/governance-check.test.js +169 -0
- package/dist/test/unit/governance/governance-check.test.js.map +1 -0
- package/dist/test/unit/governance/profile-check.test.d.ts +2 -0
- package/dist/test/unit/governance/profile-check.test.d.ts.map +1 -0
- package/dist/test/unit/governance/profile-check.test.js +139 -0
- package/dist/test/unit/governance/profile-check.test.js.map +1 -0
- package/dist/test/unit/governance/verdict-typecheck.test.d.ts +2 -0
- package/dist/test/unit/governance/verdict-typecheck.test.d.ts.map +1 -0
- package/dist/test/unit/governance/verdict-typecheck.test.js +80 -0
- package/dist/test/unit/governance/verdict-typecheck.test.js.map +1 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.d.ts +2 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.d.ts.map +1 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.js +72 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.js.map +1 -0
- package/dist/test/unit/list-numeric-fail-loud.test.d.ts +2 -0
- package/dist/test/unit/list-numeric-fail-loud.test.d.ts.map +1 -0
- package/dist/test/unit/list-numeric-fail-loud.test.js +83 -0
- package/dist/test/unit/list-numeric-fail-loud.test.js.map +1 -0
- package/dist/test/unit/lossless-mirror.test.d.ts +2 -0
- package/dist/test/unit/lossless-mirror.test.d.ts.map +1 -0
- package/dist/test/unit/lossless-mirror.test.js +41 -0
- package/dist/test/unit/lossless-mirror.test.js.map +1 -0
- package/dist/test/unit/lossless-reflow.test.d.ts +2 -0
- package/dist/test/unit/lossless-reflow.test.d.ts.map +1 -0
- package/dist/test/unit/lossless-reflow.test.js +84 -0
- package/dist/test/unit/lossless-reflow.test.js.map +1 -0
- package/dist/test/unit/lowering/lowering.test.js +35 -35
- package/dist/test/unit/lowering/lowering.test.js.map +1 -1
- package/dist/test/unit/lsp/control-completion.test.d.ts +2 -0
- package/dist/test/unit/lsp/control-completion.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/control-completion.test.js +46 -0
- package/dist/test/unit/lsp/control-completion.test.js.map +1 -0
- package/dist/test/unit/lsp/debounce-map.test.d.ts +2 -0
- package/dist/test/unit/lsp/debounce-map.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/debounce-map.test.js +47 -0
- package/dist/test/unit/lsp/debounce-map.test.js.map +1 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.d.ts +2 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.js +40 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.js.map +1 -0
- package/dist/test/unit/manifest-parser.test.js +8 -0
- package/dist/test/unit/manifest-parser.test.js.map +1 -1
- package/dist/test/unit/manifest-schema.test.d.ts +7 -5
- package/dist/test/unit/manifest-schema.test.d.ts.map +1 -1
- package/dist/test/unit/manifest-schema.test.js +48 -10
- package/dist/test/unit/manifest-schema.test.js.map +1 -1
- package/dist/test/unit/parser/governance-sugar.test.d.ts +2 -0
- package/dist/test/unit/parser/governance-sugar.test.d.ts.map +1 -0
- package/dist/test/unit/parser/governance-sugar.test.js +258 -0
- package/dist/test/unit/parser/governance-sugar.test.js.map +1 -0
- package/dist/test/unit/parser/module-header.test.d.ts +2 -0
- package/dist/test/unit/parser/module-header.test.d.ts.map +1 -0
- package/dist/test/unit/parser/module-header.test.js +25 -0
- package/dist/test/unit/parser/module-header.test.js.map +1 -0
- package/dist/test/unit/parser/positional-annotation-args.test.d.ts +2 -0
- package/dist/test/unit/parser/positional-annotation-args.test.d.ts.map +1 -0
- package/dist/test/unit/parser/positional-annotation-args.test.js +26 -0
- package/dist/test/unit/parser/positional-annotation-args.test.js.map +1 -0
- package/dist/test/unit/parser/prefix-operator-call.test.d.ts +2 -0
- package/dist/test/unit/parser/prefix-operator-call.test.d.ts.map +1 -0
- package/dist/test/unit/parser/prefix-operator-call.test.js +69 -0
- package/dist/test/unit/parser/prefix-operator-call.test.js.map +1 -0
- package/dist/test/unit/scripts/corpus-loader.test.d.ts +2 -0
- package/dist/test/unit/scripts/corpus-loader.test.d.ts.map +1 -0
- package/dist/test/unit/scripts/corpus-loader.test.js +85 -0
- package/dist/test/unit/scripts/corpus-loader.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowering.test.js","sourceRoot":"","sources":["../../../../test/unit/lowering/lowering.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lowering.test.js","sourceRoot":"","sources":["../../../../test/unit/lowering/lowering.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-completion.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/lsp/control-completion.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { test } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
4
|
+
import { controlCompletions, controlCompletionsAt } from '../../../src/lsp/completion.js';
|
|
5
|
+
test('@control(" 处补全全部注册表键', () => {
|
|
6
|
+
const items = controlCompletions('@control("');
|
|
7
|
+
assert.ok(items);
|
|
8
|
+
assert.deepEqual(items.map((i) => i.label).sort(), ['EU_AI_ACT:ART14', 'GDPR:ART17', 'GDPR:ART22', 'GDPR:ART6', 'SOX:404']);
|
|
9
|
+
});
|
|
10
|
+
test('按已输入前缀过滤,detail 为英文标题', () => {
|
|
11
|
+
const items = controlCompletions(' @control( "GDPR:ART2');
|
|
12
|
+
assert.deepEqual(items.map((i) => i.label), ['GDPR:ART22']);
|
|
13
|
+
assert.equal(items[0].detail, 'Automated individual decision-making');
|
|
14
|
+
});
|
|
15
|
+
test('非 @control 字符串上下文返回 null', () => {
|
|
16
|
+
assert.equal(controlCompletions('@id("'), null);
|
|
17
|
+
assert.equal(controlCompletions('Rule main'), null);
|
|
18
|
+
});
|
|
19
|
+
test('补全请求缺少 params 或 position 时不抛错并返回 null', () => {
|
|
20
|
+
const docs = { get: () => undefined };
|
|
21
|
+
assert.equal(controlCompletionsAt(docs, undefined), null);
|
|
22
|
+
assert.equal(controlCompletionsAt(docs, { textDocument: { uri: 'file:///a' } }), null);
|
|
23
|
+
assert.equal(controlCompletionsAt(docs, { textDocument: { uri: 'file:///a' }, position: { line: 0, character: 0 } }), null);
|
|
24
|
+
});
|
|
25
|
+
test('无光标位置时不带 textEdit(向后兼容)', () => {
|
|
26
|
+
const items = controlCompletions('@control("GDPR:ART2');
|
|
27
|
+
assert.equal(items[0].textEdit, undefined);
|
|
28
|
+
});
|
|
29
|
+
test('textEdit 覆盖引号内已输入前缀,选中后得到完整键而非重复前缀', () => {
|
|
30
|
+
const line = '@control("GDPR:ART2';
|
|
31
|
+
const doc = TextDocument.create('file:///p.aster', 'aster', 1, `Module p.\n${line}")\n`);
|
|
32
|
+
const position = { line: 1, character: line.length };
|
|
33
|
+
const items = controlCompletionsAt({ get: () => doc }, { textDocument: { uri: doc.uri }, position });
|
|
34
|
+
assert.deepEqual(items.map((i) => i.label), ['GDPR:ART22']);
|
|
35
|
+
const edit = items[0].textEdit;
|
|
36
|
+
assert.deepEqual(edit.range, { start: { line: 1, character: '@control("'.length }, end: position });
|
|
37
|
+
assert.equal(edit.newText, 'GDPR:ART22');
|
|
38
|
+
const applied = TextDocument.applyEdits(doc, [edit]);
|
|
39
|
+
assert.equal(applied.split('\n')[1], '@control("GDPR:ART22")');
|
|
40
|
+
});
|
|
41
|
+
test('空前缀时 textEdit 为光标处零宽插入', () => {
|
|
42
|
+
const items = controlCompletions(' @control( "', { line: 3, character: 13 });
|
|
43
|
+
const edit = items[0].textEdit;
|
|
44
|
+
assert.deepEqual(edit.range, { start: { line: 3, character: 13 }, end: { line: 3, character: 13 } });
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=control-completion.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-completion.test.js","sourceRoot":"","sources":["../../../../test/unit/lsp/control-completion.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce-map.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/lsp/debounce-map.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { DebounceMap } from '../../../src/lsp/debounce-map.js';
|
|
4
|
+
const tick = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
5
|
+
// ★issue #197:onDidClose 不撤销 pendingValidate 定时器,关闭后的回调仍会
|
|
6
|
+
// 为已关闭文档重新填充解析缓存。这里守住 cancel 的语义:撤销后回调绝不触发。
|
|
7
|
+
describe('DebounceMap', () => {
|
|
8
|
+
it('到期触发回调并清除登记', async () => {
|
|
9
|
+
const m = new DebounceMap();
|
|
10
|
+
let fired = 0;
|
|
11
|
+
m.schedule('a', 10, () => { fired++; });
|
|
12
|
+
assert.equal(m.has('a'), true);
|
|
13
|
+
await tick(40);
|
|
14
|
+
assert.equal(fired, 1);
|
|
15
|
+
assert.equal(m.has('a'), false);
|
|
16
|
+
});
|
|
17
|
+
it('★cancel 后回调绝不触发(文档关闭场景)', async () => {
|
|
18
|
+
const m = new DebounceMap();
|
|
19
|
+
let fired = 0;
|
|
20
|
+
m.schedule('doc', 10, () => { fired++; });
|
|
21
|
+
assert.equal(m.cancel('doc'), true);
|
|
22
|
+
assert.equal(m.has('doc'), false);
|
|
23
|
+
await tick(40);
|
|
24
|
+
assert.equal(fired, 0, '已撤销的防抖回调仍被触发');
|
|
25
|
+
});
|
|
26
|
+
it('同 key 重复 schedule 只触发最后一次(防抖语义)', async () => {
|
|
27
|
+
const m = new DebounceMap();
|
|
28
|
+
const seen = [];
|
|
29
|
+
m.schedule('doc', 10, () => { seen.push('first'); });
|
|
30
|
+
m.schedule('doc', 10, () => { seen.push('second'); });
|
|
31
|
+
await tick(40);
|
|
32
|
+
assert.deepEqual(seen, ['second']);
|
|
33
|
+
});
|
|
34
|
+
it('不同 key 互不影响', async () => {
|
|
35
|
+
const m = new DebounceMap();
|
|
36
|
+
const seen = [];
|
|
37
|
+
m.schedule('a', 10, () => { seen.push('a'); });
|
|
38
|
+
m.schedule('b', 10, () => { seen.push('b'); });
|
|
39
|
+
m.cancel('a');
|
|
40
|
+
await tick(40);
|
|
41
|
+
assert.deepEqual(seen, ['b']);
|
|
42
|
+
});
|
|
43
|
+
it('cancel 未登记的 key 返回 false', () => {
|
|
44
|
+
assert.equal(new DebounceMap().cancel('nope'), false);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=debounce-map.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce-map.test.js","sourceRoot":"","sources":["../../../../test/unit/lsp/debounce-map.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-watcher-restart.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/lsp/file-watcher-restart.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 停止后立即重启监控器:上一轮仍在进行的扫描不得占住单飞行锁、发出本轮的 scan:end 或写入本轮快照。
|
|
3
|
+
* 这正是 lsp-file-watcher 集成测试在负载下偶发"跟踪 0 个文件"的成因。
|
|
4
|
+
*/
|
|
5
|
+
import { test } from 'node:test';
|
|
6
|
+
import assert from 'node:assert/strict';
|
|
7
|
+
import { promises as fs } from 'node:fs';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { tmpdir } from 'node:os';
|
|
10
|
+
import { once } from 'node:events';
|
|
11
|
+
import { FileWatcher } from '../../../src/lsp/workspace/file-watcher.js';
|
|
12
|
+
async function workspaceWith(count) {
|
|
13
|
+
const dir = await fs.mkdtemp(join(tmpdir(), 'aster-watch-'));
|
|
14
|
+
for (let i = 0; i < count; i++)
|
|
15
|
+
await fs.writeFile(join(dir, `f${i}.aster`), `Module m${i}.\n`);
|
|
16
|
+
return dir;
|
|
17
|
+
}
|
|
18
|
+
test('重启后的首个 scan:end 反映新工作区,而非上一轮残留扫描', async () => {
|
|
19
|
+
const big = await workspaceWith(50);
|
|
20
|
+
const small = await workspaceWith(2);
|
|
21
|
+
const watcher = new FileWatcher({ mode: 'polling', enabled: true, pollingInterval: 60_000 });
|
|
22
|
+
try {
|
|
23
|
+
watcher.start([big]);
|
|
24
|
+
// 上一轮扫描已在 readdir/stat 中挂起时停止并换到新工作区
|
|
25
|
+
watcher.stop();
|
|
26
|
+
const scanned = once(watcher.getEventEmitter(), 'scan:end');
|
|
27
|
+
watcher.start([small]);
|
|
28
|
+
await scanned;
|
|
29
|
+
assert.equal(watcher.getStatus().trackedFiles, 2);
|
|
30
|
+
// 残留扫描结束后也不得把旧工作区的文件写进本轮快照
|
|
31
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
32
|
+
assert.equal(watcher.getStatus().trackedFiles, 2);
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
watcher.stop();
|
|
36
|
+
await fs.rm(big, { recursive: true, force: true });
|
|
37
|
+
await fs.rm(small, { recursive: true, force: true });
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=file-watcher-restart.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-watcher-restart.test.js","sourceRoot":"","sources":["../../../../test/unit/lsp/file-watcher-restart.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,KAAK,UAAU,aAAa,CAAC,KAAa;IACxC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAChG,OAAO,GAAG,CAAC;AACb,CAAC;AAED,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,qCAAqC;QACrC,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvB,MAAM,OAAO,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAClD,2BAA2B;QAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -79,6 +79,14 @@ test('manifest-parser 测试套件', async (t) => {
|
|
|
79
79
|
assert.ok(manifest.capabilities, 'capabilities应该存在');
|
|
80
80
|
assert.deepStrictEqual(manifest.capabilities.allow, ['Http']);
|
|
81
81
|
});
|
|
82
|
+
// ★#191 端到端:走真实 parseManifest(schema + 语义两层),含 description 不得返回 M007。
|
|
83
|
+
await t.test('含 description 的 manifest 应解析成功而非 M007', () => {
|
|
84
|
+
const manifestPath = join(TEST_DIR, 'with-description.json');
|
|
85
|
+
writeFileSync(manifestPath, JSON.stringify({ name: 'a.b', version: '1.0.0', description: 'A helpful package' }), 'utf-8');
|
|
86
|
+
const result = parseManifest(manifestPath);
|
|
87
|
+
assert.ok(!Array.isArray(result), `不应返回诊断:${Array.isArray(result) ? JSON.stringify(result) : ''}`);
|
|
88
|
+
assert.strictEqual(result.description, 'A helpful package');
|
|
89
|
+
});
|
|
82
90
|
await t.test('文件不存在时应返回M002错误', () => {
|
|
83
91
|
const nonExistentPath = join(TEST_DIR, 'non-existent.json');
|
|
84
92
|
const result = parseManifest(nonExistentPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-parser.test.js","sourceRoot":"","sources":["../../../test/unit/manifest-parser.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest-parser.test.js","sourceRoot":"","sources":["../../../test/unit/manifest-parser.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAc,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAmB,MAAM,sCAAsC,CAAC;AAEvF,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,SAAS;IACT,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QACD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE;gBACZ,YAAY,EAAE,QAAQ;gBACtB,YAAY,EAAE,QAAQ;aACvB;YACD,eAAe,EAAE;gBACf,YAAY,EAAE,QAAQ;aACvB;YACD,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;YAC1C,YAAY,EAAE;gBACZ,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC9B,IAAI,EAAE,CAAC,SAAS,CAAC;aAClB;SACF,CAAC;QAEF,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAkB,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC5C,YAAY,EAAE,QAAQ;YACtB,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG;YACtB,YAAY,EAAE;gBACZ,KAAK,EAAE,CAAC,MAAM,CAAC;aAChB;SACF,CAAC;QAEF,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAkB,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAC7D,aAAa,CACX,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,EACnF,OAAO,CACR,CAAC;QAEF,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CACP,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACtB,UAAU,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,CAAC;QACF,MAAM,CAAC,WAAW,CAAE,MAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAsB,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAClF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACzD,aAAa,CAAC,YAAY,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAsB,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAChF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG;YACtB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,oBAAoB;SACnC,CAAC;QAEF,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAClC,MAAM,eAAe,GAAa;YAChC,IAAI,EAAE,eAAe,EAAE,OAAO;SAC/B,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAChF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,MAAM;YACvB,QAAQ,EAAE,OAAO;YACjB,eAAe,EAAE,OAAO;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CACP,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,QAAQ,IAAI,SAAS,CACtB,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QAC/B,MAAM,UAAU,GAAG;YACjB,OAAO;YACP,eAAe;YACf,oBAAoB;YACpB,4BAA4B,EAAE,QAAQ;SACvC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,QAAQ,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACnC,MAAM,eAAe,GAAG;YACtB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,YAAY;SAClB,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CACP,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,OAAO,OAAO,SAAS,CACxB,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAClC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,OAAO,OAAO,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACnC,MAAM,kBAAkB,GAAG;YACzB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,aAAa;SAChC,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAa;gBACzB,YAAY,EAAE;oBACZ,YAAY,EAAE,UAAU;iBACzB;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CACP,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,SAAS,UAAU,SAAS,CAC7B,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,6BAA6B,CAAC,CAAC;QACxF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAa;YACzB,YAAY,EAAE;gBACZ,YAAY,EAAE,QAAQ,EAAE,QAAQ;gBAChC,YAAY,EAAE,QAAQ,EAAE,QAAQ;gBAChC,aAAa,EAAE,OAAO,EAAE,QAAQ;aACjC;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,qBAAqB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACvC,MAAM,cAAc,GAAG;YACrB,aAAa,EAAE,OAAO;YACtB,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,OAAO;SACnB,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB,CAAC;YAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CACP,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,WAAW,MAAM,SAAS,CAC3B,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QAC7C,MAAM,YAAY,GAAG;YACnB,aAAa;YACb,eAAe;YACf,SAAS;YACT,aAAa;SACd,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB,CAAC;YAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,WAAW,MAAM,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACzC,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAE/D,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAa;gBACzB,YAAY,EAAE;oBACZ,8DAA8D;oBAC9D,KAAK,EAAE,CAAC,GAAU,CAAC;iBACpB;aACF,CAAC;YAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CACP,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,eAAe,GAAG,SAAS,CAC5B,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACvC,MAAM,QAAQ,GAAa;YACzB,YAAY,EAAE;gBACZ,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC;aAC7H;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,6BAA6B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAC3D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QAC5B,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,oBAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QAC7B,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,cAAc,EAAE,OAAO;YAC7B,OAAO,EAAE,KAAK,EAAE,UAAU;YAC1B,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO;YAC/B,YAAY,EAAE;gBACZ,KAAK,EAAE,CAAC,SAAgB,CAAC,EAAE,eAAe;aAC3C;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* manifest
|
|
2
|
+
* manifest schema 验证测试
|
|
3
3
|
*
|
|
4
4
|
* 测试目标:
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
8
|
-
* 4.
|
|
5
|
+
* 1. 运行时真正生效的 MANIFEST_SCHEMA(TS 常量)与仓库根 manifest.schema.json 逐字段一致
|
|
6
|
+
* 2. schema 编译失败时必须以 M009 warning 报出,而不是静默跳过校验
|
|
7
|
+
* 3. 验证合法的manifest.json(含dependencies)通过schema验证
|
|
8
|
+
* 4. 验证缺失dependencies字段的manifest.json仍然合法(向后兼容)
|
|
9
|
+
* 5. 验证非法版本约束被schema拒绝
|
|
10
|
+
* 6. 验证additionalProperties: false严格验证
|
|
9
11
|
*/
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=manifest-schema.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-schema.test.d.ts","sourceRoot":"","sources":["../../../test/unit/manifest-schema.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"manifest-schema.test.d.ts","sourceRoot":"","sources":["../../../test/unit/manifest-schema.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* manifest
|
|
2
|
+
* manifest schema 验证测试
|
|
3
3
|
*
|
|
4
4
|
* 测试目标:
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
8
|
-
* 4.
|
|
5
|
+
* 1. 运行时真正生效的 MANIFEST_SCHEMA(TS 常量)与仓库根 manifest.schema.json 逐字段一致
|
|
6
|
+
* 2. schema 编译失败时必须以 M009 warning 报出,而不是静默跳过校验
|
|
7
|
+
* 3. 验证合法的manifest.json(含dependencies)通过schema验证
|
|
8
|
+
* 4. 验证缺失dependencies字段的manifest.json仍然合法(向后兼容)
|
|
9
|
+
* 5. 验证非法版本约束被schema拒绝
|
|
10
|
+
* 6. 验证additionalProperties: false严格验证
|
|
9
11
|
*/
|
|
10
12
|
import test from 'node:test';
|
|
11
13
|
import assert from 'node:assert';
|
|
@@ -13,16 +15,35 @@ import { readFileSync } from 'node:fs';
|
|
|
13
15
|
import { fileURLToPath } from 'node:url';
|
|
14
16
|
import { dirname, join } from 'node:path';
|
|
15
17
|
import Ajv from 'ajv';
|
|
18
|
+
import { MANIFEST_SCHEMA } from '../../src/package/manifest-schema.js';
|
|
19
|
+
import { compileManifestValidator } from '../../src/package/manifest-parser.js';
|
|
20
|
+
import { DiagnosticCode } from '../../src/diagnostics/diagnostics.js';
|
|
16
21
|
const __filename = fileURLToPath(import.meta.url);
|
|
17
22
|
const __dirname = dirname(__filename);
|
|
18
23
|
// 从 dist/test/unit/ 回到项目根目录需要 ../../../
|
|
19
24
|
const projectRoot = join(__dirname, '..', '..', '..');
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
const schema = JSON.parse(readFileSync(schemaPath, 'utf-8'));
|
|
25
|
+
// ★#192:校验源是内联常量,下面所有用例都针对它;manifest.schema.json 只是
|
|
26
|
+
// 给编辑器 / 外部工具的镜像,由第一条用例锁定两者不漂移。
|
|
23
27
|
const ajv = new Ajv({ strict: true });
|
|
24
|
-
const validate = ajv.compile(
|
|
25
|
-
test('manifest
|
|
28
|
+
const validate = ajv.compile(MANIFEST_SCHEMA);
|
|
29
|
+
test('manifest schema 验证测试', async (t) => {
|
|
30
|
+
await t.test('MANIFEST_SCHEMA 与仓库根 manifest.schema.json 逐字段一致', () => {
|
|
31
|
+
const fileSchema = JSON.parse(readFileSync(join(projectRoot, 'manifest.schema.json'), 'utf-8'));
|
|
32
|
+
assert.deepStrictEqual(JSON.parse(JSON.stringify(MANIFEST_SCHEMA)), fileSchema, '内联 schema 与 manifest.schema.json 漂移:两者必须同步修改');
|
|
33
|
+
});
|
|
34
|
+
await t.test('schema 编译失败时以 M009 warning 报出并返回 null', () => {
|
|
35
|
+
const warnings = [];
|
|
36
|
+
const result = compileManifestValidator({ type: 'object', notAKeyword: true }, (message) => warnings.push(message));
|
|
37
|
+
assert.strictEqual(result, null, '编译失败应返回 null');
|
|
38
|
+
assert.strictEqual(warnings.length, 1, '应恰好发出一条 warning');
|
|
39
|
+
assert.ok(warnings[0]?.includes(DiagnosticCode.M009_ManifestSchemaUnavailable), `warning 应携带 M009 诊断码,实际:${warnings[0]}`);
|
|
40
|
+
});
|
|
41
|
+
await t.test('内联 schema 可编译且不产生 warning', () => {
|
|
42
|
+
const warnings = [];
|
|
43
|
+
const result = compileManifestValidator(MANIFEST_SCHEMA, (message) => warnings.push(message));
|
|
44
|
+
assert.strictEqual(typeof result, 'function');
|
|
45
|
+
assert.deepStrictEqual(warnings, []);
|
|
46
|
+
});
|
|
26
47
|
await t.test('应接受完整的合法manifest(含dependencies)', () => {
|
|
27
48
|
const validManifest = {
|
|
28
49
|
name: 'aster.finance.loan',
|
|
@@ -43,6 +64,23 @@ test('manifest.schema.json 验证测试', async (t) => {
|
|
|
43
64
|
const isValid = validate(validManifest);
|
|
44
65
|
assert.strictEqual(isValid, true, `验证应该通过,但失败了:${JSON.stringify(validate.errors, null, 2)}`);
|
|
45
66
|
});
|
|
67
|
+
// ★#191:`aster search` 展示的 description 来自 manifest.json,schema 却因
|
|
68
|
+
// additionalProperties:false 把它判成未知字段,写了描述的包在缓存校验阶段
|
|
69
|
+
// 整体安装失败,且报的是「缓存损坏」。
|
|
70
|
+
await t.test('应接受 description 字段(与 search 命令展示列对齐)', () => {
|
|
71
|
+
const withDescription = {
|
|
72
|
+
name: 'aster.finance.loan',
|
|
73
|
+
version: '1.0.0',
|
|
74
|
+
description: 'A helpful package',
|
|
75
|
+
};
|
|
76
|
+
const isValid = validate(withDescription);
|
|
77
|
+
assert.strictEqual(isValid, true, `含 description 的 manifest 应通过,但失败了:${JSON.stringify(validate.errors, null, 2)}`);
|
|
78
|
+
});
|
|
79
|
+
await t.test('description 必须是字符串', () => {
|
|
80
|
+
const isValid = validate({ name: 'aster.test', version: '1.0.0', description: 123 });
|
|
81
|
+
assert.strictEqual(isValid, false, '非字符串 description 应被拒绝');
|
|
82
|
+
assert.ok(validate.errors?.some((err) => err.keyword === 'type' && err.instancePath === '/description'), '错误应落在 /description 的 type 校验上');
|
|
83
|
+
});
|
|
46
84
|
await t.test('应接受缺失dependencies字段的manifest(向后兼容)', () => {
|
|
47
85
|
const backwardCompatibleManifest = {
|
|
48
86
|
capabilities: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-schema.test.js","sourceRoot":"","sources":["../../../test/unit/manifest-schema.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"manifest-schema.test.js","sourceRoot":"","sources":["../../../test/unit/manifest-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governance-sugar.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/parser/governance-sugar.test.ts"],"names":[],"mappings":""}
|