sicua
Version:
A tool for analyzing project structure and dependencies
64 lines (63 loc) • 1.84 kB
TypeScript
/**
* Detector for server-only imports in client-side code
*/
import { BaseDetector } from "./BaseDetector";
import { Vulnerability } from "../types/vulnerability.types";
import { ScanResult } from "../../../types";
export declare class ServerOnlyImportsDetector extends BaseDetector {
private static readonly SERVER_IMPORT_PATTERNS;
private static readonly NODEJS_BUILTINS;
private static readonly SERVER_ONLY_LIBRARIES;
private static readonly POTENTIALLY_SERVER_ONLY;
constructor();
detect(scanResult: ScanResult): Promise<Vulnerability[]>;
/**
* Filter files to only include client-side files
*/
private filterClientSideFiles;
/**
* Validate if a server import pattern match is actually problematic
*/
private validateServerImportMatch;
/**
* AST-based analysis for server-only imports
*/
private analyzeASTForServerImports;
/**
* Find import declarations
*/
private findImportDeclarations;
/**
* Find require() calls
*/
private findRequireCalls;
/**
* Find dynamic import() calls
*/
private findDynamicImports;
/**
* Analyze import declaration for server-only modules
*/
private analyzeImportDeclaration;
/**
* Analyze require call for server-only modules
*/
private analyzeRequireCall;
/**
* Analyze dynamic import for server-only modules
*/
private analyzeDynamicImport;
/**
* Analyze module name to determine if it's server-only
*/
private analyzeModuleForServerOnly;
/**
* Check if a library contains critical/sensitive functionality
*/
private isCriticalServerLibrary;
private isTypeDefinitionFile;
/**
* Extract function name from AST node context
*/
private extractFunctionFromAST;
}