typescript 5.4.0-dev.20231207 → 5.4.0-dev.20231209

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/lib/typescript.js CHANGED
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.4";
38
- version = `${versionMajorMinor}.0-dev.20231207`;
38
+ version = `${versionMajorMinor}.0-dev.20231209`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -5046,6 +5046,7 @@ ${lanes.join("\n")}
5046
5046
  EmitHint6[EmitHint6["Unspecified"] = 4] = "Unspecified";
5047
5047
  EmitHint6[EmitHint6["EmbeddedStatement"] = 5] = "EmbeddedStatement";
5048
5048
  EmitHint6[EmitHint6["JsxAttributeValue"] = 6] = "JsxAttributeValue";
5049
+ EmitHint6[EmitHint6["ImportTypeNodeAttributes"] = 7] = "ImportTypeNodeAttributes";
5049
5050
  return EmitHint6;
5050
5051
  })(EmitHint || {});
5051
5052
  OuterExpressionKinds = /* @__PURE__ */ ((OuterExpressionKinds2) => {
@@ -17803,38 +17804,12 @@ ${lanes.join("\n")}
17803
17804
  return callback;
17804
17805
  }
17805
17806
  }
17806
- function getEmitScriptTarget(compilerOptions) {
17807
- return compilerOptions.target ?? (compilerOptions.module === 100 /* Node16 */ && 9 /* ES2022 */ || compilerOptions.module === 199 /* NodeNext */ && 99 /* ESNext */ || 1 /* ES5 */);
17808
- }
17809
- function getEmitModuleKind(compilerOptions) {
17810
- return typeof compilerOptions.module === "number" ? compilerOptions.module : getEmitScriptTarget(compilerOptions) >= 2 /* ES2015 */ ? 5 /* ES2015 */ : 1 /* CommonJS */;
17807
+ function createComputedCompilerOptions(options) {
17808
+ return options;
17811
17809
  }
17812
17810
  function emitModuleKindIsNonNodeESM(moduleKind) {
17813
17811
  return moduleKind >= 5 /* ES2015 */ && moduleKind <= 99 /* ESNext */;
17814
17812
  }
17815
- function getEmitModuleResolutionKind(compilerOptions) {
17816
- let moduleResolution = compilerOptions.moduleResolution;
17817
- if (moduleResolution === void 0) {
17818
- switch (getEmitModuleKind(compilerOptions)) {
17819
- case 1 /* CommonJS */:
17820
- moduleResolution = 2 /* Node10 */;
17821
- break;
17822
- case 100 /* Node16 */:
17823
- moduleResolution = 3 /* Node16 */;
17824
- break;
17825
- case 199 /* NodeNext */:
17826
- moduleResolution = 99 /* NodeNext */;
17827
- break;
17828
- default:
17829
- moduleResolution = 1 /* Classic */;
17830
- break;
17831
- }
17832
- }
17833
- return moduleResolution;
17834
- }
17835
- function getEmitModuleDetectionKind(options) {
17836
- return options.moduleDetection || (getEmitModuleKind(options) === 100 /* Node16 */ || getEmitModuleKind(options) === 199 /* NodeNext */ ? 3 /* Force */ : 2 /* Auto */);
17837
- }
17838
17813
  function hasJsonModuleEmitEnabled(options) {
17839
17814
  switch (getEmitModuleKind(options)) {
17840
17815
  case 1 /* CommonJS */:
@@ -17850,9 +17825,6 @@ ${lanes.join("\n")}
17850
17825
  return false;
17851
17826
  }
17852
17827
  }
17853
- function getIsolatedModules(options) {
17854
- return !!(options.isolatedModules || options.verbatimModuleSyntax);
17855
- }
17856
17828
  function importNameElisionDisabled(options) {
17857
17829
  return options.verbatimModuleSyntax || options.isolatedModules && options.preserveValueImports;
17858
17830
  }
@@ -17862,88 +17834,15 @@ ${lanes.join("\n")}
17862
17834
  function unusedLabelIsError(options) {
17863
17835
  return options.allowUnusedLabels === false;
17864
17836
  }
17865
- function getAreDeclarationMapsEnabled(options) {
17866
- return !!(getEmitDeclarations(options) && options.declarationMap);
17867
- }
17868
- function getESModuleInterop(compilerOptions) {
17869
- if (compilerOptions.esModuleInterop !== void 0) {
17870
- return compilerOptions.esModuleInterop;
17871
- }
17872
- switch (getEmitModuleKind(compilerOptions)) {
17873
- case 100 /* Node16 */:
17874
- case 199 /* NodeNext */:
17875
- return true;
17876
- }
17877
- return void 0;
17878
- }
17879
- function getAllowSyntheticDefaultImports(compilerOptions) {
17880
- if (compilerOptions.allowSyntheticDefaultImports !== void 0) {
17881
- return compilerOptions.allowSyntheticDefaultImports;
17882
- }
17883
- return getESModuleInterop(compilerOptions) || getEmitModuleKind(compilerOptions) === 4 /* System */ || getEmitModuleResolutionKind(compilerOptions) === 100 /* Bundler */;
17884
- }
17885
17837
  function moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution) {
17886
17838
  return moduleResolution >= 3 /* Node16 */ && moduleResolution <= 99 /* NodeNext */ || moduleResolution === 100 /* Bundler */;
17887
17839
  }
