@aster-cloud/aster-lang-ts 0.1.5 → 0.2.2
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/CHANGELOG.md +72 -0
- package/LICENSE +201 -0
- package/README.md +2 -0
- package/dist/scripts/core-ir-json.d.ts +3 -0
- package/dist/scripts/core-ir-json.d.ts.map +1 -0
- package/dist/scripts/core-ir-json.js +72 -0
- package/dist/scripts/core-ir-json.js.map +1 -0
- package/dist/scripts/golden.js +49 -0
- package/dist/scripts/golden.js.map +1 -1
- package/dist/src/ai/providers/anthropic.d.ts +17 -0
- package/dist/src/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/src/ai/providers/anthropic.js +58 -15
- package/dist/src/ai/providers/anthropic.js.map +1 -1
- package/dist/src/ast/ast.d.ts +2 -2
- package/dist/src/ast/ast.d.ts.map +1 -1
- package/dist/src/ast/ast.js +5 -2
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/browser/schema.d.ts +52 -0
- package/dist/src/browser/schema.d.ts.map +1 -0
- package/dist/src/browser/schema.js +205 -0
- package/dist/src/browser/schema.js.map +1 -0
- package/dist/src/browser.d.ts +19 -54
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +30 -188
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/policy-converter.js +8 -1
- package/dist/src/cli/policy-converter.js.map +1 -1
- package/dist/src/config/effect_config.d.ts.map +1 -1
- package/dist/src/config/effect_config.js +7 -1
- package/dist/src/config/effect_config.js.map +1 -1
- package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
- package/dist/src/config/lexicons/de-DE.js +1 -0
- 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 +1 -0
- package/dist/src/config/lexicons/en-US.js.map +1 -1
- package/dist/src/config/lexicons/fallback-lexicon.d.ts +41 -0
- package/dist/src/config/lexicons/fallback-lexicon.d.ts.map +1 -0
- package/dist/src/config/lexicons/fallback-lexicon.js +88 -0
- package/dist/src/config/lexicons/fallback-lexicon.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/registry.d.ts +9 -0
- package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/registry.js +12 -0
- package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
- package/dist/src/config/lexicons/index.d.ts +25 -3
- package/dist/src/config/lexicons/index.d.ts.map +1 -1
- package/dist/src/config/lexicons/index.js +42 -7
- package/dist/src/config/lexicons/index.js.map +1 -1
- package/dist/src/config/lexicons/registry.d.ts.map +1 -1
- package/dist/src/config/lexicons/registry.js +43 -5
- package/dist/src/config/lexicons/registry.js.map +1 -1
- package/dist/src/config/lexicons/template.d.ts.map +1 -1
- package/dist/src/config/lexicons/template.js +2 -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 +36 -20
- package/dist/src/config/lexicons/zh-CN.js.map +1 -1
- package/dist/src/config/semantic.d.ts +13 -0
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +17 -0
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/config/token-kind.d.ts +2 -0
- package/dist/src/config/token-kind.d.ts.map +1 -1
- package/dist/src/config/token-kind.js +3 -1
- package/dist/src/config/token-kind.js.map +1 -1
- package/dist/src/core/core_ir.d.ts +2 -2
- package/dist/src/core/core_ir.d.ts.map +1 -1
- package/dist/src/core/core_ir.js +5 -2
- package/dist/src/core/core_ir.js.map +1 -1
- package/dist/src/core/interpreter.js +6 -1
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/core/visitor.d.ts.map +1 -1
- package/dist/src/core/visitor.js +17 -0
- package/dist/src/core/visitor.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +2 -0
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +11 -5
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
- package/dist/src/effects/effect_inference_browser.js +22 -4
- package/dist/src/effects/effect_inference_browser.js.map +1 -1
- package/dist/src/frontend/canonicalizer.d.ts +33 -0
- package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
- package/dist/src/frontend/canonicalizer.js +77 -5
- package/dist/src/frontend/canonicalizer.js.map +1 -1
- package/dist/src/frontend/lexer.d.ts.map +1 -1
- package/dist/src/frontend/lexer.js +7 -1
- package/dist/src/frontend/lexer.js.map +1 -1
- package/dist/src/jvm/emitter.js +2 -2
- package/dist/src/jvm/emitter.js.map +1 -1
- package/dist/src/lower_to_core.js +2 -2
- package/dist/src/lower_to_core.js.map +1 -1
- package/dist/src/lsp/config.d.ts +13 -9
- package/dist/src/lsp/config.d.ts.map +1 -1
- package/dist/src/lsp/config.js +19 -5
- package/dist/src/lsp/config.js.map +1 -1
- package/dist/src/lsp/diagnostics.d.ts +10 -0
- package/dist/src/lsp/diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/diagnostics.js +43 -1
- package/dist/src/lsp/diagnostics.js.map +1 -1
- package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/pii_diagnostics.js +4 -1
- package/dist/src/lsp/pii_diagnostics.js.map +1 -1
- package/dist/src/lsp/server.js +49 -17
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/utils.js +1 -1
- package/dist/src/lsp/utils.js.map +1 -1
- package/dist/src/parser/context.d.ts.map +1 -1
- package/dist/src/parser/context.js +32 -12
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts +2 -2
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +113 -14
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +111 -4
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts +3 -2
- package/dist/src/parser/import-parser.d.ts.map +1 -1
- package/dist/src/parser/import-parser.js +12 -3
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser/input-generator.d.ts +2 -0
- package/dist/src/parser/input-generator.d.ts.map +1 -1
- package/dist/src/parser/input-generator.js +11 -1
- package/dist/src/parser/input-generator.js.map +1 -1
- package/dist/src/parser/type-parser.js +1 -1
- package/dist/src/parser/type-parser.js.map +1 -1
- package/dist/src/typecheck/alias.d.ts +24 -0
- package/dist/src/typecheck/alias.d.ts.map +1 -0
- package/dist/src/typecheck/alias.js +30 -0
- package/dist/src/typecheck/alias.js.map +1 -0
- package/dist/src/typecheck/browser.d.ts +41 -4
- package/dist/src/typecheck/browser.d.ts.map +1 -1
- package/dist/src/typecheck/browser.js +189 -14
- package/dist/src/typecheck/browser.js.map +1 -1
- package/dist/src/typecheck/context.js +1 -1
- package/dist/src/typecheck/context.js.map +1 -1
- package/dist/src/typecheck/effects.d.ts.map +1 -1
- package/dist/src/typecheck/effects.js +18 -4
- package/dist/src/typecheck/effects.js.map +1 -1
- package/dist/src/typecheck/expression.js +1 -1
- package/dist/src/typecheck/expression.js.map +1 -1
- package/dist/src/typecheck/generics.js +1 -1
- package/dist/src/typecheck/generics.js.map +1 -1
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +13 -8
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/pattern.js +1 -1
- package/dist/src/typecheck/pattern.js.map +1 -1
- package/dist/src/typecheck/pure.d.ts +66 -0
- package/dist/src/typecheck/pure.d.ts.map +1 -0
- package/dist/src/typecheck/pure.js +163 -0
- package/dist/src/typecheck/pure.js.map +1 -0
- package/dist/src/typecheck/statement.js +1 -1
- package/dist/src/typecheck/statement.js.map +1 -1
- package/dist/src/typecheck/type_system.d.ts +6 -1
- package/dist/src/typecheck/type_system.d.ts.map +1 -1
- package/dist/src/typecheck/type_system.js +61 -13
- package/dist/src/typecheck/type_system.js.map +1 -1
- package/dist/src/typecheck/utils.d.ts +4 -69
- package/dist/src/typecheck/utils.d.ts.map +1 -1
- package/dist/src/typecheck/utils.js +17 -170
- package/dist/src/typecheck/utils.js.map +1 -1
- package/dist/src/typecheck/workflow.js +1 -1
- package/dist/src/typecheck/workflow.js.map +1 -1
- package/dist/src/typecheck-pii.d.ts.map +1 -1
- package/dist/src/typecheck-pii.js +11 -1
- package/dist/src/typecheck-pii.js.map +1 -1
- package/dist/src/types/base.d.ts +1 -0
- package/dist/src/types/base.d.ts.map +1 -1
- package/dist/src/types.d.ts +18 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -0
- package/dist/src/types.js.map +1 -1
- package/dist/test/e2e/runner/golden-runner.js +21 -10
- package/dist/test/e2e/runner/golden-runner.js.map +1 -1
- package/dist/test/integration/compliance/compliance-smoke.test.js +27 -35
- package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-multi-rename.test.js +8 -7
- package/dist/test/integration/lsp/lsp-multi-rename.test.js.map +1 -1
- package/dist/test/policy-converter/round-trip.test.js +6 -4
- package/dist/test/policy-converter/round-trip.test.js.map +1 -1
- package/dist/test/regression/type-checker-golden.test.js +8 -4
- package/dist/test/regression/type-checker-golden.test.js.map +1 -1
- package/dist/test/type-checker/cross-module-packages.test.js +5 -3
- package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
- package/dist/test/type-checker/pii-propagation.test.js +24 -18
- package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
- package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts +2 -0
- package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts.map +1 -0
- package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +193 -0
- package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -0
- package/dist/test/unit/browser/typecheck-browser-unsupported.test.d.ts +2 -0
- package/dist/test/unit/browser/typecheck-browser-unsupported.test.d.ts.map +1 -0
- package/dist/test/unit/browser/typecheck-browser-unsupported.test.js +110 -0
- package/dist/test/unit/browser/typecheck-browser-unsupported.test.js.map +1 -0
- package/dist/test/unit/canonicalizer/canonicalizer.test.js +91 -1
- package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts +2 -0
- package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts.map +1 -0
- package/dist/test/unit/canonicalizer/cjk-punctuation.test.js +118 -0
- package/dist/test/unit/canonicalizer/cjk-punctuation.test.js.map +1 -0
- package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts +2 -0
- package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts.map +1 -0
- package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js +40 -0
- package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js.map +1 -0
- package/dist/test/unit/config/lexicons/i18n.test.js +31 -14
- package/dist/test/unit/config/lexicons/i18n.test.js.map +1 -1
- package/dist/test/unit/config/lexicons/zh-CN.test.js +150 -143
- package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
- package/dist/test/unit/keyword-translator.test.js +16 -19
- package/dist/test/unit/keyword-translator.test.js.map +1 -1
- package/dist/test/unit/lexicons/fallback-lexicon.test.d.ts +16 -0
- package/dist/test/unit/lexicons/fallback-lexicon.test.d.ts.map +1 -0
- package/dist/test/unit/lexicons/fallback-lexicon.test.js +98 -0
- package/dist/test/unit/lexicons/fallback-lexicon.test.js.map +1 -0
- package/dist/test/unit/llm-providers.test.js +105 -93
- package/dist/test/unit/llm-providers.test.js.map +1 -1
- package/dist/test/unit/lowering/lowering.test.js +12 -0
- package/dist/test/unit/lowering/lowering.test.js.map +1 -1
- package/dist/test/unit/parser/entry-annotations.test.d.ts +2 -0
- package/dist/test/unit/parser/entry-annotations.test.d.ts.map +1 -0
- package/dist/test/unit/parser/entry-annotations.test.js +110 -0
- package/dist/test/unit/parser/entry-annotations.test.js.map +1 -0
- package/dist/test/unit/parser/parser.test.js +30 -6
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/dist/test/unit/scripts/verify-browser-entry.test.d.ts +2 -0
- package/dist/test/unit/scripts/verify-browser-entry.test.d.ts.map +1 -0
- package/dist/test/unit/scripts/verify-browser-entry.test.js +179 -0
- package/dist/test/unit/scripts/verify-browser-entry.test.js.map +1 -0
- package/dist/test/unit/typecheck/function-return-inference.test.d.ts +2 -0
- package/dist/test/unit/typecheck/function-return-inference.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/function-return-inference.test.js +79 -0
- package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -0
- package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts +2 -0
- package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +191 -0
- package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -0
- package/dist/test/unit/typecheck/should-enforce-pii.test.js +25 -110
- package/dist/test/unit/typecheck/should-enforce-pii.test.js.map +1 -1
- package/dist/test/unit/typecheck/type-system.test.js +83 -3
- package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
- package/package.json +41 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-generator.d.ts","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,WAAW;AACX,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"input-generator.d.ts","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,WAAW;AACX,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,WAAW;AACX,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,QAAsB,EAChC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAQT;AA0ID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAQhG"}
|
|
@@ -106,6 +106,8 @@ function generateDefaultValue(typeName, typeKind) {
|
|
|
106
106
|
switch (typeKind) {
|
|
107
107
|
case 'struct':
|
|
108
108
|
return {};
|
|
109
|
+
case 'enum':
|
|
110
|
+
return ''; // 枚举默认值由 enumVariants 决定,在表单中以下拉框展示
|
|
109
111
|
case 'list':
|
|
110
112
|
return [];
|
|
111
113
|
case 'map':
|
|
@@ -164,10 +166,18 @@ export function generateInputValues(parameters, lexicon) {
|
|
|
164
166
|
if (param.typeKind === 'struct' && param.fields) {
|
|
165
167
|
const structValue = {};
|
|
166
168
|
for (const field of param.fields) {
|
|
167
|
-
|
|
169
|
+
if (field.typeKind === 'enum' && field.enumVariants && field.enumVariants.length > 0) {
|
|
170
|
+
structValue[field.name] = field.enumVariants[0];
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
structValue[field.name] = generateFieldValue(field.name, field.type, field.typeKind, lexicon);
|
|
174
|
+
}
|
|
168
175
|
}
|
|
169
176
|
result[param.name] = structValue;
|
|
170
177
|
}
|
|
178
|
+
else if (param.typeKind === 'enum' && param.enumVariants && param.enumVariants.length > 0) {
|
|
179
|
+
result[param.name] = param.enumVariants[0];
|
|
180
|
+
}
|
|
171
181
|
else if (param.typeKind === 'list') {
|
|
172
182
|
result[param.name] = [generateFieldValue(param.name, param.type, 'primitive', lexicon)];
|
|
173
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-generator.js","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"input-generator.js","sourceRoot":"","sources":["../../../src/parser/input-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ const CONTROL_KEYWORDS = new Set([
|
|
|
15
15
|
KW.RETURN, KW.IN, KW.LET, KW.BE, KW.SET, KW.TO_WORD,
|
|
16
16
|
KW.OR, KW.AND, KW.NOT,
|
|
17
17
|
KW.PLUS, KW.MINUS, KW.TIMES, KW.DIVIDED_BY,
|
|
18
|
-
KW.LESS_THAN, KW.GREATER_THAN, KW.EQUALS_TO,
|
|
18
|
+
KW.LESS_THAN, KW.GREATER_THAN, KW.EQUALS_TO, KW.UNDER, KW.OVER, KW.MORE_THAN,
|
|
19
19
|
KW.START, KW.ASYNC, KW.AWAIT,
|
|
20
20
|
]);
|
|
21
21
|
function isControlKeyword(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-parser.js","sourceRoot":"","sources":["../../../src/parser/type-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-parser.js","sourceRoot":"","sources":["../../../src/parser/type-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure alias-resolution helpers — **browser-safe leaf module**.
|
|
3
|
+
*
|
|
4
|
+
* Why this module exists (P0-R14 codex round 14 review):
|
|
5
|
+
* `typecheck/utils.ts` was previously the "leaf" home for `resolveAlias`,
|
|
6
|
+
* but it carries `loadPrefixes()` at module-load that calls `require('node:module')`,
|
|
7
|
+
* plus other helpers that `require('node:path')`. Even though Next.js webpack
|
|
8
|
+
* handles `node:` scheme via `nodejs_compat`, taking that as a guarantee is
|
|
9
|
+
* fragile — any consumer with stricter bundler rules (browser-only, strict
|
|
10
|
+
* edge runtime) would break.
|
|
11
|
+
*
|
|
12
|
+
* This module contains **only** pure string/map operations with no runtime
|
|
13
|
+
* dependencies. `typecheck-pii.ts` imports from here so the cross-runtime
|
|
14
|
+
* PII flow analysis path never touches Node-specific globals.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 解析导入别名到真实模块前缀.
|
|
18
|
+
*
|
|
19
|
+
* @param name 原始名称(如 "H.get")
|
|
20
|
+
* @param imports 别名映射(如 {H: "Http"})
|
|
21
|
+
* @returns 解析后的名称(如 "Http.get")
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveAlias(name: string, imports: ReadonlyMap<string, string>): string;
|
|
24
|
+
//# sourceMappingURL=alias.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["../../../src/typecheck/alias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAKvF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure alias-resolution helpers — **browser-safe leaf module**.
|
|
3
|
+
*
|
|
4
|
+
* Why this module exists (P0-R14 codex round 14 review):
|
|
5
|
+
* `typecheck/utils.ts` was previously the "leaf" home for `resolveAlias`,
|
|
6
|
+
* but it carries `loadPrefixes()` at module-load that calls `require('node:module')`,
|
|
7
|
+
* plus other helpers that `require('node:path')`. Even though Next.js webpack
|
|
8
|
+
* handles `node:` scheme via `nodejs_compat`, taking that as a guarantee is
|
|
9
|
+
* fragile — any consumer with stricter bundler rules (browser-only, strict
|
|
10
|
+
* edge runtime) would break.
|
|
11
|
+
*
|
|
12
|
+
* This module contains **only** pure string/map operations with no runtime
|
|
13
|
+
* dependencies. `typecheck-pii.ts` imports from here so the cross-runtime
|
|
14
|
+
* PII flow analysis path never touches Node-specific globals.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 解析导入别名到真实模块前缀.
|
|
18
|
+
*
|
|
19
|
+
* @param name 原始名称(如 "H.get")
|
|
20
|
+
* @param imports 别名映射(如 {H: "Http"})
|
|
21
|
+
* @returns 解析后的名称(如 "Http.get")
|
|
22
|
+
*/
|
|
23
|
+
export function resolveAlias(name, imports) {
|
|
24
|
+
if (!name.includes('.'))
|
|
25
|
+
return name;
|
|
26
|
+
const [prefix, ...rest] = name.split('.');
|
|
27
|
+
const resolved = imports.get(prefix);
|
|
28
|
+
return resolved ? `${resolved}.${rest.join('.')}` : name;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=alias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alias.js","sourceRoot":"","sources":["../../../src/typecheck/alias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAAoC;IAC7E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAO,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC"}
|
|
@@ -7,12 +7,43 @@
|
|
|
7
7
|
* Limitations:
|
|
8
8
|
* - No cross-module import resolution (single module only)
|
|
9
9
|
* - No file system-based module loading
|
|
10
|
-
* - PII checking disabled by default (no process.env access)
|
|
11
10
|
*
|
|
12
|
-
*
|
|
11
|
+
* **PII checking is ENABLED by default (P0-1, ADR-0009)**:
|
|
12
|
+
* The PII flow analyzer (checkModulePII) is environment-agnostic — it does
|
|
13
|
+
* not read process.env or the file system. So it works identically in
|
|
14
|
+
* Node / browser / Cloudflare Workers. This is what makes Aster's
|
|
15
|
+
* "PII as a first-class type" promise real across all runtimes.
|
|
16
|
+
*
|
|
17
|
+
* For cross-module import resolution + module-resolution-based diagnostics,
|
|
18
|
+
* use the LSP server. But PII flow analysis is correct here regardless.
|
|
13
19
|
*/
|
|
14
20
|
import type { Core, TypecheckDiagnostic } from '../types.js';
|
|
15
21
|
import type { EffectSignature } from '../effects/effect_signature.js';
|
|
22
|
+
import { checkModulePII as defaultCheckModulePII } from '../typecheck-pii.js';
|
|
23
|
+
/**
|
|
24
|
+
* Testing-only seam for fault injection of the PII analyzer.
|
|
25
|
+
* Production code should never set this; it remains `null` and the default
|
|
26
|
+
* `checkModulePII` is used. Set in tests to a function that throws so the
|
|
27
|
+
* catch branch in `typecheckBrowser` exercises {@link ErrorCode.PII_ANALYZER_FAILED}
|
|
28
|
+
* end-to-end (P0-R2, codex review Medium #5).
|
|
29
|
+
*
|
|
30
|
+
* **生产保护(P0-R3, codex review High #3)**:函数在 production 环境
|
|
31
|
+
* 拒绝任何 non-null 调用。这是 defense-in-depth:即使有人误用,PII 检查
|
|
32
|
+
* 也不会被关闭。判定 production 用 `NODE_ENV === 'production'`,与
|
|
33
|
+
* 其他 Node 生态库的惯例一致。
|
|
34
|
+
*/
|
|
35
|
+
type PiiCheckerFn = typeof defaultCheckModulePII;
|
|
36
|
+
/**
|
|
37
|
+
* @internal Exported for testing only. Calls the underlying `isProductionRuntime`
|
|
38
|
+
* function so vm-sandboxed tests can exercise the real implementation rather
|
|
39
|
+
* than copy-pasting the guard logic into a string.
|
|
40
|
+
*/
|
|
41
|
+
export declare function __isProductionRuntimeForTest(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* @internal Testing seam — do NOT call in production code paths.
|
|
44
|
+
* Throws in production runtime to prevent accidental misuse.
|
|
45
|
+
*/
|
|
46
|
+
export declare function __setPiiCheckerForTest(fn: PiiCheckerFn | null): void;
|
|
16
47
|
/**
|
|
17
48
|
* Browser-compatible type check options
|
|
18
49
|
*/
|
|
@@ -23,8 +54,14 @@ export interface BrowserTypecheckOptions {
|
|
|
23
54
|
*/
|
|
24
55
|
importedEffects?: Map<string, EffectSignature>;
|
|
25
56
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
57
|
+
* @deprecated Since ADR-0009 (P0-1), PII flow analysis is always enabled.
|
|
58
|
+
* This option is kept for source-level backwards compatibility but has
|
|
59
|
+
* no effect. The PII checker (checkModulePII) runs unconditionally in
|
|
60
|
+
* all runtimes (Node / browser / CF Workers) because it is
|
|
61
|
+
* environment-agnostic.
|
|
62
|
+
*
|
|
63
|
+
* Compliance policy packs (which DO need configuration) remain
|
|
64
|
+
* opt-in via a separate mechanism — see future ADR.
|
|
28
65
|
*/
|
|
29
66
|
enforcePii?: boolean;
|
|
30
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,KAAK,YAAY,GAAG,OAAO,qBAAqB,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAgDD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CASpE;AA2BD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE/C;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,IAAI,CAAC,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,mBAAmB,EAAE,CAqJvB;AA+FD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -7,16 +7,92 @@
|
|
|
7
7
|
* Limitations:
|
|
8
8
|
* - No cross-module import resolution (single module only)
|
|
9
9
|
* - No file system-based module loading
|
|
10
|
-
* - PII checking disabled by default (no process.env access)
|
|
11
10
|
*
|
|
12
|
-
*
|
|
11
|
+
* **PII checking is ENABLED by default (P0-1, ADR-0009)**:
|
|
12
|
+
* The PII flow analyzer (checkModulePII) is environment-agnostic — it does
|
|
13
|
+
* not read process.env or the file system. So it works identically in
|
|
14
|
+
* Node / browser / Cloudflare Workers. This is what makes Aster's
|
|
15
|
+
* "PII as a first-class type" promise real across all runtimes.
|
|
16
|
+
*
|
|
17
|
+
* For cross-module import resolution + module-resolution-based diagnostics,
|
|
18
|
+
* use the LSP server. But PII flow analysis is correct here regardless.
|
|
13
19
|
*/
|
|
14
20
|
import { inferEffects } from '../effects/effect_inference_browser.js';
|
|
21
|
+
import { checkModulePII as defaultCheckModulePII } from '../typecheck-pii.js';
|
|
22
|
+
let _piiCheckerOverride = null;
|
|
23
|
+
/**
|
|
24
|
+
* @internal Exported for testing only. Calls the underlying `isProductionRuntime`
|
|
25
|
+
* function so vm-sandboxed tests can exercise the real implementation rather
|
|
26
|
+
* than copy-pasting the guard logic into a string.
|
|
27
|
+
*/
|
|
28
|
+
export function __isProductionRuntimeForTest() {
|
|
29
|
+
return isProductionRuntime();
|
|
30
|
+
}
|
|
31
|
+
function isProductionRuntime() {
|
|
32
|
+
// P0-R4 (codex round 4 review): 跨 runtime 可靠 production 探测。
|
|
33
|
+
// 之前只读 globalThis.process.env.NODE_ENV,在 browser/CF Workers 下
|
|
34
|
+
// false negative(globalThis.process 缺失)。
|
|
35
|
+
//
|
|
36
|
+
// 修复策略:多源探测,按可靠性排序:
|
|
37
|
+
// 1. 直接 process.env.NODE_ENV —— 让 esbuild/webpack define 在编译期
|
|
38
|
+
// 内联替换为字面量(这是 browser bundle 标准做法)
|
|
39
|
+
// 2. globalThis.__ASTER_PRODUCTION__ —— 显式逃生窗口,CF Workers
|
|
40
|
+
// 部署或自定义环境可手动设置
|
|
41
|
+
// 3. globalThis.process.env.NODE_ENV —— Node 路径保留
|
|
42
|
+
//
|
|
43
|
+
// 任何一项判定为 production 都视为 production。保守判定缺失为非 production
|
|
44
|
+
// 以允许 test 路径注入。
|
|
45
|
+
// 1. Direct process.env access (replaced at build time by esbuild/webpack)
|
|
46
|
+
try {
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
+
if (typeof process !== 'undefined' && process?.env?.NODE_ENV === 'production') {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
/* process not defined */
|
|
54
|
+
}
|
|
55
|
+
// 2. Explicit global escape hatch for runtimes without process (Workers)
|
|
56
|
+
try {
|
|
57
|
+
if (globalThis.__ASTER_PRODUCTION__ === true) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
/* globalThis not available */
|
|
63
|
+
}
|
|
64
|
+
// 3. globalThis.process fallback for embedded Node-in-browser shims
|
|
65
|
+
try {
|
|
66
|
+
const env = globalThis
|
|
67
|
+
.process?.env;
|
|
68
|
+
if (env?.NODE_ENV === 'production')
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
/* not accessible */
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @internal Testing seam — do NOT call in production code paths.
|
|
78
|
+
* Throws in production runtime to prevent accidental misuse.
|
|
79
|
+
*/
|
|
80
|
+
export function __setPiiCheckerForTest(fn) {
|
|
81
|
+
if (isProductionRuntime() && fn !== null) {
|
|
82
|
+
throw new Error('__setPiiCheckerForTest is a testing-only API and cannot be used in ' +
|
|
83
|
+
'production runtime (NODE_ENV=production). PII checks must always run ' +
|
|
84
|
+
'with the default analyzer.');
|
|
85
|
+
}
|
|
86
|
+
_piiCheckerOverride = fn;
|
|
87
|
+
}
|
|
15
88
|
import { DiagnosticBuilder } from './diagnostics.js';
|
|
16
89
|
import { SymbolTable } from './symbol_table.js';
|
|
17
90
|
import { TypeSystem } from './type_system.js';
|
|
18
91
|
import { defineSymbol, } from './context.js';
|
|
19
|
-
|
|
92
|
+
// R15 (codex round 14): browser entry 不得 transitively 拉入 node:* 模块.
|
|
93
|
+
// utils.ts 含 loadPrefixes → require('node:module'), 不适合 browser bundle.
|
|
94
|
+
// 改 import from './pure.js' (browser-safe leaf).
|
|
95
|
+
import { buildFieldTypeMap, checkEntryRuleUniqueness, formatType, isUnknown, normalizeType, typesEqual, unknownType, } from './pure.js';
|
|
20
96
|
import { checkAsyncDiscipline } from './async.js';
|
|
21
97
|
import { typecheckBlock } from './statement.js';
|
|
22
98
|
import { checkCapabilities } from './capabilities.js';
|
|
@@ -59,13 +135,14 @@ export function typecheckBrowser(m, options) {
|
|
|
59
135
|
importedEffects: options?.importedEffects ?? new Map(),
|
|
60
136
|
moduleSearchPaths: [], // Not used in browser
|
|
61
137
|
};
|
|
138
|
+
const fieldTypes = buildFieldTypeMap(m.decls);
|
|
62
139
|
// First pass: collect function signatures
|
|
63
140
|
for (const d of m.decls) {
|
|
64
141
|
if (d.kind === 'Func') {
|
|
65
142
|
const params = d.params.map((param) => normalizeType(param.type));
|
|
66
143
|
let ret = normalizeType(d.ret);
|
|
67
144
|
if (d.retTypeInferred) {
|
|
68
|
-
const inferred = TypeSystem.inferFunctionType(d.params, d.body.statements)
|
|
145
|
+
const inferred = TypeSystem.inferFunctionType(d.params, d.body.statements, fieldTypes)
|
|
69
146
|
.ret;
|
|
70
147
|
if (!isUnknown(inferred))
|
|
71
148
|
ret = inferred;
|
|
@@ -92,10 +169,23 @@ export function typecheckBrowser(m, options) {
|
|
|
92
169
|
typecheckFunc(ctx, d, diagnostics);
|
|
93
170
|
}
|
|
94
171
|
}
|
|
95
|
-
// Effect inference
|
|
96
|
-
//
|
|
97
|
-
//
|
|
172
|
+
// Effect inference — doesn't require filesystem, but cross-module
|
|
173
|
+
// effects require the caller to supply `importedEffects`. We only warn
|
|
174
|
+
// when the module body actually REFERENCES an import alias that has no
|
|
175
|
+
// effect signature — declared-but-unused imports don't degrade analysis
|
|
176
|
+
// quality, so warning on those would be noise.
|
|
98
177
|
const effectDiags = [];
|
|
178
|
+
const referencedAliases = collectReferencedImportAliases(m, ctx.imports);
|
|
179
|
+
const unresolvedReferenced = [...referencedAliases].filter((alias) => !ctx.importedEffects.has(alias));
|
|
180
|
+
if (unresolvedReferenced.length > 0) {
|
|
181
|
+
effectDiags.push({
|
|
182
|
+
severity: 'warning',
|
|
183
|
+
code: "E101" /* ErrorCode.UNDEFINED_VARIABLE */,
|
|
184
|
+
message: `[browser-typecheck/partial] cross-module effect checks unavailable for ` +
|
|
185
|
+
`referenced imports: ${unresolvedReferenced.join(', ')}. ` +
|
|
186
|
+
`Pass options.importedEffects (fetch from the LSP server) for full coverage.`,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
99
189
|
try {
|
|
100
190
|
const effectResults = inferEffects(m, {
|
|
101
191
|
moduleName,
|
|
@@ -105,16 +195,51 @@ export function typecheckBrowser(m, options) {
|
|
|
105
195
|
});
|
|
106
196
|
effectDiags.push(...effectResults);
|
|
107
197
|
}
|
|
108
|
-
catch {
|
|
109
|
-
//
|
|
198
|
+
catch (e) {
|
|
199
|
+
// Previously this catch was empty — effect-inference failures were swallowed
|
|
200
|
+
// and the user got back "no errors" while the check had aborted halfway.
|
|
201
|
+
// Surface as an `unsupported` diagnostic so the UI can show "partial".
|
|
202
|
+
effectDiags.push({
|
|
203
|
+
severity: 'warning',
|
|
204
|
+
code: "E101" /* ErrorCode.UNDEFINED_VARIABLE */,
|
|
205
|
+
message: `[browser-typecheck/partial] effect inference aborted: ` +
|
|
206
|
+
`${e instanceof Error ? e.message : String(e)}. ` +
|
|
207
|
+
`Effect-related diagnostics may be missing; re-run via LSP server for full coverage.`,
|
|
208
|
+
});
|
|
110
209
|
}
|
|
111
|
-
// PII
|
|
210
|
+
// P0-1: PII flow 检查永远启用(不再依赖 enforcePii option)。
|
|
211
|
+
// checkModulePII 不读取 process.env / fs,跨运行时(Node / browser /
|
|
212
|
+
// Workers)行为一致。详见 ADR-0009。
|
|
112
213
|
const piiDiagnostics = [];
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
214
|
+
const funcs = m.decls.filter((decl) => decl.kind === 'Func');
|
|
215
|
+
if (funcs.length > 0) {
|
|
216
|
+
try {
|
|
217
|
+
const piiChecker = _piiCheckerOverride ?? defaultCheckModulePII;
|
|
218
|
+
piiChecker(funcs, piiDiagnostics, ctx.imports);
|
|
219
|
+
}
|
|
220
|
+
catch (e) {
|
|
221
|
+
// 防御性 fallback:checkModulePII 抛错时仍能继续编译流程,但**必须
|
|
222
|
+
// 明确标记安全检查失败**——不能伪装成普通 warning。使用专用 code
|
|
223
|
+
// PII_ANALYZER_FAILED + severity=error,让 UI/CI 把这种情况当成
|
|
224
|
+
// hard failure 处理。
|
|
225
|
+
// Node 路径(module.ts)让异常向上传播;浏览器路径捕获是为了保证
|
|
226
|
+
// 编辑器其他诊断(语法、类型)仍能显示,但 PII 安全失败本身必须
|
|
227
|
+
// 显式可见。
|
|
228
|
+
const reason = e instanceof Error ? e.message : String(e);
|
|
229
|
+
piiDiagnostics.push({
|
|
230
|
+
severity: 'error',
|
|
231
|
+
code: "E404" /* ErrorCode.PII_ANALYZER_FAILED */,
|
|
232
|
+
// P0-R2 (codex review High #6): 业务用户友好消息——避免编译器
|
|
233
|
+
// 内部语气;给出可执行的恢复建议(保存重试/联系管理员)。
|
|
234
|
+
message: `PII safety analysis failed for this module — the editor ` +
|
|
235
|
+
`cannot verify whether sensitive data is correctly handled. ` +
|
|
236
|
+
`This policy should not be deployed until the analysis ` +
|
|
237
|
+
`succeeds. Internal reason: ${reason}`,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
116
240
|
}
|
|
117
|
-
const
|
|
241
|
+
const entryDiagnostics = checkEntryRuleUniqueness(m.decls);
|
|
242
|
+
const result = [...diagnostics.getDiagnostics(), ...effectDiags, ...piiDiagnostics, ...entryDiagnostics];
|
|
118
243
|
// Log performance (browser-compatible)
|
|
119
244
|
const duration = (globalThis.performance?.now?.() ?? Date.now()) - startTime;
|
|
120
245
|
if (globalThis.console?.debug) {
|
|
@@ -136,6 +261,56 @@ export function typecheckBrowser(m, options) {
|
|
|
136
261
|
];
|
|
137
262
|
}
|
|
138
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Walk the module and collect import aliases that are actually referenced
|
|
266
|
+
* by any expression in the function bodies. This lets the partial-coverage
|
|
267
|
+
* warning fire only when missing effects would matter — declared-but-unused
|
|
268
|
+
* imports don't degrade analysis quality.
|
|
269
|
+
*
|
|
270
|
+
* Approach: recurse through Core.Expression nodes looking for `Name` nodes
|
|
271
|
+
* whose `name` matches an import alias. Lightweight tree walk; no
|
|
272
|
+
* type information needed.
|
|
273
|
+
*/
|
|
274
|
+
function collectReferencedImportAliases(m, imports) {
|
|
275
|
+
if (imports.size === 0)
|
|
276
|
+
return new Set();
|
|
277
|
+
const referenced = new Set();
|
|
278
|
+
const aliases = [...imports.keys()];
|
|
279
|
+
// Match either a bare alias (`Http`) or a qualified reference
|
|
280
|
+
// (`Http.get` → matches alias `Http`). Core IR keeps Module.member as a
|
|
281
|
+
// single dotted Name, so the check is on the prefix before the first dot.
|
|
282
|
+
const match = (name) => {
|
|
283
|
+
for (const a of aliases) {
|
|
284
|
+
if (name === a || name.startsWith(a + '.'))
|
|
285
|
+
return a;
|
|
286
|
+
}
|
|
287
|
+
return undefined;
|
|
288
|
+
};
|
|
289
|
+
const visit = (node) => {
|
|
290
|
+
if (!node || typeof node !== 'object')
|
|
291
|
+
return;
|
|
292
|
+
const obj = node;
|
|
293
|
+
if (obj.kind === 'Name' && typeof obj.name === 'string') {
|
|
294
|
+
const hit = match(obj.name);
|
|
295
|
+
if (hit)
|
|
296
|
+
referenced.add(hit);
|
|
297
|
+
}
|
|
298
|
+
// Recurse over every enumerable property — the AST shape is irregular
|
|
299
|
+
// enough that hand-listing each child slot is brittle. Cycles aren't
|
|
300
|
+
// possible since Core IR is a tree built fresh per module.
|
|
301
|
+
for (const v of Object.values(node)) {
|
|
302
|
+
if (Array.isArray(v))
|
|
303
|
+
v.forEach(visit);
|
|
304
|
+
else if (v && typeof v === 'object')
|
|
305
|
+
visit(v);
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
for (const d of m.decls) {
|
|
309
|
+
if (d.kind === 'Func' && d.body)
|
|
310
|
+
visit(d.body);
|
|
311
|
+
}
|
|
312
|
+
return referenced;
|
|
313
|
+
}
|
|
139
314
|
/**
|
|
140
315
|
* Type check a single function
|
|
141
316
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypeSystem } from './type_system.js';
|
|
2
|
-
import { formatType, typesEqual } from './
|
|
2
|
+
import { formatType, typesEqual } from './pure.js';
|
|
3
3
|
export function defineSymbol(context, name, type, kind, span) {
|
|
4
4
|
const existing = context.symbols.lookupInCurrentScope(name);
|
|
5
5
|
if (existing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AA+BnD,MAAM,UAAU,YAAY,CAC1B,OAA+B,EAC/B,IAAY,EACZ,IAAe,EACf,IAAgB,EAChB,IAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB;QAClB,OAAO,CAAC,WAAW,CAAC,KAAK,0CAA6B,IAAI,EAAE;YAC1D,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B,EAAE,IAAY,EAAE,IAAe,EAAE,IAAW;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,WAAW,CAAC,KAAK,8CAAiC,IAAI,EAAE;YAC9D,IAAI;YACJ,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/typecheck/effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAa1D;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CA4BvF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAyDtG;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/typecheck/effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAa1D;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CA4BvF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAyDtG;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAmDpG"}
|