jsdoc-scribe API/lib/import-graphCurrent
Functions(6)
#getScriptKind
line 26
@param {string} file @returns {ts.ScriptKind}
ParameterTypeOptionalDescription
fileany
Returns: any
Signature
getScriptKind(file: any): any
#extractSpecifiers
line 46
Extract raw import/require specifiers (module paths exactly as written in source) for one file. Handles ESM `import ... from "x"` / `export ... from "x"`, CommonJS `require("x")`, and best-effort dynamic `import("x")`.
ParameterTypeOptionalDescription
filePathstring
Returns: string[] — raw specifiers, e.g. ["./coverage.js", "typescript"]
Signature
extractSpecifiers(filePath: any): any
ParameterTypeOptionalDescription
nodeany
Signature
visit(node: any)
#resolveSpecifier
line 78
Resolve a raw specifier (as written in `fromFile`) to an absolute path, but only if it lands on one of `knownFilesSet` -- external packages (non-relative specifiers, or relative specifiers that resolve outside the analyzed set) are not graph nodes.
ParameterTypeOptionalDescription
specstring
fromFilestring
knownFilesSetSet<string>
Returns: string|null
Signature
resolveSpecifier(spec: any, fromFile: any, knownFilesSet: any): any
#buildImportGraph
line 94
Build a project-wide import graph across `files`.
ParameterTypeOptionalDescription
filesstring[]- file paths (same set the caller already collected via collectFiles).
Returns: {edges: {from:string,to:string}[], inDegree: Object<string,number>}
Signature
buildImportGraph(files: any): any
#findOrphanFiles
line 126
Files with zero incoming imports that are not among the known entry points.
ParameterTypeOptionalDescription
graph{edges: Array, inDegree: Object<string,number>}
entryPointsstring[]- known entry-point file paths (bin scripts, package.json main/exports targets).
Returns: string[] — orphan file paths, sorted.
Signature
findOrphanFiles(graph: any, entryPoints: any): any
Variables & Constants(19)
const fs: any
const
lib/import-graph.js ---------------------------------------- Project-wide import graph + orphan-file detection, for the internal project dashboard (Track B, see docs/backlog/adr-phase-j-project-dashboard.md). CORRECTION (caught during implementation, see task-pj-01-import-graph.md): the ADR and story-code-health-dashboard both assumed this module would "reuse lib/extractor.js's existing per-file import/export data." That data does not exist -- extractModule() (lib/extractor.js) returns { filePath, moduleName, description, since, functions, classes, interfaces, typeAliases, enums, variables } with no imports/exports field. This module does its own lightweight extraction instead, using the `typescript` compiler API -- the same parser lib/extractor.js already uses, so it is zero NEW dependency, just not zero new parsing as originally (incorrectly) assumed.
Signature
const fs: any
const path: any
const
Signature
const path: any
const ts: any
const
Signature
const ts: any
const text: any
const
Signature
const text: any
#sourceFile
line 48
const sourceFile: any
const
Signature
const sourceFile: any
#specifiers
line 49
const specifiers: Array
const
Signature
const specifiers: Array
#callee
line 55
const callee: any
const
Signature
const callee: any
#isRequireCall
line 56
const isRequireCall: any
const
Signature
const isRequireCall: any
#isDynamicImport
line 57
const isDynamicImport: any
const
Signature
const isDynamicImport: any
#baseDir
line 80
const baseDir: any
const
Signature
const baseDir: any
const raw: any
const
Signature
const raw: any
#candidates
line 82
const candidates: Array
const
Signature
const candidates: Array
#absFiles
line 95
const absFiles: any
const
Signature
const absFiles: any
#knownFilesSet
line 96
const knownFilesSet: Set
const
Signature
const knownFilesSet: Set
const edges: Array
const
Signature
const edges: Array
#inDegree
line 98
const inDegree: Object
const
Signature
const inDegree: Object
#specifiers
line 102
let specifiers: any
var
Signature
let specifiers: any
#resolved
line 109
const resolved: any
const
Signature
const resolved: any
#entrySet
line 127
const entrySet: Set
const
Signature
const entrySet: Set