17888
17840
  function shouldResolveJsRequire(compilerOptions) {
17889
17841
  return !!compilerOptions.noDtsResolution || getEmitModuleResolutionKind(compilerOptions) !== 100 /* Bundler */;
17890
17842
  }
17891
- function getResolvePackageJsonExports(compilerOptions) {
17892
- const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
17893
- if (!moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
17894
- return false;
17895
- }
17896
- if (compilerOptions.resolvePackageJsonExports !== void 0) {
17897
- return compilerOptions.resolvePackageJsonExports;
17898
- }
17899
- switch (moduleResolution) {
17900
- case 3 /* Node16 */:
17901
- case 99 /* NodeNext */:
17902
- case 100 /* Bundler */:
17903
- return true;
17904
- }
17905
- return false;
17906
- }
17907
- function getResolvePackageJsonImports(compilerOptions) {
17908
- const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
17909
- if (!moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
17910
- return false;
17911
- }
17912
- if (compilerOptions.resolvePackageJsonExports !== void 0) {
17913
- return compilerOptions.resolvePackageJsonExports;
17914
- }
17915
- switch (moduleResolution) {
17916
- case 3 /* Node16 */:
17917
- case 99 /* NodeNext */:
17918
- case 100 /* Bundler */:
17919
- return true;
17920
- }
17921
- return false;
17922
- }
17923
- function getResolveJsonModule(compilerOptions) {
17924
- if (compilerOptions.resolveJsonModule !== void 0) {
17925
- return compilerOptions.resolveJsonModule;
17926
- }
17927
- return getEmitModuleResolutionKind(compilerOptions) === 100 /* Bundler */;
17928
- }
17929
- function getEmitDeclarations(compilerOptions) {
17930
- return !!(compilerOptions.declaration || compilerOptions.composite);
17931
- }
17932
- function shouldPreserveConstEnums(compilerOptions) {
17933
- return !!(compilerOptions.preserveConstEnums || getIsolatedModules(compilerOptions));
17934
- }
17935
- function isIncrementalCompilation(options) {
17936
- return !!(options.incremental || options.composite);
17937
- }
17938
17843
  function getStrictOptionValue(compilerOptions, flag) {
17939
17844
  return compilerOptions[flag] === void 0 ? !!compilerOptions.strict : !!compilerOptions[flag];
17940
17845
  }
17941
- function getAllowJSCompilerOption(compilerOptions) {
17942
- return compilerOptions.allowJs === void 0 ? !!compilerOptions.checkJs : compilerOptions.allowJs;
17943
- }
17944
- function getUseDefineForClassFields(compilerOptions) {
17945
- return compilerOptions.useDefineForClassFields === void 0 ? getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */ : compilerOptions.useDefineForClassFields;
17946
- }
17947
17846
  function getEmitStandardClassFields(compilerOptions) {
17948
17847
  return compilerOptions.useDefineForClassFields !== false && getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */;
17949
17848
  }
@@ -18979,7 +18878,7 @@ ${lanes.join("\n")}
18979
18878
  function replaceFirstStar(s, replacement) {
18980
18879
  return stringReplace.call(s, "*", replacement);
18981
18880
  }
