@monolayer/sdk 1.2.0-canary.4
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/LICENSE +21 -0
- package/README.md +25 -0
- package/dist/bin/cli.js +21609 -0
- package/dist/cjs/configuration.d.ts +65 -0
- package/dist/cjs/configuration.js +45 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/introspection.d.ts +2 -0
- package/dist/cjs/introspection.js +11 -0
- package/dist/cjs/make/broadcast.d.ts +10 -0
- package/dist/cjs/make/broadcast.js +37 -0
- package/dist/cjs/make/config.d.ts +2 -0
- package/dist/cjs/make/config.js +44 -0
- package/dist/cjs/make/cron.d.ts +9 -0
- package/dist/cjs/make/cron.js +30 -0
- package/dist/cjs/make/make.d.ts +6 -0
- package/dist/cjs/make/make.js +134 -0
- package/dist/cjs/make/manifest.d.ts +202 -0
- package/dist/cjs/make/manifest.js +165 -0
- package/dist/cjs/make/required-filtes.d.ts +1 -0
- package/dist/cjs/make/required-filtes.js +17 -0
- package/dist/cjs/make/task.d.ts +9 -0
- package/dist/cjs/make/task.js +30 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/packages/docker/df.d.ts +543 -0
- package/dist/cjs/packages/docker/df.js +395 -0
- package/dist/cjs/packages/docker/validator.d.ts +7 -0
- package/dist/cjs/packages/docker/validator.js +18 -0
- package/dist/cjs/packages/utils/create-file.d.ts +1 -0
- package/dist/cjs/packages/utils/create-file.js +18 -0
- package/dist/cjs/packages/utils/date-string.d.ts +1 -0
- package/dist/cjs/packages/utils/date-string.js +12 -0
- package/dist/cjs/packages/utils/exception.d.ts +1 -0
- package/dist/cjs/packages/utils/exception.js +8 -0
- package/dist/cjs/packages/utils/hash-value.d.ts +16 -0
- package/dist/cjs/packages/utils/hash-value.js +25 -0
- package/dist/cjs/packages/utils/import-default.d.ts +1 -0
- package/dist/cjs/packages/utils/import-default.js +14 -0
- package/dist/cjs/packages/utils/import-file.d.ts +8 -0
- package/dist/cjs/packages/utils/import-file.js +41 -0
- package/dist/cjs/packages/utils/log-with-spinner.d.ts +1 -0
- package/dist/cjs/packages/utils/log-with-spinner.js +24 -0
- package/dist/cjs/packages/utils/path.d.ts +2 -0
- package/dist/cjs/packages/utils/path.js +21 -0
- package/dist/cjs/packages/utils/playground.d.ts +1 -0
- package/dist/cjs/packages/utils/playground.js +35 -0
- package/dist/cjs/scaffolding/add-env-var.d.ts +6 -0
- package/dist/cjs/scaffolding/add-env-var.js +65 -0
- package/dist/cjs/scaffolding/add-import.d.ts +16 -0
- package/dist/cjs/scaffolding/add-import.js +43 -0
- package/dist/cjs/scaffolding/add-script.d.ts +1 -0
- package/dist/cjs/scaffolding/add-script.js +35 -0
- package/dist/cjs/scaffolding/broadcast-workload.d.ts +1 -0
- package/dist/cjs/scaffolding/broadcast-workload.js +36 -0
- package/dist/cjs/scaffolding/bucket-workload.d.ts +6 -0
- package/dist/cjs/scaffolding/bucket-workload.js +23 -0
- package/dist/cjs/scaffolding/cron-workload.d.ts +6 -0
- package/dist/cjs/scaffolding/cron-workload.js +28 -0
- package/dist/cjs/scaffolding/drizzle.d.ts +4 -0
- package/dist/cjs/scaffolding/drizzle.js +22 -0
- package/dist/cjs/scaffolding/lifecycle.d.ts +9 -0
- package/dist/cjs/scaffolding/lifecycle.js +61 -0
- package/dist/cjs/scaffolding/postgres-database-workload.d.ts +15 -0
- package/dist/cjs/scaffolding/postgres-database-workload.js +39 -0
- package/dist/cjs/scaffolding/prisma.d.ts +4 -0
- package/dist/cjs/scaffolding/prisma.js +40 -0
- package/dist/cjs/scaffolding/replace-string.d.ts +10 -0
- package/dist/cjs/scaffolding/replace-string.js +37 -0
- package/dist/cjs/scaffolding/task-workload.d.ts +6 -0
- package/dist/cjs/scaffolding/task-workload.js +30 -0
- package/dist/cjs/scaffolding/workload.d.ts +1 -0
- package/dist/cjs/scaffolding/workload.js +18 -0
- package/dist/cjs/scan/project.d.ts +23 -0
- package/dist/cjs/scan/project.js +79 -0
- package/dist/cjs/scan/workload-imports.d.ts +21 -0
- package/dist/cjs/scan/workload-imports.js +188 -0
- package/dist/cjs/test-helpers/postgres.d.ts +13 -0
- package/dist/cjs/test-helpers/postgres.js +52 -0
- package/dist/cjs/test-helpers/redis.d.ts +13 -0
- package/dist/cjs/test-helpers/redis.js +46 -0
- package/dist/cjs/test-helpers/task.d.ts +14 -0
- package/dist/cjs/test-helpers/task.js +18 -0
- package/dist/cjs/test-helpers.d.ts +3 -0
- package/dist/cjs/test-helpers.js +10 -0
- package/dist/cjs/workloads/app-lifecycle/after-rollout.d.ts +22 -0
- package/dist/cjs/workloads/app-lifecycle/after-rollout.js +28 -0
- package/dist/cjs/workloads/app-lifecycle/before-rollout.d.ts +22 -0
- package/dist/cjs/workloads/app-lifecycle/before-rollout.js +28 -0
- package/dist/cjs/workloads/app-lifecycle/bootstrap.d.ts +22 -0
- package/dist/cjs/workloads/app-lifecycle/bootstrap.js +28 -0
- package/dist/cjs/workloads/app-lifecycle/lifecycle-workload.d.ts +11 -0
- package/dist/cjs/workloads/app-lifecycle/lifecycle-workload.js +11 -0
- package/dist/cjs/workloads/assertions.d.ts +13 -0
- package/dist/cjs/workloads/assertions.js +14 -0
- package/dist/cjs/workloads/stateful/bucket.d.ts +82 -0
- package/dist/cjs/workloads/stateful/bucket.js +95 -0
- package/dist/cjs/workloads/stateful/database.d.ts +25 -0
- package/dist/cjs/workloads/stateful/database.js +42 -0
- package/dist/cjs/workloads/stateful/postgres-database.d.ts +29 -0
- package/dist/cjs/workloads/stateful/postgres-database.js +39 -0
- package/dist/cjs/workloads/stateful/redis.d.ts +30 -0
- package/dist/cjs/workloads/stateful/redis.js +40 -0
- package/dist/cjs/workloads/stateful/stateful-workload.d.ts +25 -0
- package/dist/cjs/workloads/stateful/stateful-workload.js +41 -0
- package/dist/cjs/workloads/stateless/broadcast/channel-data.d.ts +3 -0
- package/dist/cjs/workloads/stateless/broadcast/channel-data.js +6 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-client.d.ts +78 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-client.js +128 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-publisher.d.ts +34 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-publisher.js +78 -0
- package/dist/cjs/workloads/stateless/broadcast/client/authenticator.d.ts +28 -0
- package/dist/cjs/workloads/stateless/broadcast/client/authenticator.js +43 -0
- package/dist/cjs/workloads/stateless/broadcast/client/broadcast-provider.d.ts +17 -0
- package/dist/cjs/workloads/stateless/broadcast/client/broadcast-provider.js +34 -0
- package/dist/cjs/workloads/stateless/broadcast/client/client.d.ts +8 -0
- package/dist/cjs/workloads/stateless/broadcast/client/client.js +28 -0
- package/dist/cjs/workloads/stateless/broadcast/client/connectionManager.d.ts +62 -0
- package/dist/cjs/workloads/stateless/broadcast/client/connectionManager.js +166 -0
- package/dist/cjs/workloads/stateless/broadcast/client/eventEmitter.d.ts +32 -0
- package/dist/cjs/workloads/stateless/broadcast/client/eventEmitter.js +53 -0
- package/dist/cjs/workloads/stateless/broadcast/client/messageBuilder.d.ts +24 -0
- package/dist/cjs/workloads/stateless/broadcast/client/messageBuilder.js +43 -0
- package/dist/cjs/workloads/stateless/broadcast/client/parser.d.ts +12 -0
- package/dist/cjs/workloads/stateless/broadcast/client/parser.js +22 -0
- package/dist/cjs/workloads/stateless/broadcast/client/provider.d.ts +4 -0
- package/dist/cjs/workloads/stateless/broadcast/client/provider.js +11 -0
- package/dist/cjs/workloads/stateless/broadcast/client/subscriptionManager.d.ts +34 -0
- package/dist/cjs/workloads/stateless/broadcast/client/subscriptionManager.js +91 -0
- package/dist/cjs/workloads/stateless/broadcast/client/types.d.ts +72 -0
- package/dist/cjs/workloads/stateless/broadcast/client/types.js +6 -0
- package/dist/cjs/workloads/stateless/broadcast/matcher.d.ts +13 -0
- package/dist/cjs/workloads/stateless/broadcast/matcher.js +46 -0
- package/dist/cjs/workloads/stateless/broadcast/router.d.ts +103 -0
- package/dist/cjs/workloads/stateless/broadcast/router.js +98 -0
- package/dist/cjs/workloads/stateless/broadcast/types.d.ts +17 -0
- package/dist/cjs/workloads/stateless/broadcast/types.js +2 -0
- package/dist/cjs/workloads/stateless/cron.d.ts +49 -0
- package/dist/cjs/workloads/stateless/cron.js +55 -0
- package/dist/cjs/workloads/stateless/stateless-workload.d.ts +3 -0
- package/dist/cjs/workloads/stateless/stateless-workload.js +7 -0
- package/dist/cjs/workloads/stateless/task/backoffs.d.ts +9 -0
- package/dist/cjs/workloads/stateless/task/backoffs.js +17 -0
- package/dist/cjs/workloads/stateless/task/dispatcher.d.ts +3 -0
- package/dist/cjs/workloads/stateless/task/dispatcher.js +22 -0
- package/dist/cjs/workloads/stateless/task/local.d.ts +14 -0
- package/dist/cjs/workloads/stateless/task/local.js +54 -0
- package/dist/cjs/workloads/stateless/task/perform-later.d.ts +2 -0
- package/dist/cjs/workloads/stateless/task/perform-later.js +7 -0
- package/dist/cjs/workloads/stateless/task/perform-now.d.ts +5 -0
- package/dist/cjs/workloads/stateless/task/perform-now.js +24 -0
- package/dist/cjs/workloads/stateless/task/perform.d.ts +7 -0
- package/dist/cjs/workloads/stateless/task/perform.js +10 -0
- package/dist/cjs/workloads/stateless/task/task.d.ts +88 -0
- package/dist/cjs/workloads/stateless/task/task.js +61 -0
- package/dist/cjs/workloads/stateless/task/validate-data-size.d.ts +1 -0
- package/dist/cjs/workloads/stateless/task/validate-data-size.js +10 -0
- package/dist/cjs/workloads/workload.d.ts +14 -0
- package/dist/cjs/workloads/workload.js +16 -0
- package/dist/cjs/workloads.d.ts +22 -0
- package/dist/cjs/workloads.js +30 -0
- package/dist/esm/configuration.d.ts +65 -0
- package/dist/esm/configuration.js +15 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/introspection.d.ts +2 -0
- package/dist/esm/introspection.js +2 -0
- package/dist/esm/make/broadcast.d.ts +10 -0
- package/dist/esm/make/broadcast.js +30 -0
- package/dist/esm/make/config.d.ts +2 -0
- package/dist/esm/make/config.js +41 -0
- package/dist/esm/make/cron.d.ts +9 -0
- package/dist/esm/make/cron.js +23 -0
- package/dist/esm/make/make.d.ts +6 -0
- package/dist/esm/make/make.js +120 -0
- package/dist/esm/make/manifest.d.ts +202 -0
- package/dist/esm/make/manifest.js +162 -0
- package/dist/esm/make/required-filtes.d.ts +1 -0
- package/dist/esm/make/required-filtes.js +11 -0
- package/dist/esm/make/task.d.ts +9 -0
- package/dist/esm/make/task.js +23 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/packages/docker/df.d.ts +543 -0
- package/dist/esm/packages/docker/df.js +381 -0
- package/dist/esm/packages/docker/validator.d.ts +7 -0
- package/dist/esm/packages/docker/validator.js +14 -0
- package/dist/esm/packages/utils/create-file.d.ts +1 -0
- package/dist/esm/packages/utils/create-file.js +11 -0
- package/dist/esm/packages/utils/date-string.d.ts +1 -0
- package/dist/esm/packages/utils/date-string.js +8 -0
- package/dist/esm/packages/utils/exception.d.ts +1 -0
- package/dist/esm/packages/utils/exception.js +4 -0
- package/dist/esm/packages/utils/hash-value.d.ts +16 -0
- package/dist/esm/packages/utils/hash-value.js +20 -0
- package/dist/esm/packages/utils/import-default.d.ts +1 -0
- package/dist/esm/packages/utils/import-default.js +10 -0
- package/dist/esm/packages/utils/import-file.d.ts +8 -0
- package/dist/esm/packages/utils/import-file.js +13 -0
- package/dist/esm/packages/utils/log-with-spinner.d.ts +1 -0
- package/dist/esm/packages/utils/log-with-spinner.js +17 -0
- package/dist/esm/packages/utils/path.d.ts +2 -0
- package/dist/esm/packages/utils/path.js +17 -0
- package/dist/esm/packages/utils/playground.d.ts +1 -0
- package/dist/esm/packages/utils/playground.js +11 -0
- package/dist/esm/scaffolding/add-env-var.d.ts +6 -0
- package/dist/esm/scaffolding/add-env-var.js +57 -0
- package/dist/esm/scaffolding/add-import.d.ts +16 -0
- package/dist/esm/scaffolding/add-import.js +39 -0
- package/dist/esm/scaffolding/add-script.d.ts +1 -0
- package/dist/esm/scaffolding/add-script.js +29 -0
- package/dist/esm/scaffolding/broadcast-workload.d.ts +1 -0
- package/dist/esm/scaffolding/broadcast-workload.js +30 -0
- package/dist/esm/scaffolding/bucket-workload.d.ts +6 -0
- package/dist/esm/scaffolding/bucket-workload.js +17 -0
- package/dist/esm/scaffolding/cron-workload.d.ts +6 -0
- package/dist/esm/scaffolding/cron-workload.js +22 -0
- package/dist/esm/scaffolding/drizzle.d.ts +4 -0
- package/dist/esm/scaffolding/drizzle.js +19 -0
- package/dist/esm/scaffolding/lifecycle.d.ts +9 -0
- package/dist/esm/scaffolding/lifecycle.js +53 -0
- package/dist/esm/scaffolding/postgres-database-workload.d.ts +15 -0
- package/dist/esm/scaffolding/postgres-database-workload.js +31 -0
- package/dist/esm/scaffolding/prisma.d.ts +4 -0
- package/dist/esm/scaffolding/prisma.js +34 -0
- package/dist/esm/scaffolding/replace-string.d.ts +10 -0
- package/dist/esm/scaffolding/replace-string.js +30 -0
- package/dist/esm/scaffolding/task-workload.d.ts +6 -0
- package/dist/esm/scaffolding/task-workload.js +24 -0
- package/dist/esm/scaffolding/workload.d.ts +1 -0
- package/dist/esm/scaffolding/workload.js +12 -0
- package/dist/esm/scan/project.d.ts +23 -0
- package/dist/esm/scan/project.js +69 -0
- package/dist/esm/scan/workload-imports.d.ts +21 -0
- package/dist/esm/scan/workload-imports.js +144 -0
- package/dist/esm/test-helpers/postgres.d.ts +13 -0
- package/dist/esm/test-helpers/postgres.js +26 -0
- package/dist/esm/test-helpers/redis.d.ts +13 -0
- package/dist/esm/test-helpers/redis.js +20 -0
- package/dist/esm/test-helpers/task.d.ts +14 -0
- package/dist/esm/test-helpers/task.js +14 -0
- package/dist/esm/test-helpers.d.ts +3 -0
- package/dist/esm/test-helpers.js +3 -0
- package/dist/esm/workloads/app-lifecycle/after-rollout.d.ts +22 -0
- package/dist/esm/workloads/app-lifecycle/after-rollout.js +24 -0
- package/dist/esm/workloads/app-lifecycle/before-rollout.d.ts +22 -0
- package/dist/esm/workloads/app-lifecycle/before-rollout.js +24 -0
- package/dist/esm/workloads/app-lifecycle/bootstrap.d.ts +22 -0
- package/dist/esm/workloads/app-lifecycle/bootstrap.js +24 -0
- package/dist/esm/workloads/app-lifecycle/lifecycle-workload.d.ts +11 -0
- package/dist/esm/workloads/app-lifecycle/lifecycle-workload.js +7 -0
- package/dist/esm/workloads/assertions.d.ts +13 -0
- package/dist/esm/workloads/assertions.js +6 -0
- package/dist/esm/workloads/stateful/bucket.d.ts +82 -0
- package/dist/esm/workloads/stateful/bucket.js +95 -0
- package/dist/esm/workloads/stateful/database.d.ts +25 -0
- package/dist/esm/workloads/stateful/database.js +42 -0
- package/dist/esm/workloads/stateful/postgres-database.d.ts +29 -0
- package/dist/esm/workloads/stateful/postgres-database.js +35 -0
- package/dist/esm/workloads/stateful/redis.d.ts +30 -0
- package/dist/esm/workloads/stateful/redis.js +36 -0
- package/dist/esm/workloads/stateful/stateful-workload.d.ts +25 -0
- package/dist/esm/workloads/stateful/stateful-workload.js +41 -0
- package/dist/esm/workloads/stateless/broadcast/channel-data.d.ts +3 -0
- package/dist/esm/workloads/stateless/broadcast/channel-data.js +2 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-client.d.ts +78 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-client.js +130 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-publisher.d.ts +34 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-publisher.js +76 -0
- package/dist/esm/workloads/stateless/broadcast/client/authenticator.d.ts +28 -0
- package/dist/esm/workloads/stateless/broadcast/client/authenticator.js +39 -0
- package/dist/esm/workloads/stateless/broadcast/client/broadcast-provider.d.ts +17 -0
- package/dist/esm/workloads/stateless/broadcast/client/broadcast-provider.js +29 -0
- package/dist/esm/workloads/stateless/broadcast/client/client.d.ts +8 -0
- package/dist/esm/workloads/stateless/broadcast/client/client.js +25 -0
- package/dist/esm/workloads/stateless/broadcast/client/connectionManager.d.ts +62 -0
- package/dist/esm/workloads/stateless/broadcast/client/connectionManager.js +164 -0
- package/dist/esm/workloads/stateless/broadcast/client/eventEmitter.d.ts +32 -0
- package/dist/esm/workloads/stateless/broadcast/client/eventEmitter.js +50 -0
- package/dist/esm/workloads/stateless/broadcast/client/messageBuilder.d.ts +24 -0
- package/dist/esm/workloads/stateless/broadcast/client/messageBuilder.js +39 -0
- package/dist/esm/workloads/stateless/broadcast/client/parser.d.ts +12 -0
- package/dist/esm/workloads/stateless/broadcast/client/parser.js +19 -0
- package/dist/esm/workloads/stateless/broadcast/client/provider.d.ts +4 -0
- package/dist/esm/workloads/stateless/broadcast/client/provider.js +8 -0
- package/dist/esm/workloads/stateless/broadcast/client/subscriptionManager.d.ts +34 -0
- package/dist/esm/workloads/stateless/broadcast/client/subscriptionManager.js +91 -0
- package/dist/esm/workloads/stateless/broadcast/client/types.d.ts +72 -0
- package/dist/esm/workloads/stateless/broadcast/client/types.js +5 -0
- package/dist/esm/workloads/stateless/broadcast/matcher.d.ts +13 -0
- package/dist/esm/workloads/stateless/broadcast/matcher.js +43 -0
- package/dist/esm/workloads/stateless/broadcast/router.d.ts +103 -0
- package/dist/esm/workloads/stateless/broadcast/router.js +93 -0
- package/dist/esm/workloads/stateless/broadcast/server/broadcast-server.d.ts +2 -0
- package/dist/esm/workloads/stateless/broadcast/server/broadcast-server.js +316 -0
- package/dist/esm/workloads/stateless/broadcast/types.d.ts +17 -0
- package/dist/esm/workloads/stateless/broadcast/types.js +1 -0
- package/dist/esm/workloads/stateless/cron.d.ts +49 -0
- package/dist/esm/workloads/stateless/cron.js +52 -0
- package/dist/esm/workloads/stateless/stateless-workload.d.ts +3 -0
- package/dist/esm/workloads/stateless/stateless-workload.js +8 -0
- package/dist/esm/workloads/stateless/task/backoffs.d.ts +9 -0
- package/dist/esm/workloads/stateless/task/backoffs.js +14 -0
- package/dist/esm/workloads/stateless/task/dispatcher.d.ts +3 -0
- package/dist/esm/workloads/stateless/task/dispatcher.js +18 -0
- package/dist/esm/workloads/stateless/task/local.d.ts +14 -0
- package/dist/esm/workloads/stateless/task/local.js +48 -0
- package/dist/esm/workloads/stateless/task/perform-later.d.ts +2 -0
- package/dist/esm/workloads/stateless/task/perform-later.js +4 -0
- package/dist/esm/workloads/stateless/task/perform-now.d.ts +5 -0
- package/dist/esm/workloads/stateless/task/perform-now.js +18 -0
- package/dist/esm/workloads/stateless/task/perform.d.ts +7 -0
- package/dist/esm/workloads/stateless/task/perform.js +8 -0
- package/dist/esm/workloads/stateless/task/task.d.ts +88 -0
- package/dist/esm/workloads/stateless/task/task.js +59 -0
- package/dist/esm/workloads/stateless/task/validate-data-size.d.ts +1 -0
- package/dist/esm/workloads/stateless/task/validate-data-size.js +7 -0
- package/dist/esm/workloads/workload.d.ts +14 -0
- package/dist/esm/workloads/workload.js +16 -0
- package/dist/esm/workloads.d.ts +22 -0
- package/dist/esm/workloads.js +13 -0
- package/package.json +155 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.projectDependency = projectDependency;
|
|
7
|
+
exports.projectDependencies = projectDependencies;
|
|
8
|
+
exports.projectName = projectName;
|
|
9
|
+
exports.projectFramework = projectFramework;
|
|
10
|
+
exports.packageVersion = packageVersion;
|
|
11
|
+
const frameworks_1 = require("@vercel/frameworks");
|
|
12
|
+
const fs_detectors_1 = require("@vercel/fs-detectors");
|
|
13
|
+
const fs_1 = require("fs");
|
|
14
|
+
const node_child_process_1 = require("node:child_process");
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const node_process_1 = require("node:process");
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if the project is dependant on a package.
|
|
19
|
+
*/
|
|
20
|
+
function projectDependency(packageName, projectRoot) {
|
|
21
|
+
return projectDependencies(projectRoot).some((dep) => dep === packageName);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns all project dependencies
|
|
25
|
+
*/
|
|
26
|
+
function projectDependencies(projectRoot) {
|
|
27
|
+
const packageJson = parsePackageJson(projectRoot);
|
|
28
|
+
return Object.keys(packageJson.dependencies ?? {});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns the project name (from package.json)
|
|
32
|
+
*/
|
|
33
|
+
function projectName(projectRoot) {
|
|
34
|
+
const packageJson = parsePackageJson(projectRoot);
|
|
35
|
+
if (packageJson.name) {
|
|
36
|
+
return packageJson.name;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns the slug (unique identifier) of the framework
|
|
41
|
+
* used in the current project.
|
|
42
|
+
*
|
|
43
|
+
* Frameworks are defected wirth the package: `@vercel/fs-detectors`
|
|
44
|
+
*/
|
|
45
|
+
async function projectFramework(projectRoot) {
|
|
46
|
+
const result = await (0, fs_detectors_1.detectFrameworks)({
|
|
47
|
+
fs: new fs_detectors_1.LocalFileSystemDetector(projectRoot ?? (0, node_process_1.cwd)()),
|
|
48
|
+
frameworkList: frameworks_1.frameworkList,
|
|
49
|
+
});
|
|
50
|
+
return result[0]?.slug ?? undefined;
|
|
51
|
+
}
|
|
52
|
+
function parsePackageJson(projectRoot) {
|
|
53
|
+
return JSON.parse((0, fs_1.readFileSync)(node_path_1.default.join(projectRoot ?? (0, node_process_1.cwd)(), "package.json")).toString());
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Returns the installed version of a package or `undefined` if the package is not installed.
|
|
57
|
+
*/
|
|
58
|
+
async function packageVersion(packageName, projectRoot) {
|
|
59
|
+
const list = await npmList(projectRoot);
|
|
60
|
+
return (list.dependencies ?? {})[packageName]?.version;
|
|
61
|
+
}
|
|
62
|
+
async function npmList(projectRoot) {
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
const lines = [];
|
|
65
|
+
const list = (0, node_child_process_1.spawn)("npm", ["list", "--json"], projectRoot
|
|
66
|
+
? {
|
|
67
|
+
cwd: projectRoot,
|
|
68
|
+
}
|
|
69
|
+
: undefined);
|
|
70
|
+
list.stdout.on("data", (chunks) => lines.push(chunks.toString()));
|
|
71
|
+
list.stderr.on("data", (chunks) => reject(chunks.toString()));
|
|
72
|
+
list.on("close", (code) => {
|
|
73
|
+
if (code !== 0) {
|
|
74
|
+
throw new Error(`npm list command finished with code ${code}`);
|
|
75
|
+
}
|
|
76
|
+
resolve(JSON.parse(lines.join()));
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Bucket, type Cron, type PostgresDatabase, type Redis, type Task } from "../workloads.js";
|
|
2
|
+
import type { StatefulWorkloadWithClient } from "../workloads/stateful/stateful-workload.js";
|
|
3
|
+
import type { AnyBroadcast } from "../workloads/stateless/broadcast/router.js";
|
|
4
|
+
export declare function importWorkloads(): Promise<WorkloadImports>;
|
|
5
|
+
export interface WorkloadImport<I> {
|
|
6
|
+
src: string;
|
|
7
|
+
workload: I;
|
|
8
|
+
}
|
|
9
|
+
export declare class WorkloadImports {
|
|
10
|
+
#private;
|
|
11
|
+
constructor();
|
|
12
|
+
get workloadsWithContainers(): (PostgresDatabase | Redis | Bucket | AnyBroadcast)[];
|
|
13
|
+
get Redis(): WorkloadImport<Redis>[];
|
|
14
|
+
get PostgresDatabase(): WorkloadImport<PostgresDatabase>[];
|
|
15
|
+
get Bucket(): WorkloadImport<Bucket>[];
|
|
16
|
+
get Cron(): WorkloadImport<Cron>[];
|
|
17
|
+
get Task(): WorkloadImport<Task<unknown>>[];
|
|
18
|
+
get Broadcast(): WorkloadImport<AnyBroadcast>[];
|
|
19
|
+
addBroadcast(src: string, workload: any): void;
|
|
20
|
+
add(src: string, workload: StatefulWorkloadWithClient): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
26
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
27
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
28
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
29
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
30
|
+
};
|
|
31
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
32
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
33
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
34
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
var _WorkloadImports_importsByWorkload, _WorkloadImports_imports;
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.WorkloadImports = void 0;
|
|
42
|
+
exports.importWorkloads = importWorkloads;
|
|
43
|
+
const fs_1 = require("fs");
|
|
44
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
45
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
46
|
+
const node_process_1 = require("node:process");
|
|
47
|
+
const picocolors_1 = __importDefault(require("picocolors"));
|
|
48
|
+
const configuration_js_1 = require("../configuration.js");
|
|
49
|
+
const assertions_js_1 = require("../workloads/assertions.js");
|
|
50
|
+
async function importWorkloads() {
|
|
51
|
+
const workloadsPath = node_path_1.default.join((0, node_process_1.cwd)(), (await (0, configuration_js_1.workloadsConfiguration)()).workloadsPath);
|
|
52
|
+
if (!(0, fs_1.existsSync)(workloadsPath)) {
|
|
53
|
+
console.log(`${picocolors_1.default.red("error")} Workloads folder not found`);
|
|
54
|
+
console.log("Check your configuration file: ./monolayer.config.ts");
|
|
55
|
+
(0, node_process_1.exit)(1);
|
|
56
|
+
}
|
|
57
|
+
const files = await promises_1.default.readdir(workloadsPath);
|
|
58
|
+
const imports = new WorkloadImports();
|
|
59
|
+
for (const fileName of files) {
|
|
60
|
+
if (fileName.endsWith(".ts") && !fileName.endsWith(".d.ts")) {
|
|
61
|
+
const importPath = node_path_1.default.join(workloadsPath, fileName);
|
|
62
|
+
const imported = (await Promise.resolve(`${importPath}`).then(s => __importStar(require(s))));
|
|
63
|
+
for (const [, workload] of Object.entries(imported)) {
|
|
64
|
+
if (workload !== undefined) {
|
|
65
|
+
const workloadKind = workload.constructor.name;
|
|
66
|
+
const workloadPath = node_path_1.default.relative((0, node_process_1.cwd)(), importPath);
|
|
67
|
+
if (validWorkload(workloadKind)) {
|
|
68
|
+
imports.add(workloadPath, workload);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return imports;
|
|
75
|
+
}
|
|
76
|
+
const validConstructor = [
|
|
77
|
+
"PostgresDatabase",
|
|
78
|
+
"Redis",
|
|
79
|
+
"Bucket",
|
|
80
|
+
"Cron",
|
|
81
|
+
"Task",
|
|
82
|
+
"Broadcast",
|
|
83
|
+
];
|
|
84
|
+
function validWorkload(workloadConstructor) {
|
|
85
|
+
return validConstructor.includes(workloadConstructor);
|
|
86
|
+
}
|
|
87
|
+
class WorkloadImports {
|
|
88
|
+
constructor() {
|
|
89
|
+
_WorkloadImports_importsByWorkload.set(this, void 0);
|
|
90
|
+
_WorkloadImports_imports.set(this, []);
|
|
91
|
+
__classPrivateFieldSet(this, _WorkloadImports_importsByWorkload, {
|
|
92
|
+
PostgresDatabase: [],
|
|
93
|
+
Bucket: [],
|
|
94
|
+
Redis: [],
|
|
95
|
+
Cron: [],
|
|
96
|
+
Task: [],
|
|
97
|
+
Broadcast: [],
|
|
98
|
+
}, "f");
|
|
99
|
+
}
|
|
100
|
+
get workloadsWithContainers() {
|
|
101
|
+
return [
|
|
102
|
+
...this.Bucket,
|
|
103
|
+
...this.PostgresDatabase,
|
|
104
|
+
...this.Redis,
|
|
105
|
+
...this.Broadcast,
|
|
106
|
+
].map((i) => i.workload);
|
|
107
|
+
}
|
|
108
|
+
get Redis() {
|
|
109
|
+
return __classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").Redis;
|
|
110
|
+
}
|
|
111
|
+
get PostgresDatabase() {
|
|
112
|
+
return __classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").PostgresDatabase;
|
|
113
|
+
}
|
|
114
|
+
get Bucket() {
|
|
115
|
+
return __classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").Bucket;
|
|
116
|
+
}
|
|
117
|
+
get Cron() {
|
|
118
|
+
return __classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").Cron;
|
|
119
|
+
}
|
|
120
|
+
get Task() {
|
|
121
|
+
return __classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").Task;
|
|
122
|
+
}
|
|
123
|
+
get Broadcast() {
|
|
124
|
+
return __classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").Broadcast;
|
|
125
|
+
}
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
127
|
+
addBroadcast(src, workload) {
|
|
128
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f").Broadcast = [{ src, workload }];
|
|
129
|
+
}
|
|
130
|
+
add(src, workload) {
|
|
131
|
+
if (validWorkload(workload.constructor.name)) {
|
|
132
|
+
const key = workload.constructor.name;
|
|
133
|
+
if (__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key] === undefined) {
|
|
134
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key] = [];
|
|
135
|
+
}
|
|
136
|
+
switch (key) {
|
|
137
|
+
case "Redis":
|
|
138
|
+
(0, assertions_js_1.assertRedis)(workload);
|
|
139
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key].push({
|
|
140
|
+
src,
|
|
141
|
+
workload,
|
|
142
|
+
});
|
|
143
|
+
break;
|
|
144
|
+
case "Bucket":
|
|
145
|
+
(0, assertions_js_1.assertBucket)(workload);
|
|
146
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key].push({
|
|
147
|
+
src,
|
|
148
|
+
workload,
|
|
149
|
+
});
|
|
150
|
+
break;
|
|
151
|
+
case "PostgresDatabase":
|
|
152
|
+
(0, assertions_js_1.assertPostgresDatabase)(workload);
|
|
153
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key].push({
|
|
154
|
+
src,
|
|
155
|
+
workload,
|
|
156
|
+
});
|
|
157
|
+
break;
|
|
158
|
+
case "Cron":
|
|
159
|
+
(0, assertions_js_1.assertCron)(workload);
|
|
160
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key].push({
|
|
161
|
+
src,
|
|
162
|
+
workload,
|
|
163
|
+
});
|
|
164
|
+
break;
|
|
165
|
+
case "Task":
|
|
166
|
+
(0, assertions_js_1.assertTask)(workload);
|
|
167
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key].push({
|
|
168
|
+
src,
|
|
169
|
+
workload,
|
|
170
|
+
});
|
|
171
|
+
break;
|
|
172
|
+
case "Broadcast":
|
|
173
|
+
(0, assertions_js_1.assertBroadcast)(workload);
|
|
174
|
+
__classPrivateFieldGet(this, _WorkloadImports_importsByWorkload, "f")[key].push({
|
|
175
|
+
src,
|
|
176
|
+
workload,
|
|
177
|
+
});
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
__classPrivateFieldGet(this, _WorkloadImports_imports, "f").push({
|
|
182
|
+
src,
|
|
183
|
+
workload,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.WorkloadImports = WorkloadImports;
|
|
188
|
+
_WorkloadImports_importsByWorkload = new WeakMap(), _WorkloadImports_imports = new WeakMap();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PostgresDatabase } from "../workloads/stateful/postgres-database.js";
|
|
2
|
+
/**
|
|
3
|
+
* Truncates all the tables in a {@link PostgresDatabase} workload.
|
|
4
|
+
*/
|
|
5
|
+
export declare function truncatePostgresTables(
|
|
6
|
+
/**
|
|
7
|
+
* PostgresDatabase workload
|
|
8
|
+
*/
|
|
9
|
+
workload: PostgresDatabase,
|
|
10
|
+
/**
|
|
11
|
+
* Schema name (default: `public`)
|
|
12
|
+
*/
|
|
13
|
+
schemaName?: string): Promise<void>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.truncatePostgresTables = truncatePostgresTables;
|
|
27
|
+
/**
|
|
28
|
+
* Truncates all the tables in a {@link PostgresDatabase} workload.
|
|
29
|
+
*/
|
|
30
|
+
async function truncatePostgresTables(
|
|
31
|
+
/**
|
|
32
|
+
* PostgresDatabase workload
|
|
33
|
+
*/
|
|
34
|
+
workload,
|
|
35
|
+
/**
|
|
36
|
+
* Schema name (default: `public`)
|
|
37
|
+
*/
|
|
38
|
+
schemaName) {
|
|
39
|
+
const pg = await Promise.resolve().then(() => __importStar(require("pg")));
|
|
40
|
+
const pool = new pg.Pool({
|
|
41
|
+
connectionString: process.env[workload.connectionStringEnvVar],
|
|
42
|
+
});
|
|
43
|
+
const result = await pool.query(`
|
|
44
|
+
SELECT c.relname as table_name, n.nspname as schema_name
|
|
45
|
+
FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
46
|
+
WHERE n.nspname = '${schemaName ?? "public"}'
|
|
47
|
+
AND c.relkind IN ('r','p');`);
|
|
48
|
+
const tables = result.rows;
|
|
49
|
+
const queries = tables.map((table) => `TRUNCATE TABLE ${table.schema_name}.${table.table_name} RESTART IDENTITY CASCADE;`);
|
|
50
|
+
await pool.query(queries.join("\n"));
|
|
51
|
+
await pool.end();
|
|
52
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Redis } from "../workloads/stateful/redis.js";
|
|
2
|
+
/**
|
|
3
|
+
* Deletes all the keys of a {@link Redis} workload database.
|
|
4
|
+
*/
|
|
5
|
+
export declare function flushRedis(
|
|
6
|
+
/**
|
|
7
|
+
* Redis workload
|
|
8
|
+
*/
|
|
9
|
+
workload: Redis,
|
|
10
|
+
/**
|
|
11
|
+
* Redis database (default: 0)
|
|
12
|
+
*/
|
|
13
|
+
db?: number): Promise<void>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.flushRedis = flushRedis;
|
|
27
|
+
/**
|
|
28
|
+
* Deletes all the keys of a {@link Redis} workload database.
|
|
29
|
+
*/
|
|
30
|
+
async function flushRedis(
|
|
31
|
+
/**
|
|
32
|
+
* Redis workload
|
|
33
|
+
*/
|
|
34
|
+
workload,
|
|
35
|
+
/**
|
|
36
|
+
* Redis database (default: 0)
|
|
37
|
+
*/
|
|
38
|
+
db) {
|
|
39
|
+
const Redis = (await Promise.resolve().then(() => __importStar(require("ioredis")))).Redis;
|
|
40
|
+
const client = new Redis(process.env[workload.connectionStringEnvVar]);
|
|
41
|
+
if (db) {
|
|
42
|
+
await client.select(db);
|
|
43
|
+
}
|
|
44
|
+
await client.flushdb();
|
|
45
|
+
client.disconnect();
|
|
46
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ExecutionId } from "../workloads/stateless/task/perform-now.js";
|
|
2
|
+
import type { Task } from "../workloads/stateless/task/task.js";
|
|
3
|
+
export interface PerformedTask<P> {
|
|
4
|
+
executionId: ExecutionId;
|
|
5
|
+
data: P;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Returns all the performed tasks for a `Task` workload.
|
|
9
|
+
*/
|
|
10
|
+
export declare function performedTasks<P>(task: Task<P>): PerformedTask<P>[];
|
|
11
|
+
/**
|
|
12
|
+
* Deletes all the performed tasks for a `Task` workload.
|
|
13
|
+
*/
|
|
14
|
+
export declare function clearPerformedTasks<P>(task: Task<P>): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.performedTasks = performedTasks;
|
|
4
|
+
exports.clearPerformedTasks = clearPerformedTasks;
|
|
5
|
+
const local_js_1 = require("../workloads/stateless/task/local.js");
|
|
6
|
+
/**
|
|
7
|
+
* Returns all the performed tasks for a `Task` workload.
|
|
8
|
+
*/
|
|
9
|
+
function performedTasks(task) {
|
|
10
|
+
return (0, local_js_1.dispatcherForTask)(task);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Deletes all the performed tasks for a `Task` workload.
|
|
14
|
+
*/
|
|
15
|
+
function clearPerformedTasks(task) {
|
|
16
|
+
const dispatchers = local_js_1.testDispatchers;
|
|
17
|
+
delete dispatchers[task.id];
|
|
18
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.performedTasks = exports.clearPerformedTasks = exports.flushRedis = exports.truncatePostgresTables = void 0;
|
|
4
|
+
var postgres_js_1 = require("./test-helpers/postgres.js");
|
|
5
|
+
Object.defineProperty(exports, "truncatePostgresTables", { enumerable: true, get: function () { return postgres_js_1.truncatePostgresTables; } });
|
|
6
|
+
var redis_js_1 = require("./test-helpers/redis.js");
|
|
7
|
+
Object.defineProperty(exports, "flushRedis", { enumerable: true, get: function () { return redis_js_1.flushRedis; } });
|
|
8
|
+
var task_js_1 = require("./test-helpers/task.js");
|
|
9
|
+
Object.defineProperty(exports, "clearPerformedTasks", { enumerable: true, get: function () { return task_js_1.clearPerformedTasks; } });
|
|
10
|
+
Object.defineProperty(exports, "performedTasks", { enumerable: true, get: function () { return task_js_1.performedTasks; } });
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LifecycleWorkload, type LifecycleWorkloadOptions } from "../../workloads/app-lifecycle/lifecycle-workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* Workload for defining an npm script to run after rolling out a new application version.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { AfterRollout } from "@monolayer/sdk";
|
|
8
|
+
*
|
|
9
|
+
* const rollout = new AfterRollout("after-rollout-1",{
|
|
10
|
+
* script: "notify",
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* export rollout;
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class AfterRollout extends LifecycleWorkload {
|
|
17
|
+
constructor(
|
|
18
|
+
/**
|
|
19
|
+
* Unique ID
|
|
20
|
+
*/
|
|
21
|
+
id: string, options: LifecycleWorkloadOptions);
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AfterRollout = void 0;
|
|
4
|
+
const lifecycle_workload_js_1 = require("../../workloads/app-lifecycle/lifecycle-workload.js");
|
|
5
|
+
/**
|
|
6
|
+
* Workload for defining an npm script to run after rolling out a new application version.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { AfterRollout } from "@monolayer/sdk";
|
|
11
|
+
*
|
|
12
|
+
* const rollout = new AfterRollout("after-rollout-1",{
|
|
13
|
+
* script: "notify",
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* export rollout;
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
class AfterRollout extends lifecycle_workload_js_1.LifecycleWorkload {
|
|
20
|
+
constructor(
|
|
21
|
+
/**
|
|
22
|
+
* Unique ID
|
|
23
|
+
*/
|
|
24
|
+
id, options) {
|
|
25
|
+
super(id, options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.AfterRollout = AfterRollout;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LifecycleWorkload, type LifecycleWorkloadOptions } from "../../workloads/app-lifecycle/lifecycle-workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* Workload for defining an npm script to run before rolling out a new application version.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { BeforeRollout } from "@monolayer/sdk";
|
|
8
|
+
*
|
|
9
|
+
* const rollout = new BeforeRollout("before-1", {
|
|
10
|
+
* script: "db:migrate",
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* export default rollout;
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class BeforeRollout extends LifecycleWorkload {
|
|
17
|
+
constructor(
|
|
18
|
+
/**
|
|
19
|
+
* Unique ID
|
|
20
|
+
*/
|
|
21
|
+
id: string, options: LifecycleWorkloadOptions);
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BeforeRollout = void 0;
|
|
4
|
+
const lifecycle_workload_js_1 = require("../../workloads/app-lifecycle/lifecycle-workload.js");
|
|
5
|
+
/**
|
|
6
|
+
* Workload for defining an npm script to run before rolling out a new application version.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { BeforeRollout } from "@monolayer/sdk";
|
|
11
|
+
*
|
|
12
|
+
* const rollout = new BeforeRollout("before-1", {
|
|
13
|
+
* script: "db:migrate",
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* export default rollout;
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
class BeforeRollout extends lifecycle_workload_js_1.LifecycleWorkload {
|
|
20
|
+
constructor(
|
|
21
|
+
/**
|
|
22
|
+
* Unique ID
|
|
23
|
+
*/
|
|
24
|
+
id, options) {
|
|
25
|
+
super(id, options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.BeforeRollout = BeforeRollout;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LifecycleWorkload, type LifecycleWorkloadOptions } from "../../workloads/app-lifecycle/lifecycle-workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* Workload for defining bootstrap an npm script to run when rolling out a fresh application.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { Bootstrap } from "@monolayer/sdk";
|
|
8
|
+
*
|
|
9
|
+
* const bootstrap = new Bootstrap("bootstrap", {
|
|
10
|
+
* script: "db:create",
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* export default bootstrap;
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class Bootstrap extends LifecycleWorkload {
|
|
17
|
+
constructor(
|
|
18
|
+
/**
|
|
19
|
+
* Unique ID
|
|
20
|
+
*/
|
|
21
|
+
id: string, options: LifecycleWorkloadOptions);
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bootstrap = void 0;
|
|
4
|
+
const lifecycle_workload_js_1 = require("../../workloads/app-lifecycle/lifecycle-workload.js");
|
|
5
|
+
/**
|
|
6
|
+
* Workload for defining bootstrap an npm script to run when rolling out a fresh application.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { Bootstrap } from "@monolayer/sdk";
|
|
11
|
+
*
|
|
12
|
+
* const bootstrap = new Bootstrap("bootstrap", {
|
|
13
|
+
* script: "db:create",
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* export default bootstrap;
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
class Bootstrap extends lifecycle_workload_js_1.LifecycleWorkload {
|
|
20
|
+
constructor(
|
|
21
|
+
/**
|
|
22
|
+
* Unique ID
|
|
23
|
+
*/
|
|
24
|
+
id, options) {
|
|
25
|
+
super(id, options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.Bootstrap = Bootstrap;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Workload } from "../../workloads/workload.js";
|
|
2
|
+
export interface LifecycleWorkloadOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Array of script names defined in `package.json`.
|
|
5
|
+
*/
|
|
6
|
+
script: string;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class LifecycleWorkload extends Workload {
|
|
9
|
+
script: LifecycleWorkloadOptions["script"];
|
|
10
|
+
constructor(id: string, options: LifecycleWorkloadOptions);
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LifecycleWorkload = void 0;
|
|
4
|
+
const workload_js_1 = require("../../workloads/workload.js");
|
|
5
|
+
class LifecycleWorkload extends workload_js_1.Workload {
|
|
6
|
+
constructor(id, options) {
|
|
7
|
+
super(id);
|
|
8
|
+
this.script = options.script;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.LifecycleWorkload = LifecycleWorkload;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Bucket } from "../workloads/stateful/bucket.js";
|
|
2
|
+
import type { PostgresDatabase } from "../workloads/stateful/postgres-database.js";
|
|
3
|
+
import type { Redis } from "../workloads/stateful/redis.js";
|
|
4
|
+
import type { Cron } from "../workloads/stateless/cron.js";
|
|
5
|
+
import type { Task } from "../workloads/stateless/task/task.js";
|
|
6
|
+
import type { Workload } from "../workloads/workload.js";
|
|
7
|
+
import type { AnyBroadcast } from "./stateless/broadcast/router.js";
|
|
8
|
+
export declare function assertRedis(workload: Workload): asserts workload is Redis;
|
|
9
|
+
export declare function assertPostgresDatabase(workload: Workload): asserts workload is PostgresDatabase;
|
|
10
|
+
export declare function assertBucket(workload: Workload): asserts workload is Bucket;
|
|
11
|
+
export declare function assertCron(workload: Workload): asserts workload is Cron;
|
|
12
|
+
export declare function assertTask(workload: Workload): asserts workload is Task<unknown>;
|
|
13
|
+
export declare function assertBroadcast(workload: Workload): asserts workload is AnyBroadcast;
|