- Hover provider showing entity information and type - Go-to-definition (F12) for entity references - Basic IFC file validation (ISO-10303-21 header check) - Entity parsing with regex-based detection - Proper CommonJS module system (avoiding ES module issues) This replaces the broken baseline from ifc-developer-tools which had: - Non-functional ES module configuration - Circular dependency issues - Parser crashes - Non-working PositionVisitor Built on Microsoft's LSP example template for a clean, maintainable foundation. Next: Add hierarchical entity dependency tree in hover tooltip."
27 lines
910 B
TypeScript
27 lines
910 B
TypeScript
export class ModuleImporter {
|
|
/**
|
|
* Creates a new instance.
|
|
* @param {string} [cwd] The current working directory to resolve from.
|
|
*/
|
|
constructor(cwd?: string);
|
|
/**
|
|
* The base directory from which paths should be resolved.
|
|
* @type {string}
|
|
*/
|
|
cwd: string;
|
|
/**
|
|
* Resolves a module based on its name or location.
|
|
* @param {string} specifier Either an npm package name or
|
|
* relative file path.
|
|
* @returns {string|undefined} The location of the import.
|
|
* @throws {Error} If specifier cannot be located.
|
|
*/
|
|
resolve(specifier: string): string | undefined;
|
|
/**
|
|
* Imports a module based on its name or location.
|
|
* @param {string} specifier Either an npm package name or
|
|
* relative file path.
|
|
* @returns {Promise<object>} The module's object.
|
|
*/
|
|
import(specifier: string): Promise<object>;
|
|
}
|