18982
- var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, getScriptTargetFeatures, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries, stringReplace;
18881
+ var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, getScriptTargetFeatures, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, computedOptions, getEmitScriptTarget, getEmitModuleKind, getEmitModuleResolutionKind, getEmitModuleDetectionKind, getIsolatedModules, getESModuleInterop, getAllowSyntheticDefaultImports, getResolvePackageJsonExports, getResolvePackageJsonImports, getResolveJsonModule, getEmitDeclarations, shouldPreserveConstEnums, isIncrementalCompilation, getAreDeclarationMapsEnabled, getAllowJSCompilerOption, getUseDefineForClassFields, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries, stringReplace;
18983
18882
  var init_utilities = __esm({
18984
18883
  "src/compiler/utilities.ts"() {
18985
18884
  "use strict";
@@ -19493,6 +19392,225 @@ ${lanes.join("\n")}
19493
19392
  getSourceMapSourceConstructor: () => SourceMapSource
19494
19393
  };
19495
19394
  objectAllocatorPatchers = [];
19395
+ computedOptions = createComputedCompilerOptions({
19396
+ target: {
19397
+ dependencies: ["module"],
19398
+ computeValue: (compilerOptions) => {
19399
+ return compilerOptions.target ?? (compilerOptions.module === 100 /* Node16 */ && 9 /* ES2022 */ || compilerOptions.module === 199 /* NodeNext */ && 99 /* ESNext */ || 1 /* ES5 */);
19400
+ }
19401
+ },
19402
+ module: {
19403
+ dependencies: ["target"],
19404
+ computeValue: (compilerOptions) => {
19405
+ return typeof compilerOptions.module === "number" ? compilerOptions.module : computedOptions.target.computeValue(compilerOptions) >= 2 /* ES2015 */ ? 5 /* ES2015 */ : 1 /* CommonJS */;
19406
+ }
19407
+ },
19408
+ moduleResolution: {
19409
+ dependencies: ["module", "target"],
19410
+ computeValue: (compilerOptions) => {
19411
+ let moduleResolution = compilerOptions.moduleResolution;
19412
+ if (moduleResolution === void 0) {
19413
+ switch (computedOptions.module.computeValue(compilerOptions)) {
19414
+ case 1 /* CommonJS */:
19415
+ moduleResolution = 2 /* Node10 */;
19416
+ break;
19417
+ case 100 /* Node16 */:
19418
+ moduleResolution = 3 /* Node16 */;
19419
+ break;
19420
+ case 199 /* NodeNext */:
19421
+ moduleResolution = 99 /* NodeNext */;
19422
+ break;
19423
+ default:
19424
+ moduleResolution = 1 /* Classic */;
19425
+ break;
19426
+ }
19427
+ }
19428
+ return moduleResolution;
19429
+ }
19430
+ },
19431
+ moduleDetection: {
19432
+ dependencies: ["module", "target"],
19433
+ computeValue: (compilerOptions) => {
19434
+ return compilerOptions.moduleDetection || (computedOptions.module.computeValue(compilerOptions) === 100 /* Node16 */ || computedOptions.module.computeValue(compilerOptions) === 199 /* NodeNext */ ? 3 /* Force */ : 2 /* Auto */);
19435
+ }
19436
+ },
19437
+ isolatedModules: {
19438
+ dependencies: ["verbatimModuleSyntax"],
19439
+ computeValue: (compilerOptions) => {
19440
+ return !!(compilerOptions.isolatedModules || compilerOptions.verbatimModuleSyntax);
19441
+ }
19442
+ },
19443
+ esModuleInterop: {
19444
+ dependencies: ["module", "target"],
19445
+ computeValue: (compilerOptions) => {
19446
+ if (compilerOptions.esModuleInterop !== void 0) {
19447
+ return compilerOptions.esModuleInterop;
19448
+ }
19449
+ switch (computedOptions.module.computeValue(compilerOptions)) {
19450
+ case 100 /* Node16 */:
19451
+ case 199 /* NodeNext */:
19452
+ return true;
19453
+ }
19454
+ return false;
19455
+ }
19456
+ },
19457
+ allowSyntheticDefaultImports: {
19458
+ dependencies: ["module", "target", "moduleResolution"],
19459
+ computeValue: (compilerOptions) => {
19460
+ if (compilerOptions.allowSyntheticDefaultImports !== void 0) {
19461
+ return compilerOptions.allowSyntheticDefaultImports;
19462
+ }
19463
+ return computedOptions.esModuleInterop.computeValue(compilerOptions) || computedOptions.module.computeValue(compilerOptions) === 4 /* System */ || computedOptions.moduleResolution.computeValue(compilerOptions) === 100 /* Bundler */;
19464
+ }
19465
+ },
19466
+ resolvePackageJsonExports: {
19467
+ dependencies: ["moduleResolution"],
19468
+ computeValue: (compilerOptions) => {
19469
+ const moduleResolution = computedOptions.moduleResolution.computeValue(compilerOptions);
19470
+ if (!moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
19471
+ return false;
19472
+ }
19473
+ if (compilerOptions.resolvePackageJsonExports !== void 0) {
19474
+ return compilerOptions.resolvePackageJsonExports;
19475
+ }
19476
+ switch (moduleResolution) {
19477
+ case 3 /* Node16 */:
19478
+ case 99 /* NodeNext */:
19479
+ case 100 /* Bundler */:
19480
+ return true;
19481
+ }
19482
+ return false;
19483
+ }
19484
+ },
19485
+ resolvePackageJsonImports: {
19486
+ dependencies: ["moduleResolution", "resolvePackageJsonExports"],
19487
+ computeValue: (compilerOptions) => {
19488
+ const moduleResolution = computedOptions.moduleResolution.computeValue(compilerOptions);
19489
+ if (!moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution)) {
19490
+ return false;
19491
+ }
19492
+ if (compilerOptions.resolvePackageJsonExports !== void 0) {
19493
+ return compilerOptions.resolvePackageJsonExports;
19494
+ }
19495
+ switch (moduleResolution) {
19496
+ case 3 /* Node16 */:
19497
+ case 99 /* NodeNext */:
19498
+ case 100 /* Bundler */:
19499
+ return true;
19500
+ }
19501
+ return false;
19502
+ }
19503
+ },
19504
+ resolveJsonModule: {
19505
+ dependencies: ["moduleResolution", "module", "target"],
19506
+ computeValue: (compilerOptions) => {
19507
+ if (compilerOptions.resolveJsonModule !== void 0) {
19508
+ return compilerOptions.resolveJsonModule;
19509
+ }
19510
+ return computedOptions.moduleResolution.computeValue(compilerOptions) === 100 /* Bundler */;
19511
+ }
19512
+ },
19513
+ declaration: {
19514
+ dependencies: ["composite"],
19515
+ computeValue: (compilerOptions) => {
19516
+ return !!(compilerOptions.declaration || compilerOptions.composite);
19517
+ }
19518
+ },
19519
+ preserveConstEnums: {
19520
+ dependencies: ["isolatedModules", "verbatimModuleSyntax"],
19521
+ computeValue: (compilerOptions) => {
19522
+ return !!(compilerOptions.preserveConstEnums || computedOptions.isolatedModules.computeValue(compilerOptions));
19523
+ }
19524
+ },
19525
+ incremental: {
19526
+ dependencies: ["composite"],
19527
+ computeValue: (compilerOptions) => {
19528
+ return !!(compilerOptions.incremental || compilerOptions.composite);
19529
+ }
19530
+ },
19531
+ declarationMap: {
19532
+ dependencies: ["declaration", "composite"],
19533
+ computeValue: (compilerOptions) => {
19534
+ return !!(compilerOptions.declarationMap && computedOptions.declaration.computeValue(compilerOptions));
19535
+ }
19536
+ },
19537
+ allowJs: {
19538
+ dependencies: ["checkJs"],
19539
+ computeValue: (compilerOptions) => {
19540
+ return compilerOptions.allowJs === void 0 ? !!compilerOptions.checkJs : compilerOptions.allowJs;
19541
+ }
19542
+ },
19543
+ useDefineForClassFields: {
19544
+ dependencies: ["target", "module"],
19545
+ computeValue: (compilerOptions) => {
19546
+ return compilerOptions.useDefineForClassFields === void 0 ? computedOptions.target.computeValue(compilerOptions) >= 9 /* ES2022 */ : compilerOptions.useDefineForClassFields;
19547
+ }
19548
+ },
19549
+ noImplicitAny: {
19550
+ dependencies: ["strict"],
19551
+ computeValue: (compilerOptions) => {
19552
+ return getStrictOptionValue(compilerOptions, "noImplicitAny");
19553
+ }
19554
+ },
19555
+ noImplicitThis: {
19556
+ dependencies: ["strict"],
19557
+ computeValue: (compilerOptions) => {
19558
+ return getStrictOptionValue(compilerOptions, "noImplicitThis");
19559
+ }
19560
+ },
19561
+ strictNullChecks: {
19562
+ dependencies: ["strict"],
19563
+ computeValue: (compilerOptions) => {
19564
+ return getStrictOptionValue(compilerOptions, "strictNullChecks");
19565
+ }
19566
+ },
19567
+ strictFunctionTypes: {
19568
+ dependencies: ["strict"],
19569
+ computeValue: (compilerOptions) => {
19570
+ return getStrictOptionValue(compilerOptions, "strictFunctionTypes");
19571
+ }
19572
+ },
19573
+ strictBindCallApply: {
19574
+ dependencies: ["strict"],
19575
+ computeValue: (compilerOptions) => {
19576
+ return getStrictOptionValue(compilerOptions, "strictBindCallApply");
19577
+ }
19578
+ },
19579
+ strictPropertyInitialization: {
19580
+ dependencies: ["strict"],
19581
+ computeValue: (compilerOptions) => {
19582
+ return getStrictOptionValue(compilerOptions, "strictPropertyInitialization");
19583
+ }
19584
+ },
19585
+ alwaysStrict: {
19586
+ dependencies: ["strict"],
19587
+ computeValue: (compilerOptions) => {
19588
+ return getStrictOptionValue(compilerOptions, "alwaysStrict");
19589
+ }
19590
+ },
19591
+ useUnknownInCatchVariables: {
19592
+ dependencies: ["strict"],
19593
+ computeValue: (compilerOptions) => {
19594
+ return getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables");
19595
+ }
19596
+ }
19597
+ });
19598
+ getEmitScriptTarget = computedOptions.target.computeValue;
19599
+ getEmitModuleKind = computedOptions.module.computeValue;
19600
+ getEmitModuleResolutionKind = computedOptions.moduleResolution.computeValue;
19601
+ getEmitModuleDetectionKind = computedOptions.moduleDetection.computeValue;
19602
+ getIsolatedModules = computedOptions.isolatedModules.computeValue;
19603
+ getESModuleInterop = computedOptions.esModuleInterop.computeValue;
19604
+ getAllowSyntheticDefaultImports = computedOptions.allowSyntheticDefaultImports.computeValue;
19605
+ getResolvePackageJsonExports = computedOptions.resolvePackageJsonExports.computeValue;
19606
+ getResolvePackageJsonImports = computedOptions.resolvePackageJsonImports.computeValue;
19607
+ getResolveJsonModule = computedOptions.resolveJsonModule.computeValue;
19608
+ getEmitDeclarations = computedOptions.declaration.computeValue;
19609
+ shouldPreserveConstEnums = computedOptions.preserveConstEnums.computeValue;
19610
+ isIncrementalCompilation = computedOptions.incremental.computeValue;
19611
+ getAreDeclarationMapsEnabled = computedOptions.declarationMap.computeValue;
19612
+ getAllowJSCompilerOption = computedOptions.allowJs.computeValue;
19613
+ getUseDefineForClassFields = computedOptions.useDefineForClassFields.computeValue;
19496
19614
  reservedCharacterPattern = /[^\w\s/]/g;
19497
19615
  wildcardCharCodes = [42 /* asterisk */, 63 /* question */];
19498
19616
  commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"];
@@ -20880,8 +20998,10 @@ ${lanes.join("\n")}
20880
20998
  return update(updated, original);
20881
20999
  }
