tsc-ts 0.0.3 → 0.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.
- package/README.md +46 -0
- package/dist/api/compiler/ast-utilities.d.ts +82 -0
- package/dist/api/compiler/ast-utilities.js +462 -0
- package/dist/api/compiler/ast.d.ts +2350 -0
- package/dist/api/compiler/ast.js +11206 -0
- package/dist/api/compiler/astnav.d.ts +37 -0
- package/dist/api/compiler/astnav.js +767 -0
- package/dist/api/compiler/binder-utilities.d.ts +182 -0
- package/dist/api/compiler/binder-utilities.js +1240 -0
- package/dist/api/compiler/binder.d.ts +33 -0
- package/dist/api/compiler/binder.js +2358 -0
- package/dist/api/compiler/character-codes.d.ts +161 -0
- package/dist/api/compiler/character-codes.js +160 -0
- package/dist/api/compiler/checker-calls.d.ts +46 -0
- package/dist/api/compiler/checker-calls.js +1640 -0
- package/dist/api/compiler/checker-classes.d.ts +30 -0
- package/dist/api/compiler/checker-classes.js +582 -0
- package/dist/api/compiler/checker-contextual.d.ts +77 -0
- package/dist/api/compiler/checker-contextual.js +1136 -0
- package/dist/api/compiler/checker-declaration-order.d.ts +12 -0
- package/dist/api/compiler/checker-declaration-order.js +356 -0
- package/dist/api/compiler/checker-declarations.d.ts +33 -0
- package/dist/api/compiler/checker-declarations.js +888 -0
- package/dist/api/compiler/checker-declared-types.d.ts +48 -0
- package/dist/api/compiler/checker-declared-types.js +787 -0
- package/dist/api/compiler/checker-decorators.d.ts +26 -0
- package/dist/api/compiler/checker-decorators.js +562 -0
- package/dist/api/compiler/checker-deprecation.d.ts +33 -0
- package/dist/api/compiler/checker-deprecation.js +315 -0
- package/dist/api/compiler/checker-destructuring.d.ts +34 -0
- package/dist/api/compiler/checker-destructuring.js +584 -0
- package/dist/api/compiler/checker-elaboration.d.ts +15 -0
- package/dist/api/compiler/checker-elaboration.js +290 -0
- package/dist/api/compiler/checker-emit-helpers.d.ts +58 -0
- package/dist/api/compiler/checker-emit-helpers.js +154 -0
- package/dist/api/compiler/checker-emit-resolver.d.ts +75 -0
- package/dist/api/compiler/checker-emit-resolver.js +579 -0
- package/dist/api/compiler/checker-evaluator.d.ts +27 -0
- package/dist/api/compiler/checker-evaluator.js +188 -0
- package/dist/api/compiler/checker-expressions.d.ts +67 -0
- package/dist/api/compiler/checker-expressions.js +1351 -0
- package/dist/api/compiler/checker-features.d.ts +6 -0
- package/dist/api/compiler/checker-features.js +354 -0
- package/dist/api/compiler/checker-flow.d.ts +86 -0
- package/dist/api/compiler/checker-flow.js +169 -0
- package/dist/api/compiler/checker-functions.d.ts +43 -0
- package/dist/api/compiler/checker-functions.js +1002 -0
- package/dist/api/compiler/checker-generated-code.d.ts +25 -0
- package/dist/api/compiler/checker-generated-code.js +168 -0
- package/dist/api/compiler/checker-globals.d.ts +14 -0
- package/dist/api/compiler/checker-globals.js +37 -0
- package/dist/api/compiler/checker-grammar.d.ts +35 -0
- package/dist/api/compiler/checker-grammar.js +2573 -0
- package/dist/api/compiler/checker-heritage.d.ts +28 -0
- package/dist/api/compiler/checker-heritage.js +900 -0
- package/dist/api/compiler/checker-inference.d.ts +179 -0
- package/dist/api/compiler/checker-inference.js +2105 -0
- package/dist/api/compiler/checker-iteration.d.ts +115 -0
- package/dist/api/compiler/checker-iteration.js +857 -0
- package/dist/api/compiler/checker-javascript.d.ts +42 -0
- package/dist/api/compiler/checker-javascript.js +441 -0
- package/dist/api/compiler/checker-jsdoc.d.ts +30 -0
- package/dist/api/compiler/checker-jsdoc.js +320 -0
- package/dist/api/compiler/checker-jsx.d.ts +94 -0
- package/dist/api/compiler/checker-jsx.js +1433 -0
- package/dist/api/compiler/checker-literals.d.ts +6 -0
- package/dist/api/compiler/checker-literals.js +43 -0
- package/dist/api/compiler/checker-members.d.ts +198 -0
- package/dist/api/compiler/checker-members.js +2126 -0
- package/dist/api/compiler/checker-modules.d.ts +85 -0
- package/dist/api/compiler/checker-modules.js +2141 -0
- package/dist/api/compiler/checker-narrowing.d.ts +120 -0
- package/dist/api/compiler/checker-narrowing.js +2797 -0
- package/dist/api/compiler/checker-object-literals.d.ts +14 -0
- package/dist/api/compiler/checker-object-literals.js +479 -0
- package/dist/api/compiler/checker-operators.d.ts +33 -0
- package/dist/api/compiler/checker-operators.js +1040 -0
- package/dist/api/compiler/checker-overloads.d.ts +7 -0
- package/dist/api/compiler/checker-overloads.js +270 -0
- package/dist/api/compiler/checker-property-access.d.ts +34 -0
- package/dist/api/compiler/checker-property-access.js +672 -0
- package/dist/api/compiler/checker-services.d.ts +49 -0
- package/dist/api/compiler/checker-services.js +995 -0
- package/dist/api/compiler/checker-signatures.d.ts +55 -0
- package/dist/api/compiler/checker-signatures.js +788 -0
- package/dist/api/compiler/checker-source-file.d.ts +27 -0
- package/dist/api/compiler/checker-source-file.js +619 -0
- package/dist/api/compiler/checker-statements.d.ts +18 -0
- package/dist/api/compiler/checker-statements.js +226 -0
- package/dist/api/compiler/checker-super.d.ts +13 -0
- package/dist/api/compiler/checker-super.js +241 -0
- package/dist/api/compiler/checker-symbol-types.d.ts +67 -0
- package/dist/api/compiler/checker-symbol-types.js +1885 -0
- package/dist/api/compiler/checker-symbols.d.ts +181 -0
- package/dist/api/compiler/checker-symbols.js +1782 -0
- package/dist/api/compiler/checker-type-factory.d.ts +142 -0
- package/dist/api/compiler/checker-type-factory.js +2501 -0
- package/dist/api/compiler/checker-type-nodes.d.ts +26 -0
- package/dist/api/compiler/checker-type-nodes.js +828 -0
- package/dist/api/compiler/checker-type-operators.d.ts +109 -0
- package/dist/api/compiler/checker-type-operators.js +1842 -0
- package/dist/api/compiler/checker-types.d.ts +1027 -0
- package/dist/api/compiler/checker-types.js +1697 -0
- package/dist/api/compiler/checker-unused.d.ts +19 -0
- package/dist/api/compiler/checker-unused.js +524 -0
- package/dist/api/compiler/checker-utilities.d.ts +33 -0
- package/dist/api/compiler/checker-utilities.js +141 -0
- package/dist/api/compiler/checker.d.ts +491 -0
- package/dist/api/compiler/checker.js +912 -0
- package/dist/api/compiler/command-line.d.ts +32 -0
- package/dist/api/compiler/command-line.js +383 -0
- package/dist/api/compiler/compile-program.d.ts +118 -0
- package/dist/api/compiler/compile-program.js +384 -0
- package/dist/api/compiler/diagnostic-locales.d.ts +22 -0
- package/dist/api/compiler/diagnostic-locales.js +64 -0
- package/dist/api/compiler/diagnostic-messages.d.ts +2166 -0
- package/dist/api/compiler/diagnostic-messages.js +184 -0
- package/dist/api/compiler/diagnostics.d.ts +167 -0
- package/dist/api/compiler/diagnostics.js +820 -0
- package/dist/api/compiler/emitter.d.ts +71 -0
- package/dist/api/compiler/emitter.js +327 -0
- package/dist/api/compiler/file-include.d.ts +117 -0
- package/dist/api/compiler/file-include.js +536 -0
- package/dist/api/compiler/file-loader.d.ts +261 -0
- package/dist/api/compiler/file-loader.js +1257 -0
- package/dist/api/compiler/file-system.d.ts +51 -0
- package/dist/api/compiler/file-system.js +132 -0
- package/dist/api/compiler/flow.d.ts +60 -0
- package/dist/api/compiler/flow.js +45 -0
- package/dist/api/compiler/instantiation.d.ts +74 -0
- package/dist/api/compiler/instantiation.js +799 -0
- package/dist/api/compiler/jsdoc.d.ts +75 -0
- package/dist/api/compiler/jsdoc.js +1229 -0
- package/dist/api/compiler/link-tables.d.ts +36 -0
- package/dist/api/compiler/link-tables.js +83 -0
- package/dist/api/compiler/locale-data.d.ts +24 -0
- package/dist/api/compiler/locale-data.js +183 -0
- package/dist/api/compiler/locale.d.ts +4 -0
- package/dist/api/compiler/locale.js +317 -0
- package/dist/api/compiler/locales/cs-CZ.d.ts +2 -0
- package/dist/api/compiler/locales/cs-CZ.js +3 -0
- package/dist/api/compiler/locales/de-DE.d.ts +2 -0
- package/dist/api/compiler/locales/de-DE.js +3 -0
- package/dist/api/compiler/locales/es-ES.d.ts +2 -0
- package/dist/api/compiler/locales/es-ES.js +3 -0
- package/dist/api/compiler/locales/fr-FR.d.ts +2 -0
- package/dist/api/compiler/locales/fr-FR.js +3 -0
- package/dist/api/compiler/locales/it-IT.d.ts +2 -0
- package/dist/api/compiler/locales/it-IT.js +3 -0
- package/dist/api/compiler/locales/ja-JP.d.ts +2 -0
- package/dist/api/compiler/locales/ja-JP.js +3 -0
- package/dist/api/compiler/locales/ko-KR.d.ts +2 -0
- package/dist/api/compiler/locales/ko-KR.js +3 -0
- package/dist/api/compiler/locales/pl-PL.d.ts +2 -0
- package/dist/api/compiler/locales/pl-PL.js +3 -0
- package/dist/api/compiler/locales/pt-BR.d.ts +2 -0
- package/dist/api/compiler/locales/pt-BR.js +3 -0
- package/dist/api/compiler/locales/ru-RU.d.ts +2 -0
- package/dist/api/compiler/locales/ru-RU.js +3 -0
- package/dist/api/compiler/locales/tr-TR.d.ts +2 -0
- package/dist/api/compiler/locales/tr-TR.js +3 -0
- package/dist/api/compiler/locales/zh-CN.d.ts +2 -0
- package/dist/api/compiler/locales/zh-CN.js +3 -0
- package/dist/api/compiler/locales/zh-TW.d.ts +2 -0
- package/dist/api/compiler/locales/zh-TW.js +3 -0
- package/dist/api/compiler/module-resolution-types.d.ts +83 -0
- package/dist/api/compiler/module-resolution-types.js +176 -0
- package/dist/api/compiler/module-resolution.d.ts +71 -0
- package/dist/api/compiler/module-resolution.js +1598 -0
- package/dist/api/compiler/module-specifiers.d.ts +64 -0
- package/dist/api/compiler/module-specifiers.js +1101 -0
- package/dist/api/compiler/name-resolver.d.ts +43 -0
- package/dist/api/compiler/name-resolver.js +509 -0
- package/dist/api/compiler/node-builder-names.d.ts +32 -0
- package/dist/api/compiler/node-builder-names.js +854 -0
- package/dist/api/compiler/node-builder-pseudo.d.ts +36 -0
- package/dist/api/compiler/node-builder-pseudo.js +744 -0
- package/dist/api/compiler/node-builder-reuse.d.ts +4 -0
- package/dist/api/compiler/node-builder-reuse.js +647 -0
- package/dist/api/compiler/node-builder.d.ts +270 -0
- package/dist/api/compiler/node-builder.js +2645 -0
- package/dist/api/compiler/option-declarations.d.ts +90 -0
- package/dist/api/compiler/option-declarations.js +1460 -0
- package/dist/api/compiler/options.d.ts +289 -0
- package/dist/api/compiler/options.js +1197 -0
- package/dist/api/compiler/output-paths.d.ts +42 -0
- package/dist/api/compiler/output-paths.js +195 -0
- package/dist/api/compiler/package-json.d.ts +175 -0
- package/dist/api/compiler/package-json.js +1015 -0
- package/dist/api/compiler/parallel-parse.d.ts +219 -0
- package/dist/api/compiler/parallel-parse.js +537 -0
- package/dist/api/compiler/parser.d.ts +587 -0
- package/dist/api/compiler/parser.js +6407 -0
- package/dist/api/compiler/path.d.ts +91 -0
- package/dist/api/compiler/path.js +705 -0
- package/dist/api/compiler/printer/async-helpers.d.ts +22 -0
- package/dist/api/compiler/printer/async-helpers.js +91 -0
- package/dist/api/compiler/printer/auto-generate.d.ts +13 -0
- package/dist/api/compiler/printer/auto-generate.js +20 -0
- package/dist/api/compiler/printer/decorator-helpers.d.ts +24 -0
- package/dist/api/compiler/printer/decorator-helpers.js +118 -0
- package/dist/api/compiler/printer/emit-context.d.ts +154 -0
- package/dist/api/compiler/printer/emit-context.js +576 -0
- package/dist/api/compiler/printer/emit-flags.d.ts +60 -0
- package/dist/api/compiler/printer/emit-flags.js +2 -0
- package/dist/api/compiler/printer/factory-base.d.ts +171 -0
- package/dist/api/compiler/printer/factory-base.js +1505 -0
- package/dist/api/compiler/printer/factory.d.ts +147 -0
- package/dist/api/compiler/printer/factory.js +542 -0
- package/dist/api/compiler/printer/helpers.d.ts +27 -0
- package/dist/api/compiler/printer/helpers.js +164 -0
- package/dist/api/compiler/printer/name-generator.d.ts +41 -0
- package/dist/api/compiler/printer/name-generator.js +283 -0
- package/dist/api/compiler/printer/printer.d.ts +411 -0
- package/dist/api/compiler/printer/printer.js +4517 -0
- package/dist/api/compiler/printer/text-writer.d.ts +46 -0
- package/dist/api/compiler/printer/text-writer.js +172 -0
- package/dist/api/compiler/printer/utilities.d.ts +82 -0
- package/dist/api/compiler/printer/utilities.js +817 -0
- package/dist/api/compiler/program-checker.d.ts +156 -0
- package/dist/api/compiler/program-checker.js +526 -0
- package/dist/api/compiler/program-utilities.d.ts +52 -0
- package/dist/api/compiler/program-utilities.js +365 -0
- package/dist/api/compiler/program.d.ts +180 -0
- package/dist/api/compiler/program.js +1011 -0
- package/dist/api/compiler/pseudo-bigint.d.ts +5 -0
- package/dist/api/compiler/pseudo-bigint.js +61 -0
- package/dist/api/compiler/regexp-checker.d.ts +38 -0
- package/dist/api/compiler/regexp-checker.js +942 -0
- package/dist/api/compiler/relations.d.ts +263 -0
- package/dist/api/compiler/relations.js +4002 -0
- package/dist/api/compiler/reparser.d.ts +48 -0
- package/dist/api/compiler/reparser.js +1323 -0
- package/dist/api/compiler/scanner.d.ts +256 -0
- package/dist/api/compiler/scanner.js +2853 -0
- package/dist/api/compiler/side-state.d.ts +16 -0
- package/dist/api/compiler/side-state.js +89 -0
- package/dist/api/compiler/sourcemap.d.ts +55 -0
- package/dist/api/compiler/sourcemap.js +340 -0
- package/dist/api/compiler/spelling.d.ts +14 -0
- package/dist/api/compiler/spelling.js +128 -0
- package/dist/api/compiler/symbol-accessibility.d.ts +57 -0
- package/dist/api/compiler/symbol-accessibility.js +894 -0
- package/dist/api/compiler/symbol.d.ts +240 -0
- package/dist/api/compiler/symbol.js +228 -0
- package/dist/api/compiler/symlinks.d.ts +32 -0
- package/dist/api/compiler/symlinks.js +114 -0
- package/dist/api/compiler/syntax-kind.d.ts +389 -0
- package/dist/api/compiler/syntax-kind.js +2 -0
- package/dist/api/compiler/timeline.d.ts +9 -0
- package/dist/api/compiler/timeline.js +54 -0
- package/dist/api/compiler/transformers/alias-references.d.ts +39 -0
- package/dist/api/compiler/transformers/alias-references.js +676 -0
- package/dist/api/compiler/transformers/async-utilities.d.ts +51 -0
- package/dist/api/compiler/transformers/async-utilities.js +260 -0
- package/dist/api/compiler/transformers/async.d.ts +53 -0
- package/dist/api/compiler/transformers/async.js +645 -0
- package/dist/api/compiler/transformers/class-fields.d.ts +206 -0
- package/dist/api/compiler/transformers/class-fields.js +2418 -0
- package/dist/api/compiler/transformers/class-utilities.d.ts +46 -0
- package/dist/api/compiler/transformers/class-utilities.js +261 -0
- package/dist/api/compiler/transformers/commonjs-module.d.ts +103 -0
- package/dist/api/compiler/transformers/commonjs-module.js +1180 -0
- package/dist/api/compiler/transformers/const-enum-inliner.d.ts +11 -0
- package/dist/api/compiler/transformers/const-enum-inliner.js +36 -0
- package/dist/api/compiler/transformers/declarations-diagnostics.d.ts +52 -0
- package/dist/api/compiler/transformers/declarations-diagnostics.js +538 -0
- package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
- package/dist/api/compiler/transformers/declarations-pseudo.js +797 -0
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +152 -0
- package/dist/api/compiler/transformers/declarations-resolver.js +35 -0
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +119 -0
- package/dist/api/compiler/transformers/declarations-syntactic.js +1582 -0
- package/dist/api/compiler/transformers/declarations-tracker.d.ts +46 -0
- package/dist/api/compiler/transformers/declarations-tracker.js +197 -0
- package/dist/api/compiler/transformers/declarations.d.ts +175 -0
- package/dist/api/compiler/transformers/declarations.js +2380 -0
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +54 -0
- package/dist/api/compiler/transformers/decorator-metadata.js +554 -0
- package/dist/api/compiler/transformers/decorator-utilities.d.ts +38 -0
- package/dist/api/compiler/transformers/decorator-utilities.js +238 -0
- package/dist/api/compiler/transformers/destructuring.d.ts +25 -0
- package/dist/api/compiler/transformers/destructuring.js +626 -0
- package/dist/api/compiler/transformers/downlevel.d.ts +6 -0
- package/dist/api/compiler/transformers/downlevel.js +45 -0
- package/dist/api/compiler/transformers/emit-resolver.d.ts +61 -0
- package/dist/api/compiler/transformers/emit-resolver.js +197 -0
- package/dist/api/compiler/transformers/es-decorators.d.ts +118 -0
- package/dist/api/compiler/transformers/es-decorators.js +1901 -0
- package/dist/api/compiler/transformers/exponentiation.d.ts +11 -0
- package/dist/api/compiler/transformers/exponentiation.js +76 -0
- package/dist/api/compiler/transformers/external-module-info.d.ts +35 -0
- package/dist/api/compiler/transformers/external-module-info.js +351 -0
- package/dist/api/compiler/transformers/for-await.d.ts +43 -0
- package/dist/api/compiler/transformers/for-await.js +469 -0
- package/dist/api/compiler/transformers/import-elision.d.ts +16 -0
- package/dist/api/compiler/transformers/import-elision.js +124 -0
- package/dist/api/compiler/transformers/jsx-entities.d.ts +1 -0
- package/dist/api/compiler/transformers/jsx-entities.js +256 -0
- package/dist/api/compiler/transformers/jsx.d.ts +71 -0
- package/dist/api/compiler/transformers/jsx.js +700 -0
- package/dist/api/compiler/transformers/legacy-decorators.d.ts +56 -0
- package/dist/api/compiler/transformers/legacy-decorators.js +564 -0
- package/dist/api/compiler/transformers/logical-assignment.d.ts +14 -0
- package/dist/api/compiler/transformers/logical-assignment.js +62 -0
- package/dist/api/compiler/transformers/module-utilities.d.ts +9 -0
- package/dist/api/compiler/transformers/module-utilities.js +36 -0
- package/dist/api/compiler/transformers/module.d.ts +49 -0
- package/dist/api/compiler/transformers/module.js +296 -0
- package/dist/api/compiler/transformers/named-evaluation.d.ts +26 -0
- package/dist/api/compiler/transformers/named-evaluation.js +266 -0
- package/dist/api/compiler/transformers/nullish-coalescing.d.ts +9 -0
- package/dist/api/compiler/transformers/nullish-coalescing.js +26 -0
- package/dist/api/compiler/transformers/object-rest-spread.d.ts +34 -0
- package/dist/api/compiler/transformers/object-rest-spread.js +411 -0
- package/dist/api/compiler/transformers/optional-catch.d.ts +9 -0
- package/dist/api/compiler/transformers/optional-catch.js +20 -0
- package/dist/api/compiler/transformers/optional-chain.d.ts +14 -0
- package/dist/api/compiler/transformers/optional-chain.js +188 -0
- package/dist/api/compiler/transformers/reference-resolver.d.ts +128 -0
- package/dist/api/compiler/transformers/reference-resolver.js +1155 -0
- package/dist/api/compiler/transformers/runtime-syntax.d.ts +71 -0
- package/dist/api/compiler/transformers/runtime-syntax.js +753 -0
- package/dist/api/compiler/transformers/subtree-facts.d.ts +9 -0
- package/dist/api/compiler/transformers/subtree-facts.js +203 -0
- package/dist/api/compiler/transformers/syntax-facts.d.ts +51 -0
- package/dist/api/compiler/transformers/syntax-facts.js +254 -0
- package/dist/api/compiler/transformers/tagged-template.d.ts +17 -0
- package/dist/api/compiler/transformers/tagged-template.js +148 -0
- package/dist/api/compiler/transformers/transformer.d.ts +17 -0
- package/dist/api/compiler/transformers/transformer.js +54 -0
- package/dist/api/compiler/transformers/type-eraser.d.ts +21 -0
- package/dist/api/compiler/transformers/type-eraser.js +346 -0
- package/dist/api/compiler/transformers/type-serialization.d.ts +20 -0
- package/dist/api/compiler/transformers/type-serialization.js +347 -0
- package/dist/api/compiler/transformers/using.d.ts +56 -0
- package/dist/api/compiler/transformers/using.js +453 -0
- package/dist/api/compiler/transformers/utilities.d.ts +50 -0
- package/dist/api/compiler/transformers/utilities.js +347 -0
- package/dist/api/compiler/transformers/visitor-base.d.ts +6 -0
- package/dist/api/compiler/transformers/visitor-base.js +817 -0
- package/dist/api/compiler/transformers/visitor-hooks.d.ts +29 -0
- package/dist/api/compiler/transformers/visitor-hooks.js +189 -0
- package/dist/api/compiler/tsconfig.d.ts +177 -0
- package/dist/api/compiler/tsconfig.js +1311 -0
- package/dist/api/compiler/type-printer.d.ts +15 -0
- package/dist/api/compiler/type-printer.js +74 -0
- package/dist/api/compiler/types.d.ts +87 -0
- package/dist/api/compiler/types.js +23 -0
- package/dist/api/compiler/unicode-identifiers.d.ts +2 -0
- package/dist/api/compiler/unicode-identifiers.js +209 -0
- package/dist/api/compiler/unicode-properties.d.ts +8 -0
- package/dist/api/compiler/unicode-properties.js +531 -0
- package/dist/api/compiler/vfs-match.d.ts +24 -0
- package/dist/api/compiler/vfs-match.js +587 -0
- package/dist/api/library/ast.d.ts +74 -0
- package/dist/api/library/ast.generated.d.ts +1145 -0
- package/dist/api/library/ast.generated.js +3 -0
- package/dist/api/library/ast.js +5 -0
- package/dist/api/library/checker.d.ts +51 -0
- package/dist/api/library/checker.js +318 -0
- package/dist/api/library/compiler-options.generated.d.ts +108 -0
- package/dist/api/library/compiler-options.generated.js +3 -0
- package/dist/api/library/diagnostics.d.ts +13 -0
- package/dist/api/library/diagnostics.js +50 -0
- package/dist/api/library/disk.d.ts +13 -0
- package/dist/api/library/disk.js +66 -0
- package/dist/api/library/enums.generated.d.ts +891 -0
- package/dist/api/library/enums.generated.js +916 -0
- package/dist/api/library/errors.d.ts +13 -0
- package/dist/api/library/errors.js +24 -0
- package/dist/api/library/host.d.ts +24 -0
- package/dist/api/library/host.js +52 -0
- package/dist/api/library/index.d.ts +14 -0
- package/dist/api/library/index.js +15 -0
- package/dist/api/library/nodes.d.ts +51 -0
- package/dist/api/library/nodes.js +196 -0
- package/dist/api/library/options.d.ts +144 -0
- package/dist/api/library/options.js +308 -0
- package/dist/api/library/parse.d.ts +19 -0
- package/dist/api/library/parse.js +41 -0
- package/dist/api/library/program.d.ts +21 -0
- package/dist/api/library/program.js +234 -0
- package/dist/api/library/symbols.d.ts +8 -0
- package/dist/api/library/symbols.js +11 -0
- package/dist/api/library/types.d.ts +313 -0
- package/dist/api/library/types.js +6 -0
- package/package.json +22 -8
- package/src/compiler/ast-utilities.ts +548 -0
- package/src/compiler/ast.ts +12862 -0
- package/src/compiler/astnav.ts +799 -0
- package/src/compiler/binder-utilities.ts +1392 -0
- package/src/compiler/binder.ts +2703 -0
- package/src/compiler/build-info.ts +1197 -0
- package/src/compiler/character-codes.ts +323 -0
- package/src/compiler/checker-calls.ts +2155 -0
- package/src/compiler/checker-classes.ts +706 -0
- package/src/compiler/checker-contextual.ts +1457 -0
- package/src/compiler/checker-declaration-order.ts +438 -0
- package/src/compiler/checker-declarations.ts +1194 -0
- package/src/compiler/checker-declared-types.ts +919 -0
- package/src/compiler/checker-decorators.ts +694 -0
- package/src/compiler/checker-deprecation.ts +359 -0
- package/src/compiler/checker-destructuring.ts +805 -0
- package/src/compiler/checker-elaboration.ts +477 -0
- package/src/compiler/checker-emit-helpers.ts +224 -0
- package/src/compiler/checker-emit-resolver.ts +769 -0
- package/src/compiler/checker-evaluator.ts +243 -0
- package/src/compiler/checker-expressions.ts +1831 -0
- package/src/compiler/checker-features.ts +361 -0
- package/src/compiler/checker-flow.ts +394 -0
- package/src/compiler/checker-functions.ts +1296 -0
- package/src/compiler/checker-generated-code.ts +227 -0
- package/src/compiler/checker-globals.ts +52 -0
- package/src/compiler/checker-grammar.ts +3584 -0
- package/src/compiler/checker-heritage.ts +1233 -0
- package/src/compiler/checker-inference.ts +2576 -0
- package/src/compiler/checker-iteration.ts +1206 -0
- package/src/compiler/checker-javascript.ts +502 -0
- package/src/compiler/checker-jsdoc.ts +360 -0
- package/src/compiler/checker-jsx.ts +1924 -0
- package/src/compiler/checker-literals.ts +61 -0
- package/src/compiler/checker-members.ts +2436 -0
- package/src/compiler/checker-modules.ts +2886 -0
- package/src/compiler/checker-narrowing.ts +3230 -0
- package/src/compiler/checker-object-literals.ts +575 -0
- package/src/compiler/checker-operators.ts +1422 -0
- package/src/compiler/checker-overloads.ts +328 -0
- package/src/compiler/checker-property-access.ts +906 -0
- package/src/compiler/checker-services.ts +1149 -0
- package/src/compiler/checker-signatures.ts +1032 -0
- package/src/compiler/checker-source-file.ts +732 -0
- package/src/compiler/checker-statements.ts +292 -0
- package/src/compiler/checker-super.ts +261 -0
- package/src/compiler/checker-symbol-types.ts +2107 -0
- package/src/compiler/checker-symbols.ts +2150 -0
- package/src/compiler/checker-type-factory.ts +2579 -0
- package/src/compiler/checker-type-nodes.ts +1033 -0
- package/src/compiler/checker-type-operators.ts +2502 -0
- package/src/compiler/checker-types.ts +2340 -0
- package/src/compiler/checker-unused.ts +642 -0
- package/src/compiler/checker-utilities.ts +161 -0
- package/src/compiler/checker.ts +1116 -0
- package/src/compiler/command-line.ts +436 -0
- package/src/compiler/compile-program.ts +439 -0
- package/src/compiler/decoder.ts +1209 -0
- package/src/compiler/diagnostic-locales.ts +86 -0
- package/src/compiler/diagnostic-messages.ts +2349 -0
- package/src/compiler/diagnostics.ts +897 -0
- package/src/compiler/emitter.ts +434 -0
- package/src/compiler/encoder.ts +1945 -0
- package/src/compiler/file-include.ts +673 -0
- package/src/compiler/file-loader.ts +1528 -0
- package/src/compiler/file-system.ts +143 -0
- package/src/compiler/flow.ts +89 -0
- package/src/compiler/help.ts +473 -0
- package/src/compiler/incremental.ts +2784 -0
- package/src/compiler/init.ts +141 -0
- package/src/compiler/instantiation.ts +894 -0
- package/src/compiler/jsdoc.ts +1386 -0
- package/src/compiler/link-tables.ts +98 -0
- package/src/compiler/locale-data.ts +203 -0
- package/src/compiler/locale.ts +307 -0
- package/src/compiler/locales/cs-CZ.ts +5 -0
- package/src/compiler/locales/de-DE.ts +5 -0
- package/src/compiler/locales/es-ES.ts +5 -0
- package/src/compiler/locales/fr-FR.ts +5 -0
- package/src/compiler/locales/it-IT.ts +5 -0
- package/src/compiler/locales/ja-JP.ts +5 -0
- package/src/compiler/locales/ko-KR.ts +5 -0
- package/src/compiler/locales/pl-PL.ts +5 -0
- package/src/compiler/locales/pt-BR.ts +5 -0
- package/src/compiler/locales/ru-RU.ts +5 -0
- package/src/compiler/locales/tr-TR.ts +5 -0
- package/src/compiler/locales/zh-CN.ts +5 -0
- package/src/compiler/locales/zh-TW.ts +5 -0
- package/src/compiler/module-resolution-types.ts +243 -0
- package/src/compiler/module-resolution.ts +2072 -0
- package/src/compiler/module-specifiers.ts +1491 -0
- package/src/compiler/name-resolver.ts +646 -0
- package/src/compiler/node-builder-names.ts +1069 -0
- package/src/compiler/node-builder-pseudo.ts +892 -0
- package/src/compiler/node-builder-reuse.ts +764 -0
- package/src/compiler/node-builder.ts +3425 -0
- package/src/compiler/option-declarations.ts +1560 -0
- package/src/compiler/options.ts +1576 -0
- package/src/compiler/output-paths.ts +334 -0
- package/src/compiler/package-json.ts +1083 -0
- package/src/compiler/parallel-check.ts +1951 -0
- package/src/compiler/parallel-parse.ts +590 -0
- package/src/compiler/parse-thread.ts +140 -0
- package/src/compiler/parser.ts +7716 -0
- package/src/compiler/path.ts +717 -0
- package/src/compiler/printer/async-helpers.ts +183 -0
- package/src/compiler/printer/auto-generate.ts +27 -0
- package/src/compiler/printer/decorator-helpers.ts +218 -0
- package/src/compiler/printer/emit-context.ts +679 -0
- package/src/compiler/printer/emit-flags.ts +64 -0
- package/src/compiler/printer/factory-base.ts +2577 -0
- package/src/compiler/printer/factory.ts +764 -0
- package/src/compiler/printer/helpers.ts +291 -0
- package/src/compiler/printer/name-generator.ts +372 -0
- package/src/compiler/printer/printer.ts +5072 -0
- package/src/compiler/printer/text-writer.ts +183 -0
- package/src/compiler/printer/utilities.ts +884 -0
- package/src/compiler/program-checker.ts +592 -0
- package/src/compiler/program-utilities.ts +435 -0
- package/src/compiler/program.ts +1419 -0
- package/src/compiler/pseudo-bigint.ts +62 -0
- package/src/compiler/regexp-checker.ts +1142 -0
- package/src/compiler/relations.ts +5149 -0
- package/src/compiler/reparser.ts +1566 -0
- package/src/compiler/scanner.ts +2951 -0
- package/src/compiler/show-config.ts +239 -0
- package/src/compiler/side-state.ts +125 -0
- package/src/compiler/sourcemap.ts +366 -0
- package/src/compiler/spelling.ts +122 -0
- package/src/compiler/symbol-accessibility.ts +1071 -0
- package/src/compiler/symbol.ts +439 -0
- package/src/compiler/symlinks.ts +137 -0
- package/src/compiler/syntax-kind.ts +391 -0
- package/src/compiler/thread-entry.ts +191 -0
- package/src/compiler/timeline.ts +53 -0
- package/src/compiler/transformers/alias-references.ts +757 -0
- package/src/compiler/transformers/async-utilities.ts +335 -0
- package/src/compiler/transformers/async.ts +838 -0
- package/src/compiler/transformers/class-fields.ts +2967 -0
- package/src/compiler/transformers/class-utilities.ts +324 -0
- package/src/compiler/transformers/commonjs-module.ts +1621 -0
- package/src/compiler/transformers/const-enum-inliner.ts +50 -0
- package/src/compiler/transformers/declarations-diagnostics.ts +832 -0
- package/src/compiler/transformers/declarations-pseudo.ts +966 -0
- package/src/compiler/transformers/declarations-resolver.ts +249 -0
- package/src/compiler/transformers/declarations-syntactic.ts +1859 -0
- package/src/compiler/transformers/declarations-tracker.ts +269 -0
- package/src/compiler/transformers/declarations.ts +3120 -0
- package/src/compiler/transformers/decorator-metadata.ts +697 -0
- package/src/compiler/transformers/decorator-utilities.ts +283 -0
- package/src/compiler/transformers/destructuring.ts +708 -0
- package/src/compiler/transformers/downlevel.ts +50 -0
- package/src/compiler/transformers/emit-resolver.ts +258 -0
- package/src/compiler/transformers/es-decorators.ts +2682 -0
- package/src/compiler/transformers/exponentiation.ts +80 -0
- package/src/compiler/transformers/external-module-info.ts +412 -0
- package/src/compiler/transformers/for-await.ts +687 -0
- package/src/compiler/transformers/import-elision.ts +152 -0
- package/src/compiler/transformers/jsx-entities.ts +256 -0
- package/src/compiler/transformers/jsx.ts +824 -0
- package/src/compiler/transformers/legacy-decorators.ts +726 -0
- package/src/compiler/transformers/logical-assignment.ts +75 -0
- package/src/compiler/transformers/module-utilities.ts +42 -0
- package/src/compiler/transformers/module.ts +474 -0
- package/src/compiler/transformers/named-evaluation.ts +389 -0
- package/src/compiler/transformers/nullish-coalescing.ts +35 -0
- package/src/compiler/transformers/object-rest-spread.ts +577 -0
- package/src/compiler/transformers/optional-catch.ts +29 -0
- package/src/compiler/transformers/optional-chain.ts +246 -0
- package/src/compiler/transformers/reference-resolver.ts +1201 -0
- package/src/compiler/transformers/runtime-syntax.ts +942 -0
- package/src/compiler/transformers/subtree-facts.ts +245 -0
- package/src/compiler/transformers/syntax-facts.ts +353 -0
- package/src/compiler/transformers/tagged-template.ts +167 -0
- package/src/compiler/transformers/transformer.ts +56 -0
- package/src/compiler/transformers/type-eraser.ts +520 -0
- package/src/compiler/transformers/type-serialization.ts +374 -0
- package/src/compiler/transformers/using.ts +613 -0
- package/src/compiler/transformers/utilities.ts +419 -0
- package/src/compiler/transformers/visitor-base.ts +1601 -0
- package/src/compiler/transformers/visitor-hooks.ts +252 -0
- package/src/compiler/tsc-build.ts +1418 -0
- package/src/compiler/tsc-cli.ts +666 -0
- package/src/compiler/tsc-compile.ts +437 -0
- package/src/compiler/tsc-watch.ts +854 -0
- package/src/compiler/tsconfig.ts +1574 -0
- package/src/compiler/type-printer.ts +110 -0
- package/src/compiler/types.ts +115 -0
- package/src/compiler/unicode-identifiers.ts +212 -0
- package/src/compiler/unicode-properties.ts +537 -0
- package/src/compiler/vfs-match.ts +597 -0
- package/src/compiler/xxh3.ts +650 -0
- package/src/library/ast.generated.ts +1685 -0
- package/src/library/ast.ts +104 -0
- package/src/library/checker.ts +384 -0
- package/src/library/compiler-options.generated.ts +114 -0
- package/src/library/diagnostics.ts +72 -0
- package/src/library/disk.ts +73 -0
- package/src/library/enums.generated.ts +1024 -0
- package/src/library/errors.ts +26 -0
- package/src/library/host.ts +63 -0
- package/src/library/index.ts +71 -0
- package/src/library/nodes.ts +232 -0
- package/src/library/options.ts +449 -0
- package/src/library/parse.ts +63 -0
- package/src/library/program.ts +293 -0
- package/src/library/symbols.ts +15 -0
- package/src/library/types.ts +359 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type SourceFile } from './ast.js';
|
|
2
|
+
import { type Diagnostic } from './diagnostics.js';
|
|
3
|
+
import { type CompilerOptions } from './options.js';
|
|
4
|
+
import { type OutputPathsHost } from './output-paths.js';
|
|
5
|
+
import type { EmitResolver } from './transformers/emit-resolver.js';
|
|
6
|
+
import { type ModuleFormatHost } from './transformers/module.js';
|
|
7
|
+
/** The program as emit sees it. */
|
|
8
|
+
export declare abstract class EmitHost implements OutputPathsHost {
|
|
9
|
+
readonly options: CompilerOptions;
|
|
10
|
+
readonly currentDirectory: string;
|
|
11
|
+
readonly useCaseSensitiveFileNames: boolean;
|
|
12
|
+
private readonly commonSourceDirectoryPath;
|
|
13
|
+
readonly resolver: EmitResolver;
|
|
14
|
+
readonly formats: ModuleFormatHost;
|
|
15
|
+
constructor(options: CompilerOptions, resolver: EmitResolver, formats: ModuleFormatHost, commonSourceDirectory: string, currentDirectory: string, useCaseSensitiveFileNames: boolean);
|
|
16
|
+
/** With a trailing `/`. */
|
|
17
|
+
commonSourceDirectory(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Writes an output file; returns an error message, or `''`. `declarationDiagnostics` are the
|
|
20
|
+
* declaration emit errors of a declaration file written by a forced declaration emit.
|
|
21
|
+
* Returning `skippedWrite` leaves a file unwritten without an error.
|
|
22
|
+
*/
|
|
23
|
+
abstract writeFile(fileName: string, text: string, declarationDiagnostics?: readonly Diagnostic[]): string;
|
|
24
|
+
/** Whether writing a file is blocked, as when it would overwrite an input; false by default. */
|
|
25
|
+
isEmitBlocked(_fileName: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the program found `file` through a module or type reference resolved in `node_modules`
|
|
28
|
+
* (`Program.isSourceFileFromExternalLibrary`); such files are not emitted. False by default.
|
|
29
|
+
*/
|
|
30
|
+
isSourceFileFromExternalLibrary(_file: SourceFile): boolean;
|
|
31
|
+
}
|
|
32
|
+
/** What `EmitHost.writeFile` returns for a file it chose not to write. */
|
|
33
|
+
export declare const skippedWrite = "\0";
|
|
34
|
+
export declare class EmitResult {
|
|
35
|
+
readonly emittedFiles: string[];
|
|
36
|
+
readonly errors: string[];
|
|
37
|
+
/** Files not emitted because they use syntax emit doesn't support yet, with the reason. */
|
|
38
|
+
readonly unsupported: string[];
|
|
39
|
+
/** Declaration emit errors; a file with any gets no declaration file. */
|
|
40
|
+
readonly diagnostics: Diagnostic[];
|
|
41
|
+
/**
|
|
42
|
+
* For each declaration file a checker thread wrote for an incremental program, its name, its signature
|
|
43
|
+
* and the signature compared for composite projects (`DeclarationSignatureWriter`).
|
|
44
|
+
*/
|
|
45
|
+
readonly declarationSignatures: string[];
|
|
46
|
+
/**
|
|
47
|
+
* Under `noEmitOnError`, the outputs a checker thread emitted without writing them, as file name and
|
|
48
|
+
* text alternately: the main thread writes them once it knows there are no errors (`writeHeldOutputs`).
|
|
49
|
+
*/
|
|
50
|
+
readonly heldOutputs: string[];
|
|
51
|
+
emitSkipped: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the declaration transform ran, so that `diagnostics` holds the declaration diagnostics of
|
|
54
|
+
* the files emitted (only declaration emit reports diagnostics).
|
|
55
|
+
*/
|
|
56
|
+
declarationTransformed: boolean;
|
|
57
|
+
constructor();
|
|
58
|
+
}
|
|
59
|
+
export declare function sourceFileMayBeEmitted(file: SourceFile, options: CompilerOptions): boolean;
|
|
60
|
+
/** Which outputs to emit. */
|
|
61
|
+
export declare const enum EmitOnly {
|
|
62
|
+
All = 0,
|
|
63
|
+
Js = 1,
|
|
64
|
+
Dts = 2,
|
|
65
|
+
/**
|
|
66
|
+
* The declaration file alone, even without `declaration` and despite errors, for the shape
|
|
67
|
+
* signature of incremental builds; it is written with its errors and without a map.
|
|
68
|
+
*/
|
|
69
|
+
ForcedDts = 3
|
|
70
|
+
}
|
|
71
|
+
export declare function emitFiles(host: EmitHost, files: readonly SourceFile[], emitOnly?: EmitOnly): EmitResult;
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { compareDiagnostics } from './diagnostics.js';
|
|
2
|
+
import { JsxEmit, NewLineKind, getEmitScriptTarget, getIsolatedModules } from './options.js';
|
|
3
|
+
import { getOutputPathsFor } from './output-paths.js';
|
|
4
|
+
import { combinePaths, fileExtensionIs, getBaseFileName, getDirectoryPath, getRootLength, normalizePath, normalizeSlashes, ensureTrailingDirectorySeparator, containsPath, getNormalizedAbsolutePath, } from './path.js';
|
|
5
|
+
import { EmitContext } from './printer/emit-context.js';
|
|
6
|
+
import { Printer, PrinterOptions } from './printer/printer.js';
|
|
7
|
+
import { TextWriter } from './printer/text-writer.js';
|
|
8
|
+
import { SourceMapGenerator, getRelativePathToDirectoryOrUrl } from './sourcemap.js';
|
|
9
|
+
import { DeclarationEmitResolver } from './transformers/declarations-resolver.js';
|
|
10
|
+
import { DeclarationTransformer } from './transformers/declarations.js';
|
|
11
|
+
import { ImportElision } from './transformers/import-elision.js';
|
|
12
|
+
import { UseStrictTransformer, createModuleTransformer } from './transformers/module.js';
|
|
13
|
+
import { TypeEraser } from './transformers/type-eraser.js';
|
|
14
|
+
import { TypeScriptFacts } from './transformers/subtree-facts.js';
|
|
15
|
+
import { RuntimeSyntax } from './transformers/runtime-syntax.js';
|
|
16
|
+
import { ConstEnumInliner } from './transformers/const-enum-inliner.js';
|
|
17
|
+
import { addDownlevelTransformers } from './transformers/downlevel.js';
|
|
18
|
+
import { JsxTransformer } from './transformers/jsx.js';
|
|
19
|
+
import { SyntaxFacts } from './transformers/syntax-facts.js';
|
|
20
|
+
import { LegacyDecorators } from './transformers/legacy-decorators.js';
|
|
21
|
+
import { DecoratorMetadata } from './transformers/decorator-metadata.js';
|
|
22
|
+
/** The program as emit sees it. */
|
|
23
|
+
export class EmitHost {
|
|
24
|
+
options;
|
|
25
|
+
currentDirectory;
|
|
26
|
+
useCaseSensitiveFileNames;
|
|
27
|
+
commonSourceDirectoryPath;
|
|
28
|
+
resolver;
|
|
29
|
+
formats;
|
|
30
|
+
constructor(options, resolver, formats, commonSourceDirectory, currentDirectory, useCaseSensitiveFileNames) {
|
|
31
|
+
this.options = options;
|
|
32
|
+
this.resolver = resolver;
|
|
33
|
+
this.formats = formats;
|
|
34
|
+
this.currentDirectory = currentDirectory;
|
|
35
|
+
this.useCaseSensitiveFileNames = useCaseSensitiveFileNames;
|
|
36
|
+
this.commonSourceDirectoryPath = commonSourceDirectory;
|
|
37
|
+
}
|
|
38
|
+
/** With a trailing `/`. */
|
|
39
|
+
commonSourceDirectory() {
|
|
40
|
+
return this.commonSourceDirectoryPath;
|
|
41
|
+
}
|
|
42
|
+
/** Whether writing a file is blocked, as when it would overwrite an input; false by default. */
|
|
43
|
+
isEmitBlocked(_fileName) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Whether the program found `file` through a module or type reference resolved in `node_modules`
|
|
48
|
+
* (`Program.isSourceFileFromExternalLibrary`); such files are not emitted. False by default.
|
|
49
|
+
*/
|
|
50
|
+
isSourceFileFromExternalLibrary(_file) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** What `EmitHost.writeFile` returns for a file it chose not to write. */
|
|
55
|
+
export const skippedWrite = '\u0000';
|
|
56
|
+
export class EmitResult {
|
|
57
|
+
emittedFiles;
|
|
58
|
+
errors;
|
|
59
|
+
/** Files not emitted because they use syntax emit doesn't support yet, with the reason. */
|
|
60
|
+
unsupported;
|
|
61
|
+
/** Declaration emit errors; a file with any gets no declaration file. */
|
|
62
|
+
diagnostics;
|
|
63
|
+
/**
|
|
64
|
+
* For each declaration file a checker thread wrote for an incremental program, its name, its signature
|
|
65
|
+
* and the signature compared for composite projects (`DeclarationSignatureWriter`).
|
|
66
|
+
*/
|
|
67
|
+
declarationSignatures;
|
|
68
|
+
/**
|
|
69
|
+
* Under `noEmitOnError`, the outputs a checker thread emitted without writing them, as file name and
|
|
70
|
+
* text alternately: the main thread writes them once it knows there are no errors (`writeHeldOutputs`).
|
|
71
|
+
*/
|
|
72
|
+
heldOutputs;
|
|
73
|
+
emitSkipped;
|
|
74
|
+
/**
|
|
75
|
+
* Whether the declaration transform ran, so that `diagnostics` holds the declaration diagnostics of
|
|
76
|
+
* the files emitted (only declaration emit reports diagnostics).
|
|
77
|
+
*/
|
|
78
|
+
declarationTransformed;
|
|
79
|
+
constructor() {
|
|
80
|
+
this.emittedFiles = [];
|
|
81
|
+
this.errors = [];
|
|
82
|
+
this.unsupported = [];
|
|
83
|
+
this.diagnostics = [];
|
|
84
|
+
this.declarationSignatures = [];
|
|
85
|
+
this.heldOutputs = [];
|
|
86
|
+
this.emitSkipped = false;
|
|
87
|
+
this.declarationTransformed = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export function sourceFileMayBeEmitted(file, options) {
|
|
91
|
+
if (file.isDeclarationFile)
|
|
92
|
+
return false;
|
|
93
|
+
if (file.scriptKind === 6 /* ScriptKind.JSON */)
|
|
94
|
+
return options.outDir !== undefined && options.outDir !== '';
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
export function emitFiles(host, files, emitOnly = 0 /* EmitOnly.All */) {
|
|
98
|
+
const result = new EmitResult();
|
|
99
|
+
const options = host.options;
|
|
100
|
+
const forced = emitOnly === 3 /* EmitOnly.ForcedDts */;
|
|
101
|
+
if (options.noEmit === true && !forced) {
|
|
102
|
+
result.emitSkipped = true;
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
for (let i = 0; i < files.length; i++) {
|
|
106
|
+
const file = files[i];
|
|
107
|
+
if (!sourceFileMayBeEmitted(file, options) || host.isSourceFileFromExternalLibrary(file))
|
|
108
|
+
continue;
|
|
109
|
+
const paths = getOutputPathsFor(file.fileName, file.scriptKind === 6 /* ScriptKind.JSON */, options, host, forced);
|
|
110
|
+
if (paths.jsFilePath !== '' && (emitOnly === 0 /* EmitOnly.All */ || emitOnly === 1 /* EmitOnly.Js */)) {
|
|
111
|
+
if (host.isEmitBlocked(paths.jsFilePath))
|
|
112
|
+
result.emitSkipped = true;
|
|
113
|
+
else
|
|
114
|
+
emitJSFile(host, file, paths.jsFilePath, paths.sourceMapFilePath, result);
|
|
115
|
+
}
|
|
116
|
+
if (paths.declarationFilePath !== '' && emitOnly !== 1 /* EmitOnly.Js */) {
|
|
117
|
+
if (!forced && host.isEmitBlocked(paths.declarationFilePath))
|
|
118
|
+
result.emitSkipped = true;
|
|
119
|
+
else
|
|
120
|
+
emitDeclarationFile(host, file, paths.declarationFilePath, paths.declarationMapPath, result, forced);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
/** Emits a declaration file; the host's resolver must be a `DeclarationEmitResolver`. */
|
|
126
|
+
function emitDeclarationFile(host, file, declarationFilePath, declarationMapPath, result, forced) {
|
|
127
|
+
const resolver = host.resolver;
|
|
128
|
+
if (!(resolver instanceof DeclarationEmitResolver)) {
|
|
129
|
+
result.errors.push(file.fileName + ': declaration emit needs a declaration resolver');
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
const options = host.options;
|
|
133
|
+
const context = new EmitContext();
|
|
134
|
+
const transformer = new DeclarationTransformer(context, host, options, resolver, declarationFilePath);
|
|
135
|
+
const transformed = transformer.transformSourceFile(file);
|
|
136
|
+
result.declarationTransformed = true;
|
|
137
|
+
const diagnostics = transformer.diagnostics;
|
|
138
|
+
for (let i = 0; i < diagnostics.length; i++)
|
|
139
|
+
result.diagnostics.push(diagnostics[i]);
|
|
140
|
+
if (diagnostics.length > 0 && !forced) {
|
|
141
|
+
result.emitSkipped = true;
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
const printerOptions = new PrinterOptions();
|
|
145
|
+
printerOptions.removeComments = options.removeComments === true;
|
|
146
|
+
printerOptions.newLine = options.newLine === NewLineKind.CRLF ? '\r\n' : '\n';
|
|
147
|
+
printerOptions.noEmitHelpers = true;
|
|
148
|
+
printerOptions.target = getEmitScriptTarget(options);
|
|
149
|
+
const declarationMap = options.declarationMap === true && !forced;
|
|
150
|
+
printerOptions.sourceMap = declarationMap;
|
|
151
|
+
printerOptions.onlyPrintJSDocStyle = true;
|
|
152
|
+
printerOptions.omitBraceSourceMapPositions = true;
|
|
153
|
+
const printer = new Printer(printerOptions, context);
|
|
154
|
+
const emitSourceMaps = declarationMap && !fileExtensionIs(file.fileName, '.json');
|
|
155
|
+
return printSourceFile(host, declarationFilePath, forced ? '' : declarationMapPath, transformed, printer, emitSourceMaps, false, result,
|
|
156
|
+
// Sorted, as tsgo's emitter diagnostics are; the order is part of the file's signature in build info.
|
|
157
|
+
diagnostics.length > 1 ? diagnostics.toSorted(compareDiagnostics) : diagnostics);
|
|
158
|
+
}
|
|
159
|
+
function getScriptTransformers(host, context, file) {
|
|
160
|
+
const options = host.options;
|
|
161
|
+
const facts = new TypeScriptFacts();
|
|
162
|
+
const syntax = new SyntaxFacts();
|
|
163
|
+
const transformers = [];
|
|
164
|
+
if (options.emitDecoratorMetadata === true)
|
|
165
|
+
transformers.push(new DecoratorMetadata(context, options, host.resolver, syntax));
|
|
166
|
+
transformers.push(new TypeEraser(context, options, facts));
|
|
167
|
+
if (options.verbatimModuleSyntax !== true && !file.isJS())
|
|
168
|
+
transformers.push(new ImportElision(context, options, host.resolver));
|
|
169
|
+
transformers.push(new RuntimeSyntax(context, options, facts, host.resolver));
|
|
170
|
+
if (options.experimentalDecorators === true)
|
|
171
|
+
transformers.push(new LegacyDecorators(context, options, host.resolver, syntax));
|
|
172
|
+
if (isJsxTransformEnabled(options) && file.languageVariant === 1 /* LanguageVariant.JSX */)
|
|
173
|
+
transformers.push(new JsxTransformer(context, options, syntax, host.resolver));
|
|
174
|
+
addDownlevelTransformers(transformers, context, options, syntax, host.resolver);
|
|
175
|
+
transformers.push(new UseStrictTransformer(context, options, host.formats));
|
|
176
|
+
transformers.push(createModuleTransformer(context, options, host.resolver, host.formats));
|
|
177
|
+
if (!getIsolatedModules(options))
|
|
178
|
+
transformers.push(new ConstEnumInliner(context, options, host.resolver));
|
|
179
|
+
return transformers;
|
|
180
|
+
}
|
|
181
|
+
function isJsxTransformEnabled(options) {
|
|
182
|
+
const jsx = options.jsx;
|
|
183
|
+
return jsx === JsxEmit.React || jsx === JsxEmit.ReactJSX || jsx === JsxEmit.ReactJSXDev;
|
|
184
|
+
}
|
|
185
|
+
function emitJSFile(host, file, jsFilePath, sourceMapFilePath, result) {
|
|
186
|
+
const options = host.options;
|
|
187
|
+
const context = new EmitContext();
|
|
188
|
+
let transformed = file;
|
|
189
|
+
const transformers = getScriptTransformers(host, context, file);
|
|
190
|
+
for (let i = 0; i < transformers.length; i++) {
|
|
191
|
+
const transformer = transformers[i];
|
|
192
|
+
if (transformer.unsupported === '')
|
|
193
|
+
transformed = transformer.transformSourceFile(transformed);
|
|
194
|
+
if (transformer.unsupported !== '') {
|
|
195
|
+
result.unsupported.push(file.fileName + ': ' + transformer.unsupported);
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const printerOptions = new PrinterOptions();
|
|
200
|
+
printerOptions.removeComments = options.removeComments === true;
|
|
201
|
+
printerOptions.newLine = options.newLine === NewLineKind.CRLF ? '\r\n' : '\n';
|
|
202
|
+
printerOptions.noEmitHelpers = options.noEmitHelpers === true;
|
|
203
|
+
printerOptions.sourceMap = options.sourceMap === true;
|
|
204
|
+
printerOptions.inlineSourceMap = options.inlineSourceMap === true;
|
|
205
|
+
printerOptions.inlineSources = options.inlineSources === true;
|
|
206
|
+
// The target option as given, as tsgo's JavaScript printer takes it: without one, the printer's default
|
|
207
|
+
// removes numeric separators, although the transforms target the default target.
|
|
208
|
+
if (options.target !== undefined)
|
|
209
|
+
printerOptions.target = options.target;
|
|
210
|
+
const printer = new Printer(printerOptions, context);
|
|
211
|
+
const emitSourceMaps = (options.sourceMap === true || options.inlineSourceMap === true) && !fileExtensionIs(file.fileName, '.json');
|
|
212
|
+
const inline = options.inlineSourceMap === true;
|
|
213
|
+
return printSourceFile(host, jsFilePath, sourceMapFilePath, transformed, printer, emitSourceMaps, inline, result);
|
|
214
|
+
}
|
|
215
|
+
function printSourceFile(host, jsFilePath, sourceMapFilePath, file, printer, emitSourceMaps, inlineSourceMap, result, declarationDiagnostics = []) {
|
|
216
|
+
const options = host.options;
|
|
217
|
+
const writer = new TextWriter(printer.options.newLine, 4);
|
|
218
|
+
const generator = emitSourceMaps
|
|
219
|
+
? new SourceMapGenerator(getBaseFileName(normalizeSlashes(jsFilePath)), getSourceRoot(options), getSourceMapDirectory(host, jsFilePath, file), host.useCaseSensitiveFileNames, host.currentDirectory)
|
|
220
|
+
: undefined;
|
|
221
|
+
printer.write(file, file, writer, generator);
|
|
222
|
+
if (generator !== undefined) {
|
|
223
|
+
const url = getSourceMappingURL(host, generator, jsFilePath, sourceMapFilePath, file, inlineSourceMap);
|
|
224
|
+
if (url !== '') {
|
|
225
|
+
if (!writer.isAtStartOfLine())
|
|
226
|
+
writer.rawWrite(options.newLine === NewLineKind.CRLF ? '\r\n' : '\n');
|
|
227
|
+
writer.writeComment('//# sourceMappingURL=');
|
|
228
|
+
writer.writeComment(url);
|
|
229
|
+
}
|
|
230
|
+
if (sourceMapFilePath !== '') {
|
|
231
|
+
const error = host.writeFile(sourceMapFilePath, generator.toJSON());
|
|
232
|
+
if (error !== '')
|
|
233
|
+
result.errors.push(error);
|
|
234
|
+
else
|
|
235
|
+
result.emittedFiles.push(sourceMapFilePath);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
else
|
|
239
|
+
writer.writeLine(false);
|
|
240
|
+
let text = writer.getText();
|
|
241
|
+
if (options.emitBOM === true)
|
|
242
|
+
text = '\uFEFF' + text;
|
|
243
|
+
const error = host.writeFile(jsFilePath, text, declarationDiagnostics);
|
|
244
|
+
if (error === skippedWrite)
|
|
245
|
+
return true;
|
|
246
|
+
if (error !== '')
|
|
247
|
+
result.errors.push(error);
|
|
248
|
+
else
|
|
249
|
+
result.emittedFiles.push(jsFilePath);
|
|
250
|
+
return error === '';
|
|
251
|
+
}
|
|
252
|
+
/** `fileName` moved from the common source directory to `newDirectory`. */
|
|
253
|
+
function getSourceFilePathInNewDir(fileName, newDirectory, currentDirectory, commonSourceDirectory, useCaseSensitiveFileNames) {
|
|
254
|
+
let path = getNormalizedAbsolutePath(fileName, currentDirectory);
|
|
255
|
+
const common = ensureTrailingDirectorySeparator(commonSourceDirectory);
|
|
256
|
+
if (containsPath(common, path, useCaseSensitiveFileNames, currentDirectory))
|
|
257
|
+
path = path.slice(common.length);
|
|
258
|
+
return combinePaths(newDirectory, path);
|
|
259
|
+
}
|
|
260
|
+
function getSourceRoot(options) {
|
|
261
|
+
const root = normalizeSlashes(options.sourceRoot !== undefined ? options.sourceRoot : '');
|
|
262
|
+
return root !== '' ? ensureTrailingDirectorySeparator(root) : root;
|
|
263
|
+
}
|
|
264
|
+
function mapRootDirectory(host, mapRoot, file) {
|
|
265
|
+
let directory = normalizeSlashes(mapRoot);
|
|
266
|
+
directory = getDirectoryPath(getSourceFilePathInNewDir(file.fileName, directory, host.currentDirectory, host.commonSourceDirectory(), host.useCaseSensitiveFileNames));
|
|
267
|
+
return directory;
|
|
268
|
+
}
|
|
269
|
+
function getSourceMapDirectory(host, jsFilePath, file) {
|
|
270
|
+
const options = host.options;
|
|
271
|
+
if (options.sourceRoot !== undefined && options.sourceRoot !== '')
|
|
272
|
+
return host.commonSourceDirectory();
|
|
273
|
+
if (options.mapRoot !== undefined && options.mapRoot !== '') {
|
|
274
|
+
const directory = mapRootDirectory(host, options.mapRoot, file);
|
|
275
|
+
return getRootLength(directory) === 0 ? combinePaths(host.commonSourceDirectory(), directory) : directory;
|
|
276
|
+
}
|
|
277
|
+
return getDirectoryPath(normalizePath(jsFilePath));
|
|
278
|
+
}
|
|
279
|
+
function getSourceMappingURL(host, generator, jsFilePath, sourceMapFilePath, file, inlineSourceMap) {
|
|
280
|
+
const options = host.options;
|
|
281
|
+
if (inlineSourceMap)
|
|
282
|
+
return generator.toBase64DataURL();
|
|
283
|
+
const mapFile = getBaseFileName(normalizeSlashes(sourceMapFilePath));
|
|
284
|
+
if (options.mapRoot !== undefined && options.mapRoot !== '') {
|
|
285
|
+
const directory = mapRootDirectory(host, options.mapRoot, file);
|
|
286
|
+
if (getRootLength(directory) === 0)
|
|
287
|
+
return encodeURI(getRelativePathToDirectoryOrUrl(getDirectoryPath(normalizePath(jsFilePath)), combinePaths(combinePaths(host.commonSourceDirectory(), directory), mapFile), host.useCaseSensitiveFileNames, host.currentDirectory));
|
|
288
|
+
return encodeURI(combinePaths(directory, mapFile));
|
|
289
|
+
}
|
|
290
|
+
return encodeURI(mapFile);
|
|
291
|
+
}
|
|
292
|
+
const hexDigits = '0123456789ABCDEF';
|
|
293
|
+
/** Percent-encodes the bytes of `s` that `encodeURI` would, by UTF-8 byte as tsgo does. */
|
|
294
|
+
function encodeURI(s) {
|
|
295
|
+
let out = '';
|
|
296
|
+
for (let i = 0; i < s.length; i++) {
|
|
297
|
+
const ch = s.charCodeAt(i);
|
|
298
|
+
if ((ch >= 0x41 && ch <= 0x5a) ||
|
|
299
|
+
(ch >= 0x61 && ch <= 0x7a) ||
|
|
300
|
+
(ch >= 0x30 && ch <= 0x39) ||
|
|
301
|
+
";,/?:@&=+$-_.!~*'()#".indexOf(String.fromCharCode(ch)) >= 0) {
|
|
302
|
+
out += String.fromCharCode(ch);
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
const bytes = utf8Of(s, i);
|
|
306
|
+
if (ch >= 0xd800 && ch <= 0xdbff && i + 1 < s.length)
|
|
307
|
+
i++;
|
|
308
|
+
for (let b = 0; b < bytes.length; b++)
|
|
309
|
+
out += '%' + hexDigits.charAt(bytes[b] >> 4) + hexDigits.charAt(bytes[b] & 15);
|
|
310
|
+
}
|
|
311
|
+
return out;
|
|
312
|
+
}
|
|
313
|
+
function utf8Of(s, i) {
|
|
314
|
+
let c = s.charCodeAt(i);
|
|
315
|
+
if (c >= 0xd800 && c <= 0xdbff && i + 1 < s.length) {
|
|
316
|
+
const low = s.charCodeAt(i + 1);
|
|
317
|
+
if (low >= 0xdc00 && low <= 0xdfff)
|
|
318
|
+
c = (c - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;
|
|
319
|
+
}
|
|
320
|
+
if (c < 0x80)
|
|
321
|
+
return [c];
|
|
322
|
+
if (c < 0x800)
|
|
323
|
+
return [0xc0 | (c >> 6), 0x80 | (c & 63)];
|
|
324
|
+
if (c < 0x10000)
|
|
325
|
+
return [0xe0 | (c >> 12), 0x80 | ((c >> 6) & 63), 0x80 | (c & 63)];
|
|
326
|
+
return [0xf0 | (c >> 18), 0x80 | ((c >> 12) & 63), 0x80 | ((c >> 6) & 63), 0x80 | (c & 63)];
|
|
327
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why each file is in a program, as `--explainFiles` prints it, and diagnostics explaining file inclusion.
|
|
3
|
+
*/
|
|
4
|
+
import { ObjectLiteralExpression, StringLiteral, type FileReference, type Node, type SourceFile } from './ast.js';
|
|
5
|
+
import { Diagnostic, type DiagnosticMessage } from './diagnostics.js';
|
|
6
|
+
import { type PackageId } from './module-resolution-types.js';
|
|
7
|
+
import type { Program } from './program.js';
|
|
8
|
+
export declare const enum FileIncludeKind {
|
|
9
|
+
Import = 0,
|
|
10
|
+
ReferenceFile = 1,
|
|
11
|
+
TypeReferenceDirective = 2,
|
|
12
|
+
LibReferenceDirective = 3,
|
|
13
|
+
RootFile = 4,
|
|
14
|
+
LibFile = 5,
|
|
15
|
+
AutomaticTypeDirectiveFile = 6
|
|
16
|
+
}
|
|
17
|
+
/** One reason a file is in the program. */
|
|
18
|
+
export declare class FileIncludeReason {
|
|
19
|
+
readonly kind: FileIncludeKind;
|
|
20
|
+
/** The referencing file's path, for references from a file. */
|
|
21
|
+
readonly file: string;
|
|
22
|
+
/** The root file, `lib` entry or reference index; -1 for the default library. */
|
|
23
|
+
readonly index: number;
|
|
24
|
+
/** The synthesized specifier of an `importHelpers` or JSX runtime import. */
|
|
25
|
+
readonly synthetic: StringLiteral | undefined;
|
|
26
|
+
/** The `types` entry, for automatic type directives. */
|
|
27
|
+
readonly typeReference: string;
|
|
28
|
+
readonly packageId: PackageId | undefined;
|
|
29
|
+
private relativeDiagnostic;
|
|
30
|
+
private absoluteDiagnostic;
|
|
31
|
+
private location;
|
|
32
|
+
private relatedInfo;
|
|
33
|
+
private constructor();
|
|
34
|
+
static rootFile(index: number): FileIncludeReason;
|
|
35
|
+
/** A `lib` entry, or the default library with `index` -1. */
|
|
36
|
+
static libFile(index: number): FileIncludeReason;
|
|
37
|
+
static automaticTypeDirective(typeReference: string, packageId: PackageId | undefined): FileIncludeReason;
|
|
38
|
+
/** An import (`index` into the file's imports and module augmentations, -1 if `synthetic`) or a `///` reference. */
|
|
39
|
+
static reference(kind: FileIncludeKind, file: string, index: number, synthetic: StringLiteral | undefined): FileIncludeReason;
|
|
40
|
+
/** The same reason without what it has computed (a parse thread's reasons are immutable). */
|
|
41
|
+
copy(): FileIncludeReason;
|
|
42
|
+
isReferencedFile(): boolean;
|
|
43
|
+
getReferencedLocation(program: Program): ReferenceFileLocation;
|
|
44
|
+
/** The reason as a message, with file names relative to the current directory if `relative`. */
|
|
45
|
+
toDiagnostic(program: Program, relative: boolean): Diagnostic;
|
|
46
|
+
private computeDiagnostic;
|
|
47
|
+
private computeReferenceDiagnostic;
|
|
48
|
+
/** Where in the config or a file this reason is written, as related information; `undefined` if nowhere. */
|
|
49
|
+
toRelatedInfo(program: Program): Diagnostic | undefined;
|
|
50
|
+
private computeRelatedInfo;
|
|
51
|
+
}
|
|
52
|
+
/** Where a reference from a file is written. */
|
|
53
|
+
export declare class ReferenceFileLocation {
|
|
54
|
+
readonly file: SourceFile;
|
|
55
|
+
/** The module specifier, for imports. */
|
|
56
|
+
readonly node: Node | undefined;
|
|
57
|
+
/** The `///` directive, for references. */
|
|
58
|
+
readonly ref: FileReference | undefined;
|
|
59
|
+
readonly packageId: PackageId | undefined;
|
|
60
|
+
readonly isSynthetic: boolean;
|
|
61
|
+
constructor(file: SourceFile,
|
|
62
|
+
/** The module specifier, for imports. */
|
|
63
|
+
node: Node | undefined,
|
|
64
|
+
/** The `///` directive, for references. */
|
|
65
|
+
ref: FileReference | undefined, packageId: PackageId | undefined, isSynthetic: boolean);
|
|
66
|
+
text(): string;
|
|
67
|
+
diagnosticAt(message: DiagnosticMessage, ...args: string[]): Diagnostic;
|
|
68
|
+
}
|
|
69
|
+
export declare const enum ProcessingDiagnosticKind {
|
|
70
|
+
/** A `/// <reference types>` or `/// <reference lib>` that could not be found. */
|
|
71
|
+
UnknownReference = 0,
|
|
72
|
+
ExplainingFileInclude = 1
|
|
73
|
+
}
|
|
74
|
+
/** A diagnostic found while loading files, explained with why the file is in the program once loading is done. */
|
|
75
|
+
export declare class ProcessingDiagnostic {
|
|
76
|
+
readonly kind: ProcessingDiagnosticKind;
|
|
77
|
+
/** The path of the file explained; `''` if none. */
|
|
78
|
+
readonly file: string;
|
|
79
|
+
readonly reason: FileIncludeReason | undefined;
|
|
80
|
+
readonly message: DiagnosticMessage | undefined;
|
|
81
|
+
readonly args: readonly string[];
|
|
82
|
+
private constructor();
|
|
83
|
+
static unknownReference(reason: FileIncludeReason): ProcessingDiagnostic;
|
|
84
|
+
static explainingFileInclude(file: string, reason: FileIncludeReason | undefined, message: DiagnosticMessage, args: readonly string[]): ProcessingDiagnostic;
|
|
85
|
+
/** The same diagnostic with a copy of its reason (`FileIncludeReason.copy`). */
|
|
86
|
+
copy(): ProcessingDiagnostic;
|
|
87
|
+
toDiagnostic(program: Program): Diagnostic;
|
|
88
|
+
private explainFile;
|
|
89
|
+
}
|
|
90
|
+
/** Include reasons of every file and the diagnostics found while loading them. */
|
|
91
|
+
export declare class IncludeProcessor {
|
|
92
|
+
readonly fileIncludeReasons: Map<string, FileIncludeReason[]>;
|
|
93
|
+
readonly processingDiagnostics: ProcessingDiagnostic[];
|
|
94
|
+
private computed;
|
|
95
|
+
private compilerOptionsObject;
|
|
96
|
+
private compilerOptionsComputed;
|
|
97
|
+
private readonly redirectAndFileFormat;
|
|
98
|
+
constructor(fileIncludeReasons?: Map<string, FileIncludeReason[]>, processingDiagnostics?: ProcessingDiagnostic[]);
|
|
99
|
+
/** A processor with these reasons and processing diagnostics, whose diagnostics are computed for another program. */
|
|
100
|
+
copy(): IncludeProcessor;
|
|
101
|
+
reasonsOf(path: string): readonly FileIncludeReason[];
|
|
102
|
+
addReason(path: string, reason: FileIncludeReason): void;
|
|
103
|
+
addProcessingDiagnostic(diagnostic: ProcessingDiagnostic): void;
|
|
104
|
+
/** Reports a file name that differs from an included one only in casing. */
|
|
105
|
+
addCasingDiagnostic(file: string, existingCasing: string, currentCasing: string, reason: FileIncludeReason | undefined): void;
|
|
106
|
+
getReferenceLocation(reason: FileIncludeReason, program: Program): ReferenceFileLocation;
|
|
107
|
+
/** Processing and resolution diagnostics, sorted by file. */
|
|
108
|
+
diagnostics(program: Program): readonly Diagnostic[];
|
|
109
|
+
/** The compiler options object of the config file. */
|
|
110
|
+
compilerOptionsSyntax(program: Program): ObjectLiteralExpression | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* Notes on a file's origin and module format. Cached per file: the first caller's choice of relative or
|
|
113
|
+
* absolute file names sticks, as in tsgo. A shared program keeps what was cached before sharing; after that,
|
|
114
|
+
* only `--explainFiles` asks, once per file, and the result is not kept.
|
|
115
|
+
*/
|
|
116
|
+
explainRedirectAndImpliedFormat(program: Program, path: string, relative: boolean): readonly Diagnostic[];
|
|
117
|
+
}
|