@warlock.js/core 4.0.10 → 4.0.15
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/esm/cli/cli-commands.manager.js +344 -0
- package/esm/cli/cli-commands.manager.js.map +1 -0
- package/esm/cli/cli-commands.utils.js +182 -0
- package/esm/cli/cli-commands.utils.js.map +1 -0
- package/esm/cli/commands/build.command.js +8 -0
- package/esm/cli/commands/build.command.js.map +1 -0
- package/esm/cli/commands/dev-server.command.js +17 -0
- package/esm/cli/commands/dev-server.command.js.map +1 -0
- package/esm/cli/commands/start-production.command.js +65 -0
- package/esm/cli/commands/start-production.command.js.map +1 -0
- package/esm/cli/commands/typings-generator.command.js +40 -0
- package/esm/cli/commands/typings-generator.command.js.map +1 -0
- package/esm/cli/commands-loader.js +45 -0
- package/esm/cli/commands-loader.js.map +1 -0
- package/esm/cli/framework-cli-commands.js +6 -0
- package/esm/cli/framework-cli-commands.js.map +1 -0
- package/esm/cli/parse-cli-args.js +82 -0
- package/esm/cli/parse-cli-args.js.map +1 -0
- package/esm/cli/start.js +2 -0
- package/esm/cli/start.js.map +1 -0
- package/esm/cli/string-similarity.js +57 -0
- package/esm/cli/string-similarity.js.map +1 -0
- package/esm/config/config-loader.js +82 -0
- package/esm/config/config-loader.js.map +1 -0
- package/esm/config/config-manager.js +25 -0
- package/esm/config/config-manager.js.map +1 -0
- package/esm/config/load-config-files.js +19 -0
- package/esm/config/load-config-files.js.map +1 -0
- package/esm/dev2-server/create-worker.js +37 -0
- package/esm/dev2-server/create-worker.js.map +1 -0
- package/esm/dev2-server/dependency-graph.js +266 -0
- package/esm/dev2-server/dependency-graph.js.map +1 -0
- package/esm/dev2-server/dev-logger.js +63 -1
- package/esm/dev2-server/dev-logger.js.map +1 -1
- package/esm/dev2-server/development-server.js +138 -0
- package/esm/dev2-server/development-server.js.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.js +186 -0
- package/esm/dev2-server/file-event-handler.js.map +1 -0
- package/esm/dev2-server/file-manager.js +374 -0
- package/esm/dev2-server/file-manager.js.map +1 -0
- package/esm/dev2-server/file-operations.js +228 -0
- package/esm/dev2-server/file-operations.js.map +1 -0
- package/esm/dev2-server/files-orchestrator.js +326 -0
- package/esm/dev2-server/files-orchestrator.js.map +1 -0
- package/esm/dev2-server/files-watcher.js +95 -0
- package/esm/dev2-server/files-watcher.js.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/checkers/base-health-checker.js +71 -0
- package/esm/dev2-server/health-checker/checkers/base-health-checker.js.map +1 -0
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js +217 -0
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js +279 -0
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
- package/esm/dev2-server/health-checker/file-health-result.js +40 -0
- package/esm/dev2-server/health-checker/file-health-result.js.map +1 -0
- package/esm/dev2-server/health-checker/files-healthcare.manager.js +422 -0
- package/esm/dev2-server/health-checker/files-healthcare.manager.js.map +1 -0
- package/esm/dev2-server/import-transformer.js +248 -0
- package/esm/dev2-server/import-transformer.js.map +1 -0
- package/esm/dev2-server/layer-executor.js +309 -0
- package/esm/dev2-server/layer-executor.js.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.js +251 -0
- package/esm/dev2-server/module-loader.js.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.js +328 -0
- package/esm/dev2-server/parse-imports.js.map +1 -0
- package/esm/dev2-server/runtime-import-helper.js +150 -0
- package/esm/dev2-server/runtime-import-helper.js.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/transpile-file.js +12 -2
- package/esm/dev2-server/transpile-file.js.map +1 -1
- package/esm/dev2-server/type-generator.js +557 -0
- package/esm/dev2-server/type-generator.js.map +1 -0
- package/esm/dev2-server/utils.js +40 -0
- package/esm/dev2-server/utils.js.map +1 -0
- package/esm/manifest/manifest-manager.js +88 -0
- package/esm/manifest/manifest-manager.js.map +1 -0
- package/esm/production/build-app-production.js +8 -0
- package/esm/production/build-app-production.js.map +1 -0
- package/esm/production/esbuild-plugins.js +23 -0
- package/esm/production/esbuild-plugins.js.map +1 -0
- package/esm/production/production-builder.js +245 -0
- package/esm/production/production-builder.js.map +1 -0
- package/package.json +1 -1
- package/cjs/application.d.ts +0 -27
- package/cjs/application.d.ts.map +0 -1
- package/cjs/bootstrap/setup.d.ts +0 -7
- package/cjs/bootstrap/setup.d.ts.map +0 -1
- package/cjs/bootstrap/setup.js +0 -38
- package/cjs/bootstrap/setup.js.map +0 -1
- package/cjs/bootstrap.d.ts +0 -2
- package/cjs/bootstrap.d.ts.map +0 -1
- package/cjs/bootstrap.js +0 -5
- package/cjs/bootstrap.js.map +0 -1
- package/cjs/cache/database-cache-driver.d.ts +0 -56
- package/cjs/cache/database-cache-driver.d.ts.map +0 -1
- package/cjs/cache/database-cache-driver.js +0 -96
- package/cjs/cache/database-cache-driver.js.map +0 -1
- package/cjs/cache/index.d.ts +0 -3
- package/cjs/cache/index.d.ts.map +0 -1
- package/cjs/cache/index.js +0 -1
- package/cjs/cache/index.js.map +0 -1
- package/cjs/cli/cli-command.d.ts +0 -115
- package/cjs/cli/cli-command.d.ts.map +0 -1
- package/cjs/cli/cli-command.js +0 -224
- package/cjs/cli/cli-command.js.map +0 -1
- package/cjs/cli/cli-commands.manager.d.ts +0 -71
- package/cjs/cli/cli-commands.manager.d.ts.map +0 -1
- package/cjs/cli/cli-commands.utils.d.ts +0 -68
- package/cjs/cli/cli-commands.utils.d.ts.map +0 -1
- package/cjs/cli/commands/build.command.d.ts +0 -2
- package/cjs/cli/commands/build.command.d.ts.map +0 -1
- package/cjs/cli/commands/dev-server.command.d.ts +0 -2
- package/cjs/cli/commands/dev-server.command.d.ts.map +0 -1
- package/cjs/cli/commands/start-production.command.d.ts +0 -2
- package/cjs/cli/commands/start-production.command.d.ts.map +0 -1
- package/cjs/cli/commands/typings-generator.command.d.ts +0 -2
- package/cjs/cli/commands/typings-generator.command.d.ts.map +0 -1
- package/cjs/cli/commands-loader.d.ts +0 -18
- package/cjs/cli/commands-loader.d.ts.map +0 -1
- package/cjs/cli/framework-cli-commands.d.ts +0 -2
- package/cjs/cli/framework-cli-commands.d.ts.map +0 -1
- package/cjs/cli/index.d.ts +0 -3
- package/cjs/cli/index.d.ts.map +0 -1
- package/cjs/cli/index.js +0 -1
- package/cjs/cli/index.js.map +0 -1
- package/cjs/cli/parse-cli-args.d.ts +0 -18
- package/cjs/cli/parse-cli-args.d.ts.map +0 -1
- package/cjs/cli/start.d.ts +0 -2
- package/cjs/cli/start.d.ts.map +0 -1
- package/cjs/cli/string-similarity.d.ts +0 -44
- package/cjs/cli/string-similarity.d.ts.map +0 -1
- package/cjs/cli/types.d.ts +0 -201
- package/cjs/cli/types.d.ts.map +0 -1
- package/cjs/config/config-getter.d.ts +0 -35
- package/cjs/config/config-getter.d.ts.map +0 -1
- package/cjs/config/config-getter.js +0 -21
- package/cjs/config/config-getter.js.map +0 -1
- package/cjs/config/config-handlers.d.ts +0 -19
- package/cjs/config/config-handlers.d.ts.map +0 -1
- package/cjs/config/config-handlers.js +0 -47
- package/cjs/config/config-handlers.js.map +0 -1
- package/cjs/config/config-loader.d.ts +0 -37
- package/cjs/config/config-loader.d.ts.map +0 -1
- package/cjs/config/config-manager.d.ts +0 -22
- package/cjs/config/config-manager.d.ts.map +0 -1
- package/cjs/config/config-special-handlers.d.ts +0 -17
- package/cjs/config/config-special-handlers.d.ts.map +0 -1
- package/cjs/config/config-special-handlers.js +0 -23
- package/cjs/config/config-special-handlers.js.map +0 -1
- package/cjs/config/index.d.ts +0 -5
- package/cjs/config/index.d.ts.map +0 -1
- package/cjs/config/load-config-files.d.ts +0 -6
- package/cjs/config/load-config-files.d.ts.map +0 -1
- package/cjs/config/types.d.ts +0 -52
- package/cjs/config/types.d.ts.map +0 -1
- package/cjs/database/decorators/index.d.ts +0 -2
- package/cjs/database/decorators/index.d.ts.map +0 -1
- package/cjs/database/decorators/sluggable.d.ts +0 -2
- package/cjs/database/decorators/sluggable.d.ts.map +0 -1
- package/cjs/database/decorators/sluggable.js +0 -8
- package/cjs/database/decorators/sluggable.js.map +0 -1
- package/cjs/database/index.d.ts +0 -3
- package/cjs/database/index.d.ts.map +0 -1
- package/cjs/database/models/database-log/database-log.d.ts +0 -13
- package/cjs/database/models/database-log/database-log.d.ts.map +0 -1
- package/cjs/database/models/database-log/database-log.js +0 -16
- package/cjs/database/models/database-log/database-log.js.map +0 -1
- package/cjs/database/models/database-log/index.d.ts +0 -2
- package/cjs/database/models/database-log/index.d.ts.map +0 -1
- package/cjs/dev2-server/config-handlers.d.ts +0 -8
- package/cjs/dev2-server/config-handlers.d.ts.map +0 -1
- package/cjs/dev2-server/config-loader.d.ts +0 -61
- package/cjs/dev2-server/config-loader.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/base-connector.d.ts +0 -49
- package/cjs/dev2-server/connectors/base-connector.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/base-connector.js +0 -48
- package/cjs/dev2-server/connectors/base-connector.js.map +0 -1
- package/cjs/dev2-server/connectors/cache-connector.d.ts +0 -23
- package/cjs/dev2-server/connectors/cache-connector.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/cache-connector.js +0 -35
- package/cjs/dev2-server/connectors/cache-connector.js.map +0 -1
- package/cjs/dev2-server/connectors/connectors-manager.d.ts +0 -38
- package/cjs/dev2-server/connectors/connectors-manager.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/connectors-manager.js +0 -80
- package/cjs/dev2-server/connectors/connectors-manager.js.map +0 -1
- package/cjs/dev2-server/connectors/database-connector.d.ts +0 -23
- package/cjs/dev2-server/connectors/database-connector.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/database-connector.js +0 -42
- package/cjs/dev2-server/connectors/database-connector.js.map +0 -1
- package/cjs/dev2-server/connectors/http-connector.d.ts +0 -29
- package/cjs/dev2-server/connectors/http-connector.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/http-connector.js +0 -69
- package/cjs/dev2-server/connectors/http-connector.js.map +0 -1
- package/cjs/dev2-server/connectors/index.d.ts +0 -11
- package/cjs/dev2-server/connectors/index.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/types.d.ts +0 -49
- package/cjs/dev2-server/connectors/types.d.ts.map +0 -1
- package/cjs/dev2-server/connectors/types.js +0 -9
- package/cjs/dev2-server/connectors/types.js.map +0 -1
- package/cjs/dev2-server/create-worker.d.ts +0 -34
- package/cjs/dev2-server/create-worker.d.ts.map +0 -1
- package/cjs/dev2-server/dependency-graph.d.ts +0 -93
- package/cjs/dev2-server/dependency-graph.d.ts.map +0 -1
- package/cjs/dev2-server/dev-logger.d.ts +0 -14
- package/cjs/dev2-server/dev-logger.d.ts.map +0 -1
- package/cjs/dev2-server/dev-logger.js +0 -68
- package/cjs/dev2-server/dev-logger.js.map +0 -1
- package/cjs/dev2-server/development-server.d.ts +0 -47
- package/cjs/dev2-server/development-server.d.ts.map +0 -1
- package/cjs/dev2-server/events.d.ts +0 -5
- package/cjs/dev2-server/events.d.ts.map +0 -1
- package/cjs/dev2-server/file-event-handler.d.ts +0 -59
- package/cjs/dev2-server/file-event-handler.d.ts.map +0 -1
- package/cjs/dev2-server/file-manager.d.ts +0 -136
- package/cjs/dev2-server/file-manager.d.ts.map +0 -1
- package/cjs/dev2-server/file-operations.d.ts +0 -65
- package/cjs/dev2-server/file-operations.d.ts.map +0 -1
- package/cjs/dev2-server/files-orchestrator.d.ts +0 -122
- package/cjs/dev2-server/files-orchestrator.d.ts.map +0 -1
- package/cjs/dev2-server/files-watcher.d.ts +0 -67
- package/cjs/dev2-server/files-watcher.d.ts.map +0 -1
- package/cjs/dev2-server/flags.d.ts +0 -10
- package/cjs/dev2-server/flags.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/checkers/base-health-checker.d.ts +0 -52
- package/cjs/dev2-server/health-checker/checkers/base-health-checker.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/checkers/eslint-health-checker.d.ts +0 -40
- package/cjs/dev2-server/health-checker/checkers/eslint-health-checker.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/checkers/typescript-health-checker.d.ts +0 -56
- package/cjs/dev2-server/health-checker/checkers/typescript-health-checker.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/file-health-checker.contract.d.ts +0 -59
- package/cjs/dev2-server/health-checker/file-health-checker.contract.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/file-health-result.d.ts +0 -68
- package/cjs/dev2-server/health-checker/file-health-result.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/files-healthcare.manager.d.ts +0 -115
- package/cjs/dev2-server/health-checker/files-healthcare.manager.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/workers/eslint-health.worker.d.ts +0 -2
- package/cjs/dev2-server/health-checker/workers/eslint-health.worker.d.ts.map +0 -1
- package/cjs/dev2-server/health-checker/workers/ts-health.worker.d.ts +0 -2
- package/cjs/dev2-server/health-checker/workers/ts-health.worker.d.ts.map +0 -1
- package/cjs/dev2-server/import-transformer.d.ts +0 -16
- package/cjs/dev2-server/import-transformer.d.ts.map +0 -1
- package/cjs/dev2-server/index.d.ts +0 -1
- package/cjs/dev2-server/index.d.ts.map +0 -1
- package/cjs/dev2-server/layer-executor.d.ts +0 -60
- package/cjs/dev2-server/layer-executor.d.ts.map +0 -1
- package/cjs/dev2-server/manifest-manager.d.ts +0 -80
- package/cjs/dev2-server/manifest-manager.d.ts.map +0 -1
- package/cjs/dev2-server/module-loader.d.ts +0 -104
- package/cjs/dev2-server/module-loader.d.ts.map +0 -1
- package/cjs/dev2-server/package-json-manager.d.ts +0 -16
- package/cjs/dev2-server/package-json-manager.d.ts.map +0 -1
- package/cjs/dev2-server/parse-imports.d.ts +0 -13
- package/cjs/dev2-server/parse-imports.d.ts.map +0 -1
- package/cjs/dev2-server/path.d.ts +0 -39
- package/cjs/dev2-server/path.d.ts.map +0 -1
- package/cjs/dev2-server/path.js +0 -56
- package/cjs/dev2-server/path.js.map +0 -1
- package/cjs/dev2-server/runtime-import-helper.d.ts +0 -9
- package/cjs/dev2-server/runtime-import-helper.d.ts.map +0 -1
- package/cjs/dev2-server/special-files-collector.d.ts +0 -114
- package/cjs/dev2-server/special-files-collector.d.ts.map +0 -1
- package/cjs/dev2-server/start-development-server.d.ts +0 -7
- package/cjs/dev2-server/start-development-server.d.ts.map +0 -1
- package/cjs/dev2-server/transpile-file.d.ts +0 -11
- package/cjs/dev2-server/transpile-file.d.ts.map +0 -1
- package/cjs/dev2-server/transpile-file.js +0 -11
- package/cjs/dev2-server/transpile-file.js.map +0 -1
- package/cjs/dev2-server/tsconfig-manager.d.ts +0 -45
- package/cjs/dev2-server/tsconfig-manager.d.ts.map +0 -1
- package/cjs/dev2-server/tsconfig-manager.js +0 -102
- package/cjs/dev2-server/tsconfig-manager.js.map +0 -1
- package/cjs/dev2-server/type-generator.d.ts +0 -111
- package/cjs/dev2-server/type-generator.d.ts.map +0 -1
- package/cjs/dev2-server/types.d.ts +0 -16
- package/cjs/dev2-server/types.d.ts.map +0 -1
- package/cjs/dev2-server/utils.d.ts +0 -15
- package/cjs/dev2-server/utils.d.ts.map +0 -1
- package/cjs/http/config.d.ts +0 -10
- package/cjs/http/config.d.ts.map +0 -1
- package/cjs/http/config.js +0 -22
- package/cjs/http/config.js.map +0 -1
- package/cjs/http/createHttpApplication.d.ts +0 -3
- package/cjs/http/createHttpApplication.d.ts.map +0 -1
- package/cjs/http/createHttpApplication.js +0 -28
- package/cjs/http/createHttpApplication.js.map +0 -1
- package/cjs/http/database/RequestLog.d.ts +0 -13
- package/cjs/http/database/RequestLog.d.ts.map +0 -1
- package/cjs/http/database/RequestLog.js +0 -25
- package/cjs/http/database/RequestLog.js.map +0 -1
- package/cjs/http/errors/index.d.ts +0 -2
- package/cjs/http/errors/index.d.ts.map +0 -1
- package/cjs/http/errors/resource-not-found.error.d.ts +0 -17
- package/cjs/http/errors/resource-not-found.error.d.ts.map +0 -1
- package/cjs/http/errors/resource-not-found.error.js +0 -32
- package/cjs/http/errors/resource-not-found.error.js.map +0 -1
- package/cjs/http/events.d.ts +0 -4
- package/cjs/http/events.d.ts.map +0 -1
- package/cjs/http/events.js +0 -26
- package/cjs/http/events.js.map +0 -1
- package/cjs/http/index.d.ts +0 -16
- package/cjs/http/index.d.ts.map +0 -1
- package/cjs/http/middleware/cache-response-middleware.d.ts +0 -34
- package/cjs/http/middleware/cache-response-middleware.d.ts.map +0 -1
- package/cjs/http/middleware/cache-response-middleware.js +0 -45
- package/cjs/http/middleware/cache-response-middleware.js.map +0 -1
- package/cjs/http/middleware/index.d.ts +0 -3
- package/cjs/http/middleware/index.d.ts.map +0 -1
- package/cjs/http/middleware/inject-request-context.d.ts +0 -35
- package/cjs/http/middleware/inject-request-context.d.ts.map +0 -1
- package/cjs/http/middleware/inject-request-context.js +0 -104
- package/cjs/http/middleware/inject-request-context.js.map +0 -1
- package/cjs/http/plugins/index.d.ts +0 -3
- package/cjs/http/plugins/index.d.ts.map +0 -1
- package/cjs/http/plugins.d.ts +0 -3
- package/cjs/http/plugins.d.ts.map +0 -1
- package/cjs/http/plugins.js +0 -39
- package/cjs/http/plugins.js.map +0 -1
- package/cjs/http/request-controller.d.ts +0 -11
- package/cjs/http/request-controller.d.ts.map +0 -1
- package/cjs/http/request-controller.js +0 -9
- package/cjs/http/request-controller.js.map +0 -1
- package/cjs/http/request.d.ts +0 -376
- package/cjs/http/request.d.ts.map +0 -1
- package/cjs/http/request.js +0 -729
- package/cjs/http/request.js.map +0 -1
- package/cjs/http/response.d.ts +0 -271
- package/cjs/http/response.d.ts.map +0 -1
- package/cjs/http/response.js +0 -574
- package/cjs/http/response.js.map +0 -1
- package/cjs/http/server.d.ts +0 -8
- package/cjs/http/server.d.ts.map +0 -1
- package/cjs/http/server.js +0 -15
- package/cjs/http/server.js.map +0 -1
- package/cjs/http/types.d.ts +0 -174
- package/cjs/http/types.d.ts.map +0 -1
- package/cjs/http/uploaded-file.d.ts +0 -445
- package/cjs/http/uploaded-file.d.ts.map +0 -1
- package/cjs/http/uploaded-file.js +0 -694
- package/cjs/http/uploaded-file.js.map +0 -1
- package/cjs/http/uploads-config.d.ts +0 -26
- package/cjs/http/uploads-config.d.ts.map +0 -1
- package/cjs/http/uploads-config.js +0 -35
- package/cjs/http/uploads-config.js.map +0 -1
- package/cjs/http/uploads-types.d.ts +0 -236
- package/cjs/http/uploads-types.d.ts.map +0 -1
- package/cjs/image/image.d.ts +0 -382
- package/cjs/image/image.d.ts.map +0 -1
- package/cjs/image/image.js +0 -552
- package/cjs/image/image.js.map +0 -1
- package/cjs/image/index.d.ts +0 -2
- package/cjs/image/index.d.ts.map +0 -1
- package/cjs/index.d.ts +0 -27
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/logger/index.d.ts +0 -3
- package/cjs/logger/index.d.ts.map +0 -1
- package/cjs/logger/logger.d.ts +0 -3
- package/cjs/logger/logger.d.ts.map +0 -1
- package/cjs/logger/logger.js +0 -16
- package/cjs/logger/logger.js.map +0 -1
- package/cjs/logger/types.d.ts +0 -39
- package/cjs/logger/types.d.ts.map +0 -1
- package/cjs/mail/config.d.ts +0 -83
- package/cjs/mail/config.d.ts.map +0 -1
- package/cjs/mail/config.js +0 -152
- package/cjs/mail/config.js.map +0 -1
- package/cjs/mail/events.d.ts +0 -96
- package/cjs/mail/events.d.ts.map +0 -1
- package/cjs/mail/events.js +0 -123
- package/cjs/mail/events.js.map +0 -1
- package/cjs/mail/index.d.ts +0 -10
- package/cjs/mail/index.d.ts.map +0 -1
- package/cjs/mail/mail.d.ts +0 -175
- package/cjs/mail/mail.d.ts.map +0 -1
- package/cjs/mail/mail.js +0 -286
- package/cjs/mail/mail.js.map +0 -1
- package/cjs/mail/mailer-pool.d.ts +0 -26
- package/cjs/mail/mailer-pool.d.ts.map +0 -1
- package/cjs/mail/mailer-pool.js +0 -95
- package/cjs/mail/mailer-pool.js.map +0 -1
- package/cjs/mail/react-mail.d.ts +0 -6
- package/cjs/mail/react-mail.d.ts.map +0 -1
- package/cjs/mail/react-mail.js +0 -25
- package/cjs/mail/react-mail.js.map +0 -1
- package/cjs/mail/send-mail.d.ts +0 -33
- package/cjs/mail/send-mail.d.ts.map +0 -1
- package/cjs/mail/send-mail.js +0 -309
- package/cjs/mail/send-mail.js.map +0 -1
- package/cjs/mail/test-mailbox.d.ts +0 -110
- package/cjs/mail/test-mailbox.d.ts.map +0 -1
- package/cjs/mail/test-mailbox.js +0 -143
- package/cjs/mail/test-mailbox.js.map +0 -1
- package/cjs/mail/types.d.ts +0 -245
- package/cjs/mail/types.d.ts.map +0 -1
- package/cjs/mail/types.js +0 -13
- package/cjs/mail/types.js.map +0 -1
- package/cjs/manifest/manifest-manager.d.ts +0 -74
- package/cjs/manifest/manifest-manager.d.ts.map +0 -1
- package/cjs/output/index.d.ts +0 -3
- package/cjs/output/index.d.ts.map +0 -1
- package/cjs/output/output.d.ts +0 -193
- package/cjs/output/output.d.ts.map +0 -1
- package/cjs/output/output.js +0 -599
- package/cjs/output/output.js.map +0 -1
- package/cjs/output/types.d.ts +0 -23
- package/cjs/output/types.d.ts.map +0 -1
- package/cjs/production/build-app-production.d.ts +0 -6
- package/cjs/production/build-app-production.d.ts.map +0 -1
- package/cjs/production/esbuild-plugins.d.ts +0 -5
- package/cjs/production/esbuild-plugins.d.ts.map +0 -1
- package/cjs/production/production-builder.d.ts +0 -76
- package/cjs/production/production-builder.d.ts.map +0 -1
- package/cjs/react/index.d.ts +0 -3
- package/cjs/react/index.d.ts.map +0 -1
- package/cjs/react/index.js +0 -7
- package/cjs/react/index.js.map +0 -1
- package/cjs/repositories/base-repository-manager.d.ts +0 -47
- package/cjs/repositories/base-repository-manager.d.ts.map +0 -1
- package/cjs/repositories/base-repository-manager.js +0 -63
- package/cjs/repositories/base-repository-manager.js.map +0 -1
- package/cjs/repositories/index.d.ts +0 -8
- package/cjs/repositories/index.d.ts.map +0 -1
- package/cjs/repositories/repository-destroyer-manager.d.ts +0 -21
- package/cjs/repositories/repository-destroyer-manager.d.ts.map +0 -1
- package/cjs/repositories/repository-destroyer-manager.js +0 -38
- package/cjs/repositories/repository-destroyer-manager.js.map +0 -1
- package/cjs/repositories/repository-filler-manager.d.ts +0 -60
- package/cjs/repositories/repository-filler-manager.d.ts.map +0 -1
- package/cjs/repositories/repository-filler-manager.js +0 -102
- package/cjs/repositories/repository-filler-manager.js.map +0 -1
- package/cjs/repositories/repository-filler.d.ts +0 -26
- package/cjs/repositories/repository-filler.d.ts.map +0 -1
- package/cjs/repositories/repository-filler.js +0 -63
- package/cjs/repositories/repository-filler.js.map +0 -1
- package/cjs/repositories/repository-list-manager.d.ts +0 -385
- package/cjs/repositories/repository-list-manager.d.ts.map +0 -1
- package/cjs/repositories/repository-list-manager.js +0 -812
- package/cjs/repositories/repository-list-manager.js.map +0 -1
- package/cjs/repositories/repository-listing.d.ts +0 -82
- package/cjs/repositories/repository-listing.d.ts.map +0 -1
- package/cjs/repositories/repository-listing.js +0 -177
- package/cjs/repositories/repository-listing.js.map +0 -1
- package/cjs/repositories/repository-manager.d.ts +0 -5
- package/cjs/repositories/repository-manager.d.ts.map +0 -1
- package/cjs/repositories/repository-manager.js +0 -2
- package/cjs/repositories/repository-manager.js.map +0 -1
- package/cjs/repositories/types.d.ts +0 -114
- package/cjs/repositories/types.d.ts.map +0 -1
- package/cjs/repositories/utils.d.ts +0 -3
- package/cjs/repositories/utils.d.ts.map +0 -1
- package/cjs/repositories/utils.js +0 -7
- package/cjs/repositories/utils.js.map +0 -1
- package/cjs/restful/index.d.ts +0 -2
- package/cjs/restful/index.d.ts.map +0 -1
- package/cjs/restful/restful.d.ts +0 -110
- package/cjs/restful/restful.d.ts.map +0 -1
- package/cjs/restful/restful.js +0 -317
- package/cjs/restful/restful.js.map +0 -1
- package/cjs/router/index.d.ts +0 -4
- package/cjs/router/index.d.ts.map +0 -1
- package/cjs/router/route-registry.d.ts +0 -30
- package/cjs/router/route-registry.d.ts.map +0 -1
- package/cjs/router/route-registry.js +0 -67
- package/cjs/router/route-registry.js.map +0 -1
- package/cjs/router/route.d.ts +0 -34
- package/cjs/router/route.d.ts.map +0 -1
- package/cjs/router/router.d.ts +0 -169
- package/cjs/router/router.d.ts.map +0 -1
- package/cjs/router/router.js +0 -564
- package/cjs/router/router.js.map +0 -1
- package/cjs/router/types.d.ts +0 -258
- package/cjs/router/types.d.ts.map +0 -1
- package/cjs/router/utils.d.ts +0 -5
- package/cjs/router/utils.d.ts.map +0 -1
- package/cjs/router/utils.js +0 -6
- package/cjs/router/utils.js.map +0 -1
- package/cjs/storage/config.d.ts +0 -8
- package/cjs/storage/config.d.ts.map +0 -1
- package/cjs/storage/config.js +0 -6
- package/cjs/storage/config.js.map +0 -1
- package/cjs/storage/drivers/cloud-driver.d.ts +0 -127
- package/cjs/storage/drivers/cloud-driver.d.ts.map +0 -1
- package/cjs/storage/drivers/cloud-driver.js +0 -406
- package/cjs/storage/drivers/cloud-driver.js.map +0 -1
- package/cjs/storage/drivers/do-spaces-driver.d.ts +0 -47
- package/cjs/storage/drivers/do-spaces-driver.d.ts.map +0 -1
- package/cjs/storage/drivers/do-spaces-driver.js +0 -52
- package/cjs/storage/drivers/do-spaces-driver.js.map +0 -1
- package/cjs/storage/drivers/local-driver.d.ts +0 -136
- package/cjs/storage/drivers/local-driver.d.ts.map +0 -1
- package/cjs/storage/drivers/local-driver.js +0 -409
- package/cjs/storage/drivers/local-driver.js.map +0 -1
- package/cjs/storage/drivers/r2-driver.d.ts +0 -50
- package/cjs/storage/drivers/r2-driver.d.ts.map +0 -1
- package/cjs/storage/drivers/r2-driver.js +0 -59
- package/cjs/storage/drivers/r2-driver.js.map +0 -1
- package/cjs/storage/drivers/s3-driver.d.ts +0 -32
- package/cjs/storage/drivers/s3-driver.d.ts.map +0 -1
- package/cjs/storage/drivers/s3-driver.js +0 -34
- package/cjs/storage/drivers/s3-driver.js.map +0 -1
- package/cjs/storage/index.d.ts +0 -12
- package/cjs/storage/index.d.ts.map +0 -1
- package/cjs/storage/scoped-storage.d.ts +0 -402
- package/cjs/storage/scoped-storage.d.ts.map +0 -1
- package/cjs/storage/scoped-storage.js +0 -488
- package/cjs/storage/scoped-storage.js.map +0 -1
- package/cjs/storage/storage-file.d.ts +0 -216
- package/cjs/storage/storage-file.d.ts.map +0 -1
- package/cjs/storage/storage-file.js +0 -358
- package/cjs/storage/storage-file.js.map +0 -1
- package/cjs/storage/storage.d.ts +0 -582
- package/cjs/storage/storage.d.ts.map +0 -1
- package/cjs/storage/storage.js +0 -941
- package/cjs/storage/storage.js.map +0 -1
- package/cjs/storage/types.d.ts +0 -728
- package/cjs/storage/types.d.ts.map +0 -1
- package/cjs/storage/utils/mime.d.ts +0 -33
- package/cjs/storage/utils/mime.d.ts.map +0 -1
- package/cjs/storage/utils/mime.js +0 -45
- package/cjs/storage/utils/mime.js.map +0 -1
- package/cjs/store/index.d.ts +0 -25
- package/cjs/store/index.d.ts.map +0 -1
- package/cjs/store/index.js +0 -52
- package/cjs/store/index.js.map +0 -1
- package/cjs/tests/boot-testing.d.ts +0 -7
- package/cjs/tests/boot-testing.d.ts.map +0 -1
- package/cjs/tests/boot-testing.js +0 -23
- package/cjs/tests/boot-testing.js.map +0 -1
- package/cjs/tests/create-http-test-application.d.ts +0 -25
- package/cjs/tests/create-http-test-application.d.ts.map +0 -1
- package/cjs/tests/create-http-test-application.js +0 -76
- package/cjs/tests/create-http-test-application.js.map +0 -1
- package/cjs/tests/http-response-output-test.d.ts +0 -42
- package/cjs/tests/http-response-output-test.d.ts.map +0 -1
- package/cjs/tests/http-response-output-test.js +0 -53
- package/cjs/tests/http-response-output-test.js.map +0 -1
- package/cjs/tests/http-test-response.d.ts +0 -75
- package/cjs/tests/http-test-response.d.ts.map +0 -1
- package/cjs/tests/index.d.ts +0 -4
- package/cjs/tests/index.d.ts.map +0 -1
- package/cjs/tests/init-testing.d.ts +0 -7
- package/cjs/tests/init-testing.d.ts.map +0 -1
- package/cjs/tests/types.d.ts +0 -10
- package/cjs/tests/types.d.ts.map +0 -1
- package/cjs/utils/app-log.d.ts +0 -8
- package/cjs/utils/app-log.d.ts.map +0 -1
- package/cjs/utils/app-log.js +0 -7
- package/cjs/utils/app-log.js.map +0 -1
- package/cjs/utils/cleanup-temp-files.d.ts +0 -5
- package/cjs/utils/cleanup-temp-files.d.ts.map +0 -1
- package/cjs/utils/database-log.d.ts +0 -25
- package/cjs/utils/database-log.d.ts.map +0 -1
- package/cjs/utils/database-log.js +0 -44
- package/cjs/utils/database-log.js.map +0 -1
- package/cjs/utils/date-output.d.ts +0 -69
- package/cjs/utils/date-output.d.ts.map +0 -1
- package/cjs/utils/date-output.js +0 -62
- package/cjs/utils/date-output.js.map +0 -1
- package/cjs/utils/date-output.test.d.ts +0 -2
- package/cjs/utils/date-output.test.d.ts.map +0 -1
- package/cjs/utils/download-file.d.ts +0 -3
- package/cjs/utils/download-file.d.ts.map +0 -1
- package/cjs/utils/environment.d.ts +0 -4
- package/cjs/utils/environment.d.ts.map +0 -1
- package/cjs/utils/environment.js +0 -6
- package/cjs/utils/environment.js.map +0 -1
- package/cjs/utils/get-localized.d.ts +0 -10
- package/cjs/utils/get-localized.d.ts.map +0 -1
- package/cjs/utils/get-localized.js +0 -15
- package/cjs/utils/get-localized.js.map +0 -1
- package/cjs/utils/get-localized.test.d.ts +0 -2
- package/cjs/utils/get-localized.test.d.ts.map +0 -1
- package/cjs/utils/index.d.ts +0 -13
- package/cjs/utils/index.d.ts.map +0 -1
- package/cjs/utils/internal.d.ts +0 -4
- package/cjs/utils/internal.d.ts.map +0 -1
- package/cjs/utils/paths.d.ts +0 -55
- package/cjs/utils/paths.d.ts.map +0 -1
- package/cjs/utils/paths.js +0 -89
- package/cjs/utils/paths.js.map +0 -1
- package/cjs/utils/promise-all-object.d.ts +0 -8
- package/cjs/utils/promise-all-object.d.ts.map +0 -1
- package/cjs/utils/promise-all-object.js +0 -12
- package/cjs/utils/promise-all-object.js.map +0 -1
- package/cjs/utils/queue.d.ts +0 -49
- package/cjs/utils/queue.d.ts.map +0 -1
- package/cjs/utils/queue.js +0 -89
- package/cjs/utils/queue.js.map +0 -1
- package/cjs/utils/sleep.d.ts +0 -2
- package/cjs/utils/sleep.d.ts.map +0 -1
- package/cjs/utils/sleep.js +0 -3
- package/cjs/utils/sleep.js.map +0 -1
- package/cjs/utils/sluggable.d.ts +0 -5
- package/cjs/utils/sluggable.d.ts.map +0 -1
- package/cjs/utils/sluggable.js +0 -15
- package/cjs/utils/sluggable.js.map +0 -1
- package/cjs/utils/sluggable.test.d.ts +0 -2
- package/cjs/utils/sluggable.test.d.ts.map +0 -1
- package/cjs/utils/to-json.d.ts +0 -2
- package/cjs/utils/to-json.d.ts.map +0 -1
- package/cjs/utils/to-json.js +0 -26
- package/cjs/utils/to-json.js.map +0 -1
- package/cjs/utils/types.d.ts +0 -22
- package/cjs/utils/types.d.ts.map +0 -1
- package/cjs/utils/urls.d.ts +0 -21
- package/cjs/utils/urls.d.ts.map +0 -1
- package/cjs/utils/urls.js +0 -31
- package/cjs/utils/urls.js.map +0 -1
- package/cjs/validation/database/exists-except-current-id.d.ts +0 -7
- package/cjs/validation/database/exists-except-current-id.d.ts.map +0 -1
- package/cjs/validation/database/exists-except-current-id.js +0 -23
- package/cjs/validation/database/exists-except-current-id.js.map +0 -1
- package/cjs/validation/database/exists-except-current-user.d.ts +0 -7
- package/cjs/validation/database/exists-except-current-user.d.ts.map +0 -1
- package/cjs/validation/database/exists-except-current-user.js +0 -25
- package/cjs/validation/database/exists-except-current-user.js.map +0 -1
- package/cjs/validation/database/exists.d.ts +0 -7
- package/cjs/validation/database/exists.d.ts.map +0 -1
- package/cjs/validation/database/exists.js +0 -21
- package/cjs/validation/database/exists.js.map +0 -1
- package/cjs/validation/database/index.d.ts +0 -12
- package/cjs/validation/database/index.d.ts.map +0 -1
- package/cjs/validation/database/types.d.ts +0 -68
- package/cjs/validation/database/types.d.ts.map +0 -1
- package/cjs/validation/database/unique-except-current-id.d.ts +0 -7
- package/cjs/validation/database/unique-except-current-id.d.ts.map +0 -1
- package/cjs/validation/database/unique-except-current-id.js +0 -23
- package/cjs/validation/database/unique-except-current-id.js.map +0 -1
- package/cjs/validation/database/unique-except-current-user.d.ts +0 -7
- package/cjs/validation/database/unique-except-current-user.d.ts.map +0 -1
- package/cjs/validation/database/unique-except-current-user.js +0 -25
- package/cjs/validation/database/unique-except-current-user.js.map +0 -1
- package/cjs/validation/database/unique.d.ts +0 -7
- package/cjs/validation/database/unique.d.ts.map +0 -1
- package/cjs/validation/database/unique.js +0 -30
- package/cjs/validation/database/unique.js.map +0 -1
- package/cjs/validation/file/file.d.ts +0 -22
- package/cjs/validation/file/file.d.ts.map +0 -1
- package/cjs/validation/file/file.js +0 -60
- package/cjs/validation/file/file.js.map +0 -1
- package/cjs/validation/file/index.d.ts +0 -6
- package/cjs/validation/file/index.d.ts.map +0 -1
- package/cjs/validation/index.d.ts +0 -16
- package/cjs/validation/index.d.ts.map +0 -1
- package/cjs/validation/init.d.ts +0 -7
- package/cjs/validation/init.d.ts.map +0 -1
- package/cjs/validation/init.js +0 -34
- package/cjs/validation/init.js.map +0 -1
- package/cjs/validation/plugins/database-plugin.d.ts +0 -14
- package/cjs/validation/plugins/database-plugin.d.ts.map +0 -1
- package/cjs/validation/plugins/database-plugin.js +0 -95
- package/cjs/validation/plugins/database-plugin.js.map +0 -1
- package/cjs/validation/plugins/file-plugin.d.ts +0 -11
- package/cjs/validation/plugins/file-plugin.d.ts.map +0 -1
- package/cjs/validation/plugins/file-plugin.js +0 -17
- package/cjs/validation/plugins/file-plugin.js.map +0 -1
- package/cjs/validation/plugins/index.d.ts +0 -9
- package/cjs/validation/plugins/index.d.ts.map +0 -1
- package/cjs/validation/plugins/localized-plugin.d.ts +0 -11
- package/cjs/validation/plugins/localized-plugin.d.ts.map +0 -1
- package/cjs/validation/plugins/localized-plugin.js +0 -19
- package/cjs/validation/plugins/localized-plugin.js.map +0 -1
- package/cjs/validation/types.d.ts +0 -87
- package/cjs/validation/types.d.ts.map +0 -1
- package/cjs/validation/validateAll.d.ts +0 -7
- package/cjs/validation/validateAll.d.ts.map +0 -1
- package/cjs/validation/validateAll.js +0 -39
- package/cjs/validation/validateAll.js.map +0 -1
- package/cjs/validation/validators/file-validator.d.ts +0 -40
- package/cjs/validation/validators/file-validator.d.ts.map +0 -1
- package/cjs/validation/validators/file-validator.js +0 -94
- package/cjs/validation/validators/file-validator.js.map +0 -1
- package/cjs/validation/validators/index.d.ts +0 -7
- package/cjs/validation/validators/index.d.ts.map +0 -1
- package/cjs/warlock-config/default-configurations.d.ts +0 -3
- package/cjs/warlock-config/default-configurations.d.ts.map +0 -1
- package/cjs/warlock-config/default-configurations.js +0 -8
- package/cjs/warlock-config/default-configurations.js.map +0 -1
- package/cjs/warlock-config/define-config.d.ts +0 -3
- package/cjs/warlock-config/define-config.d.ts.map +0 -1
- package/cjs/warlock-config/define-config.js +0 -3
- package/cjs/warlock-config/define-config.js.map +0 -1
- package/cjs/warlock-config/index.d.ts +0 -4
- package/cjs/warlock-config/index.d.ts.map +0 -1
- package/cjs/warlock-config/types.d.ts +0 -79
- package/cjs/warlock-config/types.d.ts.map +0 -1
- package/cjs/warlock-config/warlock-config.manager.d.ts +0 -83
- package/cjs/warlock-config/warlock-config.manager.d.ts.map +0 -1
- package/cjs/warlock-config/warlock-config.manager.js +0 -141
- package/cjs/warlock-config/warlock-config.manager.js.map +0 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import {devLogError}from'./dev-logger.js';import {Path}from'./path.js';import {tsconfigManager}from'./tsconfig-manager.js';/**
|
|
2
|
+
* Transform imports in transpiled code to use cache paths
|
|
3
|
+
* This is called AFTER all files are transpiled
|
|
4
|
+
*
|
|
5
|
+
* Strategy:
|
|
6
|
+
* - All cached files are in the same directory (.warlock/cache/)
|
|
7
|
+
* - So all imports become: "./${cachePath}"
|
|
8
|
+
* - We use fileManager.dependencies (already resolved by parseImports)
|
|
9
|
+
*
|
|
10
|
+
* @param fileManager FileManager with transpiled code and dependencies
|
|
11
|
+
* @param filesMap Map of all FileManager instances
|
|
12
|
+
* @returns Transformed code with cache-relative imports
|
|
13
|
+
*/
|
|
14
|
+
function transformImports(fileManager, filesMap) {
|
|
15
|
+
const code = fileManager.transpiled;
|
|
16
|
+
// Pattern to match ES6 import statements
|
|
17
|
+
// Matches: import ... from "..."
|
|
18
|
+
// Handles:
|
|
19
|
+
// - import { a, b } from "module" (named imports, can span multiple lines)
|
|
20
|
+
// - import * as Foo from "module" (namespace imports)
|
|
21
|
+
// - import Foo from "module" (default imports)
|
|
22
|
+
// - import Foo, { a, b } from "module" (mixed imports)
|
|
23
|
+
const importRegex = /import\s+(\{[\s\S]*?\}|\*\s+as\s+\w+|\w+(?:\s*,\s*\{[\s\S]*?\})?)\s+from\s+["']([^"']+)["'];?/gm;
|
|
24
|
+
// Pattern to match side-effect imports: import "module";
|
|
25
|
+
const sideEffectImportRegex = /import\s+["']([^"']+)["'];?/g;
|
|
26
|
+
// Pattern to match ES6 export statements
|
|
27
|
+
// Matches: export * from "..." and export { ... } from "..."
|
|
28
|
+
const exportRegex = /export\s+((?:\*|\{[^}]*\}))\s+from\s+["']([^"']+)["'];?/g;
|
|
29
|
+
let transformedCode = code;
|
|
30
|
+
const unresolvedImports = [];
|
|
31
|
+
// Process imports first
|
|
32
|
+
const importMatches = Array.from(code.matchAll(importRegex));
|
|
33
|
+
for (let i = importMatches.length - 1; i >= 0; i--) {
|
|
34
|
+
const match = importMatches[i];
|
|
35
|
+
const fullImport = match[0];
|
|
36
|
+
const importSpecifier = match[1]; // What's being imported (e.g., "{ foo }", "* as bar", "default")
|
|
37
|
+
const importPath = match[2]; // The module path
|
|
38
|
+
// Only transform relative imports and alias imports
|
|
39
|
+
// Skip external packages (node_modules, node built-ins)
|
|
40
|
+
const isRelativeImport = importPath.startsWith(".") || importPath.startsWith("/");
|
|
41
|
+
const isAliasImport = tsconfigManager.isAlias(importPath);
|
|
42
|
+
if (!isRelativeImport && !isAliasImport) {
|
|
43
|
+
// This is an external package - keep as-is
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
// Check if this import was resolved by parseImports (exists in importMap)
|
|
47
|
+
// If not in importMap, it means parseImports skipped it (external package), so we skip it too
|
|
48
|
+
if (!fileManager.importMap.has(importPath)) {
|
|
49
|
+
// Not in importMap = external package, skip transformation
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
// Find the cache path for this import from dependencies
|
|
53
|
+
const cachePath = findCachePathForImport(importPath, fileManager, filesMap);
|
|
54
|
+
if (!cachePath) {
|
|
55
|
+
// Could not resolve - track it (this is a local file that should exist but doesn't)
|
|
56
|
+
unresolvedImports.push(importPath);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
// Build the correct replacement depending on the import shape
|
|
60
|
+
const newImport = buildImportReplacement(importSpecifier, cachePath);
|
|
61
|
+
// Replace in code
|
|
62
|
+
const startIndex = match.index;
|
|
63
|
+
const endIndex = startIndex + fullImport.length;
|
|
64
|
+
transformedCode =
|
|
65
|
+
transformedCode.slice(0, startIndex) +
|
|
66
|
+
newImport +
|
|
67
|
+
transformedCode.slice(endIndex);
|
|
68
|
+
}
|
|
69
|
+
// Process side-effect imports: import "module";
|
|
70
|
+
const sideEffectMatches = Array.from(transformedCode.matchAll(sideEffectImportRegex));
|
|
71
|
+
for (let i = sideEffectMatches.length - 1; i >= 0; i--) {
|
|
72
|
+
const match = sideEffectMatches[i];
|
|
73
|
+
const fullImport = match[0];
|
|
74
|
+
const importPath = match[1];
|
|
75
|
+
// Only transform relative imports and alias imports
|
|
76
|
+
// Skip external packages (node_modules, node built-ins)
|
|
77
|
+
const isRelativeImport = importPath.startsWith(".") || importPath.startsWith("/");
|
|
78
|
+
const isAliasImport = tsconfigManager.isAlias(importPath);
|
|
79
|
+
if (!isRelativeImport && !isAliasImport) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (!fileManager.importMap.has(importPath)) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const cachePath = findCachePathForImport(importPath, fileManager, filesMap);
|
|
86
|
+
if (!cachePath) {
|
|
87
|
+
unresolvedImports.push(importPath);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
// FROM: import "./themes";
|
|
91
|
+
// TO: await __import("./src-app-mail-themes.js");
|
|
92
|
+
const newImport = `await __import("./${cachePath}")`;
|
|
93
|
+
const startIndex = match.index;
|
|
94
|
+
const endIndex = startIndex + fullImport.length;
|
|
95
|
+
transformedCode =
|
|
96
|
+
transformedCode.slice(0, startIndex) +
|
|
97
|
+
newImport +
|
|
98
|
+
transformedCode.slice(endIndex);
|
|
99
|
+
}
|
|
100
|
+
// Process exports (need to re-process after imports to get updated string positions)
|
|
101
|
+
const exportMatches = Array.from(transformedCode.matchAll(exportRegex));
|
|
102
|
+
for (let i = exportMatches.length - 1; i >= 0; i--) {
|
|
103
|
+
const match = exportMatches[i];
|
|
104
|
+
const fullExport = match[0];
|
|
105
|
+
const exportSpecifier = match[1]; // "*" or "{ foo, bar }"
|
|
106
|
+
const importPath = match[2]; // The module path
|
|
107
|
+
// Only transform relative imports and alias imports
|
|
108
|
+
// Skip external packages (node_modules, node built-ins)
|
|
109
|
+
const isRelativeImport = importPath.startsWith(".") || importPath.startsWith("/");
|
|
110
|
+
const isAliasImport = tsconfigManager.isAlias(importPath);
|
|
111
|
+
if (!isRelativeImport && !isAliasImport) {
|
|
112
|
+
// This is an external package - keep as-is
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
// Check if this import was resolved by parseImports (exists in importMap)
|
|
116
|
+
// If not in importMap, it means parseImports skipped it (external package), so we skip it too
|
|
117
|
+
if (!fileManager.importMap.has(importPath)) {
|
|
118
|
+
// Not in importMap = external package, skip transformation
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
// Find the cache path for this import from dependencies
|
|
122
|
+
const cachePath = findCachePathForImport(importPath, fileManager, filesMap);
|
|
123
|
+
if (!cachePath) {
|
|
124
|
+
console.log("Could not resolve import", importPath);
|
|
125
|
+
// Could not resolve - track it (this is a local file that should exist but doesn't)
|
|
126
|
+
unresolvedImports.push(importPath);
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
// Transform export to use cache path
|
|
130
|
+
// Note: export * from requires a static string literal in ES modules
|
|
131
|
+
// So we can't use __import with timestamps. We rely on module loader cache clearing.
|
|
132
|
+
// For export { ... }, we can use __import and individual exports
|
|
133
|
+
if (exportSpecifier === "*") {
|
|
134
|
+
// export * from "./module"
|
|
135
|
+
// Keep as static export but use cache path
|
|
136
|
+
// Cache busting is handled by module loader clearing cache
|
|
137
|
+
const newExport = `export * from "./${cachePath}"`;
|
|
138
|
+
// Replace in code
|
|
139
|
+
const startIndex = match.index;
|
|
140
|
+
const endIndex = startIndex + fullExport.length;
|
|
141
|
+
transformedCode =
|
|
142
|
+
transformedCode.slice(0, startIndex) +
|
|
143
|
+
newExport +
|
|
144
|
+
transformedCode.slice(endIndex);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
// export { foo, bar } from "./module"
|
|
148
|
+
// Transform to individual exports using __import
|
|
149
|
+
const moduleVar = `__module_${i}`;
|
|
150
|
+
const namedExports = exportSpecifier; // e.g., "{ foo, bar }"
|
|
151
|
+
// Extract export names from the specifier
|
|
152
|
+
const exportNames = namedExports
|
|
153
|
+
.match(/\{([^}]+)\}/)?.[1]
|
|
154
|
+
?.split(",")
|
|
155
|
+
.map(s => s.trim()) || [];
|
|
156
|
+
const exportStatements = exportNames
|
|
157
|
+
.map(name => `export const ${name} = ${moduleVar}.${name};`)
|
|
158
|
+
.join("\n");
|
|
159
|
+
const newExport = `const ${moduleVar} = await __import("./${cachePath}");\n${exportStatements}`;
|
|
160
|
+
// Replace in code
|
|
161
|
+
const startIndex = match.index;
|
|
162
|
+
const endIndex = startIndex + fullExport.length;
|
|
163
|
+
transformedCode =
|
|
164
|
+
transformedCode.slice(0, startIndex) +
|
|
165
|
+
newExport +
|
|
166
|
+
transformedCode.slice(endIndex);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// If there are unresolved imports, throw an error
|
|
170
|
+
if (unresolvedImports.length > 0) {
|
|
171
|
+
devLogError(`Failed to transform imports in ${fileManager.relativePath}:\n` +
|
|
172
|
+
`Unresolved imports: ${unresolvedImports.join(", ")}\n` +
|
|
173
|
+
`These files may not exist or are not being tracked.`);
|
|
174
|
+
return "";
|
|
175
|
+
}
|
|
176
|
+
return transformedCode;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Build a replacement statement for different import syntaxes
|
|
180
|
+
* @param importSpecifier The import specifier (e.g., "Foo", "{ a, b }", "Foo, { a, b }", "* as Bar")
|
|
181
|
+
* @param cachePath The path to the cached file
|
|
182
|
+
*/
|
|
183
|
+
function buildImportReplacement(importSpecifier, cachePath) {
|
|
184
|
+
const trimmed = importSpecifier.trim();
|
|
185
|
+
// Namespace import: import * as Foo from "module";
|
|
186
|
+
if (trimmed.startsWith("* as ")) {
|
|
187
|
+
const identifier = trimmed.replace("* as ", "").trim();
|
|
188
|
+
return `const ${identifier} = await __import("./${cachePath}")`;
|
|
189
|
+
}
|
|
190
|
+
// Mixed import: import Foo, { a, b } from "module";
|
|
191
|
+
// Transform to: const __module = await __import(...); const Foo = __module?.default ?? __module; const { a, b } = __module;
|
|
192
|
+
// Handle multiline: import Foo, {\n a,\n b\n} from "module";
|
|
193
|
+
if (trimmed.match(/^(\w+)\s*,\s*\{/)) {
|
|
194
|
+
const match = trimmed.match(/^(\w+)\s*,\s*(\{[\s\S]*?\})/);
|
|
195
|
+
if (match) {
|
|
196
|
+
const defaultImport = match[1];
|
|
197
|
+
let namedImports = match[2];
|
|
198
|
+
const moduleVar = `__module_${Math.random().toString(36).slice(2, 8)}`;
|
|
199
|
+
// Clean up whitespace and normalize
|
|
200
|
+
namedImports = namedImports.replace(/\s+/g, " ").trim();
|
|
201
|
+
// Normalize `{ default as X }` to `{ default: X }` for valid destructuring
|
|
202
|
+
const normalized = namedImports.replace(/default\s+as\s+/g, "default: ");
|
|
203
|
+
// Generate correct syntax with proper separators
|
|
204
|
+
return `const ${moduleVar} = await __import("./${cachePath}");
|
|
205
|
+
const ${defaultImport} = ${moduleVar}?.default ?? ${moduleVar};
|
|
206
|
+
const ${normalized} = ${moduleVar};`;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Destructured / named imports (including default alias): import { a, default as X } from "module";
|
|
210
|
+
if (trimmed.startsWith("{")) {
|
|
211
|
+
// Clean up multiline formatting
|
|
212
|
+
let cleanedImports = trimmed.replace(/\s+/g, " ").trim();
|
|
213
|
+
// Normalize `{ default as X }` to `{ default: X }` for valid destructuring
|
|
214
|
+
const normalized = cleanedImports.replace(/default\s+as\s+/g, "default: ");
|
|
215
|
+
return `const ${normalized} = await __import("./${cachePath}")`;
|
|
216
|
+
}
|
|
217
|
+
// Default import: import Foo from "module";
|
|
218
|
+
// Use default with fallback to module object
|
|
219
|
+
const moduleVar = `__module_${Math.random().toString(36).slice(2, 8)}`;
|
|
220
|
+
return `const ${moduleVar} = await __import("./${cachePath}");\nconst ${trimmed} = ${moduleVar}?.default ?? ${moduleVar};`;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Find the cache path for an import
|
|
224
|
+
* Uses the fileManager's importMap which maps original imports to resolved paths
|
|
225
|
+
*
|
|
226
|
+
* @param importPath The import path from the import statement
|
|
227
|
+
* @param fileManager The file that contains this import
|
|
228
|
+
* @param filesMap Map of all FileManager instances
|
|
229
|
+
* @returns The cache path string, or null if not found
|
|
230
|
+
*/
|
|
231
|
+
function findCachePathForImport(importPath, fileManager, filesMap) {
|
|
232
|
+
// Look up the resolved absolute path from the import map
|
|
233
|
+
const resolvedAbsPath = fileManager.importMap.get(importPath);
|
|
234
|
+
if (!resolvedAbsPath) {
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
// Convert to relative path
|
|
238
|
+
const relativePath = Path.toRelative(resolvedAbsPath);
|
|
239
|
+
// Find the FileManager for this dependency
|
|
240
|
+
const depFileManager = filesMap.get(relativePath);
|
|
241
|
+
if (!depFileManager) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
if (depFileManager && depFileManager.cachePath) {
|
|
245
|
+
return depFileManager.cachePath;
|
|
246
|
+
}
|
|
247
|
+
return null;
|
|
248
|
+
}export{transformImports};//# sourceMappingURL=import-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-transformer.js","sources":["../../src/dev2-server/import-transformer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import {loadEnv}from'@mongez/dotenv';import {configManager}from'../config/config-manager.js';import {connectorsManager}from'./connectors/connectors-manager.js';import {devLogHMR}from'./dev-logger.js';/**
|
|
2
|
+
* LayerExecutor handles the execution of file reloads based on their layer type
|
|
3
|
+
*
|
|
4
|
+
* Strategy:
|
|
5
|
+
* 1. Determine reload type (FSR or HMR) based on invalidation chain
|
|
6
|
+
* 2. For FSR: Restart connectors if needed, reload special files
|
|
7
|
+
* 3. For HMR: Clear module cache, reload affected modules
|
|
8
|
+
*/
|
|
9
|
+
class LayerExecutor {
|
|
10
|
+
dependencyGraph;
|
|
11
|
+
specialFilesCollector;
|
|
12
|
+
moduleLoader;
|
|
13
|
+
constructor(dependencyGraph, specialFilesCollector, moduleLoader) {
|
|
14
|
+
this.dependencyGraph = dependencyGraph;
|
|
15
|
+
this.specialFilesCollector = specialFilesCollector;
|
|
16
|
+
this.moduleLoader = moduleLoader;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Execute batch reload for multiple changed files
|
|
20
|
+
* @param changedPaths Array of relative paths that changed
|
|
21
|
+
* @param filesMap Map of all FileManager instances
|
|
22
|
+
*/
|
|
23
|
+
async executeBatchReload(changedPaths, filesMap, deletedFiles) {
|
|
24
|
+
if (changedPaths.length === 0) {
|
|
25
|
+
if (deletedFiles.length > 0) {
|
|
26
|
+
deletedFiles.forEach((file) => {
|
|
27
|
+
const fileSystem = filesMap.get(file);
|
|
28
|
+
if (fileSystem) {
|
|
29
|
+
this.moduleLoader.cleanupDeletedModule(fileSystem);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// Build combined invalidation chain for all changed files
|
|
36
|
+
const allInvalidatedFiles = new Set();
|
|
37
|
+
const fsrFiles = [];
|
|
38
|
+
const hmrFiles = [];
|
|
39
|
+
for (const relativePath of changedPaths) {
|
|
40
|
+
const fileManager = filesMap.get(relativePath);
|
|
41
|
+
if (!fileManager)
|
|
42
|
+
continue;
|
|
43
|
+
// Get invalidation chain for this file
|
|
44
|
+
const invalidationChain = this.dependencyGraph.getInvalidationChain(relativePath);
|
|
45
|
+
// Add to combined set
|
|
46
|
+
invalidationChain.forEach((file) => allInvalidatedFiles.add(file));
|
|
47
|
+
// Determine strategy for this file
|
|
48
|
+
const strategy = this.determineReloadStrategy(invalidationChain, filesMap);
|
|
49
|
+
if (strategy === "FSR") {
|
|
50
|
+
fsrFiles.push(relativePath);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
hmrFiles.push(relativePath);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
hmrFiles.forEach((file) => {
|
|
58
|
+
const dependentCount = this.dependencyGraph.getInvalidationChain(file).length - 1;
|
|
59
|
+
const fileSystem = filesMap.get(file);
|
|
60
|
+
if (fileSystem) {
|
|
61
|
+
this.moduleLoader.clearModuleCache(fileSystem.absolutePath);
|
|
62
|
+
__clearModuleVersion(fileSystem.cachePath);
|
|
63
|
+
}
|
|
64
|
+
devLogHMR(file, dependentCount > 0 ? dependentCount : undefined);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.log("ERRor in devLogHMR: ", error);
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
// Execute reload once for all files
|
|
72
|
+
const invalidationChain = Array.from(allInvalidatedFiles);
|
|
73
|
+
if (fsrFiles.length > 0) {
|
|
74
|
+
// If any file requires FSR, do FSR for all
|
|
75
|
+
const firstFsrFile = filesMap.get(fsrFiles[0]);
|
|
76
|
+
await this.executeFullServerRestart(firstFsrFile, invalidationChain, filesMap);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// All files are HMR
|
|
80
|
+
const firstHmrFile = filesMap.get(hmrFiles[0]);
|
|
81
|
+
await this.executeHotModuleReplacement(firstHmrFile, invalidationChain, filesMap, hmrFiles);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.log("ERRor in executeFullServerRestart: ", error);
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
deletedFiles.forEach((file) => {
|
|
89
|
+
const fileSystem = filesMap.get(file);
|
|
90
|
+
if (fileSystem) {
|
|
91
|
+
this.moduleLoader.cleanupDeletedModule(fileSystem);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.log("ERRor in deleteFiles: ", error);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Determine if we need FSR or HMR
|
|
101
|
+
* FSR is needed if ANY file in the invalidation chain is FSR layer
|
|
102
|
+
*/
|
|
103
|
+
determineReloadStrategy(invalidationChain, filesMap) {
|
|
104
|
+
for (const relativePath of invalidationChain) {
|
|
105
|
+
const file = filesMap.get(relativePath);
|
|
106
|
+
if (file && file.layer === "FSR") {
|
|
107
|
+
return "FSR";
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return "HMR";
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Execute Full Server Restart
|
|
114
|
+
* This happens when config, routes, or other FSR layer files change
|
|
115
|
+
*/
|
|
116
|
+
async executeFullServerRestart(changedFile, invalidationChain, filesMap) {
|
|
117
|
+
// Step 1: Handle config files specially
|
|
118
|
+
const configFiles = invalidationChain
|
|
119
|
+
.map((path) => filesMap.get(path))
|
|
120
|
+
.filter((file) => file !== undefined && file.type === "config");
|
|
121
|
+
if (configFiles.length > 0) {
|
|
122
|
+
// Reload config files first
|
|
123
|
+
for (const configFile of configFiles) {
|
|
124
|
+
await configManager.reload(configFile);
|
|
125
|
+
}
|
|
126
|
+
// Restart only affected connectors
|
|
127
|
+
await this.restartAffectedConnectors(invalidationChain);
|
|
128
|
+
// Clear module cache for invalidation chain
|
|
129
|
+
this.clearModuleCacheForChain(invalidationChain, filesMap);
|
|
130
|
+
// Reload special files if affected
|
|
131
|
+
await this.reloadAffectedSpecialFiles(invalidationChain);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
// Step 2: For non-config FSR (routes, etc.), restart all connectors
|
|
135
|
+
await this.restartAffectedConnectors(invalidationChain);
|
|
136
|
+
// Step 3: Clear module cache for invalidation chain
|
|
137
|
+
this.clearModuleCacheForChain(invalidationChain, filesMap);
|
|
138
|
+
// Step 4: Reload special files if affected
|
|
139
|
+
await this.reloadAffectedSpecialFiles(invalidationChain);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Execute Hot Module Replacement
|
|
143
|
+
* This happens when only HMR layer files (controllers, services, etc.) change
|
|
144
|
+
*/
|
|
145
|
+
async executeHotModuleReplacement(changedFile, invalidationChain, filesMap, hmrFiles) {
|
|
146
|
+
// Step 1: Clear module cache for invalidation chain
|
|
147
|
+
this.clearModuleCacheForChain(invalidationChain, filesMap);
|
|
148
|
+
// Step 2: Reload affected modules
|
|
149
|
+
await this.reloadAffectedModules(invalidationChain, filesMap);
|
|
150
|
+
await this.restartAffectedConnectors(hmrFiles);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Restart connectors that are affected by the changed files
|
|
154
|
+
*/
|
|
155
|
+
async restartAffectedConnectors(affectedFiles) {
|
|
156
|
+
const connectorsToRestart = connectorsManager
|
|
157
|
+
.list()
|
|
158
|
+
.filter((connector) => connector.shouldRestart(affectedFiles));
|
|
159
|
+
if (connectorsToRestart.length === 0) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
// Restart in priority order
|
|
163
|
+
for (const connector of connectorsToRestart) {
|
|
164
|
+
connector.restart();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Clear Node.js module cache for the invalidation chain
|
|
169
|
+
*/
|
|
170
|
+
clearModuleCacheForChain(invalidationChain, filesMap) {
|
|
171
|
+
for (const relativePath of invalidationChain) {
|
|
172
|
+
const file = filesMap.get(relativePath);
|
|
173
|
+
if (file) {
|
|
174
|
+
this.moduleLoader.clearModuleCache(file.absolutePath);
|
|
175
|
+
// Update module version for HMR cache busting
|
|
176
|
+
__clearModuleVersion(`./${file.cachePath}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Reload special files that are affected by the change
|
|
182
|
+
* This includes main, routes, events, locales
|
|
183
|
+
* Special files are reloaded if they are in the invalidation chain OR if they depend on files in the chain
|
|
184
|
+
*/
|
|
185
|
+
async reloadAffectedSpecialFiles(invalidationChain) {
|
|
186
|
+
// Helper to check if a file is affected (either in chain or depends on chain)
|
|
187
|
+
const isAffected = (file) => {
|
|
188
|
+
// Direct match: file itself is in the chain
|
|
189
|
+
if (invalidationChain.includes(file.relativePath)) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
// Indirect match: file depends on something in the chain
|
|
193
|
+
for (const dep of file.dependencies) {
|
|
194
|
+
if (invalidationChain.includes(dep)) {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return false;
|
|
199
|
+
};
|
|
200
|
+
// Check which special files are affected
|
|
201
|
+
const affectedMainFiles = this.specialFilesCollector.getMainFiles().filter(isAffected);
|
|
202
|
+
const affectedRouteFiles = this.specialFilesCollector.getRouteFiles().filter(isAffected);
|
|
203
|
+
const affectedEventFiles = this.specialFilesCollector.getEventFiles().filter(isAffected);
|
|
204
|
+
const affectedLocaleFiles = this.specialFilesCollector.getLocaleFiles().filter(isAffected);
|
|
205
|
+
// Reload affected special files
|
|
206
|
+
if (affectedMainFiles.length > 0) {
|
|
207
|
+
for (const file of affectedMainFiles) {
|
|
208
|
+
await this.moduleLoader.reloadModule(file);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (affectedLocaleFiles.length > 0) {
|
|
212
|
+
for (const file of affectedLocaleFiles) {
|
|
213
|
+
await this.moduleLoader.reloadModule(file);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (affectedEventFiles.length > 0) {
|
|
217
|
+
for (const file of affectedEventFiles) {
|
|
218
|
+
await this.moduleLoader.reloadModule(file);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (affectedRouteFiles.length > 0) {
|
|
222
|
+
for (const file of affectedRouteFiles) {
|
|
223
|
+
await this.moduleLoader.reloadModule(file);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Reload affected modules (for HMR)
|
|
229
|
+
* Special files (main, routes, events, locales) need to be actively reloaded
|
|
230
|
+
* Other files will be loaded on next import
|
|
231
|
+
*/
|
|
232
|
+
async reloadAffectedModules(invalidationChain, filesMap) {
|
|
233
|
+
// Helper to check if a file is affected (either in chain or depends on chain)
|
|
234
|
+
const isAffected = (file) => {
|
|
235
|
+
// Direct match: file itself is in the chain
|
|
236
|
+
if (invalidationChain.includes(file.relativePath)) {
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
// Indirect match: file depends on something in the chain
|
|
240
|
+
for (const dep of file.dependencies) {
|
|
241
|
+
if (invalidationChain.includes(dep)) {
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return false;
|
|
246
|
+
};
|
|
247
|
+
const isEnvFileAffected = invalidationChain.some((path) => path.endsWith(".env"));
|
|
248
|
+
if (isEnvFileAffected) {
|
|
249
|
+
await loadEnv();
|
|
250
|
+
}
|
|
251
|
+
// Check which special files are affected
|
|
252
|
+
const affectedMainFiles = this.specialFilesCollector.getMainFiles().filter(isAffected);
|
|
253
|
+
const affectedConfigFiles = this.specialFilesCollector
|
|
254
|
+
.getConfigFiles()
|
|
255
|
+
.filter((file) => (isEnvFileAffected ? true : isAffected(file)));
|
|
256
|
+
const affectedRouteFiles = this.specialFilesCollector.getRouteFiles().filter(isAffected);
|
|
257
|
+
const affectedEventFiles = this.specialFilesCollector.getEventFiles().filter(isAffected);
|
|
258
|
+
const affectedLocaleFiles = this.specialFilesCollector.getLocaleFiles().filter(isAffected);
|
|
259
|
+
const hasSpecialFiles = affectedMainFiles.length > 0 ||
|
|
260
|
+
affectedRouteFiles.length > 0 ||
|
|
261
|
+
affectedEventFiles.length > 0 ||
|
|
262
|
+
affectedLocaleFiles.length > 0 ||
|
|
263
|
+
affectedConfigFiles.length > 0;
|
|
264
|
+
// For future me:
|
|
265
|
+
// why we are only allowing special files?
|
|
266
|
+
// because they act as entry points
|
|
267
|
+
// so for example of a service file is changed
|
|
268
|
+
// but not called within a controller that's called
|
|
269
|
+
// within a router, then it's useless to reload it
|
|
270
|
+
// since it will not be executed.
|
|
271
|
+
if (!hasSpecialFiles) {
|
|
272
|
+
// however, we could just reload the last file in the chain
|
|
273
|
+
// since it's the main dependent file instead of reloading all of them.
|
|
274
|
+
const lastFileInChain = invalidationChain[invalidationChain.length - 1];
|
|
275
|
+
const file = filesMap.get(lastFileInChain);
|
|
276
|
+
if (!file) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
await this.moduleLoader.reloadModule(file);
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
if (affectedConfigFiles.length > 0) {
|
|
283
|
+
for (const file of affectedConfigFiles) {
|
|
284
|
+
await configManager.reload(file);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// Reload special files
|
|
288
|
+
if (affectedMainFiles.length > 0) {
|
|
289
|
+
for (const file of affectedMainFiles) {
|
|
290
|
+
await this.moduleLoader.reloadModule(file);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
if (affectedLocaleFiles.length > 0) {
|
|
294
|
+
for (const file of affectedLocaleFiles) {
|
|
295
|
+
await this.moduleLoader.reloadModule(file);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
if (affectedEventFiles.length > 0) {
|
|
299
|
+
for (const file of affectedEventFiles) {
|
|
300
|
+
await this.moduleLoader.reloadModule(file);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (affectedRouteFiles.length > 0) {
|
|
304
|
+
for (const file of affectedRouteFiles) {
|
|
305
|
+
await this.moduleLoader.reloadModule(file);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}export{LayerExecutor};//# sourceMappingURL=layer-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-executor.js","sources":["../../src/dev2-server/layer-executor.ts"],"sourcesContent":[null],"names":[],"mappings":"wMAQA;;;;;;;AAOG;MACU,aAAa,CAAA;AAEL,IAAA,eAAA,CAAA;AACA,IAAA,qBAAA,CAAA;AACA,IAAA,YAAA,CAAA;AAHnB,IAAA,WAAA,CACmB,eAAgC,EAChC,qBAA4C,EAC5C,YAA0B,EAAA;QAF1B,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAChC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;QAC5C,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;KACzC;AAEJ;;;;AAIG;AACI,IAAA,MAAM,kBAAkB,CAC7B,YAAsB,EACtB,QAAkC,EAClC,YAAsB,EAAA;AAEtB,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,YAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;oBAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,oBAAA,IAAI,UAAU,EAAE;AACd,wBAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;AACpD,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;YACD,OAAO;AACR,SAAA;;AAGD,QAAA,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;AAE9B,QAAA,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE;YACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,WAAW;gBAAE,SAAS;;YAG3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;;AAGlF,YAAA,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;;YAGnE,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAE3E,IAAI,QAAQ,KAAK,KAAK,EAAE;AACtB,gBAAA,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7B,aAAA;AAAM,iBAAA;AACL,gBAAA,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7B,aAAA;AACF,SAAA;QAED,IAAI;AACF,YAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxB,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClF,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,gBAAA,IAAI,UAAU,EAAE;oBACd,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC5D,oBAAA,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC5C,iBAAA;AAED,gBAAA,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;AACnE,aAAC,CAAC,CAAC;AACJ,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5C,SAAA;QAED,IAAI;;YAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAE1D,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;;gBAEvB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAChF,aAAA;AAAM,iBAAA;;gBAEL,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;AAChD,gBAAA,MAAM,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7F,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;AAC3D,SAAA;QAED,IAAI;AACF,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;gBAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,gBAAA,IAAI,UAAU,EAAE;AACd,oBAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;AACpD,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9C,SAAA;KACF;AAED;;;AAGG;IACK,uBAAuB,CAC7B,iBAA2B,EAC3B,QAAkC,EAAA;AAElC,QAAA,KAAK,MAAM,YAAY,IAAI,iBAAiB,EAAE;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACxC,YAAA,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AAChC,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;;AAGG;AACK,IAAA,MAAM,wBAAwB,CACpC,WAAwB,EACxB,iBAA2B,EAC3B,QAAkC,EAAA;;QAGlC,MAAM,WAAW,GAAG,iBAAiB;AAClC,aAAA,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,aAAA,MAAM,CAAC,CAAC,IAAI,KAA0B,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAEvF,QAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE1B,YAAA,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AACpC,gBAAA,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACxC,aAAA;;AAGD,YAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;;AAGxD,YAAA,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;;AAG3D,YAAA,MAAM,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;YACzD,OAAO;AACR,SAAA;;AAGD,QAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;;AAGxD,QAAA,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;;AAG3D,QAAA,MAAM,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;KAC1D;AAED;;;AAGG;IACK,MAAM,2BAA2B,CACvC,WAAwB,EACxB,iBAA2B,EAC3B,QAAkC,EAClC,QAAkB,EAAA;;AAGlB,QAAA,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;;QAG3D,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAE9D,QAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;KAChD;AAED;;AAEG;IACK,MAAM,yBAAyB,CAAC,aAAuB,EAAA;QAC7D,MAAM,mBAAmB,GAAG,iBAAiB;AAC1C,aAAA,IAAI,EAAE;AACN,aAAA,MAAM,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AAEjE,QAAA,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;AACR,SAAA;;AAGD,QAAA,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE;YAC3C,SAAS,CAAC,OAAO,EAAE,CAAC;AACrB,SAAA;KACF;AAED;;AAEG;IACK,wBAAwB,CAC9B,iBAA2B,EAC3B,QAAkC,EAAA;AAElC,QAAA,KAAK,MAAM,YAAY,IAAI,iBAAiB,EAAE;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACxC,YAAA,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;AAItD,gBAAA,oBAAoB,CAAC,CAAK,EAAA,EAAA,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC,CAAC;AAC7C,aAAA;AACF,SAAA;KACF;AAED;;;;AAIG;IACK,MAAM,0BAA0B,CAAC,iBAA2B,EAAA;;AAElE,QAAA,MAAM,UAAU,GAAG,CAAC,IAAiB,KAAa;;YAEhD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACjD,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;;AAED,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;AACnC,gBAAA,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnC,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC;;AAGF,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEvF,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEzF,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEzF,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;;AAG3F,QAAA,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;AAChC,YAAA,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE;gBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;gBACtC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;gBACrC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;gBACrC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;KACF;AAED;;;;AAIG;AACK,IAAA,MAAM,qBAAqB,CACjC,iBAA2B,EAC3B,QAAkC,EAAA;;AAGlC,QAAA,MAAM,UAAU,GAAG,CAAC,IAAiB,KAAa;;YAEhD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACjD,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;;AAED,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;AACnC,gBAAA,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnC,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAElF,QAAA,IAAI,iBAAiB,EAAE;YACrB,MAAM,OAAO,EAAE,CAAC;AACjB,SAAA;;AAGD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEvF,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB;AACnD,aAAA,cAAc,EAAE;aAChB,MAAM,CAAC,CAAC,IAAI,MAAM,iBAAiB,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnE,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEzF,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEzF,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE3F,QAAA,MAAM,eAAe,GACnB,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAC5B,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC7B,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC7B,mBAAmB,CAAC,MAAM,GAAG,CAAC;AAC9B,YAAA,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;;;;;;;;QASjC,IAAI,CAAC,eAAe,EAAE;;;YAGpB,MAAM,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO;AACR,aAAA;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO;AACR,SAAA;AAED,QAAA,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;AACtC,gBAAA,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,aAAA;AACF,SAAA;;AAGD,QAAA,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;AAChC,YAAA,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE;gBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE;gBACtC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;gBACrC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;gBACrC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;KACF;AACF"}
|