20882
21000
  function createNumericLiteral(value, numericLiteralFlags = 0 /* None */) {
21001
+ const text = typeof value === "number" ? value + "" : value;
21002
+ Debug.assert(text.charCodeAt(0) !== 45 /* minus */, "Negative numbers should be created in combination with createPrefixUnaryExpression");
20883
21003
  const node = createBaseDeclaration(9 /* NumericLiteral */);
20884
- node.text = typeof value === "number" ? value + "" : value;
21004
+ node.text = text;
20885
21005
  node.numericLiteralFlags = numericLiteralFlags;
20886
21006
  if (numericLiteralFlags & 384 /* BinaryOrOctalSpecifier */)
20887
21007
  node.transformFlags |= 1024 /* ContainsES2015 */;
@@ -36637,7 +36757,8 @@ ${lanes.join("\n")}
36637
36757
  ),
36638
36758
  (f) => getRelativePathFromFile(getNormalizedAbsolutePath(configFileName, host.getCurrentDirectory()), getNormalizedAbsolutePath(f, host.getCurrentDirectory()), getCanonicalFileName)
36639
36759
  );
36640
- const optionMap = serializeCompilerOptions(configParseResult.options, { configFilePath: getNormalizedAbsolutePath(configFileName, host.getCurrentDirectory()), useCaseSensitiveFileNames: host.useCaseSensitiveFileNames });
36760
+ const pathOptions = { configFilePath: getNormalizedAbsolutePath(configFileName, host.getCurrentDirectory()), useCaseSensitiveFileNames: host.useCaseSensitiveFileNames };
36761
+ const optionMap = serializeCompilerOptions(configParseResult.options, pathOptions);
36641
36762
  const watchOptionMap = configParseResult.watchOptions && serializeWatchOptions(configParseResult.watchOptions);
