knip 5.38.1 → 5.38.3

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.
@@ -8,7 +8,7 @@ const libLocation = path.dirname(ts.getDefaultLibFilePath({}));
8
8
  export const createHosts = ({ cwd, compilerOptions, entryPaths, compilers, isSkipLibs, toSourceFilePath, useResolverCache, }) => {
9
9
  const fileManager = new SourceFileManager({ compilers, isSkipLibs });
10
10
  const compilerExtensions = getCompilerExtensions(compilers);
11
- const resolveModuleNames = createCustomModuleResolver(compilerOptions, compilerExtensions, toSourceFilePath, useResolverCache);
11
+ const resolveModuleNames = createCustomModuleResolver(compilerOptions, compilerExtensions, toSourceFilePath, useResolverCache, isSkipLibs);
12
12
  const languageServiceHost = {
13
13
  getCompilationSettings: () => compilerOptions,
14
14
  getScriptFileNames: () => Array.from(entryPaths),
@@ -1,4 +1,4 @@
1
1
  import ts from 'typescript';
2
2
  import type { ToSourceFilePath } from '../util/to-source-path.js';
3
3
  export type ResolveModuleNames = ReturnType<typeof createCustomModuleResolver>;
4
- export declare function createCustomModuleResolver(compilerOptions: ts.CompilerOptions, customCompilerExtensions: string[], toSourceFilePath: ToSourceFilePath, useCache?: boolean): (moduleNames: string[], containingFile: string) => Array<ts.ResolvedModuleFull | undefined>;
4
+ export declare function createCustomModuleResolver(compilerOptions: ts.CompilerOptions, customCompilerExtensions: string[], toSourceFilePath: ToSourceFilePath, useCache?: boolean, isSkipLibs?: boolean): (moduleNames: string[], containingFile: string) => Array<ts.ResolvedModuleFull | undefined>;
@@ -19,7 +19,7 @@ const fileExists = (name, containingFile) => {
19
19
  };
20
20
  }
21
21
  };
22
- export function createCustomModuleResolver(compilerOptions, customCompilerExtensions, toSourceFilePath, useCache = true) {
22
+ export function createCustomModuleResolver(compilerOptions, customCompilerExtensions, toSourceFilePath, useCache = true, isSkipLibs = true) {
23
23
  const customCompilerExtensionsSet = new Set(customCompilerExtensions);
24
24
  const extensions = [...DEFAULT_EXTENSIONS, ...customCompilerExtensions];
25
25
  const resolveSync = customCompilerExtensionsSet.size === 0 ? _resolveSync : createSyncResolver(extensions);
@@ -57,7 +57,7 @@ export function createCustomModuleResolver(compilerOptions, customCompilerExtens
57
57
  const sanitizedSpecifier = sanitizeSpecifier(name);
58
58
  if (isBuiltin(sanitizedSpecifier))
59
59
  return undefined;
60
- const resolvedFileName = resolveSync(sanitizedSpecifier, dirname(containingFile));
60
+ const resolvedFileName = isSkipLibs && resolveSync(sanitizedSpecifier, dirname(containingFile));
61
61
  if (resolvedFileName) {
62
62
  const ext = extname(resolvedFileName);
63
63
  if (!customCompilerExtensionsSet.has(ext)) {
@@ -19,7 +19,14 @@ export const getIsIdentifierReferencedHandler = (graph, entryPaths) => {
19
19
  isReferenced = true;
20
20
  if (!isTrace)
21
21
  return { isReferenced, reExportingEntryFile, traceNode };
22
- addNodes(traceNode, id, graph, file.imported.get(identifier));
22
+ if (file.importedAs.has(identifier)) {
23
+ for (const aliases of file.importedAs.values()) {
24
+ for (const alias of aliases.keys())
25
+ addNodes(traceNode, alias, graph, aliases.get(alias));
26
+ }
27
+ }
28
+ else
29
+ addNodes(traceNode, id, graph, file.imported.get(identifier));
23
30
  }
24
31
  for (const [exportId, aliases] of file.importedAs.entries()) {
25
32
  if (identifier === exportId) {
@@ -27,8 +34,9 @@ export const getIsIdentifierReferencedHandler = (graph, entryPaths) => {
27
34
  const aliasedRef = [alias, ...rest].join('.');
28
35
  if (file.refs.has(aliasedRef)) {
29
36
  isReferenced = true;
30
- if (!isTrace)
37
+ if (!isTrace) {
31
38
  return { isReferenced, reExportingEntryFile, traceNode };
39
+ }
32
40
  addNodes(traceNode, aliasedRef, graph, aliases.get(alias));
33
41
  }
34
42
  }
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "5.38.1";
1
+ export declare const version = "5.38.3";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = '5.38.1';
1
+ export const version = '5.38.3';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knip",
3
- "version": "5.38.1",
3
+ "version": "5.38.3",
4
4
  "description": "Find unused files, dependencies and exports in your TypeScript and JavaScript projects",
5
5
  "homepage": "https://knip.dev",
6
6
  "repository": {