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
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
import { isUnicodeWhiteSpace, isWhiteSpaceLike } from './character-codes.js';
|
|
5
5
|
import { createCompilerDiagnostic } from './diagnostics.js';
|
|
6
6
|
import { isValidLocale } from './locale.js';
|
|
7
|
-
import { buildOption, buildOptionsByName, compilerOptionsByName,
|
|
8
|
-
import { setBuildOption, setCompilerOption,
|
|
9
|
-
import { getNormalizedAbsolutePath } from './path.js';
|
|
7
|
+
import { buildOption, buildOptionsByName, compilerOptionsByName, } from './option-declarations.js';
|
|
8
|
+
import { setBuildOption, setCompilerOption, } from './options.js';
|
|
9
|
+
import { getNormalizedAbsolutePath, isNetworkPathValue } from './path.js';
|
|
10
|
+
import { getSpellingSuggestion } from './spelling.js';
|
|
10
11
|
/** Reads response files. */
|
|
11
12
|
export class CommandLineHost {
|
|
12
13
|
currentDirectory;
|
|
@@ -16,43 +17,37 @@ export class CommandLineHost {
|
|
|
16
17
|
}
|
|
17
18
|
const compilerMode = {
|
|
18
19
|
options: compilerOptionsByName,
|
|
19
|
-
unknownOption:
|
|
20
|
-
|
|
20
|
+
unknownOption: 1128 /* Diagnostics.Unknown_compiler_option_0 */,
|
|
21
|
+
unknownOptionDidYouMean: 1130 /* Diagnostics.Unknown_compiler_option_0_Did_you_mean_1 */,
|
|
22
|
+
missingArgument: 1233 /* Diagnostics.Compiler_option_0_expects_an_argument */,
|
|
21
23
|
otherModeOptions: buildOptionsByName,
|
|
22
|
-
wrongMode:
|
|
24
|
+
wrongMode: 1174 /* Diagnostics.Compiler_option_0_may_only_be_used_with_build */,
|
|
23
25
|
};
|
|
24
26
|
const buildMode = {
|
|
25
27
|
options: buildOptionsByName,
|
|
26
|
-
unknownOption:
|
|
27
|
-
|
|
28
|
+
unknownOption: 1154 /* Diagnostics.Unknown_build_option_0 */,
|
|
29
|
+
unknownOptionDidYouMean: 1159 /* Diagnostics.Unknown_build_option_0_Did_you_mean_1 */,
|
|
30
|
+
missingArgument: 1155 /* Diagnostics.Build_option_0_requires_a_value_of_type_1 */,
|
|
28
31
|
otherModeOptions: compilerOptionsByName,
|
|
29
|
-
wrongMode:
|
|
30
|
-
};
|
|
31
|
-
const watchMode = {
|
|
32
|
-
options: watchOptionsByName,
|
|
33
|
-
unknownOption: 1153 /* Diagnostics.Unknown_watch_option_0 */,
|
|
34
|
-
missingArgument: 1155 /* Diagnostics.Watch_option_0_requires_a_value_of_type_1 */,
|
|
32
|
+
wrongMode: 1175 /* Diagnostics.Compiler_option_0_may_not_be_used_with_build */,
|
|
35
33
|
};
|
|
36
34
|
export function parseCommandLine(args, host) {
|
|
37
35
|
const parser = new CommandLineParser(compilerMode, host);
|
|
38
36
|
parser.parseArguments(args);
|
|
39
37
|
const cwd = host.currentDirectory;
|
|
40
38
|
const options = {};
|
|
41
|
-
const watchOptions = {};
|
|
42
39
|
for (const [name, value] of parser.raw) {
|
|
43
40
|
if (parser.droppedLists.has(name))
|
|
44
41
|
continue;
|
|
45
42
|
setCompilerOption(options, name, toAbsolutePaths(name, value, cwd));
|
|
46
|
-
setWatchOption(watchOptions, name, value);
|
|
47
43
|
}
|
|
48
|
-
return { options,
|
|
44
|
+
return { options, fileNames: parser.fileNames, errors: parser.errors, raw: parser.raw };
|
|
49
45
|
}
|
|
50
46
|
export function parseBuildCommandLine(args, host) {
|
|
51
47
|
const parser = new CommandLineParser(buildMode, host);
|
|
52
48
|
parser.parseArguments(args);
|
|
53
49
|
const buildOptions = {};
|
|
54
50
|
const compilerOptions = {};
|
|
55
|
-
const watchOptions = {};
|
|
56
51
|
for (const [name, value] of parser.raw) {
|
|
57
52
|
if (parser.droppedLists.has(name))
|
|
58
53
|
continue;
|
|
@@ -61,23 +56,21 @@ export function parseBuildCommandLine(args, host) {
|
|
|
61
56
|
setCompilerOption(compilerOptions, name, value);
|
|
62
57
|
}
|
|
63
58
|
setBuildOption(buildOptions, name, value);
|
|
64
|
-
setWatchOption(watchOptions, name, value);
|
|
65
59
|
}
|
|
66
60
|
const errors = parser.errors;
|
|
67
61
|
const { clean, force, verbose, dry } = buildOptions;
|
|
68
62
|
const watch = compilerOptions.watch;
|
|
69
63
|
if (clean === true && force === true)
|
|
70
|
-
errors.push(createCompilerDiagnostic(
|
|
64
|
+
errors.push(createCompilerDiagnostic(1476 /* Diagnostics.Options_0_and_1_cannot_be_combined */, 'clean', 'force'));
|
|
71
65
|
if (clean === true && verbose === true)
|
|
72
|
-
errors.push(createCompilerDiagnostic(
|
|
66
|
+
errors.push(createCompilerDiagnostic(1476 /* Diagnostics.Options_0_and_1_cannot_be_combined */, 'clean', 'verbose'));
|
|
73
67
|
if (clean === true && watch === true)
|
|
74
|
-
errors.push(createCompilerDiagnostic(
|
|
68
|
+
errors.push(createCompilerDiagnostic(1476 /* Diagnostics.Options_0_and_1_cannot_be_combined */, 'clean', 'watch'));
|
|
75
69
|
if (watch === true && dry === true)
|
|
76
|
-
errors.push(createCompilerDiagnostic(
|
|
70
|
+
errors.push(createCompilerDiagnostic(1476 /* Diagnostics.Options_0_and_1_cannot_be_combined */, 'watch', 'dry'));
|
|
77
71
|
return {
|
|
78
72
|
buildOptions,
|
|
79
73
|
compilerOptions,
|
|
80
|
-
watchOptions,
|
|
81
74
|
projects: parser.fileNames.length > 0 ? parser.fileNames : ['.'],
|
|
82
75
|
errors,
|
|
83
76
|
raw: parser.raw,
|
|
@@ -109,6 +102,8 @@ class CommandLineParser {
|
|
|
109
102
|
* though `raw` (and so `--init`) has `[]`.
|
|
110
103
|
*/
|
|
111
104
|
droppedLists = new Set();
|
|
105
|
+
/** Response files being read, so one that includes itself is skipped. */
|
|
106
|
+
responseFiles = new Set();
|
|
112
107
|
constructor(mode, host) {
|
|
113
108
|
this.mode = mode;
|
|
114
109
|
this.host = host;
|
|
@@ -126,16 +121,10 @@ class CommandLineParser {
|
|
|
126
121
|
else if (arg.startsWith('-')) {
|
|
127
122
|
const name = arg.startsWith('--') ? arg.slice(2) : arg.slice(1);
|
|
128
123
|
const option = this.mode.options.find(name, true);
|
|
129
|
-
if (option !== undefined)
|
|
124
|
+
if (option !== undefined)
|
|
130
125
|
i = this.parseOptionValue(args, i, option, this.mode);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const watchOption = watchOptionsByName.find(name, true);
|
|
134
|
-
if (watchOption !== undefined)
|
|
135
|
-
i = this.parseOptionValue(args, i, watchOption, watchMode);
|
|
136
|
-
else
|
|
137
|
-
this.errors.push(this.unknownOptionError(name, arg));
|
|
138
|
-
}
|
|
126
|
+
else
|
|
127
|
+
this.errors.push(this.unknownOptionError(name, arg));
|
|
139
128
|
}
|
|
140
129
|
else {
|
|
141
130
|
this.fileNames.push(arg);
|
|
@@ -145,17 +134,27 @@ class CommandLineParser {
|
|
|
145
134
|
unknownOptionError(name, arg) {
|
|
146
135
|
const other = this.mode.otherModeOptions?.get(name);
|
|
147
136
|
if (other !== undefined && this.mode.wrongMode !== undefined) {
|
|
148
|
-
const message = other.name === 'build' ?
|
|
137
|
+
const message = other.name === 'build' ? 1475 /* Diagnostics.Option_build_must_be_the_first_command_line_argument */ : this.mode.wrongMode;
|
|
149
138
|
return createCompilerDiagnostic(message, name);
|
|
150
139
|
}
|
|
140
|
+
const suggestion = getSpellingSuggestion(name, this.mode.options.names());
|
|
141
|
+
if (suggestion !== '')
|
|
142
|
+
return createCompilerDiagnostic(this.mode.unknownOptionDidYouMean, arg, suggestion);
|
|
151
143
|
return createCompilerDiagnostic(this.mode.unknownOption, arg);
|
|
152
144
|
}
|
|
153
145
|
/** Splits a response file into arguments at whitespace; `"` quotes an argument. */
|
|
154
146
|
parseResponseFile(fileName) {
|
|
155
147
|
const path = getNormalizedAbsolutePath(fileName, this.host.currentDirectory);
|
|
148
|
+
if (this.responseFiles.has(path))
|
|
149
|
+
return;
|
|
150
|
+
this.responseFiles.add(path);
|
|
151
|
+
this.readResponseFile(fileName, path);
|
|
152
|
+
this.responseFiles.delete(path);
|
|
153
|
+
}
|
|
154
|
+
readResponseFile(fileName, path) {
|
|
156
155
|
const text = this.host.readFile(path);
|
|
157
156
|
if (text === undefined) {
|
|
158
|
-
this.errors.push(createCompilerDiagnostic(
|
|
157
|
+
this.errors.push(createCompilerDiagnostic(1165 /* Diagnostics.Cannot_read_file_0 */, path));
|
|
159
158
|
return;
|
|
160
159
|
}
|
|
161
160
|
const args = [];
|
|
@@ -175,11 +174,11 @@ class CommandLineParser {
|
|
|
175
174
|
pos++;
|
|
176
175
|
}
|
|
177
176
|
else {
|
|
178
|
-
|
|
177
|
+
// The file name as written.
|
|
178
|
+
this.errors.push(createCompilerDiagnostic(1234 /* Diagnostics.Unterminated_quoted_string_in_response_file_0 */, fileName));
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
else {
|
|
182
|
-
// tsgo panics when the file ends in an argument; tsc accepts it.
|
|
183
182
|
while (pos < text.length && text.charCodeAt(pos) > 32)
|
|
184
183
|
pos++;
|
|
185
184
|
args.push(text.slice(start, pos));
|
|
@@ -202,10 +201,10 @@ class CommandLineParser {
|
|
|
202
201
|
this.raw.set(name, false);
|
|
203
202
|
return i + 1;
|
|
204
203
|
}
|
|
205
|
-
this.errors.push(createCompilerDiagnostic(
|
|
204
|
+
this.errors.push(createCompilerDiagnostic(1393 /* Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line */, name));
|
|
206
205
|
return value === 'true' ? i + 1 : i;
|
|
207
206
|
}
|
|
208
|
-
this.errors.push(createCompilerDiagnostic(
|
|
207
|
+
this.errors.push(createCompilerDiagnostic(1248 /* Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line */, name));
|
|
209
208
|
return value !== '' && !value.startsWith('-') ? i + 1 : i;
|
|
210
209
|
}
|
|
211
210
|
if (next === undefined) {
|
|
@@ -234,7 +233,7 @@ class CommandLineParser {
|
|
|
234
233
|
this.raw.set(name, value);
|
|
235
234
|
}
|
|
236
235
|
else {
|
|
237
|
-
this.errors.push(createCompilerDiagnostic(
|
|
236
|
+
this.errors.push(createCompilerDiagnostic(1123 /* Diagnostics.Option_0_requires_value_to_be_greater_than_1 */, name, String(option.minValue ?? 0)));
|
|
238
237
|
}
|
|
239
238
|
return i + 1;
|
|
240
239
|
}
|
|
@@ -243,7 +242,11 @@ class CommandLineParser {
|
|
|
243
242
|
this.raw.set(name, next !== 'false');
|
|
244
243
|
return next === 'true' || next === 'false' ? i + 1 : i;
|
|
245
244
|
case 'string':
|
|
246
|
-
if (this.validateString(option, next))
|
|
245
|
+
if (!this.validateString(option, next))
|
|
246
|
+
return i + 1;
|
|
247
|
+
if (option.isFilePath === true && isNetworkPathValue(next, this.host.currentDirectory))
|
|
248
|
+
this.errors.push(createCompilerDiagnostic(1195 /* Diagnostics.Network_path_0_is_not_supported */, next));
|
|
249
|
+
else
|
|
247
250
|
this.raw.set(name, next);
|
|
248
251
|
return i + 1;
|
|
249
252
|
case 'list': {
|
|
@@ -306,7 +309,7 @@ class CommandLineParser {
|
|
|
306
309
|
}
|
|
307
310
|
}
|
|
308
311
|
else if (option.extraValidation === 'locale' && !isValidLocale(value)) {
|
|
309
|
-
this.errors.push(createCompilerDiagnostic(
|
|
312
|
+
this.errors.push(createCompilerDiagnostic(1236 /* Diagnostics.Locale_must_be_an_IETF_BCP_47_language_tag_Examples_Colon_0_1 */, 'en', 'ja-jp'));
|
|
310
313
|
return false;
|
|
311
314
|
}
|
|
312
315
|
return true;
|
|
@@ -320,7 +323,7 @@ function valueTypeName(option) {
|
|
|
320
323
|
return option.kind;
|
|
321
324
|
}
|
|
322
325
|
function invalidEnumValueError(option) {
|
|
323
|
-
return createCompilerDiagnostic(
|
|
326
|
+
return createCompilerDiagnostic(1235 /* Diagnostics.Argument_for_0_option_must_be_Colon_1 */, '--' + option.name, enumNamesList(option));
|
|
324
327
|
}
|
|
325
328
|
/** `'a', 'b', 'c'`: the option's value names without deprecated ones. */
|
|
326
329
|
export function enumNamesList(option) {
|
|
@@ -340,7 +343,7 @@ function specError(spec) {
|
|
|
340
343
|
return undefined;
|
|
341
344
|
const lastDotDot = spec.endsWith('/..') ? spec.length : spec.lastIndexOf('/../');
|
|
342
345
|
return lastDotDot > wildcard
|
|
343
|
-
?
|
|
346
|
+
? 1147 /* Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0 */
|
|
344
347
|
: undefined;
|
|
345
348
|
}
|
|
346
349
|
/** Parses a decimal 64-bit integer with an optional sign, like Go's `strconv.Atoi`. */
|
|
@@ -105,6 +105,11 @@ export declare abstract class CompilerProgram {
|
|
|
105
105
|
readonly times: CompileTimes;
|
|
106
106
|
readonly emitter: ProgramEmitter;
|
|
107
107
|
constructor(checked: CheckedProgram, times: CompileTimes);
|
|
108
|
+
/**
|
|
109
|
+
* The time spent in declaration emit while checking, to count as emit time rather than check time, since
|
|
110
|
+
* the last call. Only an incremental program emits while checking, to compute signatures.
|
|
111
|
+
*/
|
|
112
|
+
takeNestedEmitTime(): number;
|
|
108
113
|
get program(): Program;
|
|
109
114
|
get options(): CompilerOptions;
|
|
110
115
|
getConfigFileParsingDiagnostics(): readonly Diagnostic[];
|
|
@@ -112,6 +117,12 @@ export declare abstract class CompilerProgram {
|
|
|
112
117
|
getProgramDiagnostics(): Diagnostic[];
|
|
113
118
|
/** See `CheckedProgram.getGlobalDiagnostics`. */
|
|
114
119
|
getGlobalDiagnostics(withCheckerThreads?: boolean): Diagnostic[];
|
|
120
|
+
/**
|
|
121
|
+
* Whether the global diagnostics found by checking are reported after the semantic diagnostics. An
|
|
122
|
+
* incremental program has them in the semantic diagnostics of the files they were found in
|
|
123
|
+
* (`CheckedProgram.globalsInFileDiagnostics`).
|
|
124
|
+
*/
|
|
125
|
+
reportsGlobalDiagnosticsOfChecking(): boolean;
|
|
115
126
|
/** Semantic diagnostics of every file. */
|
|
116
127
|
abstract getSemanticDiagnostics(): Diagnostic[];
|
|
117
128
|
/** Declaration emit errors of every file. */
|
|
@@ -131,12 +142,16 @@ export declare class PlainProgram extends CompilerProgram {
|
|
|
131
142
|
/** Under `noEmitOnError`, a skipped emit with the errors that prevent it; otherwise `undefined`. */
|
|
132
143
|
export declare function handleNoEmitOnError(program: CompilerProgram): EmitResult | undefined;
|
|
133
144
|
/**
|
|
134
|
-
* Config and syntax errors; without syntax errors, program, global and semantic errors too, and
|
|
135
|
-
* declaration errors under `noEmit` (or `withDeclarationDiagnostics`). With
|
|
136
|
-
* declaration errors are left to
|
|
137
|
-
* `noEmitOnError`) whether or not other errors were found.
|
|
145
|
+
* Config and syntax errors; without syntax errors, program, global and semantic errors too, and, when
|
|
146
|
+
* there are none of these, declaration errors under `noEmit` (or `withDeclarationDiagnostics`). With
|
|
147
|
+
* `declarationsLater`, the declaration errors are left to the caller (`declarationDiagnosticsDue`).
|
|
138
148
|
*/
|
|
139
149
|
export declare function getDiagnosticsOfProgram(program: CompilerProgram, withDeclarationDiagnostics: boolean, declarationsLater?: boolean): Diagnostic[];
|
|
150
|
+
/**
|
|
151
|
+
* Whether `getDiagnosticsOfProgram` adds the declaration errors to `diagnostics`: under `noEmit` (or
|
|
152
|
+
* `withDeclarationDiagnostics`) with declarations, when only config errors were found.
|
|
153
|
+
*/
|
|
154
|
+
export declare function declarationDiagnosticsDue(program: CompilerProgram, diagnostics: readonly Diagnostic[], withDeclarationDiagnostics: boolean): boolean;
|
|
140
155
|
/** Combines emit results in order. */
|
|
141
156
|
export declare function combineEmitResults(results: readonly EmitResult[]): EmitResult;
|
|
142
157
|
export { CheckedProgram };
|
|
@@ -311,6 +311,13 @@ export class CompilerProgram {
|
|
|
311
311
|
this.times = times;
|
|
312
312
|
this.emitter = new ProgramEmitter(checked);
|
|
313
313
|
}
|
|
314
|
+
/**
|
|
315
|
+
* The time spent in declaration emit while checking, to count as emit time rather than check time, since
|
|
316
|
+
* the last call. Only an incremental program emits while checking, to compute signatures.
|
|
317
|
+
*/
|
|
318
|
+
takeNestedEmitTime() {
|
|
319
|
+
return 0;
|
|
320
|
+
}
|
|
314
321
|
get program() {
|
|
315
322
|
return this.checked.program;
|
|
316
323
|
}
|
|
@@ -330,6 +337,14 @@ export class CompilerProgram {
|
|
|
330
337
|
getGlobalDiagnostics(withCheckerThreads = true) {
|
|
331
338
|
return this.checked.getGlobalDiagnostics(withCheckerThreads);
|
|
332
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Whether the global diagnostics found by checking are reported after the semantic diagnostics. An
|
|
342
|
+
* incremental program has them in the semantic diagnostics of the files they were found in
|
|
343
|
+
* (`CheckedProgram.globalsInFileDiagnostics`).
|
|
344
|
+
*/
|
|
345
|
+
reportsGlobalDiagnosticsOfChecking() {
|
|
346
|
+
return !this.checked.globalsInFileDiagnostics;
|
|
347
|
+
}
|
|
333
348
|
}
|
|
334
349
|
/** Collects declaration emit errors without writing anything. */
|
|
335
350
|
class DiscardingWriter extends OutputWriter {
|
|
@@ -363,11 +378,13 @@ export class PlainProgram extends CompilerProgram {
|
|
|
363
378
|
}
|
|
364
379
|
emit(writer) {
|
|
365
380
|
const options = this.options;
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
381
|
+
// A `noEmit` program emits nothing, and its emit is not skipped (tsgo's `HandleNoEmitOptions`): its
|
|
382
|
+
// declaration errors come with its other diagnostics (`getDiagnosticsOfProgram`).
|
|
383
|
+
if (options.noEmit === true)
|
|
384
|
+
return new EmitResult();
|
|
385
|
+
const skipped = handleNoEmitOnError(this);
|
|
386
|
+
if (skipped !== undefined)
|
|
387
|
+
return skipped;
|
|
371
388
|
const program = this.program;
|
|
372
389
|
const files = program.getSourceFiles();
|
|
373
390
|
const parallel = this.checked.emittedInParallel;
|
|
@@ -379,7 +396,8 @@ export class PlainProgram extends CompilerProgram {
|
|
|
379
396
|
const emitted = parallel[i];
|
|
380
397
|
// The declaration thread emitted the declarations of the files it could (parallel-emit.ts).
|
|
381
398
|
const ahead = this.checked.declarationsEmittedAhead;
|
|
382
|
-
|
|
399
|
+
// The file's JavaScript is emitted too, here or on an emit thread.
|
|
400
|
+
const declarations = () => ahead?.[i] ?? this.emitter.emit([file], 4 /* EmitOnly.DtsAfterJs */, writer);
|
|
383
401
|
if (emitted === undefined)
|
|
384
402
|
return ahead !== undefined
|
|
385
403
|
? combineEmitResults([this.emitter.emit([file], 1 /* EmitOnly.Js */, writer), declarations()])
|
|
@@ -390,14 +408,6 @@ export class PlainProgram extends CompilerProgram {
|
|
|
390
408
|
return written;
|
|
391
409
|
return combineEmitResults([written, declarations()]);
|
|
392
410
|
}));
|
|
393
|
-
if (options.noEmit === true) {
|
|
394
|
-
// Emit is skipped only for files that would have been emitted.
|
|
395
|
-
result.emitSkipped = files.some((file) => program.sourceFileMayBeEmitted(file, false));
|
|
396
|
-
// Declaration emit still runs for its errors, as in tsgo, also when other errors were found.
|
|
397
|
-
if (getEmitDeclarations(options) && options.noEmitOnError !== true)
|
|
398
|
-
for (const d of this.getDeclarationDiagnostics())
|
|
399
|
-
result.diagnostics.push(d);
|
|
400
|
-
}
|
|
401
411
|
return result;
|
|
402
412
|
}
|
|
403
413
|
}
|
|
@@ -415,10 +425,9 @@ export function handleNoEmitOnError(program) {
|
|
|
415
425
|
return result;
|
|
416
426
|
}
|
|
417
427
|
/**
|
|
418
|
-
* Config and syntax errors; without syntax errors, program, global and semantic errors too, and
|
|
419
|
-
* declaration errors under `noEmit` (or `withDeclarationDiagnostics`). With
|
|
420
|
-
* declaration errors are left to
|
|
421
|
-
* `noEmitOnError`) whether or not other errors were found.
|
|
428
|
+
* Config and syntax errors; without syntax errors, program, global and semantic errors too, and, when
|
|
429
|
+
* there are none of these, declaration errors under `noEmit` (or `withDeclarationDiagnostics`). With
|
|
430
|
+
* `declarationsLater`, the declaration errors are left to the caller (`declarationDiagnosticsDue`).
|
|
422
431
|
*/
|
|
423
432
|
export function getDiagnosticsOfProgram(program, withDeclarationDiagnostics, declarationsLater = false) {
|
|
424
433
|
const result = [...program.getConfigFileParsingDiagnostics()];
|
|
@@ -440,23 +449,33 @@ export function getDiagnosticsOfProgram(program, withDeclarationDiagnostics, dec
|
|
|
440
449
|
if (result.length === configCount) {
|
|
441
450
|
const checkStart = performance.now();
|
|
442
451
|
const semantic = program.getSemanticDiagnostics();
|
|
443
|
-
|
|
452
|
+
// Declaration emit that computed signatures while checking counts as emit time, as in TypeScript 7.1.
|
|
453
|
+
const nestedEmitTime = program.takeNestedEmitTime();
|
|
454
|
+
program.times.checkTime = Math.max(0, performance.now() - checkStart - nestedEmitTime);
|
|
455
|
+
program.times.emitTime += nestedEmitTime;
|
|
444
456
|
for (const d of semantic)
|
|
445
457
|
result.push(d);
|
|
446
458
|
// Checking may have found more, such as missing global types.
|
|
447
|
-
|
|
448
|
-
|
|
459
|
+
if (program.reportsGlobalDiagnosticsOfChecking())
|
|
460
|
+
for (const d of program.getGlobalDiagnostics())
|
|
461
|
+
result.push(d);
|
|
449
462
|
mark('semantic diagnostics');
|
|
450
463
|
}
|
|
451
|
-
if (!declarationsLater &&
|
|
452
|
-
(withDeclarationDiagnostics || options.noEmit === true) &&
|
|
453
|
-
getEmitDeclarations(options) &&
|
|
454
|
-
result.length === configCount) {
|
|
464
|
+
if (!declarationsLater && declarationDiagnosticsDue(program, result, withDeclarationDiagnostics))
|
|
455
465
|
for (const d of program.getDeclarationDiagnostics())
|
|
456
466
|
result.push(d);
|
|
457
|
-
}
|
|
458
467
|
return result;
|
|
459
468
|
}
|
|
469
|
+
/**
|
|
470
|
+
* Whether `getDiagnosticsOfProgram` adds the declaration errors to `diagnostics`: under `noEmit` (or
|
|
471
|
+
* `withDeclarationDiagnostics`) with declarations, when only config errors were found.
|
|
472
|
+
*/
|
|
473
|
+
export function declarationDiagnosticsDue(program, diagnostics, withDeclarationDiagnostics) {
|
|
474
|
+
const options = program.options;
|
|
475
|
+
return ((withDeclarationDiagnostics || options.noEmit === true) &&
|
|
476
|
+
getEmitDeclarations(options) &&
|
|
477
|
+
diagnostics.length === program.getConfigFileParsingDiagnostics().length);
|
|
478
|
+
}
|
|
460
479
|
/** Combines emit results in order. */
|
|
461
480
|
export function combineEmitResults(results) {
|
|
462
481
|
const result = new EmitResult();
|