36642
36763
  const config = {
36643
36764
  compilerOptions: {
@@ -36662,6 +36783,18 @@ ${lanes.join("\n")}
36662
36783
  } : {},
36663
36784
  compileOnSave: !!configParseResult.compileOnSave ? true : void 0
36664
36785
  };
36786
+ const providedKeys = new Set(optionMap.keys());
36787
+ const impliedCompilerOptions = {};
36788
+ for (const option in computedOptions) {
36789
+ if (!providedKeys.has(option) && some(computedOptions[option].dependencies, (dep) => providedKeys.has(dep))) {
36790
+ const implied = computedOptions[option].computeValue(configParseResult.options);
36791
+ const defaultValue = computedOptions[option].computeValue({});
36792
+ if (implied !== defaultValue) {
36793
+ impliedCompilerOptions[option] = computedOptions[option].computeValue(configParseResult.options);
36794
+ }
36795
+ }
36796
+ }
36797
+ assign(config.compilerOptions, optionMapToObject(serializeCompilerOptions(impliedCompilerOptions, pathOptions)));
36665
36798
  return config;
36666
36799
  }
36667
36800
  function optionMapToObject(optionMap) {
@@ -52057,7 +52190,7 @@ ${lanes.join("\n")}
52057
52190
  return factory.createStringLiteral(name, !!singleQuote);
52058
52191
  }
