@cplieger/deadset-ts 7.0.0-dev.3 → 7.0.0-dev.4

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.
Files changed (101) hide show
  1. package/README.md +1 -1
  2. package/dist/src/alias-chain.js +2 -2
  3. package/dist/src/calls.js +2 -2
  4. package/dist/src/class-members.js +1 -1
  5. package/dist/src/configuration-files.js +1 -1
  6. package/dist/src/configured-declarations.js +2 -2
  7. package/dist/src/contextual-uses.js +2 -2
  8. package/dist/src/conventions.js +1 -1
  9. package/dist/src/dependencies.js +1 -1
  10. package/dist/src/deprecation.js +1 -1
  11. package/dist/src/destructuring.js +2 -2
  12. package/dist/src/discover.js +1 -1
  13. package/dist/src/element-access.js +1 -1
  14. package/dist/src/entry-points.js +2 -2
  15. package/dist/src/enum-group.js +2 -2
  16. package/dist/src/erased-stores.js +2 -2
  17. package/dist/src/framework-lifecycle.js +1 -1
  18. package/dist/src/html-entries.js +1 -1
  19. package/dist/src/implementations.js +2 -2
  20. package/dist/src/in-operands.js +1 -1
  21. package/dist/src/indexed-access.js +2 -2
  22. package/dist/src/injection-container.js +1 -1
  23. package/dist/src/interface-satisfaction.js +2 -2
  24. package/dist/src/intra-function-parts.js +1 -1
  25. package/dist/src/inventory.js +1 -1
  26. package/dist/src/keyof-comparisons.js +2 -2
  27. package/dist/src/member-names.js +1 -1
  28. package/dist/src/module-declarations.js +1 -1
  29. package/dist/src/namespace-objects.js +1 -1
  30. package/dist/src/outside-tests.js +1 -1
  31. package/dist/src/overrides.js +2 -2
  32. package/dist/src/query.js +1 -1
  33. package/dist/src/references.js +1 -1
  34. package/dist/src/reflective-lookup.js +2 -2
  35. package/dist/src/roots.js +1 -1
  36. package/dist/src/serialization-contract.js +2 -2
  37. package/dist/src/session.js +3 -1
  38. package/dist/src/signatures.js +1 -1
  39. package/dist/src/stores.js +1 -1
  40. package/dist/src/suppress-inline.js +1 -1
  41. package/dist/src/symbol-keys.js +1 -1
  42. package/dist/src/type-errors.js +1 -1
  43. package/dist/src/type-query-alias.js +1 -1
  44. package/dist/src/unimplemented-callees.js +2 -2
  45. package/dist/src/value-flow.js +1 -1
  46. package/dist/src/value-reach.js +1 -1
  47. package/dist/src/workspace-programs.js +2 -2
  48. package/jsr.json +1 -1
  49. package/package.json +2 -2
  50. package/src/alias-chain.ts +2 -2
  51. package/src/calls.ts +2 -2
  52. package/src/class-members.ts +2 -2
  53. package/src/component-layer.ts +1 -1
  54. package/src/configuration-files.ts +1 -1
  55. package/src/configured-declarations.ts +2 -6
  56. package/src/contextual-uses.ts +2 -2
  57. package/src/conventions.ts +1 -1
  58. package/src/decorator.ts +1 -1
  59. package/src/dependencies.ts +1 -1
  60. package/src/deprecation.ts +1 -1
  61. package/src/destructuring.ts +2 -2
  62. package/src/discover.ts +2 -2
  63. package/src/element-access.ts +2 -2
  64. package/src/entry-points.ts +2 -2
  65. package/src/enum-group.ts +2 -2
  66. package/src/erased-stores.ts +2 -2
  67. package/src/file-facts.ts +1 -1
  68. package/src/framework-lifecycle.ts +2 -2
  69. package/src/html-entries.ts +1 -1
  70. package/src/implementations.ts +2 -2
  71. package/src/in-operands.ts +1 -1
  72. package/src/indexed-access.ts +2 -2
  73. package/src/injection-container.ts +1 -1
  74. package/src/interface-satisfaction.ts +2 -2
  75. package/src/intra-function-parts.ts +1 -1
  76. package/src/inventory.ts +2 -2
  77. package/src/keyof-comparisons.ts +2 -2
  78. package/src/member-names.ts +1 -1
  79. package/src/module-declarations.ts +1 -1
  80. package/src/namespace-objects.ts +1 -1
  81. package/src/outside-tests.ts +1 -1
  82. package/src/overrides.ts +2 -2
  83. package/src/position.ts +1 -1
  84. package/src/query.ts +2 -2
  85. package/src/references.ts +2 -2
  86. package/src/reflective-lookup.ts +2 -2
  87. package/src/roots.ts +2 -2
  88. package/src/serialization-contract.ts +2 -2
  89. package/src/session.ts +5 -3
  90. package/src/signatures.ts +1 -1
  91. package/src/source-files.ts +1 -1
  92. package/src/stores.ts +1 -1
  93. package/src/suppress-inline.ts +1 -1
  94. package/src/symbol-keys.ts +2 -2
  95. package/src/type-errors.ts +2 -2
  96. package/src/type-query-alias.ts +1 -1
  97. package/src/unimplemented-callees.ts +2 -2
  98. package/src/value-flow.ts +1 -1
  99. package/src/value-reach.ts +1 -1
  100. package/src/workflow-steps.ts +1 -1
  101. package/src/workspace-programs.ts +4 -4
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  deadset-ts finds dead code in TypeScript projects, down to class members, type members and dead stores inside functions, and writes a report your CI can fail on.
6
6
 
7
- It reads your `tsconfig.json` projects, `allowJs` JavaScript and Vue, Svelte and Astro scripts included, with the type information of TypeScript 7.1.0-dev.20261007.1, its one dependency. Your project keeps its own TypeScript version. A type error under that version skips the function or statement that holds it. deadset-ts reports and never edits your code. It is pre-release, tested only on Linux, needs Node.js 24 or later and is licensed under GPL-3.0-or-later.
7
+ It reads your `tsconfig.json` projects, `allowJs` JavaScript and Vue, Svelte and Astro scripts included, with the type information of TypeScript 7.1.0-dev.20261010.1, its one dependency. Your project keeps its own TypeScript version. A type error under that version skips the function or statement that holds it. deadset-ts reports and never edits your code. It is pre-release, tested only on Linux, needs Node.js 24 or later and is licensed under GPL-3.0-or-later.
8
8
 
9
9
  ## Why use it
10
10
 
@@ -3,8 +3,8 @@
3
3
  * declaration of the target it is, and along the chain of aliases it heads to each
4
4
  * declaration every link of that chain is.
5
5
  */
