Skip to content

basic_node — Code View

← Back to Container | ← Back to System


Component Information

Field Value
Component basic_node
Container Application
Type module
Description TypeScript/JavaScript code extractor
---

Code Structure

Class Diagram

Class Diagram

Code Elements

44 code element(s) #### Functions ##### `basicNodeExtractor()` Extract architecture information from a Node.js/TypeScript codebase | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Async** | Yes || **Returns** | `Promise>` - Promise resolving to ArchletteIR with code, components, and relationships || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node.ts:74` | **Parameters:** - `node`: any — - Configuration node with include/exclude patterns- `ctx`: import("C:/Users/chris/git/archlette/src/core/types").PipelineContext — - Optional pipeline context with logger **Examples:**

--- ##### `extractClasses()` Extract all class declarations from a source file | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedClass[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/class-extractor.ts:32` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractClass()` Extract information from a single class declaration | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedClass` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/class-extractor.ts:53` | **Parameters:** - `cls`: ClassDeclaration- `filePath`: string --- ##### `extractMethod()` Extract method information from a class | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedMethod` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/class-extractor.ts:92` | **Parameters:** - `method`: MethodDeclaration- `filePath`: string --- ##### `extractProperty()` Extract property information from a class | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedProperty` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/class-extractor.ts:121` | **Parameters:** - `prop`: PropertyDeclaration- `filePath`: string --- ##### `extractMethodParameter()` Extract parameter information | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ParameterInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/class-extractor.ts:147` | **Parameters:** - `param`: any- `descriptions`: Map --- ##### `mapVisibility()` Map ts-morph Scope to our visibility string | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `"public" \| "private" \| "protected"` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/class-extractor.ts:168` | **Parameters:** - `scope`: any --- ##### `getFileJsDocs()` Get JSDoc comments from a source file Checks both the first statement and module-level JSDoc | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `Node[]` - Array of JSDoc nodes (empty if none found) || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:38` | **Parameters:** - `sourceFile`: SourceFile — - TypeScript source file to extract JSDoc from --- ##### `extractFileComponent()` Extract component information from file-level JSDoc Checks the first JSDoc comment in the file for | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").ComponentInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:64` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractFileActors()` Extract actors from file-level JSDoc Looks for | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").ActorInfo[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:90` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractFileRelationships()` Extract relationships from file-level JSDoc Looks for | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").RelationshipInfo[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:109` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractComponentFromJsDoc()` Extract component info from a JSDoc node | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").ComponentInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:125` | **Parameters:** - `jsDoc`: Node --- ##### `extractActorsFromJsDoc()` Extract actors from a JSDoc node Parses | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").ActorInfo[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:157` | **Parameters:** - `jsDoc`: Node --- ##### `parseActorTag()` Parse an | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").ActorInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:188` | **Parameters:** - `tag`: JSDocTag --- ##### `extractRelationshipsFromJsDoc()` Extract relationships from a JSDoc node Parses | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").RelationshipInfo[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:225` | **Parameters:** - `jsDoc`: Node --- ##### `parseUsesTag()` Parse a | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").RelationshipInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:252` | **Parameters:** - `tag`: JSDocTag --- ##### `extractComponentName()` Extract component name from a JSDoc tag Handles formats like: - | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `string` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:285` | **Parameters:** - `tag`: JSDocTag --- ##### `inferComponentFromPath()` Infer component name from file path - Files in subdirectories use the immediate parent folder name - Files in root directory use a special marker that will be replaced with container name Examples: - /path/to/project/src/utils/helper.ts -> 'utils' - /path/to/project/src/index.ts -> ROOT_COMPONENT_MARKER - /path/to/project/services/api/client.ts -> 'api' | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector").ComponentInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/component-detector.ts:327` | **Parameters:** - `filePath`: string --- ##### `extractDocumentation()` Extract documentation information from JSDoc | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").DocInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/doc-extractor.ts:13` | **Parameters:** - `jsDocs`: JSDoc[] --- ##### `extractDeprecation()` Extract deprecation information from JSDoc | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").DeprecationInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/doc-extractor.ts:64` | **Parameters:** - `jsDocs`: JSDoc[] --- ##### `extractParameterDescriptions()` Extract parameter descriptions from JSDoc | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `Map` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/doc-extractor.ts:93` | **Parameters:** - `jsDocs`: JSDoc[] --- ##### `extractReturnDescription()` Extract return description from JSDoc | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `string` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/doc-extractor.ts:116` | **Parameters:** - `jsDocs`: JSDoc[] --- ##### `extractParameterName()` Extract parameter name from | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `string` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/doc-extractor.ts:131` | **Parameters:** - `tag`: JSDocTag — Handles formats like: --- ##### `findSourceFiles()` Find source files matching include/exclude patterns | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Async** | Yes || **Returns** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/file-finder.ts:32` | **Parameters:** - `inputs`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractorInputs --- ##### `findPackageJsonFiles()` Find package.json files within the search paths | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Async** | Yes || **Returns** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/file-finder.ts:48` | **Parameters:** - `inputs`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractorInputs --- ##### `readPackageInfo()` Read and parse package.json file | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Async** | Yes || **Returns** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/file-finder.ts:98` | **Parameters:** - `filePath`: string --- ##### `findNearestPackage()` Find the nearest parent package.json for a given file | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").PackageInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/file-finder.ts:122` | **Parameters:** - `filePath`: string- `packages`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").PackageInfo[] --- ##### `parseFiles()` Parse and extract information from source files | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Async** | Yes || **Returns** | `Promise` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/file-parser.ts:24` | **Parameters:** - `filePaths`: string[] --- ##### `extractFunctions()` Extract all function declarations from a source file | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedFunction[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/function-extractor.ts:21` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractFunction()` Extract information from a single function declaration | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedFunction` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/function-extractor.ts:44` | **Parameters:** - `func`: FunctionDeclaration- `filePath`: string --- ##### `extractFunctionParameter()` Extract parameter information | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ParameterInfo` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/function-extractor.ts:80` | **Parameters:** - `param`: any- `descriptions`: Map --- ##### `extractArrowFunctions()` Extract arrow functions assigned to const/let/var Examples: const handleClick = () => {} export const createUser = async (data) => {} | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedFunction[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/function-extractor.ts:104` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractImports()` Extract all import declarations from a source file | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedImport[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/import-extractor.ts:15` | **Parameters:** - `sourceFile`: SourceFile --- ##### `mapToIR()` Map file extractions to ArchletteIR | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `z.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:37` | **Parameters:** - `extractions`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").FileExtraction[]- `packages`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").PackageInfo[]- `systemInfo`: z.infer --- ##### `mapFunction()` Map a function to a CodeItem | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:425` | **Parameters:** - `func`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedFunction- `filePath`: string- `componentId`: string --- ##### `mapClass()` Map a class to a CodeItem | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:453` | **Parameters:** - `cls`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedClass- `filePath`: string- `componentId`: string --- ##### `mapMethod()` Map a class method to a CodeItem | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:482` | **Parameters:** - `method`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedMethod- `className`: string- `filePath`: string- `componentId`: string --- ##### `resolveImportPath()` Resolve an import path to an absolute file path Handles relative imports (./file, ../file) and resolves to actual file paths Returns undefined for node_modules imports or unresolvable paths | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `string` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:518` | **Parameters:** - `importSource`: string- `fromFilePath`: string --- ##### `mapImportToComponentRelationships()` Map imports to component relationships (component-level dependencies) | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.infer[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:574` | **Parameters:** - `imp`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedImport- `filePath`: string- `componentId`: string- `fileToComponentMap`: Map --- ##### `mapImportRelationships()` Map imports to relationships (original code-level format for backward compatibility) | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.infer[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:611` | **Parameters:** - `imp`: import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedImport- `filePath`: string --- ##### `generateId()` Generate a unique ID for a code element Format: filePath:symbolName | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `string` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:634` | **Parameters:** - `filePath`: string- `symbolName`: string --- ##### `getDefaultSystem()` Get default system info from package.json if available | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `private` | | **Returns** | `z.infer` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/to-ir-mapper.ts:644` | --- ##### `extractTypeAliases()` Extract type aliases from a source file Examples: type UserRole = 'admin' | 'user' | 'guest' export type ApiResponse = { data: T; status: number } | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedType[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/type-extractor.ts:19` | **Parameters:** - `sourceFile`: SourceFile --- ##### `extractInterfaces()` Extract interfaces from a source file Examples: interface User { id: string; name: string } export interface ApiClient { get(url: string): Promise } | Field | Value | | --- | --- | | **Type** | `function` | | **Visibility** | `public` | | **Returns** | `import("C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/types").ExtractedInterface[]` || **Location** | `C:/Users/chris/git/archlette/src/extractors/builtin/basic-node/type-extractor.ts:59` | **Parameters:** - `sourceFile`: SourceFile ---