@warlock.js/core 3.0.40 → 4.0.1
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.
- package/cjs/code-quality/config.js +1 -7
- package/cjs/code-quality/config.js.map +1 -1
- package/cjs/code-quality/issue-tracker.js +1 -119
- package/cjs/code-quality/issue-tracker.js.map +1 -1
- package/cjs/dev2-server/config-handlers.d.ts +8 -0
- package/cjs/dev2-server/config-handlers.d.ts.map +1 -0
- package/cjs/dev2-server/config-handlers.js +56 -0
- package/cjs/dev2-server/config-handlers.js.map +1 -0
- package/cjs/dev2-server/config-loader.d.ts +61 -0
- package/cjs/dev2-server/config-loader.d.ts.map +1 -0
- package/cjs/dev2-server/config-loader.js +117 -0
- package/cjs/dev2-server/config-loader.js.map +1 -0
- package/cjs/dev2-server/connectors/base-connector.d.ts +49 -0
- package/cjs/dev2-server/connectors/base-connector.d.ts.map +1 -0
- package/cjs/dev2-server/connectors/base-connector.js +48 -0
- package/cjs/dev2-server/connectors/base-connector.js.map +1 -0
- package/cjs/dev2-server/connectors/cache-connector.d.ts +23 -0
- package/cjs/dev2-server/connectors/cache-connector.d.ts.map +1 -0
- package/cjs/dev2-server/connectors/cache-connector.js +35 -0
- package/cjs/dev2-server/connectors/cache-connector.js.map +1 -0
- package/cjs/dev2-server/connectors/database-connector.d.ts +23 -0
- package/cjs/dev2-server/connectors/database-connector.d.ts.map +1 -0
- package/cjs/dev2-server/connectors/database-connector.js +42 -0
- package/cjs/dev2-server/connectors/database-connector.js.map +1 -0
- package/cjs/dev2-server/connectors/http-connector.d.ts +29 -0
- package/cjs/dev2-server/connectors/http-connector.d.ts.map +1 -0
- package/cjs/dev2-server/connectors/http-connector.js +71 -0
- package/cjs/dev2-server/connectors/http-connector.js.map +1 -0
- package/cjs/dev2-server/connectors/index.d.ts +10 -0
- package/cjs/dev2-server/connectors/index.d.ts.map +1 -0
- package/cjs/dev2-server/connectors/types.d.ts +49 -0
- package/cjs/dev2-server/connectors/types.d.ts.map +1 -0
- package/cjs/dev2-server/connectors/types.js +9 -0
- package/cjs/dev2-server/connectors/types.js.map +1 -0
- package/cjs/dev2-server/dependency-graph.d.ts +86 -0
- package/cjs/dev2-server/dependency-graph.d.ts.map +1 -0
- package/cjs/dev2-server/dependency-graph.js +225 -0
- package/cjs/dev2-server/dependency-graph.js.map +1 -0
- package/cjs/dev2-server/dev-logger.d.ts +14 -0
- package/cjs/dev2-server/dev-logger.d.ts.map +1 -0
- package/cjs/dev2-server/dev-logger.js +117 -0
- package/cjs/dev2-server/dev-logger.js.map +1 -0
- package/cjs/dev2-server/development-server.d.ts +97 -0
- package/cjs/dev2-server/development-server.d.ts.map +1 -0
- package/cjs/dev2-server/development-server.js +212 -0
- package/cjs/dev2-server/development-server.js.map +1 -0
- package/cjs/dev2-server/events.d.ts +5 -0
- package/cjs/dev2-server/events.d.ts.map +1 -0
- package/cjs/dev2-server/events.js +4 -0
- package/cjs/dev2-server/events.js.map +1 -0
- package/cjs/dev2-server/file-event-handler.d.ts +58 -0
- package/cjs/dev2-server/file-event-handler.d.ts.map +1 -0
- package/cjs/dev2-server/file-event-handler.js +140 -0
- package/cjs/dev2-server/file-event-handler.js.map +1 -0
- package/cjs/dev2-server/file-manager.d.ts +110 -0
- package/cjs/dev2-server/file-manager.d.ts.map +1 -0
- package/cjs/dev2-server/file-manager.js +314 -0
- package/cjs/dev2-server/file-manager.js.map +1 -0
- package/cjs/dev2-server/file-operations.d.ts +54 -0
- package/cjs/dev2-server/file-operations.d.ts.map +1 -0
- package/cjs/dev2-server/file-operations.js +191 -0
- package/cjs/dev2-server/file-operations.js.map +1 -0
- package/cjs/dev2-server/files-orchestrator.d.ts +88 -0
- package/cjs/dev2-server/files-orchestrator.d.ts.map +1 -0
- package/cjs/dev2-server/files-orchestrator.js +271 -0
- package/cjs/dev2-server/files-orchestrator.js.map +1 -0
- package/cjs/dev2-server/files-watcher.d.ts +53 -0
- package/cjs/dev2-server/files-watcher.d.ts.map +1 -0
- package/cjs/dev2-server/files-watcher.js +88 -0
- package/cjs/dev2-server/files-watcher.js.map +1 -0
- package/cjs/dev2-server/flags.d.ts +10 -0
- package/cjs/dev2-server/flags.d.ts.map +1 -0
- package/cjs/dev2-server/flags.js +9 -0
- package/cjs/dev2-server/flags.js.map +1 -0
- package/cjs/dev2-server/health-checker.d.ts +3 -0
- package/cjs/dev2-server/health-checker.d.ts.map +1 -0
- package/cjs/dev2-server/health-checker.js +2 -0
- package/cjs/dev2-server/health-checker.js.map +1 -0
- package/cjs/dev2-server/import-transformer.d.ts +16 -0
- package/cjs/dev2-server/import-transformer.d.ts.map +1 -0
- package/cjs/dev2-server/import-transformer.js +219 -0
- package/cjs/dev2-server/import-transformer.js.map +1 -0
- package/cjs/dev2-server/index.d.ts +1 -0
- package/cjs/dev2-server/index.d.ts.map +1 -0
- package/cjs/dev2-server/layer-executor.d.ts +64 -0
- package/cjs/dev2-server/layer-executor.d.ts.map +1 -0
- package/cjs/dev2-server/layer-executor.js +287 -0
- package/cjs/dev2-server/layer-executor.js.map +1 -0
- package/cjs/dev2-server/manifest-manager.d.ts +80 -0
- package/cjs/dev2-server/manifest-manager.d.ts.map +1 -0
- package/cjs/dev2-server/manifest-manager.js +107 -0
- package/cjs/dev2-server/manifest-manager.js.map +1 -0
- package/cjs/dev2-server/module-loader.d.ts +100 -0
- package/cjs/dev2-server/module-loader.d.ts.map +1 -0
- package/cjs/dev2-server/module-loader.js +229 -0
- package/cjs/dev2-server/module-loader.js.map +1 -0
- package/cjs/dev2-server/package-json-manager.d.ts +16 -0
- package/cjs/dev2-server/package-json-manager.d.ts.map +1 -0
- package/cjs/dev2-server/package-json-manager.js +20 -0
- package/cjs/dev2-server/package-json-manager.js.map +1 -0
- package/cjs/dev2-server/parse-imports.d.ts +8 -0
- package/cjs/dev2-server/parse-imports.d.ts.map +1 -0
- package/cjs/dev2-server/parse-imports.js +268 -0
- package/cjs/dev2-server/parse-imports.js.map +1 -0
- package/cjs/dev2-server/path.d.ts +39 -0
- package/cjs/dev2-server/path.d.ts.map +1 -0
- package/cjs/dev2-server/path.js +56 -0
- package/cjs/dev2-server/path.js.map +1 -0
- package/cjs/dev2-server/runtime-import-helper.d.ts +9 -0
- package/cjs/dev2-server/runtime-import-helper.d.ts.map +1 -0
- package/cjs/dev2-server/runtime-import-helper.js +79 -0
- package/cjs/dev2-server/runtime-import-helper.js.map +1 -0
- package/cjs/dev2-server/special-files-collector.d.ts +114 -0
- package/cjs/dev2-server/special-files-collector.d.ts.map +1 -0
- package/cjs/dev2-server/special-files-collector.js +212 -0
- package/cjs/dev2-server/special-files-collector.js.map +1 -0
- package/cjs/dev2-server/start-development-server.d.ts +7 -0
- package/cjs/dev2-server/start-development-server.d.ts.map +1 -0
- package/cjs/dev2-server/start-development-server.js +21 -0
- package/cjs/dev2-server/start-development-server.js.map +1 -0
- package/cjs/dev2-server/transpile-file.d.ts +6 -0
- package/cjs/dev2-server/transpile-file.d.ts.map +1 -0
- package/cjs/dev2-server/transpile-file.js +14 -0
- package/cjs/dev2-server/transpile-file.js.map +1 -0
- package/cjs/dev2-server/tsconfig-manager.d.ts +45 -0
- package/cjs/dev2-server/tsconfig-manager.d.ts.map +1 -0
- package/cjs/dev2-server/tsconfig-manager.js +104 -0
- package/cjs/dev2-server/tsconfig-manager.js.map +1 -0
- package/cjs/dev2-server/types.d.ts +16 -0
- package/cjs/dev2-server/types.d.ts.map +1 -0
- package/cjs/dev2-server/utils.d.ts +8 -0
- package/cjs/dev2-server/utils.d.ts.map +1 -0
- package/cjs/dev2-server/utils.js +28 -0
- package/cjs/dev2-server/utils.js.map +1 -0
- package/cjs/router/router.d.ts +14 -8
- package/cjs/router/router.d.ts.map +1 -1
- package/cjs/router/router.js +77 -35
- package/cjs/router/router.js.map +1 -1
- package/cjs/router/types.d.ts +8 -0
- package/cjs/router/types.d.ts.map +1 -1
- package/cjs/starters/start-cli-server.js +1 -1
- package/cjs/starters/start-cli-server.js.map +1 -1
- package/cjs/starters/start-http-server.d.ts.map +1 -1
- package/cjs/starters/start-http-server.js +4 -99
- package/cjs/starters/start-http-server.js.map +1 -1
- package/esm/code-quality/config.js +1 -7
- package/esm/code-quality/config.js.map +1 -1
- package/esm/code-quality/issue-tracker.js +1 -119
- package/esm/code-quality/issue-tracker.js.map +1 -1
- package/esm/dev2-server/config-handlers.d.ts +8 -0
- package/esm/dev2-server/config-handlers.d.ts.map +1 -0
- package/esm/dev2-server/config-handlers.js +56 -0
- package/esm/dev2-server/config-handlers.js.map +1 -0
- package/esm/dev2-server/config-loader.d.ts +61 -0
- package/esm/dev2-server/config-loader.d.ts.map +1 -0
- package/esm/dev2-server/config-loader.js +117 -0
- package/esm/dev2-server/config-loader.js.map +1 -0
- package/esm/dev2-server/connectors/base-connector.d.ts +49 -0
- package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/base-connector.js +48 -0
- package/esm/dev2-server/connectors/base-connector.js.map +1 -0
- package/esm/dev2-server/connectors/cache-connector.d.ts +23 -0
- package/esm/dev2-server/connectors/cache-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/cache-connector.js +35 -0
- package/esm/dev2-server/connectors/cache-connector.js.map +1 -0
- package/esm/dev2-server/connectors/database-connector.d.ts +23 -0
- package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/database-connector.js +42 -0
- package/esm/dev2-server/connectors/database-connector.js.map +1 -0
- package/esm/dev2-server/connectors/http-connector.d.ts +29 -0
- package/esm/dev2-server/connectors/http-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/http-connector.js +71 -0
- package/esm/dev2-server/connectors/http-connector.js.map +1 -0
- package/esm/dev2-server/connectors/index.d.ts +10 -0
- package/esm/dev2-server/connectors/index.d.ts.map +1 -0
- package/esm/dev2-server/connectors/types.d.ts +49 -0
- package/esm/dev2-server/connectors/types.d.ts.map +1 -0
- package/esm/dev2-server/connectors/types.js +9 -0
- package/esm/dev2-server/connectors/types.js.map +1 -0
- package/esm/dev2-server/dependency-graph.d.ts +86 -0
- package/esm/dev2-server/dependency-graph.d.ts.map +1 -0
- package/esm/dev2-server/dependency-graph.js +225 -0
- package/esm/dev2-server/dependency-graph.js.map +1 -0
- package/esm/dev2-server/dev-logger.d.ts +14 -0
- package/esm/dev2-server/dev-logger.d.ts.map +1 -0
- package/esm/dev2-server/dev-logger.js +117 -0
- package/esm/dev2-server/dev-logger.js.map +1 -0
- package/esm/dev2-server/development-server.d.ts +97 -0
- package/esm/dev2-server/development-server.d.ts.map +1 -0
- package/esm/dev2-server/development-server.js +212 -0
- package/esm/dev2-server/development-server.js.map +1 -0
- package/esm/dev2-server/events.d.ts +5 -0
- package/esm/dev2-server/events.d.ts.map +1 -0
- package/esm/dev2-server/events.js +4 -0
- package/esm/dev2-server/events.js.map +1 -0
- package/esm/dev2-server/file-event-handler.d.ts +58 -0
- package/esm/dev2-server/file-event-handler.d.ts.map +1 -0
- package/esm/dev2-server/file-event-handler.js +140 -0
- package/esm/dev2-server/file-event-handler.js.map +1 -0
- package/esm/dev2-server/file-manager.d.ts +110 -0
- package/esm/dev2-server/file-manager.d.ts.map +1 -0
- package/esm/dev2-server/file-manager.js +314 -0
- package/esm/dev2-server/file-manager.js.map +1 -0
- package/esm/dev2-server/file-operations.d.ts +54 -0
- package/esm/dev2-server/file-operations.d.ts.map +1 -0
- package/esm/dev2-server/file-operations.js +191 -0
- package/esm/dev2-server/file-operations.js.map +1 -0
- package/esm/dev2-server/files-orchestrator.d.ts +88 -0
- package/esm/dev2-server/files-orchestrator.d.ts.map +1 -0
- package/esm/dev2-server/files-orchestrator.js +271 -0
- package/esm/dev2-server/files-orchestrator.js.map +1 -0
- package/esm/dev2-server/files-watcher.d.ts +53 -0
- package/esm/dev2-server/files-watcher.d.ts.map +1 -0
- package/esm/dev2-server/files-watcher.js +88 -0
- package/esm/dev2-server/files-watcher.js.map +1 -0
- package/esm/dev2-server/flags.d.ts +10 -0
- package/esm/dev2-server/flags.d.ts.map +1 -0
- package/esm/dev2-server/flags.js +9 -0
- package/esm/dev2-server/flags.js.map +1 -0
- package/esm/dev2-server/health-checker.d.ts +3 -0
- package/esm/dev2-server/health-checker.d.ts.map +1 -0
- package/esm/dev2-server/health-checker.js +2 -0
- package/esm/dev2-server/health-checker.js.map +1 -0
- package/esm/dev2-server/import-transformer.d.ts +16 -0
- package/esm/dev2-server/import-transformer.d.ts.map +1 -0
- package/esm/dev2-server/import-transformer.js +219 -0
- package/esm/dev2-server/import-transformer.js.map +1 -0
- package/esm/dev2-server/index.d.ts +1 -0
- package/esm/dev2-server/index.d.ts.map +1 -0
- package/esm/dev2-server/layer-executor.d.ts +64 -0
- package/esm/dev2-server/layer-executor.d.ts.map +1 -0
- package/esm/dev2-server/layer-executor.js +287 -0
- package/esm/dev2-server/layer-executor.js.map +1 -0
- package/esm/dev2-server/manifest-manager.d.ts +80 -0
- package/esm/dev2-server/manifest-manager.d.ts.map +1 -0
- package/esm/dev2-server/manifest-manager.js +107 -0
- package/esm/dev2-server/manifest-manager.js.map +1 -0
- package/esm/dev2-server/module-loader.d.ts +100 -0
- package/esm/dev2-server/module-loader.d.ts.map +1 -0
- package/esm/dev2-server/module-loader.js +229 -0
- package/esm/dev2-server/module-loader.js.map +1 -0
- package/esm/dev2-server/package-json-manager.d.ts +16 -0
- package/esm/dev2-server/package-json-manager.d.ts.map +1 -0
- package/esm/dev2-server/package-json-manager.js +20 -0
- package/esm/dev2-server/package-json-manager.js.map +1 -0
- package/esm/dev2-server/parse-imports.d.ts +8 -0
- package/esm/dev2-server/parse-imports.d.ts.map +1 -0
- package/esm/dev2-server/parse-imports.js +268 -0
- package/esm/dev2-server/parse-imports.js.map +1 -0
- package/esm/dev2-server/path.d.ts +39 -0
- package/esm/dev2-server/path.d.ts.map +1 -0
- package/esm/dev2-server/path.js +56 -0
- package/esm/dev2-server/path.js.map +1 -0
- package/esm/dev2-server/runtime-import-helper.d.ts +9 -0
- package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -0
- package/esm/dev2-server/runtime-import-helper.js +79 -0
- package/esm/dev2-server/runtime-import-helper.js.map +1 -0
- package/esm/dev2-server/special-files-collector.d.ts +114 -0
- package/esm/dev2-server/special-files-collector.d.ts.map +1 -0
- package/esm/dev2-server/special-files-collector.js +212 -0
- package/esm/dev2-server/special-files-collector.js.map +1 -0
- package/esm/dev2-server/start-development-server.d.ts +7 -0
- package/esm/dev2-server/start-development-server.d.ts.map +1 -0
- package/esm/dev2-server/start-development-server.js +21 -0
- package/esm/dev2-server/start-development-server.js.map +1 -0
- package/esm/dev2-server/transpile-file.d.ts +6 -0
- package/esm/dev2-server/transpile-file.d.ts.map +1 -0
- package/esm/dev2-server/transpile-file.js +14 -0
- package/esm/dev2-server/transpile-file.js.map +1 -0
- package/esm/dev2-server/tsconfig-manager.d.ts +45 -0
- package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -0
- package/esm/dev2-server/tsconfig-manager.js +104 -0
- package/esm/dev2-server/tsconfig-manager.js.map +1 -0
- package/esm/dev2-server/types.d.ts +16 -0
- package/esm/dev2-server/types.d.ts.map +1 -0
- package/esm/dev2-server/utils.d.ts +8 -0
- package/esm/dev2-server/utils.d.ts.map +1 -0
- package/esm/dev2-server/utils.js +28 -0
- package/esm/dev2-server/utils.js.map +1 -0
- package/esm/router/router.d.ts +14 -8
- package/esm/router/router.d.ts.map +1 -1
- package/esm/router/router.js +78 -36
- package/esm/router/router.js.map +1 -1
- package/esm/router/types.d.ts +8 -0
- package/esm/router/types.d.ts.map +1 -1
- package/esm/starters/start-cli-server.js +1 -1
- package/esm/starters/start-cli-server.js.map +1 -1
- package/esm/starters/start-http-server.d.ts.map +1 -1
- package/esm/starters/start-http-server.js +4 -99
- package/esm/starters/start-http-server.js.map +1 -1
- package/package.json +3 -3
- package/cjs/code-quality/checkers/eslint-checker.js +0 -39
- package/cjs/code-quality/checkers/eslint-checker.js.map +0 -1
- package/cjs/code-quality/checkers/typescript-checker.js +0 -76
- package/cjs/code-quality/checkers/typescript-checker.js.map +0 -1
- package/cjs/code-quality/formatters/eslint-formatter.js +0 -56
- package/cjs/code-quality/formatters/eslint-formatter.js.map +0 -1
- package/cjs/code-quality/formatters/summary-formatter.js +0 -102
- package/cjs/code-quality/formatters/summary-formatter.js.map +0 -1
- package/cjs/code-quality/formatters/typescript-formatter.js +0 -64
- package/cjs/code-quality/formatters/typescript-formatter.js.map +0 -1
- package/cjs/code-quality/project-scanner.js +0 -78
- package/cjs/code-quality/project-scanner.js.map +0 -1
- package/cjs/code-quality/single-file-checker.js +0 -153
- package/cjs/code-quality/single-file-checker.js.map +0 -1
- package/cjs/starters/http-server-starter.js +0 -34
- package/cjs/starters/http-server-starter.js.map +0 -1
- package/cjs/utils/internal.js +0 -3
- package/cjs/utils/internal.js.map +0 -1
- package/esm/code-quality/checkers/eslint-checker.js +0 -39
- package/esm/code-quality/checkers/eslint-checker.js.map +0 -1
- package/esm/code-quality/checkers/typescript-checker.js +0 -76
- package/esm/code-quality/checkers/typescript-checker.js.map +0 -1
- package/esm/code-quality/formatters/eslint-formatter.js +0 -56
- package/esm/code-quality/formatters/eslint-formatter.js.map +0 -1
- package/esm/code-quality/formatters/summary-formatter.js +0 -102
- package/esm/code-quality/formatters/summary-formatter.js.map +0 -1
- package/esm/code-quality/formatters/typescript-formatter.js +0 -64
- package/esm/code-quality/formatters/typescript-formatter.js.map +0 -1
- package/esm/code-quality/project-scanner.js +0 -78
- package/esm/code-quality/project-scanner.js.map +0 -1
- package/esm/code-quality/single-file-checker.js +0 -153
- package/esm/code-quality/single-file-checker.js.map +0 -1
- package/esm/starters/http-server-starter.js +0 -34
- package/esm/starters/http-server-starter.js.map +0 -1
- package/esm/utils/internal.js +0 -3
- package/esm/utils/internal.js.map +0 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
'use strict';var node_url=require('node:url'),router=require('../router/router.js'),devLogger=require('./dev-logger.js'),utils=require('./utils.js');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}/**
|
|
2
|
+
* Module Loader
|
|
3
|
+
* Dynamically loads and manages application modules (main, routes, events, locales)
|
|
4
|
+
* Handles module cache invalidation for HMR
|
|
5
|
+
*/
|
|
6
|
+
class ModuleLoader {
|
|
7
|
+
specialFilesCollector;
|
|
8
|
+
/**
|
|
9
|
+
* Loaded modules cache
|
|
10
|
+
* Maps absolute path to loaded module
|
|
11
|
+
*/
|
|
12
|
+
loadedModules = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Constructor
|
|
15
|
+
*/
|
|
16
|
+
constructor(specialFilesCollector) {
|
|
17
|
+
this.specialFilesCollector = specialFilesCollector;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Load all special files in correct order
|
|
21
|
+
*/
|
|
22
|
+
async loadAll() {
|
|
23
|
+
// Load in specific order
|
|
24
|
+
await Promise.all([
|
|
25
|
+
this.loadLocaleFiles(),
|
|
26
|
+
this.loadEventFiles(),
|
|
27
|
+
this.loadMainFiles(),
|
|
28
|
+
this.loadRouteFiles(),
|
|
29
|
+
]);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Load all main.ts files
|
|
33
|
+
* Main files are module entry points that run initialization code
|
|
34
|
+
* Loaded in parallel as they should be independent
|
|
35
|
+
*/
|
|
36
|
+
async loadMainFiles() {
|
|
37
|
+
const mainFiles = this.specialFilesCollector.getMainFiles();
|
|
38
|
+
if (mainFiles.length === 0) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Load all main files in parallel
|
|
42
|
+
await Promise.all(mainFiles.map(async (file) => {
|
|
43
|
+
await this.loadModule(file, "main");
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Load all locale files
|
|
48
|
+
* Locale files register translations
|
|
49
|
+
* Loaded in parallel as they are independent
|
|
50
|
+
*/
|
|
51
|
+
async loadLocaleFiles() {
|
|
52
|
+
const localeFiles = this.specialFilesCollector.getLocaleFiles();
|
|
53
|
+
if (localeFiles.length === 0) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
// Load all locale files in parallel
|
|
57
|
+
await Promise.all(localeFiles.map(async (file) => {
|
|
58
|
+
await this.loadModule(file, "locale");
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Load all event files
|
|
63
|
+
* Event files register event handlers
|
|
64
|
+
* Loaded in parallel as they are independent
|
|
65
|
+
*/
|
|
66
|
+
async loadEventFiles() {
|
|
67
|
+
const eventFiles = this.specialFilesCollector.getEventFiles();
|
|
68
|
+
if (eventFiles.length === 0) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
// Load all event files in parallel
|
|
72
|
+
await Promise.all(eventFiles.map(async (file) => {
|
|
73
|
+
await this.loadModule(file, "event");
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Load all route files
|
|
78
|
+
* Route files register HTTP routes
|
|
79
|
+
* Loaded sequentially as order might matter
|
|
80
|
+
*/
|
|
81
|
+
async loadRouteFiles() {
|
|
82
|
+
const routeFiles = this.specialFilesCollector.getRouteFiles();
|
|
83
|
+
console.log("Loading route files", routeFiles.map(file => file.relativePath));
|
|
84
|
+
if (routeFiles.length === 0) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
// Load route files sequentially
|
|
88
|
+
for (const file of routeFiles) {
|
|
89
|
+
await this.loadModule(file, "route");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Load a single module
|
|
94
|
+
* @param file FileManager instance
|
|
95
|
+
* @param type Module type for logging
|
|
96
|
+
* @param bustCache Whether to add timestamp for cache busting (for HMR)
|
|
97
|
+
*/
|
|
98
|
+
async loadModule(file, type, bustCache = false) {
|
|
99
|
+
// Get the cached transpiled file path
|
|
100
|
+
const cachedFilePath = utils.warlockCachePath(file.cachePath);
|
|
101
|
+
// Convert to file:// URL for cross-platform compatibility
|
|
102
|
+
let fileUrl = node_url.pathToFileURL(cachedFilePath).href;
|
|
103
|
+
try {
|
|
104
|
+
// Add timestamp for cache busting (forces re-import for HMR)
|
|
105
|
+
if (bustCache) {
|
|
106
|
+
const timestamp = Date.now();
|
|
107
|
+
fileUrl += `?t=${timestamp}`;
|
|
108
|
+
}
|
|
109
|
+
// For route files, wrap the import with source file tracking
|
|
110
|
+
if (type === "route") {
|
|
111
|
+
await router.router.withSourceFile(file.relativePath, async () => {
|
|
112
|
+
console.log("Loading route file", file.relativePath);
|
|
113
|
+
// Dynamic import the module (routes will be registered with sourceFile)
|
|
114
|
+
const module = await (function(t){return Promise.resolve().then(function(){return /*#__PURE__*/_interopNamespace(require(t))})})(fileUrl);
|
|
115
|
+
// Store in cache (use source path as key for consistency)
|
|
116
|
+
this.loadedModules.set(file.absolutePath, module);
|
|
117
|
+
console.log("Loaded route file", file.relativePath);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// Dynamic import the module
|
|
122
|
+
const module = await (function(t){return Promise.resolve().then(function(){return /*#__PURE__*/_interopNamespace(require(t))})})(fileUrl);
|
|
123
|
+
// Store in cache (use source path as key for consistency)
|
|
124
|
+
this.loadedModules.set(file.absolutePath, module);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
// Format error message (especially for MODULE_NOT_FOUND)
|
|
129
|
+
if (error.code === "ERR_MODULE_NOT_FOUND") {
|
|
130
|
+
devLogger.devLogError(devLogger.formatModuleNotFoundError(error));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
console.log("Failed to load module", fileUrl);
|
|
134
|
+
devLogger.devLogError(`Failed to load ${type}: ${file.relativePath} - ${error.message || error}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Reload a single module (for HMR)
|
|
140
|
+
* @param file FileManager instance
|
|
141
|
+
*/
|
|
142
|
+
async reloadModule(file) {
|
|
143
|
+
const moduleType = this.specialFilesCollector.getFileType(file.relativePath);
|
|
144
|
+
if (!moduleType) {
|
|
145
|
+
// Not a special file, no need to reload
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
// For route files, remove old routes before reloading
|
|
150
|
+
if (moduleType === "route") {
|
|
151
|
+
router.router.removeRoutesBySourceFile(file.relativePath);
|
|
152
|
+
}
|
|
153
|
+
// Clear module cache
|
|
154
|
+
this.clearModuleCache(file.absolutePath);
|
|
155
|
+
// Reload the module with cache busting
|
|
156
|
+
await this.loadModule(file, moduleType, true);
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
// Format error message (especially for MODULE_NOT_FOUND)
|
|
160
|
+
if (error.code === "ERR_MODULE_NOT_FOUND") {
|
|
161
|
+
devLogger.devLogError(devLogger.formatModuleNotFoundError(error));
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
devLogger.devLogError(`Failed to reload module: ${error.message || error}`);
|
|
165
|
+
}
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Clear module cache for a specific file
|
|
171
|
+
* This forces Node.js to re-import the module
|
|
172
|
+
* @param absolutePath Absolute path to the module
|
|
173
|
+
*/
|
|
174
|
+
clearModuleCache(absolutePath) {
|
|
175
|
+
// Remove from our cache
|
|
176
|
+
this.loadedModules.delete(absolutePath);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Clear module cache for multiple files
|
|
180
|
+
* @param absolutePaths Array of absolute paths
|
|
181
|
+
*/
|
|
182
|
+
clearModuleCacheMultiple(absolutePaths) {
|
|
183
|
+
for (const path of absolutePaths) {
|
|
184
|
+
this.clearModuleCache(path);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Clear all application module cache
|
|
189
|
+
* Used for full server restart
|
|
190
|
+
*/
|
|
191
|
+
clearAllModuleCache() {
|
|
192
|
+
// Clear all loaded modules
|
|
193
|
+
for (const absolutePath of this.loadedModules.keys()) {
|
|
194
|
+
this.clearModuleCache(absolutePath);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get loaded module by path
|
|
199
|
+
* @param absolutePath Absolute path to the module
|
|
200
|
+
*/
|
|
201
|
+
getLoadedModule(absolutePath) {
|
|
202
|
+
return this.loadedModules.get(absolutePath);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Check if a module is loaded
|
|
206
|
+
* @param absolutePath Absolute path to the module
|
|
207
|
+
*/
|
|
208
|
+
isModuleLoaded(absolutePath) {
|
|
209
|
+
return this.loadedModules.has(absolutePath);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Get all loaded module paths
|
|
213
|
+
*/
|
|
214
|
+
getLoadedModulePaths() {
|
|
215
|
+
return Array.from(this.loadedModules.keys());
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Get statistics about loaded modules
|
|
219
|
+
*/
|
|
220
|
+
getStats() {
|
|
221
|
+
return {
|
|
222
|
+
totalLoaded: this.loadedModules.size,
|
|
223
|
+
mainFiles: this.specialFilesCollector.getMainFiles().length,
|
|
224
|
+
routeFiles: this.specialFilesCollector.getRouteFiles().length,
|
|
225
|
+
eventFiles: this.specialFilesCollector.getEventFiles().length,
|
|
226
|
+
localeFiles: this.specialFilesCollector.getLocaleFiles().length,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}exports.ModuleLoader=ModuleLoader;//# sourceMappingURL=module-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-loader.js","sources":["../../src/dev2-server/module-loader.ts"],"sourcesContent":[null],"names":["warlockCachePath","pathToFileURL","router","devLogError","formatModuleNotFoundError"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class PackageJsonManager {
|
|
2
|
+
/**
|
|
3
|
+
* Package.json data
|
|
4
|
+
*/
|
|
5
|
+
packageJson: any;
|
|
6
|
+
/**
|
|
7
|
+
* Initialize the package.json manager
|
|
8
|
+
*/
|
|
9
|
+
init(): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Check if the given path is a package path
|
|
12
|
+
*/
|
|
13
|
+
isPathPackage(path: string): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const packageJsonManager: PackageJsonManager;
|
|
16
|
+
//# sourceMappingURL=package-json-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json-manager.d.ts","sourceRoot":"","sources":["../../src/dev2-server/package-json-manager.ts"],"names":[],"mappings":"AAGA,qBAAa,kBAAkB;IAC7B;;OAEG;IACI,WAAW,EAAE,GAAG,CAAM;IAE7B;;OAEG;IACU,IAAI;IAIjB;;OAEG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM;CAOlC;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),path=require('./path.js');class PackageJsonManager {
|
|
2
|
+
/**
|
|
3
|
+
* Package.json data
|
|
4
|
+
*/
|
|
5
|
+
packageJson = {};
|
|
6
|
+
/**
|
|
7
|
+
* Initialize the package.json manager
|
|
8
|
+
*/
|
|
9
|
+
async init() {
|
|
10
|
+
this.packageJson = await fs.getJsonFileAsync(path.Path.toAbsolute("package.json"));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Check if the given path is a package path
|
|
14
|
+
*/
|
|
15
|
+
isPathPackage(path) {
|
|
16
|
+
const allPackages = Object.keys(this.packageJson.dependencies || {}).concat(Object.keys(this.packageJson.devDependencies || {}));
|
|
17
|
+
return allPackages.some((packageName) => path.startsWith(packageName));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const packageJsonManager = new PackageJsonManager();exports.PackageJsonManager=PackageJsonManager;exports.packageJsonManager=packageJsonManager;//# sourceMappingURL=package-json-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json-manager.js","sources":["../../src/dev2-server/package-json-manager.ts"],"sourcesContent":[null],"names":["getJsonFileAsync","Path"],"mappings":"0EAGa,kBAAkB,CAAA;AAC7B;;AAEG;IACI,WAAW,GAAQ,EAAE,CAAC;AAE7B;;AAEG;AACI,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,GAAG,MAAMA,mBAAgB,CAACC,SAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;KAC5E;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC,CACpD,CAAC;AAEF,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;KACxE;AACF,CAAA;AAEY,MAAA,kBAAkB,GAAG,IAAI,kBAAkB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function will transpile the given ts/tsx code to js code
|
|
3
|
+
* // also it will return the dependencies of the file
|
|
4
|
+
*
|
|
5
|
+
* @returns Map of originalImportPath -> resolvedAbsolutePath
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseImports(source: string, filePath: string): Promise<Map<string, string>>;
|
|
8
|
+
//# sourceMappingURL=parse-imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-imports.d.ts","sourceRoot":"","sources":["../../src/dev2-server/parse-imports.ts"],"names":[],"mappings":"AAgGA;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gCAqDlE"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),esModuleLexer=require('es-module-lexer'),path=require('node:path'),path$1=require('./path.js'),tsconfigManager=require('./tsconfig-manager.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);/**
|
|
2
|
+
* Extract import paths using regex (more reliable for TypeScript)
|
|
3
|
+
* This is a fallback when es-module-lexer fails
|
|
4
|
+
*/
|
|
5
|
+
function extractImportPathsWithRegex(source) {
|
|
6
|
+
const imports = [];
|
|
7
|
+
const seenPaths = new Set();
|
|
8
|
+
// Skip type-only imports
|
|
9
|
+
const skipTypeOnlyImports = (line) => {
|
|
10
|
+
const trimmed = line.trim();
|
|
11
|
+
return (trimmed.startsWith("import type ") ||
|
|
12
|
+
!!trimmed.match(/import\s+type\s+\{/));
|
|
13
|
+
};
|
|
14
|
+
// Pattern 1: Standard ES module imports - look for "from" followed by quoted string
|
|
15
|
+
// Also handle side-effect imports: import "path"
|
|
16
|
+
const lines = source.split("\n");
|
|
17
|
+
for (let i = 0; i < lines.length; i++) {
|
|
18
|
+
const line = lines[i];
|
|
19
|
+
const trimmed = line.trim();
|
|
20
|
+
// Skip type-only imports
|
|
21
|
+
if (skipTypeOnlyImports(trimmed)) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
// Match: ... from "path" or ... from 'path'
|
|
25
|
+
const fromMatch = trimmed.match(/\s+from\s+['"]([^'"]+)['"]/);
|
|
26
|
+
if (fromMatch && trimmed.startsWith("import")) {
|
|
27
|
+
const importPath = fromMatch[1];
|
|
28
|
+
if (importPath && !seenPaths.has(importPath)) {
|
|
29
|
+
seenPaths.add(importPath);
|
|
30
|
+
imports.push({
|
|
31
|
+
path: importPath,
|
|
32
|
+
originalLine: line,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
// Match: import "path" (side-effect imports)
|
|
38
|
+
const sideEffectMatch = trimmed.match(/^import\s+['"]([^'"]+)['"]/);
|
|
39
|
+
if (sideEffectMatch) {
|
|
40
|
+
const importPath = sideEffectMatch[1];
|
|
41
|
+
if (importPath && !seenPaths.has(importPath)) {
|
|
42
|
+
seenPaths.add(importPath);
|
|
43
|
+
imports.push({
|
|
44
|
+
path: importPath,
|
|
45
|
+
originalLine: line,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Pattern 2: Dynamic imports - import("path")
|
|
51
|
+
const dynamicImportPattern = /import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
52
|
+
let match;
|
|
53
|
+
while ((match = dynamicImportPattern.exec(source)) !== null) {
|
|
54
|
+
const importPath = match[1];
|
|
55
|
+
if (importPath && !seenPaths.has(importPath)) {
|
|
56
|
+
seenPaths.add(importPath);
|
|
57
|
+
imports.push({
|
|
58
|
+
path: importPath,
|
|
59
|
+
originalLine: match[0],
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Pattern 3: Export from - export ... from "path"
|
|
64
|
+
const exportFromPattern = /export\s+(?:\{[^}]*\}|\*|\w+)\s+from\s+['"]([^'"]+)['"]/g;
|
|
65
|
+
while ((match = exportFromPattern.exec(source)) !== null) {
|
|
66
|
+
const importPath = match[1];
|
|
67
|
+
if (importPath && !seenPaths.has(importPath)) {
|
|
68
|
+
seenPaths.add(importPath);
|
|
69
|
+
imports.push({
|
|
70
|
+
path: importPath,
|
|
71
|
+
originalLine: match[0],
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return imports;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* This function will transpile the given ts/tsx code to js code
|
|
79
|
+
* // also it will return the dependencies of the file
|
|
80
|
+
*
|
|
81
|
+
* @returns Map of originalImportPath -> resolvedAbsolutePath
|
|
82
|
+
*/
|
|
83
|
+
async function parseImports(source, filePath) {
|
|
84
|
+
try {
|
|
85
|
+
// Skip .d.ts files - they're type declarations, not runtime code
|
|
86
|
+
if (filePath.endsWith(".d.ts")) {
|
|
87
|
+
return new Map();
|
|
88
|
+
}
|
|
89
|
+
// Try es-module-lexer first (faster and more accurate for simple cases)
|
|
90
|
+
try {
|
|
91
|
+
const [imports] = await esModuleLexer.parse(source);
|
|
92
|
+
if (imports && imports.length > 0) {
|
|
93
|
+
return await resolveImports(imports, filePath);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (lexerError) {
|
|
97
|
+
// es-module-lexer failed, fall back to regex-based extraction
|
|
98
|
+
// This is common with TypeScript files that have complex syntax
|
|
99
|
+
}
|
|
100
|
+
// Fallback: Use regex-based extraction (more forgiving with TypeScript)
|
|
101
|
+
const regexImports = extractImportPathsWithRegex(source);
|
|
102
|
+
const resolvedImports = new Map();
|
|
103
|
+
for (const { path: importPath } of regexImports) {
|
|
104
|
+
// Skip node built-ins and external packages
|
|
105
|
+
if (isNodeBuiltin(importPath)) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
// Skip external node_modules packages (not starting with . or alias)
|
|
109
|
+
if (!importPath.startsWith(".") && !tsconfigManager.tsconfigManager.isAlias(importPath)) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
let resolvedPath = null;
|
|
113
|
+
// Handle alias imports
|
|
114
|
+
if (tsconfigManager.tsconfigManager.isAlias(importPath)) {
|
|
115
|
+
resolvedPath = await resolveAliasImport(importPath);
|
|
116
|
+
}
|
|
117
|
+
else if (importPath.startsWith(".")) {
|
|
118
|
+
// Handle relative imports
|
|
119
|
+
resolvedPath = await resolveRelativeImport(importPath, filePath);
|
|
120
|
+
}
|
|
121
|
+
if (resolvedPath) {
|
|
122
|
+
resolvedImports.set(importPath, resolvedPath);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return resolvedImports;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
console.error(`Error parsing imports for ${filePath}:`, error);
|
|
129
|
+
return new Map();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async function resolveImports(imports, filePath) {
|
|
133
|
+
const resolvedImports = new Map();
|
|
134
|
+
for (const imp of imports) {
|
|
135
|
+
const importPath = imp.n;
|
|
136
|
+
if (!importPath)
|
|
137
|
+
continue;
|
|
138
|
+
// Skip node built-ins and external packages
|
|
139
|
+
if (isNodeBuiltin(importPath)) {
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
// Skip external node_modules packages (not starting with . or alias)
|
|
143
|
+
if (!importPath.startsWith(".") && !tsconfigManager.tsconfigManager.isAlias(importPath)) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
let resolvedPath = null;
|
|
147
|
+
// Handle alias imports (e.g., app/users/services/get-users.service)
|
|
148
|
+
if (tsconfigManager.tsconfigManager.isAlias(importPath)) {
|
|
149
|
+
resolvedPath = await resolveAliasImport(importPath);
|
|
150
|
+
}
|
|
151
|
+
else if (importPath.startsWith(".")) {
|
|
152
|
+
// Handle relative imports (e.g., ./../services/get-user.service)
|
|
153
|
+
resolvedPath = await resolveRelativeImport(importPath, filePath);
|
|
154
|
+
}
|
|
155
|
+
if (resolvedPath) {
|
|
156
|
+
// Store mapping: original import path -> resolved absolute path
|
|
157
|
+
resolvedImports.set(importPath, resolvedPath);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return resolvedImports;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Resolve alias imports to actual file paths with extensions
|
|
164
|
+
* Example: app/users/services/get-users.service -> /absolute/path/to/src/app/users/services/get-users.service.ts
|
|
165
|
+
*/
|
|
166
|
+
async function resolveAliasImport(importPath) {
|
|
167
|
+
// Use tsconfig manager to resolve the alias to an absolute path
|
|
168
|
+
const resolvedBase = tsconfigManager.tsconfigManager.resolveAliasToAbsolute(importPath);
|
|
169
|
+
if (!resolvedBase)
|
|
170
|
+
return null;
|
|
171
|
+
// Try to resolve with extensions
|
|
172
|
+
const resolvedPath = await tryResolveWithExtensions(resolvedBase);
|
|
173
|
+
return resolvedPath;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Resolve relative imports to actual file paths
|
|
177
|
+
* Example: ./../services/get-user.service -> /absolute/path/to/services/get-user.service.ts
|
|
178
|
+
*/
|
|
179
|
+
async function resolveRelativeImport(importPath, currentFilePath) {
|
|
180
|
+
const dir = path__default.default.dirname(currentFilePath);
|
|
181
|
+
// Use path.resolve to handle .. and . properly, then normalize to forward slashes
|
|
182
|
+
const resolvedBase = path$1.Path.normalize(path__default.default.resolve(dir, importPath));
|
|
183
|
+
// Try to resolve with extensions
|
|
184
|
+
const resolvedPath = await tryResolveWithExtensions(resolvedBase);
|
|
185
|
+
return resolvedPath;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Try to resolve a file path by checking different extensions
|
|
189
|
+
* TypeScript/JavaScript files can be imported without extensions
|
|
190
|
+
*
|
|
191
|
+
* @TODO: For better performance, we need to check the files in files orchestrator
|
|
192
|
+
* instead of using the file system as we will be fetching all project files anyway.
|
|
193
|
+
*/
|
|
194
|
+
async function tryResolveWithExtensions(basePath) {
|
|
195
|
+
// Normalize the base path first (handle Windows paths)
|
|
196
|
+
const normalizedBase = path$1.Path.normalize(basePath);
|
|
197
|
+
// List of extensions to try, in order of preference
|
|
198
|
+
const extensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"];
|
|
199
|
+
const validExtensions = new Set(extensions);
|
|
200
|
+
// If the path already has a VALID code file extension, check if it exists
|
|
201
|
+
const ext = path__default.default.extname(normalizedBase);
|
|
202
|
+
if (ext && validExtensions.has(ext)) {
|
|
203
|
+
if (await fs.fileExistsAsync(normalizedBase)) {
|
|
204
|
+
return normalizedBase;
|
|
205
|
+
}
|
|
206
|
+
// If explicit extension doesn't exist, return null
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
// Try each extension (even if there's already a non-code extension like .service or .repository)
|
|
210
|
+
for (const extension of extensions) {
|
|
211
|
+
const pathWithExt = normalizedBase + extension;
|
|
212
|
+
if (await fs.fileExistsAsync(pathWithExt)) {
|
|
213
|
+
return pathWithExt;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// Try index files in directory
|
|
217
|
+
if (await fs.isDirectoryAsync(normalizedBase)) {
|
|
218
|
+
for (const extension of extensions) {
|
|
219
|
+
const indexPath = path$1.Path.join(normalizedBase, `index${extension}`);
|
|
220
|
+
if (await fs.fileExists(indexPath)) {
|
|
221
|
+
return indexPath;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Check if import is a Node.js built-in module
|
|
229
|
+
*/
|
|
230
|
+
function isNodeBuiltin(importPath) {
|
|
231
|
+
const builtins = [
|
|
232
|
+
"fs",
|
|
233
|
+
"path",
|
|
234
|
+
"http",
|
|
235
|
+
"https",
|
|
236
|
+
"crypto",
|
|
237
|
+
"stream",
|
|
238
|
+
"util",
|
|
239
|
+
"events",
|
|
240
|
+
"buffer",
|
|
241
|
+
"child_process",
|
|
242
|
+
"os",
|
|
243
|
+
"url",
|
|
244
|
+
"querystring",
|
|
245
|
+
"zlib",
|
|
246
|
+
"net",
|
|
247
|
+
"tls",
|
|
248
|
+
"dns",
|
|
249
|
+
"dgram",
|
|
250
|
+
"cluster",
|
|
251
|
+
"worker_threads",
|
|
252
|
+
"perf_hooks",
|
|
253
|
+
"async_hooks",
|
|
254
|
+
"timers",
|
|
255
|
+
"readline",
|
|
256
|
+
"repl",
|
|
257
|
+
"vm",
|
|
258
|
+
"assert",
|
|
259
|
+
"console",
|
|
260
|
+
"process",
|
|
261
|
+
"v8",
|
|
262
|
+
];
|
|
263
|
+
// Check for node: prefix or direct builtin name
|
|
264
|
+
if (importPath.startsWith("node:"))
|
|
265
|
+
return true;
|
|
266
|
+
const moduleName = importPath.split("/")[0];
|
|
267
|
+
return builtins.includes(moduleName);
|
|
268
|
+
}exports.parseImports=parseImports;//# sourceMappingURL=parse-imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-imports.js","sources":["../../src/dev2-server/parse-imports.ts"],"sourcesContent":[null],"names":["parse","tsconfigManager","path","Path","fileExistsAsync","isDirectoryAsync","fileExists"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare class Path {
|
|
2
|
+
/**
|
|
3
|
+
* Convert the given absolute path to a relative path
|
|
4
|
+
*/
|
|
5
|
+
static toRelative(absolutePath: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Get relative path of the given path
|
|
8
|
+
*/
|
|
9
|
+
static relative(relativePath: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Get normalized absolute path of the given path
|
|
12
|
+
*/
|
|
13
|
+
static toNormalizedAbsolute(relativePath: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Get absolute path of the given path
|
|
16
|
+
*/
|
|
17
|
+
static toAbsolute(relativePath: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Normalize the given path (convert backslashes to forward slashes)
|
|
20
|
+
*/
|
|
21
|
+
static normalize(filePath: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Join paths and normalize
|
|
24
|
+
*/
|
|
25
|
+
static join(...paths: string[]): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get directory name of a path
|
|
28
|
+
*/
|
|
29
|
+
static dirname(filePath: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get base name of a path
|
|
32
|
+
*/
|
|
33
|
+
static basename(filePath: string, ext?: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get extension of a path
|
|
36
|
+
*/
|
|
37
|
+
static extname(filePath: string): string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/dev2-server/path.ts"],"names":[],"mappings":"AAEA,qBAAa,IAAI;IACf;;OAEG;WACW,UAAU,CAAC,YAAY,EAAE,MAAM;IAI7C;;OAEG;WACW,QAAQ,CAAC,YAAY,EAAE,MAAM;IAI3C;;OAEG;WACW,oBAAoB,CAAC,YAAY,EAAE,MAAM;IAIvD;;OAEG;WACW,UAAU,CAAC,YAAY,EAAE,MAAM;IAI7C;;OAEG;WACW,SAAS,CAAC,QAAQ,EAAE,MAAM;IAIxC;;OAEG;WACW,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAIrC;;OAEG;WACW,OAAO,CAAC,QAAQ,EAAE,MAAM;IAItC;;OAEG;WACW,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAIrD;;OAEG;WACW,OAAO,CAAC,QAAQ,EAAE,MAAM;CAGvC"}
|