@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,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Graph
|
|
3
|
+
* Tracks bidirectional relationships between files:
|
|
4
|
+
* - dependencies: files that this file imports
|
|
5
|
+
* - dependents: files that import this file
|
|
6
|
+
*/
|
|
7
|
+
class DependencyGraph {
|
|
8
|
+
/**
|
|
9
|
+
* Map of file -> files it depends on (imports)
|
|
10
|
+
* Key: relative file path
|
|
11
|
+
* Value: Set of relative file paths this file imports
|
|
12
|
+
*/
|
|
13
|
+
dependencies = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* Map of file -> files that depend on it (importers)
|
|
16
|
+
* Key: relative file path
|
|
17
|
+
* Value: Set of relative file paths that import this file
|
|
18
|
+
*/
|
|
19
|
+
dependents = new Map();
|
|
20
|
+
/**
|
|
21
|
+
* Build dependency graph from FileManager map
|
|
22
|
+
*/
|
|
23
|
+
build(files) {
|
|
24
|
+
// Clear existing graph
|
|
25
|
+
this.dependencies.clear();
|
|
26
|
+
this.dependents.clear();
|
|
27
|
+
// Build graph from all files
|
|
28
|
+
for (const [relativePath, fileManager] of files) {
|
|
29
|
+
// Initialize empty sets ONLY if not already present
|
|
30
|
+
// (addDependency may have already created entries for this file)
|
|
31
|
+
if (!this.dependencies.has(relativePath)) {
|
|
32
|
+
this.dependencies.set(relativePath, new Set());
|
|
33
|
+
}
|
|
34
|
+
if (!this.dependents.has(relativePath)) {
|
|
35
|
+
this.dependents.set(relativePath, new Set());
|
|
36
|
+
}
|
|
37
|
+
// Add dependencies
|
|
38
|
+
for (const dependency of fileManager.dependencies) {
|
|
39
|
+
this.addDependency(relativePath, dependency);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Detect circular dependencies
|
|
43
|
+
const cycles = this.detectCircularDependencies();
|
|
44
|
+
if (cycles.length > 0) {
|
|
45
|
+
console.warn(`⚠️ Found ${cycles.length} circular dependency chain(s)`);
|
|
46
|
+
for (const cycle of cycles) {
|
|
47
|
+
console.warn(` ${cycle.join(" → ")}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Add a dependency relationship
|
|
53
|
+
* @param file The file that has the dependency
|
|
54
|
+
* @param dependency The file being depended upon
|
|
55
|
+
*/
|
|
56
|
+
addDependency(file, dependency) {
|
|
57
|
+
// Ensure both files exist in the graph
|
|
58
|
+
if (!this.dependencies.has(file)) {
|
|
59
|
+
this.dependencies.set(file, new Set());
|
|
60
|
+
}
|
|
61
|
+
if (!this.dependents.has(dependency)) {
|
|
62
|
+
this.dependents.set(dependency, new Set());
|
|
63
|
+
}
|
|
64
|
+
// Add bidirectional relationship
|
|
65
|
+
this.dependencies.get(file).add(dependency);
|
|
66
|
+
this.dependents.get(dependency).add(file);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Remove a dependency relationship
|
|
70
|
+
* @param file The file that has the dependency
|
|
71
|
+
* @param dependency The file being depended upon
|
|
72
|
+
*/
|
|
73
|
+
removeDependency(file, dependency) {
|
|
74
|
+
this.dependencies.get(file)?.delete(dependency);
|
|
75
|
+
this.dependents.get(dependency)?.delete(file);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Remove all relationships for a file
|
|
79
|
+
* @param file The file to remove
|
|
80
|
+
*/
|
|
81
|
+
removeFile(file) {
|
|
82
|
+
// Remove as dependent from all its dependencies
|
|
83
|
+
const deps = this.dependencies.get(file);
|
|
84
|
+
if (deps) {
|
|
85
|
+
for (const dependency of deps) {
|
|
86
|
+
this.dependents.get(dependency)?.delete(file);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Remove as dependency from all its dependents
|
|
90
|
+
const dependents = this.dependents.get(file);
|
|
91
|
+
if (dependents) {
|
|
92
|
+
for (const dependent of dependents) {
|
|
93
|
+
this.dependencies.get(dependent)?.delete(file);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Remove from maps
|
|
97
|
+
this.dependencies.delete(file);
|
|
98
|
+
this.dependents.delete(file);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Update dependencies for a file
|
|
102
|
+
* @param file The file to update
|
|
103
|
+
* @param newDependencies New set of dependencies
|
|
104
|
+
*/
|
|
105
|
+
updateFile(file, newDependencies) {
|
|
106
|
+
// Get old dependencies
|
|
107
|
+
const oldDependencies = this.dependencies.get(file) || new Set();
|
|
108
|
+
// Find removed dependencies
|
|
109
|
+
for (const oldDep of oldDependencies) {
|
|
110
|
+
if (!newDependencies.has(oldDep)) {
|
|
111
|
+
this.removeDependency(file, oldDep);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Find added dependencies
|
|
115
|
+
for (const newDep of newDependencies) {
|
|
116
|
+
if (!oldDependencies.has(newDep)) {
|
|
117
|
+
this.addDependency(file, newDep);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get files that this file depends on (imports)
|
|
123
|
+
* @param file The file to check
|
|
124
|
+
* @returns Set of files this file imports
|
|
125
|
+
*/
|
|
126
|
+
getDependencies(file) {
|
|
127
|
+
return this.dependencies.get(file) || new Set();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get files that depend on this file (importers)
|
|
131
|
+
* @param file The file to check
|
|
132
|
+
* @returns Set of files that import this file
|
|
133
|
+
*/
|
|
134
|
+
getDependents(file) {
|
|
135
|
+
return this.dependents.get(file) || new Set();
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Get invalidation chain for a file
|
|
139
|
+
* Returns all files that need to be reloaded when this file changes
|
|
140
|
+
* Includes the file itself and all transitive dependents
|
|
141
|
+
* @param file The file that changed
|
|
142
|
+
* @returns Array of files to invalidate (in order)
|
|
143
|
+
*/
|
|
144
|
+
getInvalidationChain(file) {
|
|
145
|
+
const chain = [file];
|
|
146
|
+
const visited = new Set([file]);
|
|
147
|
+
const traverse = (current) => {
|
|
148
|
+
const deps = this.getDependents(current);
|
|
149
|
+
for (const dep of deps) {
|
|
150
|
+
if (!visited.has(dep)) {
|
|
151
|
+
visited.add(dep);
|
|
152
|
+
chain.push(dep);
|
|
153
|
+
traverse(dep); // Recursive traversal
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
traverse(file);
|
|
158
|
+
return chain;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Detect circular dependencies
|
|
162
|
+
* @returns Array of circular dependency chains
|
|
163
|
+
*/
|
|
164
|
+
detectCircularDependencies() {
|
|
165
|
+
const cycles = [];
|
|
166
|
+
const visited = new Set();
|
|
167
|
+
const recursionStack = new Set();
|
|
168
|
+
const dfs = (file, path) => {
|
|
169
|
+
visited.add(file);
|
|
170
|
+
recursionStack.add(file);
|
|
171
|
+
path.push(file);
|
|
172
|
+
const deps = this.getDependencies(file);
|
|
173
|
+
for (const dep of deps) {
|
|
174
|
+
if (!visited.has(dep)) {
|
|
175
|
+
dfs(dep, [...path]);
|
|
176
|
+
}
|
|
177
|
+
else if (recursionStack.has(dep)) {
|
|
178
|
+
// Found a cycle
|
|
179
|
+
const cycleStart = path.indexOf(dep);
|
|
180
|
+
const cycle = [...path.slice(cycleStart), dep];
|
|
181
|
+
cycles.push(cycle);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
recursionStack.delete(file);
|
|
185
|
+
};
|
|
186
|
+
for (const file of this.dependencies.keys()) {
|
|
187
|
+
if (!visited.has(file)) {
|
|
188
|
+
dfs(file, []);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return cycles;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get statistics about the dependency graph
|
|
195
|
+
*/
|
|
196
|
+
getStats() {
|
|
197
|
+
let totalDependencies = 0;
|
|
198
|
+
let maxDependencies = 0;
|
|
199
|
+
let maxDependents = 0;
|
|
200
|
+
let mostDependedFile = "";
|
|
201
|
+
let mostDependingFile = "";
|
|
202
|
+
for (const [file, deps] of this.dependencies) {
|
|
203
|
+
totalDependencies += deps.size;
|
|
204
|
+
if (deps.size > maxDependencies) {
|
|
205
|
+
maxDependencies = deps.size;
|
|
206
|
+
mostDependingFile = file;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
for (const [file, deps] of this.dependents) {
|
|
210
|
+
if (deps.size > maxDependents) {
|
|
211
|
+
maxDependents = deps.size;
|
|
212
|
+
mostDependedFile = file;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
totalFiles: this.dependencies.size,
|
|
217
|
+
totalDependencies,
|
|
218
|
+
avgDependenciesPerFile: totalDependencies / this.dependencies.size || 0,
|
|
219
|
+
maxDependencies,
|
|
220
|
+
maxDependents,
|
|
221
|
+
mostDependingFile,
|
|
222
|
+
mostDependedFile,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
}export{DependencyGraph};//# sourceMappingURL=dependency-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-graph.js","sources":["../../src/dev2-server/dependency-graph.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function devLog(message: string): void;
|
|
2
|
+
export declare function devLogSuccess(message: string): void;
|
|
3
|
+
export declare function devLogError(message: string, error?: any): void;
|
|
4
|
+
export declare function devLogWarn(message: string): void;
|
|
5
|
+
export declare function devLogInfo(message: string): void;
|
|
6
|
+
export declare function devLogDim(message: string): void;
|
|
7
|
+
export declare function devLogHMR(file: string, dependents?: number): void;
|
|
8
|
+
export declare function devLogFSR(reason: string): void;
|
|
9
|
+
export declare function devLogConfig(file: string, connectors?: string[]): void;
|
|
10
|
+
export declare function devLogReady(message: string): void;
|
|
11
|
+
export declare function devLogSection(title: string): void;
|
|
12
|
+
export declare function formatModuleNotFoundError(error: Error): string;
|
|
13
|
+
export declare function devServeLog(message: string): void;
|
|
14
|
+
//# sourceMappingURL=dev-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../../src/dev2-server/dev-logger.ts"],"names":[],"mappings":"AAcA,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,QAErC;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,QAE5C;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,QAOvD;AAGD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAGD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAExC;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,QAK1D;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,QAEvC;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAM/D;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1C;AAyCD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CA2B9D;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {colors}from'@mongez/copper';import dayjs from'dayjs';import {Path}from'./path.js';/**
|
|
2
|
+
* Dev server logger with Vite-like formatting
|
|
3
|
+
*/
|
|
4
|
+
// Timestamp formatter
|
|
5
|
+
function timestamp() {
|
|
6
|
+
return colors.dim(`${dayjs().format("HH:mm:ss A")}`);
|
|
7
|
+
}
|
|
8
|
+
// Main log function
|
|
9
|
+
function devLog(message) {
|
|
10
|
+
console.log(`${timestamp()} ${message}`);
|
|
11
|
+
}
|
|
12
|
+
// Success log (green checkmark)
|
|
13
|
+
function devLogSuccess(message) {
|
|
14
|
+
console.log(`${timestamp()} ${colors.green("✓")} ${colors.green(message)}`);
|
|
15
|
+
}
|
|
16
|
+
// Error log (red X)
|
|
17
|
+
function devLogError(message, error) {
|
|
18
|
+
console.log(`${timestamp()} ${colors.red("✗")} ${colors.red(message)}`);
|
|
19
|
+
if (error && error.stack) {
|
|
20
|
+
// Clean up error stack to show relative paths
|
|
21
|
+
const cleanStack = cleanErrorStack(error.stack);
|
|
22
|
+
console.log(colors.dim(cleanStack));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Info log (cyan)
|
|
26
|
+
function devLogInfo(message) {
|
|
27
|
+
console.log(`${timestamp()} ${colors.cyan(message)}`);
|
|
28
|
+
}
|
|
29
|
+
// Dim log (for less important info)
|
|
30
|
+
function devLogDim(message) {
|
|
31
|
+
console.log(`${timestamp()} ${colors.dim(message)}`);
|
|
32
|
+
}
|
|
33
|
+
// HMR update log (like Vite)
|
|
34
|
+
function devLogHMR(file, dependents) {
|
|
35
|
+
const relativePath = Path.toRelative(file);
|
|
36
|
+
const depInfo = dependents ? colors.dim(` +${dependents} module${dependents > 1 ? "s" : ""}`) : "";
|
|
37
|
+
// console.log(`${timestamp()} ✨ ${colors.green("hmr update")}✨ ${colors.dim(relativePath)}${depInfo}`);
|
|
38
|
+
console.log(`${timestamp()} 🔥 ${colors.green("hmr update")} ${colors.dim(relativePath)}${depInfo}`);
|
|
39
|
+
}
|
|
40
|
+
// FSR log
|
|
41
|
+
function devLogFSR(reason) {
|
|
42
|
+
console.log(`${timestamp()} ${colors.yellow("full restart")} ${colors.dim(reason)}`);
|
|
43
|
+
}
|
|
44
|
+
// Config reload log
|
|
45
|
+
function devLogConfig(file, connectors) {
|
|
46
|
+
const relativePath = Path.toRelative(file);
|
|
47
|
+
const connectorInfo = connectors && connectors.length > 0
|
|
48
|
+
? colors.dim(` → restarting ${connectors.join(", ")}`)
|
|
49
|
+
: "";
|
|
50
|
+
console.log(`${timestamp()} ${colors.cyan("config reload")} ${colors.dim(relativePath)}${connectorInfo}`);
|
|
51
|
+
}
|
|
52
|
+
// Ready log (like Vite's ready message)
|
|
53
|
+
function devLogReady(message) {
|
|
54
|
+
console.log(`\n${timestamp()} ${colors.green("➜")} ${colors.bold(message)}`);
|
|
55
|
+
}
|
|
56
|
+
// Section header
|
|
57
|
+
function devLogSection(title) {
|
|
58
|
+
console.log(`\n${timestamp()} ${colors.bold(colors.cyan(title))}`);
|
|
59
|
+
}
|
|
60
|
+
// Clean error stack to show relative paths instead of absolute cache paths
|
|
61
|
+
function cleanErrorStack(stack) {
|
|
62
|
+
const lines = stack.split("\n");
|
|
63
|
+
const cleaned = lines.map((line) => {
|
|
64
|
+
// Replace absolute cache paths with relative source paths
|
|
65
|
+
// Pattern: D:\...\dev-server\.warlock\cache\src-app-users-main.js
|
|
66
|
+
// Replace with: src/app/users/main.ts
|
|
67
|
+
let cleanedLine = line;
|
|
68
|
+
// Remove cache directory references
|
|
69
|
+
cleanedLine = cleanedLine.replace(/\.warlock[\\\/]cache[\\\/]/g, "");
|
|
70
|
+
// Convert cache file names back to source paths
|
|
71
|
+
// src-app-users-main.js → src/app/users/main.ts
|
|
72
|
+
cleanedLine = cleanedLine.replace(/([a-zA-Z0-9_-]+(?:-[a-zA-Z0-9_-]+)+)\.js/g, (match, p1) => {
|
|
73
|
+
const sourcePath = p1.replace(/-/g, "/") + ".ts";
|
|
74
|
+
return sourcePath;
|
|
75
|
+
});
|
|
76
|
+
// Make paths relative
|
|
77
|
+
try {
|
|
78
|
+
const absolutePathMatch = cleanedLine.match(/([A-Z]:\\[^:]+|\/[^:]+)(?=:|\))/);
|
|
79
|
+
if (absolutePathMatch) {
|
|
80
|
+
const absolutePath = absolutePathMatch[1];
|
|
81
|
+
const relativePath = Path.toRelative(absolutePath);
|
|
82
|
+
cleanedLine = cleanedLine.replace(absolutePath, relativePath);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// If path conversion fails, keep original
|
|
87
|
+
}
|
|
88
|
+
return cleanedLine;
|
|
89
|
+
});
|
|
90
|
+
return cleaned.join("\n");
|
|
91
|
+
}
|
|
92
|
+
// Format module not found errors
|
|
93
|
+
function formatModuleNotFoundError(error) {
|
|
94
|
+
const message = error.message;
|
|
95
|
+
// Extract paths from error message
|
|
96
|
+
// Pattern: Cannot find module 'D:\...\cache\src-app-users-utils.js' imported from 'D:\...\main.js'
|
|
97
|
+
const match = message.match(/Cannot find module '([^']+)' imported from '([^']+)'/);
|
|
98
|
+
if (match) {
|
|
99
|
+
const [, modulePath, importerPath] = match;
|
|
100
|
+
// Convert cache paths to source paths
|
|
101
|
+
const cleanModulePath = modulePath
|
|
102
|
+
.replace(/\.warlock[\\\/]cache[\\\/]/, "")
|
|
103
|
+
.replace(/([a-zA-Z0-9_-]+(?:-[a-zA-Z0-9_-]+)+)\.js/, (m, p1) => p1.replace(/-/g, "/") + ".ts");
|
|
104
|
+
const cleanImporterPath = importerPath
|
|
105
|
+
.replace(/\.warlock[\\\/]cache[\\\/]/, "")
|
|
106
|
+
.replace(/([a-zA-Z0-9_-]+(?:-[a-zA-Z0-9_-]+)+)\.js/, (m, p1) => p1.replace(/-/g, "/") + ".ts");
|
|
107
|
+
// Make paths relative
|
|
108
|
+
const relativeModule = Path.toRelative(cleanModulePath);
|
|
109
|
+
const relativeImporter = Path.toRelative(cleanImporterPath);
|
|
110
|
+
return `[MODULE_NOT_FOUND] Cannot find module ${colors.cyan(relativeModule)} imported from ${colors.cyan(relativeImporter)}`;
|
|
111
|
+
}
|
|
112
|
+
return message;
|
|
113
|
+
}
|
|
114
|
+
// Legacy function for backward compatibility
|
|
115
|
+
function devServeLog(message) {
|
|
116
|
+
devLog(message);
|
|
117
|
+
}export{devLog,devLogConfig,devLogDim,devLogError,devLogFSR,devLogHMR,devLogInfo,devLogReady,devLogSection,devLogSuccess,devServeLog,formatModuleNotFoundError};//# sourceMappingURL=dev-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-logger.js","sources":["../../src/dev2-server/dev-logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ConfigLoader } from "./config-loader";
|
|
2
|
+
import type { Connector } from "./connectors";
|
|
3
|
+
import { FilesOrchestrator } from "./files-orchestrator";
|
|
4
|
+
import { ModuleLoader } from "./module-loader";
|
|
5
|
+
import { SpecialFilesCollector } from "./special-files-collector";
|
|
6
|
+
/**
|
|
7
|
+
* Development Server
|
|
8
|
+
* Main coordinator for the dev server
|
|
9
|
+
* Manages file system, connectors, and hot reloading
|
|
10
|
+
*/
|
|
11
|
+
export declare class DevelopmentServer {
|
|
12
|
+
/**
|
|
13
|
+
* Special files collector - categorizes and provides access to special files
|
|
14
|
+
*/
|
|
15
|
+
private readonly specialFilesCollector;
|
|
16
|
+
/**
|
|
17
|
+
* Files orchestrator - manages file discovery, watching, and dependency graph
|
|
18
|
+
*/
|
|
19
|
+
private readonly filesOrchestrator;
|
|
20
|
+
/**
|
|
21
|
+
* Config loader - dynamically loads configuration files
|
|
22
|
+
*/
|
|
23
|
+
private readonly configLoader;
|
|
24
|
+
/**
|
|
25
|
+
* Module loader - dynamically loads application modules
|
|
26
|
+
*/
|
|
27
|
+
private moduleLoader?;
|
|
28
|
+
/**
|
|
29
|
+
* Layer executor - handles HMR and FSR execution
|
|
30
|
+
*/
|
|
31
|
+
private layerExecutor?;
|
|
32
|
+
/**
|
|
33
|
+
* Registered connectors (Database, HTTP, Cache, etc.)
|
|
34
|
+
* Sorted by priority
|
|
35
|
+
*/
|
|
36
|
+
private readonly connectors;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the server is currently running
|
|
39
|
+
*/
|
|
40
|
+
private running;
|
|
41
|
+
constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Register a connector
|
|
44
|
+
* Connectors are automatically sorted by priority
|
|
45
|
+
*/
|
|
46
|
+
registerConnector(connector: Connector): void;
|
|
47
|
+
/**
|
|
48
|
+
* Initialize and start the development server
|
|
49
|
+
*/
|
|
50
|
+
start(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Initialize all registered connectors in priority order
|
|
53
|
+
*/
|
|
54
|
+
private initConnectors;
|
|
55
|
+
/**
|
|
56
|
+
* Setup event listeners for file changes
|
|
57
|
+
*/
|
|
58
|
+
private setupEventListeners;
|
|
59
|
+
/**
|
|
60
|
+
* Handle batch completion event
|
|
61
|
+
* Triggered when a batch of files has been processed
|
|
62
|
+
*/
|
|
63
|
+
private handleBatchComplete;
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated Use LayerExecutor instead
|
|
66
|
+
*/
|
|
67
|
+
private handleFullServerRestart;
|
|
68
|
+
/**
|
|
69
|
+
* Gracefully shutdown the development server
|
|
70
|
+
*/
|
|
71
|
+
shutdown(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Check if server is running
|
|
74
|
+
*/
|
|
75
|
+
isRunning(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Get files orchestrator (for advanced usage)
|
|
78
|
+
*/
|
|
79
|
+
getFilesOrchestrator(): FilesOrchestrator;
|
|
80
|
+
/**
|
|
81
|
+
* Get special files collector
|
|
82
|
+
*/
|
|
83
|
+
getSpecialFilesCollector(): SpecialFilesCollector;
|
|
84
|
+
/**
|
|
85
|
+
* Get config loader
|
|
86
|
+
*/
|
|
87
|
+
getConfigLoader(): ConfigLoader;
|
|
88
|
+
/**
|
|
89
|
+
* Get module loader
|
|
90
|
+
*/
|
|
91
|
+
getModuleLoader(): ModuleLoader | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Get registered connectors
|
|
94
|
+
*/
|
|
95
|
+
getConnectors(): Connector[];
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=development-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"development-server.d.ts","sourceRoot":"","sources":["../../src/dev2-server/development-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IAErE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqD;IAEvF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C;;OAEG;IACH,OAAO,CAAC,OAAO,CAAkB;;IAajC;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMpD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DnC;;OAEG;YACW,cAAc;IAS5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtC;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,oBAAoB,IAAI,iBAAiB;IAIhD;;OAEG;IACI,wBAAwB,IAAI,qBAAqB;IAIxD;;OAEG;IACI,eAAe,IAAI,YAAY;IAItC;;OAEG;IACI,eAAe,IAAI,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACI,aAAa,IAAI,SAAS,EAAE;CAGpC"}
|