@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,186 @@
|
|
|
1
|
+
import events from'@mongez/events';import {debounce}from'@mongez/reinforcements';import {devLogSuccess}from'./dev-logger.js';import {FILE_PROCESSING_BATCH_SIZE}from'./flags.js';import {clearFileExistsCache}from'./parse-imports.js';import {Path}from'./path.js';/**
|
|
2
|
+
* File Event Handler
|
|
3
|
+
* Handles runtime file system events (change, add, delete)
|
|
4
|
+
* Collects events and processes them in batches for optimal performance
|
|
5
|
+
*/
|
|
6
|
+
class FileEventHandler {
|
|
7
|
+
fileOperations;
|
|
8
|
+
manifest;
|
|
9
|
+
/**
|
|
10
|
+
* Pending events to process in batch
|
|
11
|
+
*/
|
|
12
|
+
pendingChanges = new Set();
|
|
13
|
+
pendingAdds = new Set();
|
|
14
|
+
pendingDeletes = new Set();
|
|
15
|
+
/**
|
|
16
|
+
* Debounced batch processor
|
|
17
|
+
* Waits for events to settle, then processes all at once
|
|
18
|
+
*/
|
|
19
|
+
processPendingEvents = debounce(async () => {
|
|
20
|
+
await this.processBatch();
|
|
21
|
+
}, 150); // Wait 250ms after last event
|
|
22
|
+
/**
|
|
23
|
+
* Constructor
|
|
24
|
+
*/
|
|
25
|
+
constructor(fileOperations, manifest) {
|
|
26
|
+
this.fileOperations = fileOperations;
|
|
27
|
+
this.manifest = manifest;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Handle file change event
|
|
31
|
+
* Collects events for batch processing
|
|
32
|
+
*/
|
|
33
|
+
handleFileChange(absolutePath) {
|
|
34
|
+
const relativePath = Path.toRelative(absolutePath);
|
|
35
|
+
// Add to pending changes
|
|
36
|
+
this.pendingChanges.add(relativePath);
|
|
37
|
+
// Trigger debounced batch processor
|
|
38
|
+
this.processPendingEvents();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Handle new file added
|
|
42
|
+
* Collects events for batch processing
|
|
43
|
+
*/
|
|
44
|
+
handleFileAdd(absolutePath) {
|
|
45
|
+
const relativePath = Path.toRelative(absolutePath);
|
|
46
|
+
// Add to pending adds
|
|
47
|
+
this.pendingAdds.add(relativePath);
|
|
48
|
+
// Trigger debounced batch processor
|
|
49
|
+
this.processPendingEvents();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Handle file deleted
|
|
53
|
+
* Collects events for batch processing
|
|
54
|
+
*/
|
|
55
|
+
handleFileDelete(absolutePath) {
|
|
56
|
+
const relativePath = Path.toRelative(absolutePath);
|
|
57
|
+
// Add to pending deletes
|
|
58
|
+
this.pendingDeletes.add(relativePath);
|
|
59
|
+
// Trigger debounced batch processor
|
|
60
|
+
this.processPendingEvents();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Process all pending events in batch
|
|
64
|
+
*/
|
|
65
|
+
async processBatch() {
|
|
66
|
+
// Get snapshots of pending events
|
|
67
|
+
const changes = Array.from(this.pendingChanges);
|
|
68
|
+
const adds = Array.from(this.pendingAdds);
|
|
69
|
+
const deletes = Array.from(this.pendingDeletes);
|
|
70
|
+
// Clear pending sets
|
|
71
|
+
this.pendingChanges.clear();
|
|
72
|
+
this.pendingAdds.clear();
|
|
73
|
+
this.pendingDeletes.clear();
|
|
74
|
+
// Skip if nothing to process
|
|
75
|
+
if (changes.length === 0 && adds.length === 0 && deletes.length === 0) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
// For batch operations (multiple files), add extra delay to let filesystem settle
|
|
79
|
+
const totalFiles = adds.length + changes.length;
|
|
80
|
+
if (totalFiles > 1) {
|
|
81
|
+
// Wait 500ms for filesystem to fully write all files
|
|
82
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
83
|
+
// Clear file exists cache so we get fresh lookups
|
|
84
|
+
clearFileExistsCache();
|
|
85
|
+
}
|
|
86
|
+
// Silent batch processing
|
|
87
|
+
// Process in order: adds first (so new files are available for import transformation),
|
|
88
|
+
// then changes (can reference newly added files), then deletes
|
|
89
|
+
await this.processBatchAdds(adds);
|
|
90
|
+
// TODO: If changed files are just saves, then skip triggering the batch completion event
|
|
91
|
+
await this.processBatchChanges(changes);
|
|
92
|
+
await this.processBatchDeletes(deletes);
|
|
93
|
+
// Update dependency graph and manifest once
|
|
94
|
+
this.fileOperations.updateFileDependents();
|
|
95
|
+
this.fileOperations.syncFilesToManifest();
|
|
96
|
+
await this.manifest.save();
|
|
97
|
+
// Trigger batch completion event (for reload execution)
|
|
98
|
+
events.trigger("dev-server:batch-complete", {
|
|
99
|
+
added: adds,
|
|
100
|
+
changed: changes,
|
|
101
|
+
deleted: deletes,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Process batch of changed files
|
|
106
|
+
*/
|
|
107
|
+
async processBatchChanges(relativePaths) {
|
|
108
|
+
if (relativePaths.length === 0)
|
|
109
|
+
return;
|
|
110
|
+
const BATCH_SIZE = FILE_PROCESSING_BATCH_SIZE;
|
|
111
|
+
for (let i = 0; i < relativePaths.length; i += BATCH_SIZE) {
|
|
112
|
+
const batch = relativePaths.slice(i, i + BATCH_SIZE);
|
|
113
|
+
await Promise.all(batch.map(async (relativePath) => {
|
|
114
|
+
await this.fileOperations.updateFile(relativePath);
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Process batch of added files
|
|
120
|
+
* Uses push-to-end strategy: files that depend on other batch files are processed last
|
|
121
|
+
*/
|
|
122
|
+
async processBatchAdds(relativePaths) {
|
|
123
|
+
if (relativePaths.length === 0)
|
|
124
|
+
return;
|
|
125
|
+
const batchSet = new Set(relativePaths);
|
|
126
|
+
// PHASE 1: Parse all files in parallel to discover dependencies
|
|
127
|
+
const parsedFiles = await Promise.all(relativePaths.map(async (relativePath) => {
|
|
128
|
+
try {
|
|
129
|
+
const fileManager = await this.fileOperations.parseNewFile(relativePath);
|
|
130
|
+
return fileManager;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
return null; // Skip files that can't be parsed
|
|
134
|
+
}
|
|
135
|
+
}));
|
|
136
|
+
// Filter out nulls
|
|
137
|
+
const validFiles = parsedFiles.filter((f) => f !== null);
|
|
138
|
+
// PHASE 2: Reorder - push files with batch dependencies to the end
|
|
139
|
+
const noDeps = [];
|
|
140
|
+
const hasDeps = [];
|
|
141
|
+
for (const file of validFiles) {
|
|
142
|
+
const dependsOnBatch = [...file.dependencies].some((dep) => batchSet.has(dep));
|
|
143
|
+
if (dependsOnBatch) {
|
|
144
|
+
hasDeps.push(file);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
noDeps.push(file);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Combine: no-deps first, has-deps last
|
|
151
|
+
const orderedFiles = [...noDeps, ...hasDeps];
|
|
152
|
+
// PHASE 3: Process sequentially with retry for failures
|
|
153
|
+
const failed = [];
|
|
154
|
+
for (const file of orderedFiles) {
|
|
155
|
+
try {
|
|
156
|
+
await this.fileOperations.finalizeNewFile(file);
|
|
157
|
+
devLogSuccess(`Added file: ${file.relativePath}`);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
failed.push(file);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Retry failed files once (their dependencies might be ready now)
|
|
164
|
+
for (const file of failed) {
|
|
165
|
+
try {
|
|
166
|
+
await this.fileOperations.finalizeNewFile(file);
|
|
167
|
+
devLogSuccess(`Added file: ${file.relativePath}`);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
// Log error but continue - file may have other issues
|
|
171
|
+
console.error(`Failed to add file ${file.relativePath}:`, error);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Process batch of deleted files
|
|
177
|
+
*/
|
|
178
|
+
async processBatchDeletes(relativePaths) {
|
|
179
|
+
if (relativePaths.length === 0)
|
|
180
|
+
return;
|
|
181
|
+
for (const relativePath of relativePaths) {
|
|
182
|
+
await this.fileOperations.deleteFile(relativePath);
|
|
183
|
+
devLogSuccess(`Deleted file: ${relativePath}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}export{FileEventHandler};//# sourceMappingURL=file-event-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-event-handler.js","sources":["../../src/dev2-server/file-event-handler.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import events from'@mongez/events';import {getFileAsync,lastModifiedAsync,putFileAsync}from'@mongez/fs';import crypto from'crypto';import {pathToFileURL}from'url';import {DEV_SERVER_EVENTS}from'./events.js';import {transformImports}from'./import-transformer.js';import {parseImports}from'./parse-imports.js';import {Path}from'./path.js';import {transpileFile}from'./transpile-file.js';import {warlockCachePath}from'./utils.js';class FileManager {
|
|
2
|
+
absolutePath;
|
|
3
|
+
files;
|
|
4
|
+
fileOperations;
|
|
5
|
+
/**
|
|
6
|
+
* Relative path to root directory
|
|
7
|
+
*/
|
|
8
|
+
relativePath = "";
|
|
9
|
+
/**
|
|
10
|
+
* Last modified timestamp
|
|
11
|
+
*/
|
|
12
|
+
lastModified = 0;
|
|
13
|
+
/**
|
|
14
|
+
* Hash of the file content
|
|
15
|
+
*/
|
|
16
|
+
hash = "";
|
|
17
|
+
/**
|
|
18
|
+
* Source code of the file
|
|
19
|
+
*/
|
|
20
|
+
source = "";
|
|
21
|
+
/**
|
|
22
|
+
* Transpiled code of the file
|
|
23
|
+
*/
|
|
24
|
+
transpiled = "";
|
|
25
|
+
/**
|
|
26
|
+
* Dependencies of the file (relative paths)
|
|
27
|
+
*/
|
|
28
|
+
dependencies = new Set();
|
|
29
|
+
/**
|
|
30
|
+
* Import map: original import path -> resolved absolute path
|
|
31
|
+
* Used for import transformation
|
|
32
|
+
*/
|
|
33
|
+
importMap = new Map();
|
|
34
|
+
/**
|
|
35
|
+
* Dependents of the file
|
|
36
|
+
*/
|
|
37
|
+
dependents = new Set();
|
|
38
|
+
/**
|
|
39
|
+
* Version of the file
|
|
40
|
+
*/
|
|
41
|
+
version = 0;
|
|
42
|
+
/**
|
|
43
|
+
* Type of the file
|
|
44
|
+
*/
|
|
45
|
+
type;
|
|
46
|
+
/**
|
|
47
|
+
* Layer of the file
|
|
48
|
+
*/
|
|
49
|
+
layer;
|
|
50
|
+
/**
|
|
51
|
+
* Cache path of the file
|
|
52
|
+
*/
|
|
53
|
+
cachePath = "";
|
|
54
|
+
/**
|
|
55
|
+
* File cleanup function
|
|
56
|
+
*/
|
|
57
|
+
cleanup;
|
|
58
|
+
/**
|
|
59
|
+
* Whether imports have been transformed to cache paths
|
|
60
|
+
*/
|
|
61
|
+
importsTransformed = false;
|
|
62
|
+
/**
|
|
63
|
+
* Whether this file contains only type definitions (no runtime code)
|
|
64
|
+
* Used to exclude from circular dependency detection
|
|
65
|
+
*/
|
|
66
|
+
isTypeOnlyFile = false;
|
|
67
|
+
/**
|
|
68
|
+
* File state
|
|
69
|
+
*/
|
|
70
|
+
state = "idle";
|
|
71
|
+
/**
|
|
72
|
+
* Constructor
|
|
73
|
+
*/
|
|
74
|
+
constructor(absolutePath, files, fileOperations) {
|
|
75
|
+
this.absolutePath = absolutePath;
|
|
76
|
+
this.files = files;
|
|
77
|
+
this.fileOperations = fileOperations;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Initialize the file manager
|
|
81
|
+
* @param fileManifest Optional manifest data from previous build
|
|
82
|
+
* @param filesMap Optional map of all FileManager instances (for import transformation)
|
|
83
|
+
*/
|
|
84
|
+
async init(fileManifest) {
|
|
85
|
+
this.state = "loading";
|
|
86
|
+
// No manifest = fresh file, load from disk
|
|
87
|
+
if (!fileManifest) {
|
|
88
|
+
await this.loadFromDisk();
|
|
89
|
+
// Import transformation will happen later in FilesOrchestrator.transformAllImports()
|
|
90
|
+
// after all files are processed and available in the files map
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// Manifest exists = check if file changed since last build
|
|
94
|
+
await this.loadFromManifest(fileManifest);
|
|
95
|
+
// Import transformation will happen later in FilesOrchestrator.transformAllImports()
|
|
96
|
+
// for files that were reprocessed (importsTransformed = false)
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get cached file path ready for dynamic import
|
|
100
|
+
*/
|
|
101
|
+
get cachePathUrl() {
|
|
102
|
+
if (!this.cachePath)
|
|
103
|
+
return "";
|
|
104
|
+
return pathToFileURL(warlockCachePath(this.cachePath)).href;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Load file with manifest data (check if changed)
|
|
108
|
+
*/
|
|
109
|
+
async loadFromManifest(fileManifest) {
|
|
110
|
+
// Set basic properties from manifest
|
|
111
|
+
this.relativePath = fileManifest.relativePath || Path.toRelative(this.absolutePath);
|
|
112
|
+
this.version = fileManifest.version || 0;
|
|
113
|
+
this.type = fileManifest.type;
|
|
114
|
+
this.layer = fileManifest.layer;
|
|
115
|
+
this.cachePath =
|
|
116
|
+
fileManifest.cachePath || this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
|
|
117
|
+
// Check if file still exists
|
|
118
|
+
try {
|
|
119
|
+
this.source = await getFileAsync(this.absolutePath);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
this.state = "deleted";
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
// Calculate current hash
|
|
126
|
+
const currentHash = crypto.createHash("sha256").update(this.source).digest("hex");
|
|
127
|
+
const currentLastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
|
|
128
|
+
// Compare with manifest data
|
|
129
|
+
const hasChanged = currentHash !== fileManifest.hash;
|
|
130
|
+
if (hasChanged) {
|
|
131
|
+
// File changed - reprocess it
|
|
132
|
+
this.hash = currentHash;
|
|
133
|
+
this.lastModified = currentLastModified;
|
|
134
|
+
this.version++;
|
|
135
|
+
await this.processFile();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// File unchanged - load from cache
|
|
139
|
+
this.hash = fileManifest.hash;
|
|
140
|
+
this.lastModified = fileManifest.lastModified;
|
|
141
|
+
this.dependencies = new Set(fileManifest.dependencies || []);
|
|
142
|
+
this.dependents = new Set(fileManifest.dependents || []);
|
|
143
|
+
// Load cached transpiled code
|
|
144
|
+
try {
|
|
145
|
+
this.transpiled = await getFileAsync(warlockCachePath(this.cachePath));
|
|
146
|
+
// Cached files already have transformed imports
|
|
147
|
+
this.importsTransformed = true;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
// Cache missing - retranspile
|
|
151
|
+
await this.processFile();
|
|
152
|
+
// Will need import transformation
|
|
153
|
+
this.importsTransformed = false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
this.state = "ready";
|
|
157
|
+
events.trigger(DEV_SERVER_EVENTS.FILE_READY, this);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Load file from disk (fresh, no manifest)
|
|
161
|
+
*/
|
|
162
|
+
async loadFromDisk() {
|
|
163
|
+
this.source = await getFileAsync(this.absolutePath);
|
|
164
|
+
this.hash = crypto.createHash("sha256").update(this.source).digest("hex");
|
|
165
|
+
this.relativePath = Path.toRelative(this.absolutePath);
|
|
166
|
+
this.lastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
|
|
167
|
+
this.version = 0;
|
|
168
|
+
this.detectFileTypeAndLayer();
|
|
169
|
+
// Generate cache path (replace / with - and change extension to .js)
|
|
170
|
+
this.cachePath = this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
|
|
171
|
+
await this.processFile();
|
|
172
|
+
this.state = "ready";
|
|
173
|
+
events.trigger(DEV_SERVER_EVENTS.FILE_READY, this);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Process file: parse imports first, then transpile
|
|
177
|
+
*/
|
|
178
|
+
async processFile() {
|
|
179
|
+
// STEP 1: Parse imports from source (must be first to get dependencies)
|
|
180
|
+
const importMap = await parseImports(this.source, this.absolutePath);
|
|
181
|
+
// Store dependencies as relative paths
|
|
182
|
+
const importsRelativePaths = Array.from(importMap.values()).map((absPath) => Path.toRelative(absPath));
|
|
183
|
+
this.dependencies = new Set(importsRelativePaths);
|
|
184
|
+
// Store import map for later use in import transformation
|
|
185
|
+
this.importMap = importMap;
|
|
186
|
+
const missingImports = Array.from(this.dependencies.values()).filter((relativePath) => !this.files.has(relativePath));
|
|
187
|
+
if (missingImports.length > 0) {
|
|
188
|
+
// if missing, try to find them first in their locations
|
|
189
|
+
await Promise.all(missingImports.map((relativePath) => this.fileOperations.addFile(relativePath)));
|
|
190
|
+
}
|
|
191
|
+
// STEP 2: Transpile source code
|
|
192
|
+
this.transpiled = await transpileFile(this);
|
|
193
|
+
// STEP 3: Save transpiled code to cache
|
|
194
|
+
await putFileAsync(warlockCachePath(this.cachePath), this.transpiled);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Phase 1: Parse the file to discover dependencies
|
|
198
|
+
* Does NOT write cache yet - used for batch file processing
|
|
199
|
+
* to determine processing order
|
|
200
|
+
*/
|
|
201
|
+
async parseOnly() {
|
|
202
|
+
this.state = "loading";
|
|
203
|
+
// Load source
|
|
204
|
+
this.source = await getFileAsync(this.absolutePath);
|
|
205
|
+
this.hash = crypto.createHash("sha256").update(this.source).digest("hex");
|
|
206
|
+
this.relativePath = Path.toRelative(this.absolutePath);
|
|
207
|
+
this.lastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
|
|
208
|
+
this.version = 0;
|
|
209
|
+
// Detect type and layer
|
|
210
|
+
this.detectFileTypeAndLayer();
|
|
211
|
+
this.cachePath = this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
|
|
212
|
+
// Parse imports to discover dependencies
|
|
213
|
+
const importMap = await parseImports(this.source, this.absolutePath);
|
|
214
|
+
this.dependencies = new Set(Array.from(importMap.values()).map((absPath) => Path.toRelative(absPath)));
|
|
215
|
+
this.importMap = importMap;
|
|
216
|
+
this.state = "parsed";
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Phase 2: Complete processing (transpile, transform, write cache)
|
|
220
|
+
* Called after dependencies are ready
|
|
221
|
+
*/
|
|
222
|
+
async finalize() {
|
|
223
|
+
// Re-parse imports to ensure importMap is populated correctly
|
|
224
|
+
// (During parseOnly(), some batch files may not have existed on disk yet)
|
|
225
|
+
const importMap = await parseImports(this.source, this.absolutePath);
|
|
226
|
+
this.dependencies = new Set(Array.from(importMap.values()).map((absPath) => Path.toRelative(absPath)));
|
|
227
|
+
this.importMap = importMap;
|
|
228
|
+
// Check and add any missing dependencies first
|
|
229
|
+
const missingImports = Array.from(this.dependencies.values()).filter((relativePath) => !this.files.has(relativePath));
|
|
230
|
+
if (missingImports.length > 0) {
|
|
231
|
+
await Promise.all(missingImports.map((relativePath) => this.fileOperations.addFile(relativePath)));
|
|
232
|
+
}
|
|
233
|
+
// Transpile
|
|
234
|
+
this.transpiled = await transpileFile(this);
|
|
235
|
+
this.importsTransformed = false;
|
|
236
|
+
// Transform imports to cache paths
|
|
237
|
+
await this.transformImports();
|
|
238
|
+
this.state = "ready";
|
|
239
|
+
events.trigger(DEV_SERVER_EVENTS.FILE_READY, this);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Detect file type and layer based on path
|
|
243
|
+
*/
|
|
244
|
+
detectFileTypeAndLayer() {
|
|
245
|
+
// Main entry files
|
|
246
|
+
if (this.relativePath.includes("main.ts") || this.relativePath.includes("main.tsx")) {
|
|
247
|
+
this.type = "main";
|
|
248
|
+
this.layer = "HMR";
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
// Config files - FSR but handled specially (reload config + restart affected connectors)
|
|
252
|
+
if (this.relativePath.startsWith("src/config/")) {
|
|
253
|
+
this.type = "config";
|
|
254
|
+
this.layer = "HMR";
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
// Routes files
|
|
258
|
+
if (this.relativePath.endsWith("routes.ts") || this.relativePath.endsWith("routes.tsx")) {
|
|
259
|
+
this.type = "route";
|
|
260
|
+
this.layer = "HMR"; // For now FSR, will be HMR with wildcard routing
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
// Event files
|
|
264
|
+
if (this.relativePath.includes("/events/")) {
|
|
265
|
+
this.type = "event";
|
|
266
|
+
this.layer = "HMR";
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
// Controllers
|
|
270
|
+
if (this.relativePath.includes("controller")) {
|
|
271
|
+
this.type = "controller";
|
|
272
|
+
this.layer = "HMR";
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
// Services
|
|
276
|
+
if (this.relativePath.includes("service")) {
|
|
277
|
+
this.type = "service";
|
|
278
|
+
this.layer = "HMR";
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
// Models
|
|
282
|
+
if (this.relativePath.includes("model")) {
|
|
283
|
+
this.type = "model";
|
|
284
|
+
this.layer = "HMR";
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
// Default: other files use HMR
|
|
288
|
+
this.type = "other";
|
|
289
|
+
this.layer = "HMR";
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Update file when changed during development
|
|
293
|
+
*/
|
|
294
|
+
async update() {
|
|
295
|
+
const newSource = await getFileAsync(this.absolutePath);
|
|
296
|
+
// No change in content
|
|
297
|
+
if (newSource.trim() === this.source.trim()) {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
this.state = "updating";
|
|
301
|
+
this.source = newSource;
|
|
302
|
+
this.version++;
|
|
303
|
+
// Update hash and last modified
|
|
304
|
+
this.hash = crypto.createHash("sha256").update(this.source).digest("hex");
|
|
305
|
+
this.lastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
|
|
306
|
+
// Reprocess file
|
|
307
|
+
await this.processFile();
|
|
308
|
+
// Transform imports
|
|
309
|
+
if (this.dependencies.size > 0) {
|
|
310
|
+
this.importsTransformed = false;
|
|
311
|
+
await this.transformImports();
|
|
312
|
+
}
|
|
313
|
+
this.state = "ready";
|
|
314
|
+
return true;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Force reprocess file even if source hasn't changed
|
|
318
|
+
* Useful when dependencies become available (e.g., missing file is added back)
|
|
319
|
+
*/
|
|
320
|
+
async forceReprocess() {
|
|
321
|
+
this.state = "updating";
|
|
322
|
+
this.version++;
|
|
323
|
+
// Reprocess file (re-parse imports, retranspile, transform imports)
|
|
324
|
+
await this.processFile();
|
|
325
|
+
// Transform imports
|
|
326
|
+
if (this.dependencies.size > 0) {
|
|
327
|
+
this.importsTransformed = false;
|
|
328
|
+
await this.transformImports();
|
|
329
|
+
}
|
|
330
|
+
this.state = "ready";
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Transform imports in transpiled code to use cache paths
|
|
334
|
+
*/
|
|
335
|
+
async transformImports() {
|
|
336
|
+
if (this.importsTransformed) {
|
|
337
|
+
return; // Already transformed
|
|
338
|
+
}
|
|
339
|
+
try {
|
|
340
|
+
// Transform imports in transpiled code
|
|
341
|
+
const transformedCode = transformImports(this, this.files);
|
|
342
|
+
// Update the transpiled code
|
|
343
|
+
this.transpiled = transformedCode;
|
|
344
|
+
// Save the transformed code back to cache
|
|
345
|
+
await putFileAsync(warlockCachePath(this.cachePath), transformedCode);
|
|
346
|
+
// Mark as transformed
|
|
347
|
+
this.importsTransformed = true;
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
throw error;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Export file data as manifest entry
|
|
355
|
+
* Note: source and transpiled code are NOT stored in manifest
|
|
356
|
+
* - Source code is in the original file
|
|
357
|
+
* - Transpiled code is in .warlock/cache/
|
|
358
|
+
* - Hash is used to detect changes
|
|
359
|
+
*/
|
|
360
|
+
toManifest() {
|
|
361
|
+
return {
|
|
362
|
+
absolutePath: this.absolutePath,
|
|
363
|
+
relativePath: this.relativePath,
|
|
364
|
+
lastModified: this.lastModified,
|
|
365
|
+
hash: this.hash,
|
|
366
|
+
dependencies: Array.from(this.dependencies),
|
|
367
|
+
dependents: Array.from(this.dependents),
|
|
368
|
+
version: this.version,
|
|
369
|
+
type: this.type,
|
|
370
|
+
layer: this.layer,
|
|
371
|
+
cachePath: this.cachePath,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
}export{FileManager};//# sourceMappingURL=file-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-manager.js","sources":["../../src/dev2-server/file-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|