6
- import { isExportAssignment, isExportSpecifier, isIdentifier, isImportClause, isImportSpecifier, isNamespaceExport, isNamespaceImport, } from "@typescript/native/unstable/ast";
7
- import { SymbolFlags } from "@typescript/native/unstable/sync";
6
+ import { isExportAssignment, isExportSpecifier, isIdentifier, isImportClause, isImportSpecifier, isNamespaceExport, isNamespaceImport, } from "@typescript/native/ast";
7
+ import { SymbolFlags } from "@typescript/native/sync";
8
8
  import { declarationsByName, nodeKey } from "./inventory.js";
9
9
  import { UNANSWERED } from "./query.js";
10
10
  /**
package/dist/src/calls.js CHANGED
@@ -5,8 +5,8 @@
5
5
  * literal or a property value of an object literal written as one, at any depth, and a
6
6
  * decorator written as a call is a call.
7
7
  */
8
- import { isArrayLiteralExpression, isCallExpression, isClassDeclaration, isDecorator, isIdentifier, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadElement, } from "@typescript/native/unstable/ast";
9
- import { SymbolFlags } from "@typescript/native/unstable/sync";
8
+ import { isArrayLiteralExpression, isCallExpression, isClassDeclaration, isDecorator, isIdentifier, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadElement, } from "@typescript/native/ast";
9
+ import { SymbolFlags } from "@typescript/native/sync";
10
10
  import { nodeKey } from "./inventory.js";
11
11
  import { must } from "./query.js";
12
12
  /** The name node a callee or a decorator expression resolves through, where it has one. */
@@ -3,7 +3,7 @@
3
3
  * for the class's type, so a member a base class declares is a member of every class
4
4
  * that extends it and a member a subclass overrides is the subclass's own.
5
5
  */
6
- import { isClassDeclaration, isClassExpression } from "@typescript/native/unstable/ast";
6
+ import { isClassDeclaration, isClassExpression } from "@typescript/native/ast";
7
7
  import { nodeKey } from "./inventory.js";
8
8
  import { must } from "./query.js";
9
9
  /** The name node of each class declaration of the target, by the class's identifier. */
@@ -6,7 +6,7 @@
6
6
  * every string either holds as it likes, so each one that spells a declared dependency
7
7
  * uses it and each relative one that names a source file of the program roots the file.
8
8
  */
9
- import { isExportDeclaration, isImportDeclaration, isNoSubstitutionTemplateLiteral, isStringLiteral, } from "@typescript/native/unstable/ast";
9
+ import { isExportDeclaration, isImportDeclaration, isNoSubstitutionTemplateLiteral, isStringLiteral, } from "@typescript/native/ast";
10
10
  import { dirnamePath, joinPath, relativePath, resolvePath } from "./paths.js";
11
11
  const MANIFEST = "package.json";
12
12
  /** A configuration module's name, each form with the spelling a root reports it by. */
@@ -4,8 +4,8 @@
4
4
  * member read through an instantiation of a generic type is a symbol of its own that
5
5
  * keeps the declarations of the member it instantiates.
6
6
  */