52059
52192
  if (isNumericLiteralName(name) && startsWith(name, "-")) {
52060
- return factory.createComputedPropertyName(factory.createNumericLiteral(+name));
52193
+ return factory.createComputedPropertyName(factory.createPrefixUnaryExpression(41 /* MinusToken */, factory.createNumericLiteral(-name)));
52061
52194
  }
52062
52195
  return createPropertyNameNodeForIdentifierOrLiteral(name, getEmitScriptTarget(compilerOptions), singleQuote, stringNamed, isMethod);
52063
52196
  }
@@ -56123,11 +56256,10 @@ ${lanes.join("\n")}
56123
56256
  const baseTypes = getBaseTypes(source);
56124
56257
  if (baseTypes.length) {
56125
56258
  if (source.symbol && members === getMembersOfSymbol(source.symbol)) {
56126
- const symbolTable = createSymbolTable();
56127
- for (const symbol of members.values()) {
56128
- if (!(symbol.flags & 262144 /* TypeParameter */)) {
56129
- symbolTable.set(symbol.escapedName, symbol);
56130
- }
56259
+ const symbolTable = createSymbolTable(source.declaredProperties);
56260
+ const sourceIndex = getIndexSymbol(source.symbol);
56261
+ if (sourceIndex) {
56262
+ symbolTable.set("__index" /* Index */, sourceIndex);
56131
56263
  }
56132
56264
  members = symbolTable;
56133
56265
  }
@@ -60792,7 +60924,9 @@ ${lanes.join("\n")}
60792
60924
  if (checkType === wildcardType || extendsType === wildcardType) {
60793
60925
  return wildcardType;
60794
60926
  }
60795
- const checkTuples = isSimpleTupleType(root.node.checkType) && isSimpleTupleType(root.node.extendsType) && length(root.node.checkType.elements) === length(root.node.extendsType.elements);
60927
+ const checkTypeNode = skipTypeParentheses(root.node.checkType);
60928
+ const extendsTypeNode = skipTypeParentheses(root.node.extendsType);
60929
+ const checkTuples = isSimpleTupleType(checkTypeNode) && isSimpleTupleType(extendsTypeNode) && length(checkTypeNode.elements) === length(extendsTypeNode.elements);
60796
60930
  const checkTypeDeferred = isDeferredType(checkType, checkTuples);
60797
60931
  let combinedMapper;
60798
60932
  if (root.inferTypeParameters) {
@@ -85138,7 +85272,7 @@ ${lanes.join("\n")}
85138
85272
  if (enumResult)
85139
85273
  return enumResult;
85140
85274
  const literalValue = type.value;
85141
- return typeof literalValue === "object" ? factory.createBigIntLiteral(literalValue) : typeof literalValue === "number" ? factory.createNumericLiteral(literalValue) : factory.createStringLiteral(literalValue);
85275
+ return typeof literalValue === "object" ? factory.createBigIntLiteral(literalValue) : typeof literalValue === "string" ? factory.createStringLiteral(literalValue) : literalValue < 0 ? factory.createPrefixUnaryExpression(41 /* MinusToken */, factory.createNumericLiteral(-literalValue)) : factory.createNumericLiteral(literalValue);
85142
85276
  }
85143
85277
  function createLiteralConstValue(node, tracker) {
85144
85278
  const type = getTypeOfSymbol(getSymbolOfDeclaration(node));
@@ -91918,7 +92052,7 @@ ${lanes.join("\n")}
91918
92052
  function transformEnumMemberDeclarationValue(member) {
91919
92053
  const value = resolver.getConstantValue(member);
91920
92054
  if (value !== void 0) {
91921
- return typeof value === "string" ? factory2.createStringLiteral(value) : factory2.createNumericLiteral(value);
92055
+ return typeof value === "string" ? factory2.createStringLiteral(value) : value < 0 ? factory2.createPrefixUnaryExpression(41 /* MinusToken */, factory2.createNumericLiteral(-value)) : factory2.createNumericLiteral(value);
91922
92056
  } else {
91923
92057
  enableSubstitutionForNonQualifiedEnumMembers();
91924
92058
  if (member.initializer) {
@@ -92448,7 +92582,7 @@ ${lanes.join("\n")}
92448
92582
  const constantValue = tryGetConstEnumValue(node);
92449
92583
  if (constantValue !== void 0) {
92450
92584
  setConstantValue(node, constantValue);
92451
- const substitute = typeof constantValue === "string" ? factory2.createStringLiteral(constantValue) : constantValue < 0 ? factory2.createPrefixUnaryExpression(41 /* MinusToken */, factory2.createNumericLiteral(Math.abs(constantValue))) : factory2.createNumericLiteral(constantValue);
92585
+ const substitute = typeof constantValue === "string" ? factory2.createStringLiteral(constantValue) : constantValue < 0 ? factory2.createPrefixUnaryExpression(41 /* MinusToken */, factory2.createNumericLiteral(-constantValue)) : factory2.createNumericLiteral(constantValue);
92452
92586
  if (!compilerOptions.removeComments) {
92453
92587
  const originalNode = getOriginalNode(node, isAccessExpression);
92454
92588
  addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, ` ${safeMultiLineComment(getTextOfNode(originalNode))} `);
@@ -106331,7 +106465,7 @@ ${lanes.join("\n")}
106331
106465
  if (labelExpressions === void 0) {
106332
106466
  labelExpressions = [];
106333
106467
  }
106334
- const expression = factory2.createNumericLiteral(-1);
106468
+ const expression = factory2.createNumericLiteral(Number.MAX_SAFE_INTEGER);
106335
106469
  if (labelExpressions[label] === void 0) {
106336
106470
  labelExpressions[label] = [expression];
106337
106471
  } else {
@@ -112242,7 +112376,8 @@ ${lanes.join("\n")}
112242
112376
  if (shouldStripInternal(m))
112243
112377
  return;
112244
112378
  const constValue = resolver.getConstantValue(m);
112245
- return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m);
112379
+ const newInitializer = constValue === void 0 ? void 0 : typeof constValue === "string" ? factory2.createStringLiteral(constValue) : constValue < 0 ? factory2.createPrefixUnaryExpression(41 /* MinusToken */, factory2.createNumericLiteral(-constValue)) : factory2.createNumericLiteral(constValue);
112380
+ return preserveJsDoc(factory2.updateEnumMember(m, m.name, newInitializer), m);
112246
112381
  }))
112247
112382
  ));
112248
112383
  }
@@ -114110,6 +114245,8 @@ ${lanes.join("\n")}
114110
114245
  );
