tsc-ts 0.0.10 → 0.1.0
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 +1 -1
- package/bin/tsc-ts.js +70 -1
- package/dist/api/compiler/ast-utilities.d.ts +19 -1
- package/dist/api/compiler/ast-utilities.js +180 -95
- package/dist/api/compiler/ast.d.ts +20 -15
- package/dist/api/compiler/ast.js +1023 -995
- package/dist/api/compiler/astnav.js +15 -15
- package/dist/api/compiler/binder-utilities.js +186 -186
- package/dist/api/compiler/binder.js +290 -263
- package/dist/api/compiler/character-codes.js +2 -2
- package/dist/api/compiler/checker-calls.js +173 -123
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +134 -90
- package/dist/api/compiler/checker-contextual.js +64 -61
- package/dist/api/compiler/checker-declaration-order.js +79 -79
- package/dist/api/compiler/checker-declarations.d.ts +1 -0
- package/dist/api/compiler/checker-declarations.js +160 -136
- package/dist/api/compiler/checker-declared-types.js +67 -65
- package/dist/api/compiler/checker-decorators.js +77 -77
- package/dist/api/compiler/checker-deprecation.d.ts +8 -3
- package/dist/api/compiler/checker-deprecation.js +76 -55
- package/dist/api/compiler/checker-destructuring.js +47 -45
- package/dist/api/compiler/checker-elaboration.js +24 -24
- package/dist/api/compiler/checker-emit-helpers.js +4 -4
- package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
- package/dist/api/compiler/checker-emit-resolver.js +25 -13
- package/dist/api/compiler/checker-evaluator.js +9 -9
- package/dist/api/compiler/checker-expressions.js +244 -211
- package/dist/api/compiler/checker-functions.js +113 -107
- package/dist/api/compiler/checker-generated-code.d.ts +0 -11
- package/dist/api/compiler/checker-generated-code.js +28 -52
- package/dist/api/compiler/checker-grammar.d.ts +1 -0
- package/dist/api/compiler/checker-grammar.js +469 -438
- package/dist/api/compiler/checker-heritage.js +91 -93
- package/dist/api/compiler/checker-inference.d.ts +77 -5
- package/dist/api/compiler/checker-inference.js +487 -113
- package/dist/api/compiler/checker-iteration.d.ts +0 -10
- package/dist/api/compiler/checker-iteration.js +35 -52
- package/dist/api/compiler/checker-javascript.js +14 -14
- package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
- package/dist/api/compiler/checker-jsdoc.js +67 -58
- package/dist/api/compiler/checker-jsx.js +105 -88
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +210 -74
- package/dist/api/compiler/checker-modules.d.ts +15 -6
- package/dist/api/compiler/checker-modules.js +469 -309
- package/dist/api/compiler/checker-narrowing.js +273 -189
- package/dist/api/compiler/checker-object-literals.js +25 -22
- package/dist/api/compiler/checker-operators.js +126 -118
- package/dist/api/compiler/checker-overloads.js +27 -27
- package/dist/api/compiler/checker-property-access.js +59 -55
- package/dist/api/compiler/checker-services.d.ts +1 -0
- package/dist/api/compiler/checker-services.js +222 -210
- package/dist/api/compiler/checker-signatures.js +65 -49
- package/dist/api/compiler/checker-source-file.d.ts +5 -0
- package/dist/api/compiler/checker-source-file.js +154 -130
- package/dist/api/compiler/checker-statements.js +33 -32
- package/dist/api/compiler/checker-super.js +50 -50
- package/dist/api/compiler/checker-symbol-types.js +109 -93
- package/dist/api/compiler/checker-symbols.d.ts +13 -1
- package/dist/api/compiler/checker-symbols.js +264 -149
- package/dist/api/compiler/checker-type-factory.d.ts +5 -0
- package/dist/api/compiler/checker-type-factory.js +137 -34
- package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
- package/dist/api/compiler/checker-type-nodes.js +179 -141
- package/dist/api/compiler/checker-type-operators.d.ts +2 -0
- package/dist/api/compiler/checker-type-operators.js +110 -63
- package/dist/api/compiler/checker-types.d.ts +80 -3
- package/dist/api/compiler/checker-types.js +121 -2
- package/dist/api/compiler/checker-unused.js +114 -118
- package/dist/api/compiler/checker-utilities.js +11 -11
- package/dist/api/compiler/checker.d.ts +93 -31
- package/dist/api/compiler/checker.js +143 -35
- package/dist/api/compiler/command-line.d.ts +1 -3
- package/dist/api/compiler/command-line.js +47 -44
- package/dist/api/compiler/compile-program.d.ts +19 -4
- package/dist/api/compiler/compile-program.js +45 -26
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.js +7 -7
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/file-include.d.ts +2 -1
- package/dist/api/compiler/file-include.js +11 -7
- package/dist/api/compiler/file-loader.d.ts +10 -0
- package/dist/api/compiler/file-loader.js +138 -41
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +23 -23
- package/dist/api/compiler/link-tables.d.ts +48 -18
- package/dist/api/compiler/link-tables.js +80 -37
- package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
- package/dist/api/compiler/locales/cs-CZ.js +1 -1
- package/dist/api/compiler/locales/de-DE.d.ts +1 -1
- package/dist/api/compiler/locales/de-DE.js +1 -1
- package/dist/api/compiler/locales/es-ES.d.ts +1 -1
- package/dist/api/compiler/locales/es-ES.js +1 -1
- package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
- package/dist/api/compiler/locales/fr-FR.js +1 -1
- package/dist/api/compiler/locales/it-IT.d.ts +1 -1
- package/dist/api/compiler/locales/it-IT.js +1 -1
- package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
- package/dist/api/compiler/locales/ja-JP.js +1 -1
- package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
- package/dist/api/compiler/locales/ko-KR.js +1 -1
- package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
- package/dist/api/compiler/locales/pl-PL.js +1 -1
- package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
- package/dist/api/compiler/locales/pt-BR.js +1 -1
- package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
- package/dist/api/compiler/locales/ru-RU.js +1 -1
- package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
- package/dist/api/compiler/locales/tr-TR.js +1 -1
- package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
- package/dist/api/compiler/locales/zh-CN.js +1 -1
- package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
- package/dist/api/compiler/locales/zh-TW.js +1 -1
- package/dist/api/compiler/module-resolution-types.js +6 -6
- package/dist/api/compiler/module-resolution.d.ts +10 -1
- package/dist/api/compiler/module-resolution.js +115 -84
- package/dist/api/compiler/module-specifiers.d.ts +15 -0
- package/dist/api/compiler/module-specifiers.js +24 -18
- package/dist/api/compiler/name-resolver.js +74 -65
- package/dist/api/compiler/node-builder-names.d.ts +11 -3
- package/dist/api/compiler/node-builder-names.js +210 -90
- package/dist/api/compiler/node-builder-pseudo.js +29 -31
- package/dist/api/compiler/node-builder-reuse.js +23 -22
- package/dist/api/compiler/node-builder.d.ts +18 -1
- package/dist/api/compiler/node-builder.js +191 -102
- package/dist/api/compiler/option-declarations.d.ts +2 -6
- package/dist/api/compiler/option-declarations.js +315 -375
- package/dist/api/compiler/options.d.ts +15 -33
- package/dist/api/compiler/options.js +21 -54
- package/dist/api/compiler/output-paths.d.ts +4 -1
- package/dist/api/compiler/output-paths.js +6 -11
- package/dist/api/compiler/package-json.d.ts +3 -3
- package/dist/api/compiler/package-json.js +11 -10
- package/dist/api/compiler/parser.d.ts +40 -19
- package/dist/api/compiler/parser.js +308 -216
- package/dist/api/compiler/path.d.ts +9 -0
- package/dist/api/compiler/path.js +20 -3
- package/dist/api/compiler/printer/emit-context.d.ts +3 -1
- package/dist/api/compiler/printer/emit-context.js +16 -1
- package/dist/api/compiler/printer/factory-base.d.ts +2 -2
- package/dist/api/compiler/printer/factory-base.js +7 -3
- package/dist/api/compiler/printer/factory.js +3 -1
- package/dist/api/compiler/printer/helpers.js +10 -1
- package/dist/api/compiler/printer/name-generator.d.ts +1 -1
- package/dist/api/compiler/printer/name-generator.js +35 -16
- package/dist/api/compiler/printer/printer.d.ts +1 -0
- package/dist/api/compiler/printer/printer.js +303 -281
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +8 -2
- package/dist/api/compiler/program-checker.js +84 -34
- package/dist/api/compiler/program-utilities.d.ts +3 -1
- package/dist/api/compiler/program-utilities.js +28 -15
- package/dist/api/compiler/program.d.ts +2 -0
- package/dist/api/compiler/program.js +69 -57
- package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
- package/dist/api/compiler/pseudo-bigint.js +18 -0
- package/dist/api/compiler/regexp-checker.d.ts +1 -1
- package/dist/api/compiler/regexp-checker.js +93 -76
- package/dist/api/compiler/relations.d.ts +27 -4
- package/dist/api/compiler/relations.js +337 -180
- package/dist/api/compiler/reparser.js +60 -56
- package/dist/api/compiler/scanner.d.ts +19 -2
- package/dist/api/compiler/scanner.js +123 -108
- package/dist/api/compiler/shared-results.d.ts +463 -0
- package/dist/api/compiler/shared-results.js +2128 -0
- package/dist/api/compiler/sourcemap.js +2 -2
- package/dist/api/compiler/symbol-accessibility.js +87 -74
- package/dist/api/compiler/symbol.d.ts +22 -13
- package/dist/api/compiler/symbol.js +15 -1
- package/dist/api/compiler/syntax-kind.d.ts +198 -197
- package/dist/api/compiler/transformers/alias-references.js +247 -139
- package/dist/api/compiler/transformers/async-utilities.js +25 -25
- package/dist/api/compiler/transformers/async.d.ts +0 -1
- package/dist/api/compiler/transformers/async.js +64 -77
- package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
- package/dist/api/compiler/transformers/class-fields.js +81 -78
- package/dist/api/compiler/transformers/commonjs-module.js +18 -15
- package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
- package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
- package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
- package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
- package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
- package/dist/api/compiler/transformers/declarations.d.ts +4 -1
- package/dist/api/compiler/transformers/declarations.js +305 -238
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
- package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
- package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
- package/dist/api/compiler/transformers/destructuring.js +19 -18
- package/dist/api/compiler/transformers/emit-resolver.js +1 -1
- package/dist/api/compiler/transformers/es-decorators.js +55 -55
- package/dist/api/compiler/transformers/external-module-info.js +3 -3
- package/dist/api/compiler/transformers/for-await.js +25 -25
- package/dist/api/compiler/transformers/import-elision.js +14 -14
- package/dist/api/compiler/transformers/jsx.js +12 -12
- package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
- package/dist/api/compiler/transformers/module.js +8 -8
- package/dist/api/compiler/transformers/named-evaluation.js +4 -4
- package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
- package/dist/api/compiler/transformers/optional-chain.js +10 -10
- package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
- package/dist/api/compiler/transformers/reference-resolver.js +131 -69
- package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
- package/dist/api/compiler/transformers/subtree-facts.js +47 -47
- package/dist/api/compiler/transformers/syntax-facts.js +56 -58
- package/dist/api/compiler/transformers/type-eraser.js +73 -66
- package/dist/api/compiler/transformers/type-serialization.js +24 -24
- package/dist/api/compiler/transformers/using.js +12 -12
- package/dist/api/compiler/transformers/utilities.js +77 -77
- package/dist/api/compiler/transformers/visitor-base.js +172 -172
- package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
- package/dist/api/compiler/tsconfig.d.ts +10 -2
- package/dist/api/compiler/tsconfig.js +136 -48
- package/dist/api/compiler/type-printer.js +40 -3
- package/dist/api/compiler/types.d.ts +2 -1
- package/dist/api/library/ast.generated.d.ts +42 -39
- package/dist/api/library/ast.generated.js +1 -1
- package/dist/api/library/compiler-options.generated.d.ts +111 -100
- package/dist/api/library/compiler-options.generated.js +1 -1
- package/dist/api/library/disk.js +12 -1
- package/dist/api/library/enums.generated.d.ts +206 -206
- package/dist/api/library/enums.generated.js +206 -206
- package/dist/api/library/nodes.js +26 -26
- package/package.json +9 -9
- package/src/compiler/ast-utilities.ts +99 -7
- package/src/compiler/ast.ts +55 -26
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +76 -8
- package/src/compiler/checker-classes.ts +78 -24
- package/src/compiler/checker-contextual.ts +6 -1
- package/src/compiler/checker-declarations.ts +31 -4
- package/src/compiler/checker-declared-types.ts +8 -5
- package/src/compiler/checker-decorators.ts +1 -1
- package/src/compiler/checker-deprecation.ts +29 -8
- package/src/compiler/checker-destructuring.ts +10 -3
- package/src/compiler/checker-emit-helpers.ts +1 -0
- package/src/compiler/checker-emit-resolver.ts +16 -6
- package/src/compiler/checker-expressions.ts +79 -46
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +133 -60
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -87
- package/src/compiler/checker-iteration.ts +18 -31
- package/src/compiler/checker-javascript.ts +1 -1
- package/src/compiler/checker-jsdoc.ts +50 -27
- package/src/compiler/checker-jsx.ts +26 -4
- package/src/compiler/checker-members.ts +197 -55
- package/src/compiler/checker-modules.ts +332 -65
- package/src/compiler/checker-narrowing.ts +98 -19
- package/src/compiler/checker-object-literals.ts +3 -0
- package/src/compiler/checker-operators.ts +11 -4
- package/src/compiler/checker-property-access.ts +7 -2
- package/src/compiler/checker-services.ts +39 -12
- package/src/compiler/checker-signatures.ts +15 -1
- package/src/compiler/checker-source-file.ts +39 -13
- package/src/compiler/checker-statements.ts +3 -2
- package/src/compiler/checker-symbol-types.ts +29 -6
- package/src/compiler/checker-symbols.ts +158 -15
- package/src/compiler/checker-type-factory.ts +120 -21
- package/src/compiler/checker-type-nodes.ts +46 -3
- package/src/compiler/checker-type-operators.ts +83 -26
- package/src/compiler/checker-types.ts +147 -4
- package/src/compiler/checker-unused.ts +9 -14
- package/src/compiler/checker.ts +168 -41
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +51 -25
- package/src/compiler/decoder.ts +13 -4
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +139 -32
- package/src/compiler/help.ts +10 -14
- package/src/compiler/incremental.ts +86 -18
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +3 -1
- package/src/compiler/link-tables.ts +82 -37
- package/src/compiler/locales/cs-CZ.ts +1 -1
- package/src/compiler/locales/de-DE.ts +1 -1
- package/src/compiler/locales/es-ES.ts +1 -1
- package/src/compiler/locales/fr-FR.ts +1 -1
- package/src/compiler/locales/it-IT.ts +1 -1
- package/src/compiler/locales/ja-JP.ts +1 -1
- package/src/compiler/locales/ko-KR.ts +1 -1
- package/src/compiler/locales/pl-PL.ts +1 -1
- package/src/compiler/locales/pt-BR.ts +1 -1
- package/src/compiler/locales/ru-RU.ts +1 -1
- package/src/compiler/locales/tr-TR.ts +1 -1
- package/src/compiler/locales/zh-CN.ts +1 -1
- package/src/compiler/locales/zh-TW.ts +1 -1
- package/src/compiler/module-resolution.ts +44 -8
- package/src/compiler/module-specifiers.ts +62 -20
- package/src/compiler/name-resolver.ts +9 -1
- package/src/compiler/node-builder-names.ts +236 -54
- package/src/compiler/node-builder-pseudo.ts +4 -7
- package/src/compiler/node-builder-reuse.ts +5 -4
- package/src/compiler/node-builder.ts +130 -31
- package/src/compiler/option-declarations.ts +33 -103
- package/src/compiler/options.ts +23 -62
- package/src/compiler/output-paths.ts +5 -18
- package/src/compiler/package-entrypoints.ts +345 -0
- package/src/compiler/package-json.ts +4 -4
- package/src/compiler/parallel-check.ts +197 -8
- package/src/compiler/parallel-emit.ts +1 -1
- package/src/compiler/parser.ts +156 -39
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +16 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +4 -1
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +35 -14
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +53 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +13 -1
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +233 -77
- package/src/compiler/reparser.ts +7 -2
- package/src/compiler/scanner.ts +109 -79
- package/src/compiler/shared-results.ts +2414 -0
- package/src/compiler/show-config.ts +18 -1
- package/src/compiler/sourcemap.ts +2 -2
- package/src/compiler/symbol-accessibility.ts +26 -3
- package/src/compiler/symbol.ts +31 -14
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +19 -2
- package/src/compiler/transformers/alias-references.ts +123 -4
- package/src/compiler/transformers/async.ts +2 -17
- package/src/compiler/transformers/class-fields.ts +13 -12
- package/src/compiler/transformers/commonjs-module.ts +11 -7
- package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
- package/src/compiler/transformers/declarations-pseudo.ts +2 -4
- package/src/compiler/transformers/declarations-resolver.ts +0 -3
- package/src/compiler/transformers/declarations-syntactic.ts +1 -21
- package/src/compiler/transformers/declarations.ts +134 -48
- package/src/compiler/transformers/decorator-metadata.ts +9 -1
- package/src/compiler/transformers/destructuring.ts +4 -3
- package/src/compiler/transformers/external-module-info.ts +1 -1
- package/src/compiler/transformers/jsx.ts +2 -1
- package/src/compiler/transformers/reference-resolver.ts +83 -19
- package/src/compiler/transformers/runtime-syntax.ts +6 -1
- package/src/compiler/transformers/syntax-facts.ts +2 -7
- package/src/compiler/transformers/type-eraser.ts +10 -1
- package/src/compiler/transformers/type-serialization.ts +3 -2
- package/src/compiler/transformers/visitor-base.ts +2 -1
- package/src/compiler/transformers/visitor-hooks.ts +9 -4
- package/src/compiler/tsc-build.ts +3 -0
- package/src/compiler/tsc-cli.ts +2 -0
- package/src/compiler/tsc-compile.ts +7 -2
- package/src/compiler/tsc-watch.ts +74 -45
- package/src/compiler/tsconfig.ts +176 -19
- package/src/compiler/type-printer.ts +36 -2
- package/src/compiler/types.ts +2 -1
- package/src/library/ast.generated.ts +57 -41
- package/src/library/compiler-options.generated.ts +117 -103
- package/src/library/disk.ts +10 -1
- package/src/library/enums.generated.ts +196 -196
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Checker, CheckerHost, disposeChecker } from './checker.js';
|
|
2
|
-
import { createDiagnostic, messageCode } from './diagnostics.js';
|
|
2
|
+
import { compareDiagnostics, createDiagnostic, messageCode, } from './diagnostics.js';
|
|
3
3
|
import { ModuleSpecifierHost } from './module-specifiers.js';
|
|
4
4
|
import { sortAndDeduplicateDiagnostics } from './program.js';
|
|
5
5
|
import { getEmitModuleFormatOfFile, getEmitSyntaxForUsageLocation, isCheckJsEnabledForFile, } from './program-utilities.js';
|
|
@@ -199,6 +199,12 @@ export class CheckedProgram {
|
|
|
199
199
|
*/
|
|
200
200
|
referenceThreads = 1;
|
|
201
201
|
parallelGlobalDiagnostics = [];
|
|
202
|
+
/**
|
|
203
|
+
* Whether the semantic diagnostics of a file include the global diagnostics its checker found while
|
|
204
|
+
* checking it, as an incremental program caches them (IncrementalProgram). Such a program doesn't report
|
|
205
|
+
* the global diagnostics found by checking otherwise (`reportsGlobalDiagnosticsOfChecking`, compile-program.ts).
|
|
206
|
+
*/
|
|
207
|
+
globalsInFileDiagnostics = false;
|
|
202
208
|
/**
|
|
203
209
|
* The declaration diagnostics checker threads computed under `noEmit` (PlainProgram,
|
|
204
210
|
* IncrementalProgram), by file index; `undefined` for files they did not. Set once every file is
|
|
@@ -337,10 +343,10 @@ export class CheckedProgram {
|
|
|
337
343
|
return own;
|
|
338
344
|
return sortAndDeduplicateDiagnostics([...own, ...parallel]);
|
|
339
345
|
}
|
|
340
|
-
/** Whether `file`'s bind and check diagnostics are
|
|
341
|
-
skipTypeChecking(file) {
|
|
346
|
+
/** Whether `file`'s bind and check diagnostics are skipped; `ignoreNoCheck` leaves `noCheck` out. */
|
|
347
|
+
skipTypeChecking(file, ignoreNoCheck = false) {
|
|
342
348
|
const options = this.program.options;
|
|
343
|
-
return (options.noCheck === true ||
|
|
349
|
+
return ((!ignoreNoCheck && options.noCheck === true) ||
|
|
344
350
|
(options.skipLibCheck === true && file.isDeclarationFile) ||
|
|
345
351
|
(options.skipDefaultLibCheck === true && this.program.isSourceFileDefaultLibrary(file.path)) ||
|
|
346
352
|
this.program.getProjectReferenceFromSource(file.path) !== undefined ||
|
|
@@ -371,8 +377,23 @@ export class CheckedProgram {
|
|
|
371
377
|
getBindAndCheckDiagnostics(file, checks) {
|
|
372
378
|
const options = this.program.options;
|
|
373
379
|
const diagnostics = file.bindDiagnostics.slice();
|
|
374
|
-
|
|
375
|
-
|
|
380
|
+
if (checks !== undefined)
|
|
381
|
+
for (const d of checks)
|
|
382
|
+
diagnostics.push(d);
|
|
383
|
+
else if (this.globalsInFileDiagnostics) {
|
|
384
|
+
const checker = this.checker;
|
|
385
|
+
const before = checker.getGlobalDiagnostics();
|
|
386
|
+
for (const d of checker.getDiagnostics(file))
|
|
387
|
+
diagnostics.push(d);
|
|
388
|
+
const after = checker.getGlobalDiagnostics();
|
|
389
|
+
if (after.length > before.length)
|
|
390
|
+
for (const d of after)
|
|
391
|
+
if (!containsSortedDiagnostic(before, d))
|
|
392
|
+
diagnostics.push(d);
|
|
393
|
+
}
|
|
394
|
+
else
|
|
395
|
+
for (const d of this.checker.getDiagnostics(file))
|
|
396
|
+
diagnostics.push(d);
|
|
376
397
|
if (isPlainJSFile(file, options)) {
|
|
377
398
|
const result = [];
|
|
378
399
|
for (const d of diagnostics)
|
|
@@ -387,7 +408,7 @@ export class CheckedProgram {
|
|
|
387
408
|
const directives = new Directives(file);
|
|
388
409
|
const filtered = directives.filter(diagnostics);
|
|
389
410
|
for (const directive of directives.unused()) {
|
|
390
|
-
filtered.push(createDiagnostic(file.diagnosticFile(), directive.pos, directive.end,
|
|
411
|
+
filtered.push(createDiagnostic(file.diagnosticFile(), directive.pos, directive.end, 736 /* Diagnostics.Unused_ts_expect_error_directive */));
|
|
391
412
|
}
|
|
392
413
|
return filtered;
|
|
393
414
|
}
|
|
@@ -398,6 +419,22 @@ export class CheckedProgram {
|
|
|
398
419
|
return diagnostics.length === 0 ? diagnostics : new Directives(file).filter(diagnostics);
|
|
399
420
|
}
|
|
400
421
|
}
|
|
422
|
+
/** Whether `sorted`, in `compareDiagnostics` order, has a diagnostic equal to `diagnostic`. */
|
|
423
|
+
function containsSortedDiagnostic(sorted, diagnostic) {
|
|
424
|
+
let low = 0;
|
|
425
|
+
let high = sorted.length - 1;
|
|
426
|
+
while (low <= high) {
|
|
427
|
+
const middle = (low + high) >>> 1;
|
|
428
|
+
const c = compareDiagnostics(sorted[middle], diagnostic);
|
|
429
|
+
if (c === 0)
|
|
430
|
+
return true;
|
|
431
|
+
if (c < 0)
|
|
432
|
+
low = middle + 1;
|
|
433
|
+
else
|
|
434
|
+
high = middle - 1;
|
|
435
|
+
}
|
|
436
|
+
return false;
|
|
437
|
+
}
|
|
401
438
|
/** The `@ts-ignore` and `@ts-expect-error` comments of a file, by line. */
|
|
402
439
|
class Directives {
|
|
403
440
|
file;
|
|
@@ -421,6 +458,11 @@ class Directives {
|
|
|
421
458
|
const lineStarts = this.file.diagnosticFile().getLineStarts();
|
|
422
459
|
const result = [];
|
|
423
460
|
for (const diagnostic of diagnostics) {
|
|
461
|
+
// A global diagnostic, or one of another file, has no line here.
|
|
462
|
+
if (diagnostic.file === undefined || diagnostic.file.fileName !== this.file.fileName) {
|
|
463
|
+
result.push(diagnostic);
|
|
464
|
+
continue;
|
|
465
|
+
}
|
|
424
466
|
let ignored = false;
|
|
425
467
|
for (let line = computeLineOfPosition(lineStarts, diagnostic.pos) - 1; line >= 0; line--) {
|
|
426
468
|
const directive = this.byLine.get(line);
|
|
@@ -476,14 +518,14 @@ function canIncludeBindAndCheckDiagnostics(file, options) {
|
|
|
476
518
|
}
|
|
477
519
|
/** The errors reported in JavaScript files that aren't type checked. */
|
|
478
520
|
const plainJSErrors = codesOf([
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
521
|
+
626 /* Diagnostics.Cannot_redeclare_block_scoped_variable_0 */,
|
|
522
|
+
693 /* Diagnostics.A_module_cannot_have_multiple_default_exports */,
|
|
523
|
+
892 /* Diagnostics.Another_export_default_is_here */,
|
|
524
|
+
891 /* Diagnostics.The_first_export_default_is_here */,
|
|
483
525
|
211 /* Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module */,
|
|
484
526
|
167 /* Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode */,
|
|
485
527
|
293 /* Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here */,
|
|
486
|
-
|
|
528
|
+
1854 /* Diagnostics.X_constructor_is_a_reserved_word */,
|
|
487
529
|
71 /* Diagnostics.X_delete_cannot_be_called_on_an_identifier_in_strict_mode */,
|
|
488
530
|
163 /* Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode */,
|
|
489
531
|
168 /* Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode */,
|
|
@@ -499,56 +541,57 @@ const plainJSErrors = codesOf([
|
|
|
499
541
|
83 /* Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement */,
|
|
500
542
|
81 /* Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement */,
|
|
501
543
|
207 /* Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration */,
|
|
544
|
+
1952 /* Diagnostics.A_deferred_import_must_specify_a_namespace_binding */,
|
|
502
545
|
205 /* Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context */,
|
|
503
546
|
138 /* Diagnostics.A_destructuring_declaration_must_have_an_initializer */,
|
|
504
547
|
40 /* Diagnostics.A_get_accessor_cannot_have_parameters */,
|
|
505
|
-
|
|
506
|
-
|
|
548
|
+
668 /* Diagnostics.A_rest_element_cannot_contain_a_binding_pattern */,
|
|
549
|
+
727 /* Diagnostics.A_rest_element_cannot_have_a_property_name */,
|
|
507
550
|
142 /* Diagnostics.A_rest_element_cannot_have_an_initializer */,
|
|
508
|
-
|
|
551
|
+
635 /* Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern */,
|
|
509
552
|
35 /* Diagnostics.A_rest_parameter_cannot_have_an_initializer */,
|
|
510
553
|
10 /* Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list */,
|
|
511
554
|
9 /* Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma */,
|
|
512
|
-
|
|
555
|
+
1877 /* Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block */,
|
|
513
556
|
39 /* Diagnostics.A_set_accessor_cannot_have_rest_parameter */,
|
|
514
557
|
36 /* Diagnostics.A_set_accessor_must_have_exactly_one_parameter */,
|
|
515
|
-
|
|
558
|
+
387 /* Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module */,
|
|
516
559
|
149 /* Diagnostics.An_export_declaration_cannot_have_modifiers */,
|
|
517
|
-
|
|
560
|
+
386 /* Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module */,
|
|
518
561
|
147 /* Diagnostics.An_import_declaration_cannot_have_modifiers */,
|
|
519
562
|
119 /* Diagnostics.An_object_member_cannot_be_declared_optional */,
|
|
520
563
|
261 /* Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element */,
|
|
521
|
-
|
|
522
|
-
|
|
564
|
+
942 /* Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable */,
|
|
565
|
+
659 /* Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause */,
|
|
523
566
|
153 /* Diagnostics.Catch_clause_variable_cannot_have_an_initializer */,
|
|
524
|
-
|
|
567
|
+
1873 /* Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator */,
|
|
525
568
|
130 /* Diagnostics.Classes_can_only_extend_a_single_class */,
|
|
526
|
-
|
|
569
|
+
1849 /* Diagnostics.Classes_may_not_have_a_field_named_constructor */,
|
|
527
570
|
248 /* Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern */,
|
|
528
571
|
82 /* Diagnostics.Duplicate_label_0 */,
|
|
529
572
|
372 /* Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments */,
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
573
|
+
1875 /* Diagnostics.X_for_await_loops_cannot_be_used_inside_a_class_static_block */,
|
|
574
|
+
1824 /* Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression */,
|
|
575
|
+
1825 /* Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name */,
|
|
576
|
+
1850 /* Diagnostics.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array */,
|
|
577
|
+
783 /* Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names */,
|
|
535
578
|
76 /* Diagnostics.Jump_target_cannot_cross_function_boundary */,
|
|
536
579
|
156 /* Diagnostics.Line_terminator_not_permitted_before_arrow */,
|
|
537
580
|
140 /* Diagnostics.Modifiers_cannot_appear_here */,
|
|
538
581
|
60 /* Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement */,
|
|
539
582
|
144 /* Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement */,
|
|
540
|
-
|
|
583
|
+
1858 /* Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies */,
|
|
541
584
|
373 /* Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression */,
|
|
542
|
-
|
|
585
|
+
1855 /* Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier */,
|
|
543
586
|
292 /* Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain */,
|
|
544
587
|
75 /* Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async */,
|
|
545
588
|
145 /* Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer */,
|
|
546
589
|
146 /* Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer */,
|
|
547
590
|
5 /* Diagnostics.Trailing_comma_not_allowed */,
|
|
548
591
|
90 /* Diagnostics.Variable_declaration_list_cannot_be_empty */,
|
|
549
|
-
|
|
592
|
+
1158 /* Diagnostics.X_0_and_1_operations_cannot_be_mixed_without_parentheses */,
|
|
550
593
|
2 /* Diagnostics.X_0_expected */,
|
|
551
|
-
|
|
594
|
+
1835 /* Diagnostics.X_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2 */,
|
|
552
595
|
66 /* Diagnostics.X_0_list_cannot_be_empty */,
|
|
553
596
|
23 /* Diagnostics.X_0_modifier_already_seen */,
|
|
554
597
|
58 /* Diagnostics.X_0_modifier_cannot_appear_on_a_constructor_declaration */,
|
|
@@ -560,13 +603,20 @@ const plainJSErrors = codesOf([
|
|
|
560
603
|
116 /* Diagnostics.X_0_declarations_can_only_be_declared_inside_a_block */,
|
|
561
604
|
115 /* Diagnostics.X_0_declarations_must_be_initialized */,
|
|
562
605
|
128 /* Diagnostics.X_extends_clause_already_seen */,
|
|
563
|
-
|
|
606
|
+
650 /* Diagnostics.X_let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations */,
|
|
564
607
|
302 /* Diagnostics.Class_constructor_may_not_be_a_generator */,
|
|
565
608
|
276 /* Diagnostics.Class_constructor_may_not_be_an_accessor */,
|
|
566
609
|
246 /* Diagnostics.X_await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules */,
|
|
567
|
-
|
|
610
|
+
979 /* Diagnostics.X_await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules */,
|
|
568
611
|
80 /* Diagnostics.Private_field_0_must_be_declared_in_an_enclosing_class */,
|
|
569
|
-
|
|
612
|
+
968 /* Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value */,
|
|
613
|
+
1952 /* Diagnostics.A_deferred_import_must_specify_a_namespace_binding */,
|
|
614
|
+
1946 /* Diagnostics.A_source_phase_import_must_specify_a_local_binding */,
|
|
615
|
+
1947 /* Diagnostics.Named_and_namespace_imports_are_not_allowed_in_a_source_phase_import */,
|
|
616
|
+
1949 /* Diagnostics.Optional_chaining_cannot_be_used_with_import_source */,
|
|
617
|
+
1950 /* Diagnostics.Source_phase_imports_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls */,
|
|
618
|
+
1948 /* Diagnostics.Source_phase_imports_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve */,
|
|
619
|
+
1896 /* Diagnostics.X_0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_defer_or_source */,
|
|
570
620
|
]);
|
|
571
621
|
function codesOf(messages) {
|
|
572
622
|
const codes = new Set();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Option and syntax queries of program construction: libraries, module formats and resolution modes.
|
|
3
3
|
*/
|
|
4
|
-
import { ExternalModuleIndicatorOptions, ImportAttributes, type Node, type SourceFile } from './ast.js';
|
|
4
|
+
import { ExternalModuleIndicatorOptions, ImportAttribute, ImportAttributes, type Node, type SourceFile } from './ast.js';
|
|
5
5
|
import { JsxEmit, ModuleKind, ScriptTarget, type CompilerOptions } from './options.js';
|
|
6
6
|
/** `--lib` names in declaration order. */
|
|
7
7
|
export declare const libNames: readonly string[];
|
|
@@ -44,6 +44,8 @@ export declare function getJSXImplicitImportBase(options: CompilerOptions, file:
|
|
|
44
44
|
export declare function getJSXRuntimeImport(base: string, options: CompilerOptions): string;
|
|
45
45
|
/** The `resolution-mode` of `import type` attributes, or `None`. */
|
|
46
46
|
export declare function getResolutionModeOverride(attributes: ImportAttributes | undefined): ModuleKind;
|
|
47
|
+
/** The `resolution-mode` attribute among import attributes, as tsgo's `GetResolutionModeOverride` finds it. */
|
|
48
|
+
export declare function resolutionModeAttribute(attributes: ImportAttributes | undefined): ImportAttribute | undefined;
|
|
47
49
|
/** Whether `import` syntax decides how a specifier resolves: Node16-style resolution or `exports`/`imports`. */
|
|
48
50
|
export declare function importSyntaxAffectsModuleResolution(options: CompilerOptions): boolean;
|
|
49
51
|
/** The mode a module specifier resolves in: from attributes, the import syntax, or the file's format. */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Option and syntax queries of program construction: libraries, module formats and resolution modes.
|
|
3
3
|
*/
|
|
4
|
-
import { ExportDeclaration, ExternalModuleIndicatorOptions, ImportAttribute, ImportDeclaration, ImportEqualsDeclaration, ImportTypeNode, JSDocImportTag, LiteralTypeNode, NoSubstitutionTemplateLiteral, ParenthesizedExpression, StringLiteral, } from './ast.js';
|
|
5
|
-
import { isImportCall, isRequireCall } from './ast-utilities.js';
|
|
4
|
+
import { ExportDeclaration, ExternalModuleIndicatorOptions, Identifier, ImportAttribute, ImportDeclaration, ImportEqualsDeclaration, ImportTypeNode, JSDocImportTag, LiteralTypeNode, NoSubstitutionTemplateLiteral, ParenthesizedExpression, StringLiteral, } from './ast.js';
|
|
5
|
+
import { isImportCall, isRequireCall, isSourcePhaseImportCall } from './ast-utilities.js';
|
|
6
6
|
import { libMap } from './option-declarations.js';
|
|
7
7
|
import { getEmitModuleDetectionKind, getEmitModuleKind, getEmitScriptTarget, getModuleResolutionKind, getResolvePackageJsonExports, getResolvePackageJsonImports, JsxEmit, ModuleDetectionKind, ModuleKind, ModuleResolutionKind, ScriptTarget, } from './options.js';
|
|
8
8
|
import { fileExtensionIsOneOf, isDeclarationFileName, toFileNameLowerCase } from './path.js';
|
|
@@ -26,6 +26,8 @@ export function getDefaultLibFileName(options) {
|
|
|
26
26
|
switch (getEmitScriptTarget(options)) {
|
|
27
27
|
case ScriptTarget.ESNext:
|
|
28
28
|
return 'lib.esnext.full.d.ts';
|
|
29
|
+
case ScriptTarget.ES2026:
|
|
30
|
+
return 'lib.es2026.full.d.ts';
|
|
29
31
|
case ScriptTarget.ES2025:
|
|
30
32
|
return 'lib.es2025.full.d.ts';
|
|
31
33
|
case ScriptTarget.ES2024:
|
|
@@ -80,6 +82,8 @@ export function scriptTargetName(target) {
|
|
|
80
82
|
return 'ES2024';
|
|
81
83
|
case ScriptTarget.ES2025:
|
|
82
84
|
return 'ES2025';
|
|
85
|
+
case ScriptTarget.ES2026:
|
|
86
|
+
return 'ES2026';
|
|
83
87
|
case ScriptTarget.ESNext:
|
|
84
88
|
return 'ESNext';
|
|
85
89
|
case ScriptTarget.JSON:
|
|
@@ -258,18 +262,8 @@ function literalText(node) {
|
|
|
258
262
|
}
|
|
259
263
|
/** The `resolution-mode` of `import type` attributes, or `None`. */
|
|
260
264
|
export function getResolutionModeOverride(attributes) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
const elements = attributes.attributes.nodes;
|
|
264
|
-
if (elements.length !== 1)
|
|
265
|
-
return ModuleKind.None;
|
|
266
|
-
const attribute = elements[0];
|
|
267
|
-
if (!(attribute instanceof ImportAttribute))
|
|
268
|
-
return ModuleKind.None;
|
|
269
|
-
const name = attribute.name;
|
|
270
|
-
if (name === undefined || !isStringLiteralLike(name) || literalText(name) !== 'resolution-mode')
|
|
271
|
-
return ModuleKind.None;
|
|
272
|
-
if (!isStringLiteralLike(attribute.value))
|
|
265
|
+
const attribute = resolutionModeAttribute(attributes);
|
|
266
|
+
if (attribute === undefined || !isStringLiteralLike(attribute.value))
|
|
273
267
|
return ModuleKind.None;
|
|
274
268
|
const text = literalText(attribute.value);
|
|
275
269
|
if (text === 'import')
|
|
@@ -278,6 +272,22 @@ export function getResolutionModeOverride(attributes) {
|
|
|
278
272
|
return ModuleKind.CommonJS;
|
|
279
273
|
return ModuleKind.None;
|
|
280
274
|
}
|
|
275
|
+
/** The `resolution-mode` attribute among import attributes, as tsgo's `GetResolutionModeOverride` finds it. */
|
|
276
|
+
export function resolutionModeAttribute(attributes) {
|
|
277
|
+
if (attributes === undefined)
|
|
278
|
+
return undefined;
|
|
279
|
+
for (const attribute of attributes.attributes.nodes) {
|
|
280
|
+
if (!(attribute instanceof ImportAttribute))
|
|
281
|
+
continue;
|
|
282
|
+
const name = attribute.name;
|
|
283
|
+
if (name === undefined)
|
|
284
|
+
continue;
|
|
285
|
+
const text = name instanceof Identifier ? name.text : literalText(name);
|
|
286
|
+
if (text === 'resolution-mode')
|
|
287
|
+
return attribute;
|
|
288
|
+
}
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
281
291
|
/** The attributes of an import or export declaration or a JSDoc `@import`, if any. */
|
|
282
292
|
function importOrExportAttributes(node) {
|
|
283
293
|
if (node instanceof ImportDeclaration)
|
|
@@ -335,12 +345,15 @@ export function getEmitSyntaxForUsageLocation(fileName, metadata, usage, options
|
|
|
335
345
|
if (parent === undefined)
|
|
336
346
|
return ModuleKind.None;
|
|
337
347
|
if (isRequireCall(parent, false) ||
|
|
338
|
-
(parent.kind ===
|
|
348
|
+
(parent.kind === 285 /* SyntaxKind.ExternalModuleReference */ && parent.parent instanceof ImportEqualsDeclaration)) {
|
|
339
349
|
return ModuleKind.CommonJS;
|
|
340
350
|
}
|
|
341
351
|
const fileEmitMode = getEmitModuleFormatOfFile(fileName, options, metadata);
|
|
342
352
|
const call = walkUpParenthesizedExpressions(parent);
|
|
343
353
|
if (call !== undefined && isImportCall(call)) {
|
|
354
|
+
// `import.source()` is never transformed to `require`.
|
|
355
|
+
if (isSourcePhaseImportCall(call))
|
|
356
|
+
return ModuleKind.ESNext;
|
|
344
357
|
return shouldTransformImportCall(options, fileEmitMode) ? ModuleKind.CommonJS : ModuleKind.ESNext;
|
|
345
358
|
}
|
|
346
359
|
if (fileEmitMode === ModuleKind.CommonJS)
|
|
@@ -84,6 +84,8 @@ export declare class Program implements OutputPathsHost {
|
|
|
84
84
|
getGlobalTypingsCacheLocation(): string;
|
|
85
85
|
/** Files of the same package version that redirect to the file at `path`. */
|
|
86
86
|
getRedirectTargets(path: string): readonly string[];
|
|
87
|
+
/** The nearest `package.json` lookup at or above `directory`. */
|
|
88
|
+
getPackageScopeForPath(directory: string): PackageJsonInfo | undefined;
|
|
87
89
|
/** The directory of the nearest `package.json` at or above `directory`, or `''`. */
|
|
88
90
|
getNearestAncestorDirectoryWithPackageJson(directory: string): string;
|
|
89
91
|
/** The `package.json` at `packageJsonPath`, if it exists and is the scope of its directory. */
|