7
- import { isCallExpression, isExportDeclaration, isExternalModuleReference, isImportDeclaration, isImportEqualsDeclaration, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/unstable/ast";
8
- import { SymbolFlags, } from "@typescript/native/unstable/sync";
7
+ import { isCallExpression, isExportDeclaration, isExternalModuleReference, isImportDeclaration, isImportEqualsDeclaration, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/ast";
8
+ import { SymbolFlags } from "@typescript/native/sync";
9
9
  import { resolvedTargets } from "./calls.js";
10
10
  import { must, Unanswerable } from "./query.js";
11
11
  import { nameComponent } from "./ref.js";
@@ -6,8 +6,8 @@
6
6
  * the parameters and results of functions and constructors too; a class instance there is
7
7
  * the interface-satisfaction class's evidence instead.
8
8
  */
9
- import { isClassDeclaration, isClassExpression, isComputedPropertyName, isGetAccessorDeclaration, isIdentifier, isMethodDeclaration, isMethodSignatureDeclaration, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isPropertyAssignment, isSetAccessorDeclaration, isShorthandPropertyAssignment, isSpreadAssignment, isStringLiteral, } from "@typescript/native/unstable/ast";
10
- import { SignatureKind } from "@typescript/native/unstable/sync";
9
+ import { isClassDeclaration, isClassExpression, isComputedPropertyName, isGetAccessorDeclaration, isIdentifier, isMethodDeclaration, isMethodSignatureDeclaration, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isPropertyAssignment, isSetAccessorDeclaration, isShorthandPropertyAssignment, isSpreadAssignment, isStringLiteral, } from "@typescript/native/ast";
10
+ import { SignatureKind } from "@typescript/native/sync";
11
11
  import { isAnswered } from "./query.js";
12
12
  /** The member kinds a contextual type writes and reads: data members and the members of object types. */
13
13
  const MEMBER_KINDS = new Set(["type-member", "class-member"]);
@@ -5,7 +5,7 @@
5
5
  * directory a configuration property moves read from the property's literal value.
6
6
  * No configuration file is run.
7
7
  */
8
- import { isArrayLiteralExpression, isAsExpression, isBinaryExpression, isCallExpression, isClassDeclaration, isComputedPropertyName, isExportAssignment, isExportDeclaration, isExpressionStatement, isFunctionDeclaration, isIdentifier, isImportDeclaration, isNamedExports, isNamespaceImport, isNoSubstitutionTemplateLiteral, isNonNullExpression, isNumericLiteral, isObjectBindingPattern, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isSatisfiesExpression, isShorthandPropertyAssignment, isSpreadAssignment, isStringLiteral, isVariableStatement, SyntaxKind, } from "@typescript/native/unstable/ast";
8
+ import { isArrayLiteralExpression, isAsExpression, isBinaryExpression, isCallExpression, isClassDeclaration, isComputedPropertyName, isExportAssignment, isExportDeclaration, isExpressionStatement, isFunctionDeclaration, isIdentifier, isImportDeclaration, isNamedExports, isNamespaceImport, isNoSubstitutionTemplateLiteral, isNonNullExpression, isNumericLiteral, isObjectBindingPattern, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isSatisfiesExpression, isShorthandPropertyAssignment, isSpreadAssignment, isStringLiteral, isVariableStatement, SyntaxKind, } from "@typescript/native/ast";
9
9
  import { lineOf } from "./component-files.js";
10
10
  import { CONVENTION_ROWS, } from "./convention-rows.js";
11
11
  import { documentStrings } from "./configuration-files.js";
@@ -6,7 +6,7 @@
6
6
  * file a tool loads needs each dependency its strings spell. A package one dependency pulls in for
7
7
  * itself is that dependency's need, not the target's.
8
8
  */
9
- import { isCallExpression, isExportDeclaration, isExternalModuleReference, isIdentifier, isImportDeclaration, isImportEqualsDeclaration, isMetaProperty, isNamespaceExport, isPropertyAccessExpression, isShorthandPropertyAssignment, isStringLiteral, isNoSubstitutionTemplateLiteral, SyntaxKind, } from "@typescript/native/unstable/ast";
9
+ import { isCallExpression, isExportDeclaration, isExternalModuleReference, isIdentifier, isImportDeclaration, isImportEqualsDeclaration, isMetaProperty, isNamespaceExport, isPropertyAccessExpression, isShorthandPropertyAssignment, isStringLiteral, isNoSubstitutionTemplateLiteral, SyntaxKind, } from "@typescript/native/ast";
10
10
  import { configurationFiles, declaredIn as declaredBeside, dependenciesNamed, moduleStrings, } from "./configuration-files.js";
11
11
  import { nodeKey, packageScope } from "./inventory.js";
12
12
  import { scriptTokens } from "./manifest.js";
@@ -6,7 +6,7 @@
6
6
  * declares, and the checker attaches it to the first name alone, so the later names read
7
7
  * the list's own tags from the tree.
8
8
  */
9
- import { isVariableStatement, SyntaxKind } from "@typescript/native/unstable/ast";
9
+ import { isVariableStatement, SyntaxKind } from "@typescript/native/ast";
10
10
  import { nodeKey } from "./inventory.js";
11
11
  import { isAnswered, UNANSWERED } from "./query.js";
12
12
  /** The tag the TypeScript tools recognize as marking a declaration deprecated. */
@@ -5,8 +5,8 @@
5
5
  * to a local of the same name, renames it, gives it a default or nests a pattern under
6
6
  * it. A rest element names no property: what it copies is read where the copy is.
7
7
  */
8
- import { isArrayLiteralExpression, isBinaryExpression, isForOfStatement, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectBindingPattern, isObjectLiteralExpression, isParameterDeclaration, isParenthesizedExpression, isPropertyAssignment, isShorthandPropertyAssignment, isStringLiteral, SyntaxKind, } from "@typescript/native/unstable/ast";
9
- import { TypeFlags } from "@typescript/native/unstable/sync";
8
+ import { isArrayLiteralExpression, isBinaryExpression, isForOfStatement, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectBindingPattern, isObjectLiteralExpression, isParameterDeclaration, isParenthesizedExpression, isPropertyAssignment, isShorthandPropertyAssignment, isStringLiteral, SyntaxKind, } from "@typescript/native/ast";
9
+ import { TypeFlags } from "@typescript/native/sync";
10
10
  import { isAnswered, propertyTables, UNANSWERED, } from "./query.js";
11
11
  /** The text a property name spells, or `undefined` for a computed name. */
12
12
  function nameText(node) {
@@ -1,4 +1,4 @@
1
- import { DiagnosticCategory } from "@typescript/native/unstable/sync";
1
+ import { DiagnosticCategory } from "@typescript/native/sync";
2
2
  import { dirnamePath, isAbsolutePath, joinPath, relativePath, resolvePath } from "./paths.js";
3
3
  import { SetupError } from "./setup-failure.js";
4
4
  /** Directory names discovery does not descend into. */
@@ -4,7 +4,7 @@
4
4
  * every member of `T`, and an index typed as a type parameter reads what its constraint does. Where the index is a parameter of a function every call of which the
5
5
  * target holds, the members are read at each call, by the type of the argument it passes.
6
6
  */
7
- import { isArrayLiteralExpression, isArrowFunction, isBinaryExpression, isCallExpression, isElementAccessExpression, isForInStatement, isForOfStatement, isFunctionDeclaration, isFunctionExpression, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPostfixUnaryExpression, isPrefixUnaryExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadAssignment, isSpreadElement, isStringLiteral, isVariableDeclaration, isVariableDeclarationList, isVariableStatement, NodeFlags, SyntaxKind, } from "@typescript/native/unstable/ast";
7
+ import { isArrayLiteralExpression, isArrowFunction, isBinaryExpression, isCallExpression, isElementAccessExpression, isForInStatement, isForOfStatement, isFunctionDeclaration, isFunctionExpression, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPostfixUnaryExpression, isPrefixUnaryExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadAssignment, isSpreadElement, isStringLiteral, isVariableDeclaration, isVariableDeclarationList, isVariableStatement, NodeFlags, SyntaxKind, } from "@typescript/native/ast";
8
8
  import { nodeKey } from "./inventory.js";
9
9
  import { renderPosition } from "./position.js";
10
10
  import { UNANSWERED } from "./query.js";
@@ -10,8 +10,8 @@
10
10
  * value that is not a literal is not evaluated and not guessed, so a file it would
11
11
  * have named is entered by nothing here.
12
12
  */
13
- import { isArrayLiteralExpression, isAsExpression, isCallExpression, isExportAssignment, isIdentifier, isMetaProperty, isNewExpression, isNoSubstitutionTemplateLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isSatisfiesExpression, isStringLiteral, } from "@typescript/native/unstable/ast";
14
- import { SymbolFlags } from "@typescript/native/unstable/sync";
13
+ import { isArrayLiteralExpression, isAsExpression, isCallExpression, isExportAssignment, isIdentifier, isMetaProperty, isNewExpression, isNoSubstitutionTemplateLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isSatisfiesExpression, isStringLiteral, } from "@typescript/native/ast";
14
+ import { SymbolFlags } from "@typescript/native/sync";
15
15
  import { configurationFiles, filesNamedBy, moduleStrings, } from "./configuration-files.js";
16
16
  import { globExpression } from "./glob.js";
17
17
  import { htmlEntries } from "./html-entries.js";
@@ -6,8 +6,8 @@
6
6
  * or `unknown` expression asserted to it, or bound to a variable or returned from a
7
7
  * function it annotates, where a number counts too. An enum's own value converts nothing.
8
8
  */
9
- import { isArrowFunction, isAsExpression, isElementAccessExpression, isEnumDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration, isIdentifier, isMethodDeclaration, isNoSubstitutionTemplateLiteral, isParenthesizedExpression, isParenthesizedTypeNode, isPropertyAccessExpression, isReturnStatement, isStringLiteral, isVariableDeclaration, SyntaxKind, } from "@typescript/native/unstable/ast";
10
- import { TypeFlags } from "@typescript/native/unstable/sync";
9
+ import { isArrowFunction, isAsExpression, isElementAccessExpression, isEnumDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration, isIdentifier, isMethodDeclaration, isNoSubstitutionTemplateLiteral, isParenthesizedExpression, isParenthesizedTypeNode, isPropertyAccessExpression, isReturnStatement, isStringLiteral, isVariableDeclaration, SyntaxKind, } from "@typescript/native/ast";
10
+ import { TypeFlags } from "@typescript/native/sync";
11
11
  import { aliasChains } from "./alias-chain.js";
12
12
  import { nodeKey } from "./inventory.js";
13
13
  import { renderPosition } from "./position.js";
@@ -7,8 +7,8 @@
7
7
  * either stores. A store into an erased property of a type the analyzed program does not
8
8
  * declare hands the value to the code that declares the type.
9
9
  */
10
- import { isArrayLiteralExpression, isBinaryExpression, isCallExpression, isElementAccessExpression, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadElement, isStringLiteral, isVariableDeclaration, SyntaxKind, } from "@typescript/native/unstable/ast";
11
- import { SymbolFlags, TypeFlags } from "@typescript/native/unstable/sync";
10
+ import { isArrayLiteralExpression, isBinaryExpression, isCallExpression, isElementAccessExpression, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadElement, isStringLiteral, isVariableDeclaration, SyntaxKind, } from "@typescript/native/ast";
11
+ import { SymbolFlags, TypeFlags } from "@typescript/native/sync";
12
12
  import { must } from "./query.js";
13
13
  /** The types that keep nothing of the value they are given. */
14
14
  const ERASED = TypeFlags.Any | TypeFlags.Unknown;
@@ -5,7 +5,7 @@
5
5
  * through a chain, a class its `bases` name. A component's members are its type's, so a
6
6
  * member a base class declares answers for every subclass.
7
7
  */
8
- import { isClassDeclaration, isClassExpression, isHeritageClause, SyntaxKind, } from "@typescript/native/unstable/ast";
8
+ import { isClassDeclaration, isClassExpression, isHeritageClause, SyntaxKind, } from "@typescript/native/ast";
9
9
  import { aliasChains } from "./alias-chain.js";
10
10
  import { calleeName, callsOf, classesPassed, decoratedClasses, decoratorCallee } from "./calls.js";
11
11
  import { classMembers, memberComponent, typesAt } from "./class-members.js";
@@ -3,7 +3,7 @@
3
3
  * classic script's that names its file by `src`. An HTML file is read as text and no
4
4
  * markup is parsed, so a `<script>` inside a comment is read as well.
5
5
  */
6
- import { isExportDeclaration, isImportDeclaration, isStringLiteral, } from "@typescript/native/unstable/ast";
6
+ import { isExportDeclaration, isImportDeclaration, isStringLiteral, } from "@typescript/native/ast";
7
7
  import { resolveRelativeSpecifier } from "./configuration-files.js";
8
8
  import { dirnamePath, joinPath, relativePath, resolvePath } from "./paths.js";
9
9
  /** The directory no HTML file is read below. */
@@ -5,8 +5,8 @@
5
5
  * type is assignable to, asked only of a class carrying every member the interface
6
6
  * requires and one it declares, and never of a generic side.
7
7
  */
8
- import { isClassDeclaration, isHeritageClause, isInterfaceDeclaration, isMethodDeclaration, SyntaxKind, } from "@typescript/native/unstable/ast";
9
- import { SymbolFlags } from "@typescript/native/unstable/sync";
8
+ import { isClassDeclaration, isHeritageClause, isInterfaceDeclaration, isMethodDeclaration, SyntaxKind, } from "@typescript/native/ast";
9
+ import { SymbolFlags } from "@typescript/native/sync";
10
10
  import { aliasChains } from "./alias-chain.js";
11
11
  import { nodeKey } from "./inventory.js";
12
12
  import { must, Unanswerable } from "./query.js";
@@ -3,7 +3,7 @@
3
3
  * `"name" in value` is read back by that name, often through `unknown`, where no type
4
4
  * links the read to a declaration, so only a text match can tell which member it reads.
5
5
  */
6
- import { isBinaryExpression, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/unstable/ast";
6
+ import { isBinaryExpression, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/ast";
7
7
  import { sourceFilesOf } from "./source-files.js";
8
8
  /**
9
9
  * The text of each string literal, or template literal with no substitution, written as
@@ -4,8 +4,8 @@
4
4
  * that parameter, and a call of a method of a generic receiver fixes the receiver's by its
5
5
  * type arguments. The type query of a type-query alias is no reference.
6
6
  */
7
- import { isArrowFunction, isBindingElement, isCallExpression, isClassDeclaration, isClassExpression, isFunctionDeclaration, isFunctionExpression, isFunctionTypeNode, isIdentifier, isIndexedAccessTypeNode, isInterfaceDeclaration, isLiteralTypeNode, isMappedTypeNode, isMethodDeclaration, isMethodSignatureDeclaration, isNewExpression, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectBindingPattern, isParenthesizedTypeNode, isPropertyAccessExpression, isPropertySignatureDeclaration, isStringLiteral, isTypeAliasDeclaration, isTypeOperatorNode, isTypeReferenceNode, isUnionTypeNode, isVariableDeclaration, SyntaxKind, } from "@typescript/native/unstable/ast";
8
- import { SignatureKind, SymbolFlags, } from "@typescript/native/unstable/sync";
7
+ import { isArrowFunction, isBindingElement, isCallExpression, isClassDeclaration, isClassExpression, isFunctionDeclaration, isFunctionExpression, isFunctionTypeNode, isIdentifier, isIndexedAccessTypeNode, isInterfaceDeclaration, isLiteralTypeNode, isMappedTypeNode, isMethodDeclaration, isMethodSignatureDeclaration, isNewExpression, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectBindingPattern, isParenthesizedTypeNode, isPropertyAccessExpression, isPropertySignatureDeclaration, isStringLiteral, isTypeAliasDeclaration, isTypeOperatorNode, isTypeReferenceNode, isUnionTypeNode, isVariableDeclaration, SyntaxKind, } from "@typescript/native/ast";
8
+ import { SignatureKind, SymbolFlags, } from "@typescript/native/sync";
9
9
  import { nodeKey } from "./inventory.js";
10
10
  import { renderPosition } from "./position.js";
11
11
  import { UNANSWERED } from "./query.js";
@@ -5,7 +5,7 @@
5
5
  * class's included. A constructor and its parameters are no declarations of the
6
6
  * inventory, so the class stands for them and the registration referencing it keeps it.
7
7
  */
8
- import { isClassDeclaration, isClassExpression, isConstructorDeclaration, isGetAccessorDeclaration, isPropertyDeclaration, isSetAccessorDeclaration, } from "@typescript/native/unstable/ast";
8
+ import { isClassDeclaration, isClassExpression, isConstructorDeclaration, isGetAccessorDeclaration, isPropertyDeclaration, isSetAccessorDeclaration, } from "@typescript/native/ast";
9
9
  import { aliasChains } from "./alias-chain.js";
10
10
  import { calleeName, callsOf, classesPassed, decoratorsOf, spelledDecorator } from "./calls.js";
11
11
  import { classMembers } from "./class-members.js";
@@ -6,8 +6,8 @@
6
6
  * class, and a position typed by a type parameter reaches its constraint. The contextual
7
7
  * lookup has no batch form, so it is asked only of a value typed as a target class.
8
8
  */
9
- import { isCallExpression, isClassDeclaration, isClassExpression, isClassStaticBlockDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration, isHeritageClause, isMethodDeclaration, isNewExpression, isObjectLiteralExpression, isSetAccessorDeclaration, ModifierFlags, SyntaxKind, } from "@typescript/native/unstable/ast";
10
- import { SymbolFlags } from "@typescript/native/unstable/sync";
9
+ import { isCallExpression, isClassDeclaration, isClassExpression, isClassStaticBlockDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration, isHeritageClause, isMethodDeclaration, isNewExpression, isObjectLiteralExpression, isSetAccessorDeclaration, ModifierFlags, SyntaxKind, } from "@typescript/native/ast";
10
+ import { SymbolFlags } from "@typescript/native/sync";
11
11
  import { aliasChains } from "./alias-chain.js";
12
12
  import { emptyImplementation } from "./implementations.js";
13
13
  import { nodeKey } from "./inventory.js";
@@ -4,7 +4,7 @@
4
4
  * call sites that use or discard it, each statement control flow cannot reach, each
5
5
  * write to a local that no read reaches, and each case an earlier case covers.
6
6
  */
7
- import { isArrayBindingPattern, isArrowFunction, isAwaitExpression, isBigIntLiteral, isBinaryExpression, isBlock, isBreakStatement, isBindingElement, isCallExpression, isCaseClause, isCatchClause, isClassDeclaration, isClassExpression, isContinueStatement, isDecorator, isDefaultClause, isEmptyStatement, isExportAssignment, isExportSpecifier, isExpressionStatement, isFunctionDeclaration, isFunctionExpression, isHeritageClause, isIdentifier, isIfStatement, isImportClause, isImportSpecifier, isInterfaceDeclaration, isMethodDeclaration, isModuleDeclaration, isNamespaceImport, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectBindingPattern, isObjectLiteralExpression, isParenthesizedExpression, isPrefixUnaryExpression, isPropertyAccessExpression, isQualifiedName, isReturnStatement, isShorthandPropertyAssignment, isStringLiteral, isSwitchStatement, isThrowStatement, isTypeAliasDeclaration, isTypeReferenceNode, isVariableStatement, isVoidExpression, NodeFlags, SyntaxKind, } from "@typescript/native/unstable/ast";
7
+ import { isArrayBindingPattern, isArrowFunction, isAwaitExpression, isBigIntLiteral, isBinaryExpression, isBlock, isBreakStatement, isBindingElement, isCallExpression, isCaseClause, isCatchClause, isClassDeclaration, isClassExpression, isContinueStatement, isDecorator, isDefaultClause, isEmptyStatement, isExportAssignment, isExportSpecifier, isExpressionStatement, isFunctionDeclaration, isFunctionExpression, isHeritageClause, isIdentifier, isIfStatement, isImportClause, isImportSpecifier, isInterfaceDeclaration, isMethodDeclaration, isModuleDeclaration, isNamespaceImport, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectBindingPattern, isObjectLiteralExpression, isParenthesizedExpression, isPrefixUnaryExpression, isPropertyAccessExpression, isQualifiedName, isReturnStatement, isShorthandPropertyAssignment, isStringLiteral, isSwitchStatement, isThrowStatement, isTypeAliasDeclaration, isTypeReferenceNode, isVariableStatement, isVoidExpression, NodeFlags, SyntaxKind, } from "@typescript/native/ast";
8
8
  import { nodeKey } from "./inventory.js";
9
9
  import { positionKey, renderPosition } from "./position.js";
10
10
  import { isAnswered, UNANSWERED } from "./query.js";
@@ -1,4 +1,4 @@
1
- import { isClassDeclaration, isComputedPropertyName, isEnumDeclaration, isEnumMember, isExportAssignment, isExportDeclaration, isFunctionDeclaration, isGetAccessorDeclaration, isIdentifier, isInterfaceDeclaration, isIntersectionTypeNode, isMethodDeclaration, isMethodSignatureDeclaration, isModuleBlock, isModuleDeclaration, isNamespaceExport, isParenthesizedTypeNode, isPrivateIdentifier, isPropertyDeclaration, isPropertySignatureDeclaration, isSetAccessorDeclaration, isStringLiteral, isTypeAliasDeclaration, isTypeLiteralNode, isUnionTypeNode, isVariableStatement, ModifierFlags, } from "@typescript/native/unstable/ast";
1
+ import { isClassDeclaration, isComputedPropertyName, isEnumDeclaration, isEnumMember, isExportAssignment, isExportDeclaration, isFunctionDeclaration, isGetAccessorDeclaration, isIdentifier, isInterfaceDeclaration, isIntersectionTypeNode, isMethodDeclaration, isMethodSignatureDeclaration, isModuleBlock, isModuleDeclaration, isNamespaceExport, isParenthesizedTypeNode, isPrivateIdentifier, isPropertyDeclaration, isPropertySignatureDeclaration, isSetAccessorDeclaration, isStringLiteral, isTypeAliasDeclaration, isTypeLiteralNode, isUnionTypeNode, isVariableStatement, ModifierFlags, } from "@typescript/native/ast";
2
2
  import { dirnamePath, joinPath, relativePath } from "./paths.js";
3
3
  import { byPosition, positionKey, renderPosition, writtenLength, } from "./position.js";
4
4
  import { computedComponent, nameComponent, renderRef } from "./ref.js";
@@ -4,8 +4,8 @@
4
4
  * that holds `keyof X`, the literal the other side has names the member of `X` under that
5
5
  * key, because deleting the member makes the comparison a type error.
6
6
  */
7
- import { isBinaryExpression, isCaseClause, isElementAccessExpression, isIdentifier, isParenthesizedExpression, isPropertyAccessExpression, isSwitchStatement, isTypeOperatorNode, SyntaxKind, } from "@typescript/native/unstable/ast";
8
- import { SymbolFlags } from "@typescript/native/unstable/sync";
7
+ import { isBinaryExpression, isCaseClause, isElementAccessExpression, isIdentifier, isParenthesizedExpression, isPropertyAccessExpression, isSwitchStatement, isTypeOperatorNode, SyntaxKind, } from "@typescript/native/ast";
8
+ import { SymbolFlags } from "@typescript/native/sync";
9
9
  import { nodeKey } from "./inventory.js";
10
10
  import { renderPosition } from "./position.js";
11
11
  import { UNANSWERED } from "./query.js";
@@ -4,7 +4,7 @@
4
4
  * string key both hold a name and nothing else, so each holds back every member of
5
5
  * that name its own mechanism can reach.
6
6
  */
7
- import { isIdentifier, isNumericLiteral, isPrivateIdentifier, isStringLiteral, } from "@typescript/native/unstable/ast";
7
+ import { isIdentifier, isNumericLiteral, isPrivateIdentifier, isStringLiteral, } from "@typescript/native/ast";
8
8
  import { nodeKey } from "./inventory.js";
9
9
  /** The kinds of declaration a member name can name. */
10
10
  const MEMBER_KINDS = new Set([
@@ -5,7 +5,7 @@
5
5
  * to the same module. One that names it by name or pattern also reads the members it
6
6
  * imports, whatever file the specifier resolves to, as a compiler reading no such file does.
7
7
  */
8
- import { isCallExpression, isExportDeclaration, isExternalModuleReference, isImportDeclaration, isImportEqualsDeclaration, isImportTypeNode, isLiteralTypeNode, isModuleDeclaration, isNamespaceExport, isNamespaceImport, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/unstable/ast";
8
+ import { isCallExpression, isExportDeclaration, isExternalModuleReference, isImportDeclaration, isImportEqualsDeclaration, isImportTypeNode, isLiteralTypeNode, isModuleDeclaration, isNamespaceExport, isNamespaceImport, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/ast";
9
9
  import { nodeKey } from "./inventory.js";
10
10
  import { renderPosition } from "./position.js";
11
11
  import { UNANSWERED } from "./query.js";
@@ -5,7 +5,7 @@
5
5
  * names and no other: a property access by name or by a literal index, or a destructured
6
6
  * property, names one export, and any other use may read every export.
7
7
  */
8
- import { isArrowFunction, isAwaitExpression, isBindingElement, isCallExpression, isElementAccessExpression, isExpressionStatement, isFunctionExpression, isIdentifier, isImportDeclaration, isNamespaceImport, isNoSubstitutionTemplateLiteral, isObjectBindingPattern, isParenthesizedExpression, isPropertyAccessExpression, isQualifiedName, isStringLiteral, isVariableDeclaration, isVariableDeclarationList, isVoidExpression, NodeFlags, SyntaxKind, } from "@typescript/native/unstable/ast";
8
+ import { isArrowFunction, isAwaitExpression, isBindingElement, isCallExpression, isElementAccessExpression, isExpressionStatement, isFunctionExpression, isIdentifier, isImportDeclaration, isNamespaceImport, isNoSubstitutionTemplateLiteral, isObjectBindingPattern, isParenthesizedExpression, isPropertyAccessExpression, isQualifiedName, isStringLiteral, isVariableDeclaration, isVariableDeclarationList, isVoidExpression, NodeFlags, SyntaxKind, } from "@typescript/native/ast";
9
9
  function isLiteralText(node) {
10
10
  return isStringLiteral(node) || isNoSubstitutionTemplateLiteral(node);
11
11
  }
@@ -6,7 +6,7 @@
6
6
  * Such a file is read without a program, so what its body references beyond the modules
7
7
  * it names is not known.
8
8
  */
9
- import { isCallExpression, isExportDeclaration, isImportDeclaration, isNamespaceExport, isNamespaceImport, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/unstable/ast";
9
+ import { isCallExpression, isExportDeclaration, isImportDeclaration, isNamespaceExport, isNamespaceImport, isNoSubstitutionTemplateLiteral, isStringLiteral, SyntaxKind, } from "@typescript/native/ast";
10
10
  import { RESOLVED_EXTENSIONS } from "./configuration-files.js";
11
11
  import { emittedFrom } from "./emit-map.js";
12
12
  import { namesImported } from "./module-declarations.js";
@@ -6,10 +6,10 @@
6
6
  * of its `extends` chain, is used by outside code holding the instance or the class
7
7
  * through that class, so its own class references it.
8
8
  */
9
- import { isClassDeclaration, isClassExpression, isExpressionWithTypeArguments, isPropertyAccessExpression, isQualifiedName, SyntaxKind, } from "@typescript/native/unstable/ast";
9
+ import { isClassDeclaration, isClassExpression, isExpressionWithTypeArguments, isPropertyAccessExpression, isQualifiedName, SyntaxKind, } from "@typescript/native/ast";
10
10
  import { memberComponent } from "./class-members.js";
11
11
  import { nodeKey } from "./inventory.js";
12
- import { SymbolFlags } from "@typescript/native/unstable/sync";
12
+ import { SymbolFlags } from "@typescript/native/sync";
13
13
  import { UNANSWERED } from "./query.js";
14
14
  import { nameComponent } from "./ref.js";
15
15
  /** The member kinds a subclass overrides. */
package/dist/src/query.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * Questions of one accessor about many locations go out together, through the array
7
7
  * form where it has one and otherwise as one batch, one round trip per capped run.
8
8
  */
9
- import { isIdentifier } from "@typescript/native/unstable/ast";
9
+ import { isIdentifier } from "@typescript/native/ast";
10
10
  /**
11
11
  * The greatest number of locations one batched request asks about. A batch is
12
12
  * answered by an array of its own length, so an uncapped batch over a large file
@@ -1,4 +1,4 @@
1
- import { isArrayLiteralExpression, isAsExpression, isBinaryExpression, isCallExpression, isDecorator, isDeleteExpression, isElementAccessExpression, isExportDeclaration, isExpressionStatement, isExternalModuleReference, isForInStatement, isForOfStatement, isForStatement, isIdentifier, isImportDeclaration, isImportEqualsDeclaration, isMetaProperty, isNewExpression, isNamespaceExport, isNoSubstitutionTemplateLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPostfixUnaryExpression, isPrefixUnaryExpression, isPropertyAccessExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadAssignment, isSpreadElement, isStringLiteral, isVoidExpression, SyntaxKind, } from "@typescript/native/unstable/ast";
1
+ import { isArrayLiteralExpression, isAsExpression, isBinaryExpression, isCallExpression, isDecorator, isDeleteExpression, isElementAccessExpression, isExportDeclaration, isExpressionStatement, isExternalModuleReference, isForInStatement, isForOfStatement, isForStatement, isIdentifier, isImportDeclaration, isImportEqualsDeclaration, isMetaProperty, isNewExpression, isNamespaceExport, isNoSubstitutionTemplateLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPostfixUnaryExpression, isPrefixUnaryExpression, isPropertyAccessExpression, isPropertyAssignment, isShorthandPropertyAssignment, isSpreadAssignment, isSpreadElement, isStringLiteral, isVoidExpression, SyntaxKind, } from "@typescript/native/ast";
2
2
  import { aliasChains } from "./alias-chain.js";
3
3
  import { contextualUses } from "./contextual-uses.js";
4
4
  import { destructuring, propertyReadsOf } from "./destructuring.js";
@@ -12,8 +12,8 @@
12
12
  * element access through a receiver whose type declares a string index signature, and is
13
13
  * not `any`, reads that signature and holds nothing back.
14
14
  */
15
- import { isCallExpression, isElementAccessExpression, isIdentifier, isNoSubstitutionTemplateLiteral, isPropertyAccessExpression, isStringLiteral, } from "@typescript/native/unstable/ast";
16
- import { TypeFlags } from "@typescript/native/unstable/sync";
15
+ import { isCallExpression, isElementAccessExpression, isIdentifier, isNoSubstitutionTemplateLiteral, isPropertyAccessExpression, isStringLiteral, } from "@typescript/native/ast";
16
+ import { TypeFlags } from "@typescript/native/sync";
17
17
  import { memberNames } from "./member-names.js";
18
18
  import { renderPosition } from "./position.js";
19
19
  import { isAnswered, UNANSWERED } from "./query.js";
package/dist/src/roots.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * decides; the published API only supposes a consumer, so a published export is live
8
8
  * under reachability and still a candidate under reference counting.
9
9
  */
10
- import { isExpressionWithTypeArguments, isFunctionLikeDeclaration, isPropertyAccessExpression, isQualifiedName, isTypeQueryNode, isTypeReferenceNode, isPropertyDeclaration, isVariableDeclaration, isVariableStatement, } from "@typescript/native/unstable/ast";
10
+ import { isExpressionWithTypeArguments, isFunctionLikeDeclaration, isPropertyAccessExpression, isQualifiedName, isTypeQueryNode, isTypeReferenceNode, isPropertyDeclaration, isVariableDeclaration, isVariableStatement, } from "@typescript/native/ast";
11
11
  import { aliasChains } from "./alias-chain.js";
12
12
  import { conventionEntries } from "./conventions.js";
13
13
  import { entryPoints } from "./entry-points.js";
@@ -6,8 +6,8 @@
6
6
  * function of the project handing such a parameter to a destination is one, to a fixpoint,
7
7
  * and a function invoked through `call`, `apply` or `bind` is the callee.
8
8
  */
9
- import { isArrayLiteralExpression, isArrowFunction, isCallExpression, isClassDeclaration, isClassExpression, isClassStaticBlockDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration, isIdentifier, isMethodDeclaration, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isSetAccessorDeclaration, isSpreadElement, isStringLiteral, isVariableDeclaration, ModifierFlags, SyntaxKind, } from "@typescript/native/unstable/ast";
10
- import { SignatureKind, SymbolFlags, TypeFlags, } from "@typescript/native/unstable/sync";
9
+ import { isArrayLiteralExpression, isArrowFunction, isCallExpression, isClassDeclaration, isClassExpression, isClassStaticBlockDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration, isIdentifier, isMethodDeclaration, isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isParenthesizedExpression, isPropertyAccessExpression, isSetAccessorDeclaration, isSpreadElement, isStringLiteral, isVariableDeclaration, ModifierFlags, SyntaxKind, } from "@typescript/native/ast";
10
+ import { SignatureKind, SymbolFlags, TypeFlags, } from "@typescript/native/sync";
11
11
  import { aliasChains } from "./alias-chain.js";
12
12
  import { calleeName, resolvedTargets, valuesPassed } from "./calls.js";
13
13
  import { classMembers, memberComponent, typesAt } from "./class-members.js";
@@ -1,4 +1,4 @@
1
- import { API, SymbolFlags } from "@typescript/native/unstable/sync";
1
+ import { API, SymbolFlags } from "@typescript/native/sync";
2
2
  import { componentLayer, mapperManifest } from "./component-layer.js";
3
3
  import { DiscoveryError } from "./discover.js";
4
4
  import { joinPath } from "./paths.js";
@@ -48,6 +48,8 @@ export function openEngine(options) {
48
48
  }),
49
49
  }),
50
50
  readsComponents: mapper !== undefined,
51
+ // Entries, not a resolveModuleName callback: this fallback resolves with the importing
52
+ // file's project-reference options, which the compiler never passes to a callback.
51
53
  createModuleResolver: (options, entries) => api.createModuleResolver(options, {
52
54
  moduleResolutions: { fallback: "resolve", entries: [...entries] },
53
55
  }),
@@ -2,7 +2,7 @@
2
2
  * The function a declaration of the inventory declares, where it declares one: the node
3
3
  * whose parameters, body and result are the declaration's own parts.
4
4
  */
5
- import { isArrowFunction, isClassDeclaration, isClassExpression, isFunctionDeclaration, isFunctionExpression, isMethodDeclaration, isPropertyDeclaration, isVariableDeclaration, } from "@typescript/native/unstable/ast";
5
+ import { isArrowFunction, isClassDeclaration, isClassExpression, isFunctionDeclaration, isFunctionExpression, isMethodDeclaration, isPropertyDeclaration, isVariableDeclaration, } from "@typescript/native/ast";
6
6
  /** Whether one node is a function value written in place: an arrow or a function expression. */
7
7
  function isFunctionValue(node) {
8
8
  return node !== undefined && (isArrowFunction(node) || isFunctionExpression(node));
@@ -3,7 +3,7 @@
3
3
  * a sweep does not keep: a sweep asks whether anything names a declaration, and a store
4
4
  * names it as surely as a read does.
5
5
  */
6
- import { isGetAccessorDeclaration, isSetAccessorDeclaration, } from "@typescript/native/unstable/ast";
6
+ import { isGetAccessorDeclaration, isSetAccessorDeclaration, } from "@typescript/native/ast";
7
7
  import { nodeKey } from "./inventory.js";
8
8
  /** The class members one project's own files declare by a getter or a setter. */
9
9
  export function accessorsOf(project, held) {
@@ -3,7 +3,7 @@
3
3
  * one or more codes and a reason, and binding to every declaration that begins on the line
4
4
  * below it, or on its own line where it trails a token there.
5
5
  */
6
- import { SyntaxKind } from "@typescript/native/unstable/ast";
6
+ import { SyntaxKind } from "@typescript/native/ast";
7
7
  import { nodeKey } from "./inventory.js";
8
8
  import { byPosition, positionKey, renderPosition } from "./position.js";
9
9
  import { signatureOf } from "./signatures.js";
@@ -4,7 +4,7 @@
4
4
  * whose computed name is that same constant, and a store through the access writes it.
5
5
  * No name node resolves to such a member: the key's name resolves to the constant.
6
6
  */
7
- import { isComputedPropertyName, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isParenthesizedExpression, isPropertyAccessExpression, isStringLiteral, } from "@typescript/native/unstable/ast";
7
+ import { isComputedPropertyName, isIdentifier, isNoSubstitutionTemplateLiteral, isNumericLiteral, isParenthesizedExpression, isPropertyAccessExpression, isStringLiteral, } from "@typescript/native/ast";
8
8
  import { isAnswered } from "./query.js";
9
9
  /** The identifier an element access's argument names its key by, where it is a name. */
10
10
  export function keyNameOf(argument) {
@@ -5,7 +5,7 @@
5
5
  * which only ever withholds a finding. An error the compiler places in no file is read as
6
6
  * a project that cannot be analyzed.
7
7
  */
8
- import { isClassDeclaration, isNoSubstitutionTemplateLiteral, isPropertyAccessExpression, isStringLiteral, } from "@typescript/native/unstable/ast";
8
+ import { isClassDeclaration, isNoSubstitutionTemplateLiteral, isPropertyAccessExpression, isStringLiteral, } from "@typescript/native/ast";
9
9
  import { packageOfSpecifier } from "./dependencies.js";
10
10
  import { nodeKey } from "./inventory.js";
11
11
  import { dirnamePath, isAbsolutePath, joinPath, relativePath, resolvePath } from "./paths.js";
@@ -4,7 +4,7 @@
4
4
  * `typeof import("<module>").<name>`. A use of the global is a use of the export,
5
5
  * and the type query that says so is no use of its own.
6
6
  */
7
- import { isIdentifier, isImportTypeNode, isIndexedAccessTypeNode, isLiteralTypeNode, isModuleBlock, isModuleDeclaration, isStringLiteral, isVariableStatement, SyntaxKind, } from "@typescript/native/unstable/ast";
7
+ import { isIdentifier, isImportTypeNode, isIndexedAccessTypeNode, isLiteralTypeNode, isModuleBlock, isModuleDeclaration, isStringLiteral, isVariableStatement, SyntaxKind, } from "@typescript/native/ast";
8
8
  /** Whether one type is `typeof import("<string>")`, with no type argument. */
9
9
  function typeOfImport(node) {
10
10
  if (!isImportTypeNode(node) || !node.isTypeOf || node.typeArguments !== undefined) {
@@ -6,8 +6,8 @@
6
6
  * a `new` through an unimplemented construct signature, hand the target a value the
7
7
  * outside code holds, so every member of the type it is given is read.
8
8
  */
9
- import { isArrowFunction, isAsExpression, isCallExpression, isClassDeclaration, isClassExpression, isFunctionDeclaration, isFunctionExpression, isHeritageClause, isIdentifier, isMethodDeclaration, isNewExpression, isObjectLiteralExpression, isParameterDeclaration, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isPropertyDeclaration, isSatisfiesExpression, isTypeReferenceNode, isVariableDeclaration, } from "@typescript/native/unstable/ast";
10
- import { SymbolFlags } from "@typescript/native/unstable/sync";
9
+ import { isArrowFunction, isAsExpression, isCallExpression, isClassDeclaration, isClassExpression, isFunctionDeclaration, isFunctionExpression, isHeritageClause, isIdentifier, isMethodDeclaration, isNewExpression, isObjectLiteralExpression, isParameterDeclaration, isParenthesizedExpression, isPropertyAccessExpression, isPropertyAssignment, isPropertyDeclaration, isSatisfiesExpression, isTypeReferenceNode, isVariableDeclaration, } from "@typescript/native/ast";
10
+ import { SymbolFlags } from "@typescript/native/sync";
11
11
  import { nodeKey } from "./inventory.js";
12
12
  import { renderPosition } from "./position.js";
13
13
  import { UNANSWERED } from "./query.js";
@@ -4,7 +4,7 @@
4
4
  * argument, a returned value, an arrow function's expression body, an array element, an
5
5
  * object property, and the operand of `as` or `satisfies`.
6
6
  */
7
- import { isArrayLiteralExpression, isArrowFunction, isAsExpression, isBinaryExpression, isCallExpression, isConditionalExpression, isIdentifier, isNewExpression, isParameterDeclaration, isParenthesizedExpression, isPropertyAssignment, isPropertyDeclaration, isReturnStatement, isSatisfiesExpression, isShorthandPropertyAssignment, isSpreadElement, isVariableDeclaration, SyntaxKind, } from "@typescript/native/unstable/ast";
7
+ import { isArrayLiteralExpression, isArrowFunction, isAsExpression, isBinaryExpression, isCallExpression, isConditionalExpression, isIdentifier, isNewExpression, isParameterDeclaration, isParenthesizedExpression, isPropertyAssignment, isPropertyDeclaration, isReturnStatement, isSatisfiesExpression, isShorthandPropertyAssignment, isSpreadElement, isVariableDeclaration, SyntaxKind, } from "@typescript/native/ast";
8
8
  /** The operators of an assignment whose right side is stored into the left side's type. */
9
9
  const STORES = new Set([
10
10
  SyntaxKind.EqualsToken,
@@ -6,7 +6,7 @@
6
6
  * it erases them. The walk stops at `any`, `unknown`, a type parameter, a function and an
7
7
  * interface or class of another program, so an instance held only there is missed.
8
8
  */
9
- import { ObjectFlags, SymbolFlags, } from "@typescript/native/unstable/sync";
9
+ import { ObjectFlags, SymbolFlags, } from "@typescript/native/sync";
10
10
  import { classNames, typesAt } from "./class-members.js";
11
11
  import { must } from "./query.js";
12
12
  /** The object types whose members the walk reads whatever declares them. */
@@ -5,8 +5,8 @@
5
5
  * files rather than a library's, until a round adds none. A configuration with no
6
6
  * member import keeps the project the compiler opens for it.
7
7
  */
8
- import { ModuleKind, ModuleResolutionKind } from "@typescript/native/unstable/sync";
9
- import { isStringLiteralLikeNode } from "@typescript/native/unstable/ast";
8
+ import { ModuleKind, ModuleResolutionKind } from "@typescript/native/sync";
9
+ import { isStringLiteralLikeNode } from "@typescript/native/ast";
10
10
  import { dirnamePath, resolvePath } from "./paths.js";
11
11
  /** The most questions one round trip carries. */
12
12
  const BATCH = 2048;
package/jsr.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cplieger/deadset-ts",
3
- "version": "7.0.0-dev.3",
3
+ "version": "7.0.0-dev.4",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "exports": {
6
6
  ".": "./src/index.ts"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cplieger/deadset-ts",
3
- "version": "7.0.0-dev.3",
3
+ "version": "7.0.0-dev.4",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Deterministic dead-code analysis for TypeScript, class and type members included",
@@ -30,7 +30,7 @@
30
30
  "lint:fix": "eslint . --fix && prettier --write ."
31
31
  },
32
32
  "dependencies": {
33
- "@typescript/native": "npm:typescript@7.1.0-dev.20261007.1"
33
+ "@typescript/native": "npm:typescript@7.1.0-dev.20261010.1"
34
34
  },
35
35
  "overrides": {
36
36
  "qs": "^6.15.2"
@@ -12,8 +12,8 @@ import {
12
12
  isImportSpecifier,
13
13
  isNamespaceExport,
14
14
  isNamespaceImport,
15
- } from "@typescript/native/unstable/ast";
16
- import { SymbolFlags, type Symbol as TSSymbol } from "@typescript/native/unstable/sync";
15
+ } from "@typescript/native/ast";
16
+ import { SymbolFlags, type Symbol as TSSymbol } from "@typescript/native/sync";
17
17
  import { declarationsByName, nodeKey, type Inventory } from "./inventory.ts";
18
18
  import { UNANSWERED, type Answer } from "./query.ts";
19
19
  import type { ProjectView } from "./session.ts";