114111
114246
  if (hint === 3 /* MappedTypeParameter */)
114112
114247
  return emitMappedTypeParameter(cast(node, isTypeParameterDeclaration));
114248
+ if (hint === 7 /* ImportTypeNodeAttributes */)
114249
+ return emitImportTypeNodeAttributes(cast(node, isImportAttributes));
114113
114250
  if (hint === 5 /* EmbeddedStatement */) {
114114
114251
  Debug.assertNode(node, isEmptyStatement);
114115
114252
  return emitEmptyStatement(
@@ -115086,15 +115223,7 @@ ${lanes.join("\n")}
115086
115223
  if (node.attributes) {
115087
115224
  writePunctuation(",");
115088
115225
  writeSpace();
115089
- writePunctuation("{");
115090
- writeSpace();
115091
- writeKeyword(node.attributes.token === 132 /* AssertKeyword */ ? "assert" : "with");
115092
- writePunctuation(":");
115093
- writeSpace();
115094
- const elements = node.attributes.elements;
115095
- emitList(node.attributes, elements, 526226 /* ImportAttributes */);
115096
- writeSpace();
115097
- writePunctuation("}");
115226
+ pipelineEmit(7 /* ImportTypeNodeAttributes */, node.attributes);
115098
115227
  }
115099
115228
  writePunctuation(")");
115100
115229
  if (node.qualifier) {
@@ -116156,6 +116285,17 @@ ${lanes.join("\n")}
116156
116285
  }
116157
116286
  writeTrailingSemicolon();
116158
116287
  }
116288
+ function emitImportTypeNodeAttributes(node) {
116289
+ writePunctuation("{");
116290
+ writeSpace();
116291
+ writeKeyword(node.token === 132 /* AssertKeyword */ ? "assert" : "with");
116292
+ writePunctuation(":");
116293
+ writeSpace();
116294
+ const elements = node.elements;
116295
+ emitList(node, elements, 526226 /* ImportAttributes */);
116296
+ writeSpace();
116297
+ writePunctuation("}");
116298
+ }
116159
116299
  function emitImportAttributes(node) {
116160
116300
  emitTokenWithComment(node.token, node.pos, writeKeyword, node);
116161
116301
  writeSpace();
@@ -158972,7 +159112,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
158972
159112
  }
158973
159113
  const semanticStart = timestamp();
158974
159114
  let completionKind = 5 /* None */;
158975
- let isNonContextualObjectLiteral = false;
158976
159115
  let hasUnresolvedAutoImports = false;
158977
159116
  let symbols = [];
158978
159117
  let importSpecifierResolver;
@@ -159332,8 +159471,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159332
159471
  function shouldOfferImportCompletions() {
159333
159472
  if (importStatementCompletion)
159334
159473
  return true;
159335
- if (isNonContextualObjectLiteral)
159336
- return false;
159337
159474
  if (!preferences.includeCompletionsForModuleExports)
159338
159475
  return false;
159339
159476
  if (sourceFile.externalModuleIndicator || sourceFile.commonJsModuleIndicator)
@@ -159636,7 +159773,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159636
159773
  if (objectLikeContainer.flags & 67108864 /* InWithStatement */) {
159637
159774
  return 2 /* Fail */;
159638
159775
  }
159639
- isNonContextualObjectLiteral = true;
159640
159776
  return 0 /* Continue */;
159641
159777
  }
159642
159778
  const completionsType = typeChecker.getContextualType(objectLikeContainer, 4 /* Completions */);
@@ -159647,7 +159783,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159647
159783
  existingMembers = objectLikeContainer.properties;
159648
159784
  if (typeMembers.length === 0) {
159649
159785
  if (!hasNumberIndextype) {
159650
- isNonContextualObjectLiteral = true;
159651
159786
  return 0 /* Continue */;
159652
159787
  }
159653
159788
  }
@@ -165294,9 +165429,8 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
165294
165429
  break;
165295
165430
  case 181 /* IndexSignature */:
165296
165431
  Debug.assertNode(node, isIndexSignatureDeclaration);
165297
- Debug.assertEqual(node.parameters.length, 1);
165298
165432
  parts.push({ text: "[" });
165299
- visitForDisplayParts(node.parameters[0]);
165433
+ visitDisplayPartList(node.parameters, ", ");
165300
165434
  parts.push({ text: "]" });
165301
165435
  if (node.type) {
165302
165436
  parts.push({ text: ": " });
@@ -167015,16 +167149,16 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
167015
167149
  if (!moduleSourceFile)
167016
167150
  return void 0;
167017
167151
  const withoutIndex = endsWith(node.text, "/index") || endsWith(node.text, "/index.js") ? void 0 : tryRemoveSuffix(removeFileExtension(moduleSourceFile.fileName), "/index");
167018
- const name = withoutIndex === void 0 ? moduleSourceFile.fileName : withoutIndex;
167152
+ const fileName = withoutIndex === void 0 ? moduleSourceFile.fileName : withoutIndex;
167019
167153
  const kind = withoutIndex === void 0 ? "module" /* moduleElement */ : "directory" /* directory */;
167020
167154
  const indexAfterLastSlash = node.text.lastIndexOf("/") + 1;
167021
167155
  const triggerSpan = createTextSpan(node.getStart(sourceFile) + 1 + indexAfterLastSlash, node.text.length - indexAfterLastSlash);
167022
167156
  return {
167023
167157
  canRename: true,
167024
- fileToRename: name,
167158
+ fileToRename: fileName,
167025
167159
  kind,
167026
- displayName: name,
167027
- fullDisplayName: name,
167160
+ displayName: fileName,
167161
+ fullDisplayName: node.text,
167028
167162
  kindModifiers: "" /* none */,
167029
167163
  triggerSpan
167030
167164
  };
@@ -185010,6 +185144,7 @@ ${e.message}`;
185010
185144
  computeSignature: () => computeSignature,
185011
185145
  computeSignatureWithDiagnostics: () => computeSignatureWithDiagnostics,
185012
185146
  computeSuggestionDiagnostics: () => computeSuggestionDiagnostics,
185147
+ computedOptions: () => computedOptions,
185013
185148
  concatenate: () => concatenate,
185014
185149
  concatenateDiagnosticMessageChains: () => concatenateDiagnosticMessageChains,
185015
185150
  consumesNodeCoreModules: () => consumesNodeCoreModules,
@@ -187425,6 +187560,7 @@ ${e.message}`;
187425
187560
  computeSignature: () => computeSignature,
187426
187561
  computeSignatureWithDiagnostics: () => computeSignatureWithDiagnostics,
187427
187562
  computeSuggestionDiagnostics: () => computeSuggestionDiagnostics,
187563
+ computedOptions: () => computedOptions,
187428
187564
  concatenate: () => concatenate,
187429
187565
  concatenateDiagnosticMessageChains: () => concatenateDiagnosticMessageChains,
187430
187566
  consumesNodeCoreModules: () => consumesNodeCoreModules,