@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,35 @@
|
|
|
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
|
+
async function main() {
|
|
26
|
+
const filePath = "./2323.js";
|
|
27
|
+
return await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)));
|
|
28
|
+
}
|
|
29
|
+
main()
|
|
30
|
+
.then((r) => console.dir(r, { depth: null }))
|
|
31
|
+
.catch((e) => {
|
|
32
|
+
console.log("ERROR", e instanceof Error);
|
|
33
|
+
console.dir(e, { depth: null });
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=playground.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ML_PG_KLAMP_DB_DATABASE_URL="postgresql://postgres:postgres@localhost:5432/klamp-db"
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.addEnvVar = addEnvVar;
|
|
8
|
+
exports.updateDotenvFile = updateDotenvFile;
|
|
9
|
+
exports.dotenvFile = dotenvFile;
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const ora_1 = __importDefault(require("ora"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const process_1 = require("process");
|
|
14
|
+
const readline_1 = __importDefault(require("readline"));
|
|
15
|
+
async function addEnvVar(name, value) {
|
|
16
|
+
const spinner = (0, ora_1.default)();
|
|
17
|
+
spinner.start("Adding environment variable to .env.local");
|
|
18
|
+
await updateDotenvFile([
|
|
19
|
+
{
|
|
20
|
+
name,
|
|
21
|
+
value,
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
spinner.succeed();
|
|
25
|
+
}
|
|
26
|
+
async function updateDotenvFile(vars = []) {
|
|
27
|
+
const envFilePath = path_1.default.join((0, process_1.cwd)(), ".env.local");
|
|
28
|
+
if (!(0, fs_1.existsSync)(envFilePath)) {
|
|
29
|
+
(0, fs_1.writeFileSync)(envFilePath, vars
|
|
30
|
+
.map((v) => {
|
|
31
|
+
return `${v.name}="${v.value}"`;
|
|
32
|
+
})
|
|
33
|
+
.join("\n"));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const newContent = [];
|
|
37
|
+
const file = readline_1.default.createInterface({
|
|
38
|
+
input: (0, fs_1.createReadStream)(".env.local"),
|
|
39
|
+
output: process.stdout,
|
|
40
|
+
terminal: false,
|
|
41
|
+
});
|
|
42
|
+
const keys = vars.reduce((acc, val) => {
|
|
43
|
+
acc.push([val.name, new RegExp(`^${val.name}`), val.value]);
|
|
44
|
+
return acc;
|
|
45
|
+
}, []);
|
|
46
|
+
file.on("line", (line) => {
|
|
47
|
+
const idx = keys.findIndex((key) => line.trim().match(key[1]));
|
|
48
|
+
if (idx !== -1) {
|
|
49
|
+
const match = keys.splice(idx, 1)[0];
|
|
50
|
+
newContent.push(`${match[0]}="${match[2]}"`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
newContent.push(line);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
file.on("close", () => {
|
|
57
|
+
for (const key of keys) {
|
|
58
|
+
newContent.push(`${key[0]}="${key[2]}"`);
|
|
59
|
+
}
|
|
60
|
+
(0, fs_1.writeFileSync)(envFilePath, newContent.join("\n"));
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async function dotenvFile() {
|
|
64
|
+
return ".env.local";
|
|
65
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds a named import to a TypeScript file.
|
|
3
|
+
*
|
|
4
|
+
* @param filePath The path to the file to modify.
|
|
5
|
+
* @param moduleSpecifier The module to import from (e.g., "react").
|
|
6
|
+
* @param namedImport The named import to add (e.g., "useState").
|
|
7
|
+
*/
|
|
8
|
+
export declare function addImport(filePath: string, moduleSpecifier: string, namedImport: string): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Adds a named import to a TypeScript file.
|
|
11
|
+
*
|
|
12
|
+
* @param filePath The path to the file to modify.
|
|
13
|
+
* @param moduleSpecifier The module to import from (e.g., "react").
|
|
14
|
+
* @param defaultImport The default import to add.
|
|
15
|
+
*/
|
|
16
|
+
export declare function addDefaultImport(filePath: string, moduleSpecifier: string, defaultImport: string): Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addImport = addImport;
|
|
4
|
+
exports.addDefaultImport = addDefaultImport;
|
|
5
|
+
const ts_morph_1 = require("ts-morph");
|
|
6
|
+
/**
|
|
7
|
+
* Adds a named import to a TypeScript file.
|
|
8
|
+
*
|
|
9
|
+
* @param filePath The path to the file to modify.
|
|
10
|
+
* @param moduleSpecifier The module to import from (e.g., "react").
|
|
11
|
+
* @param namedImport The named import to add (e.g., "useState").
|
|
12
|
+
*/
|
|
13
|
+
async function addImport(filePath, moduleSpecifier, namedImport) {
|
|
14
|
+
const project = new ts_morph_1.Project();
|
|
15
|
+
const sourceFile = project.addSourceFileAtPath(filePath);
|
|
16
|
+
// This is a simple way to add an import.
|
|
17
|
+
// ts-morph is smart about merging with existing imports from the same module.
|
|
18
|
+
sourceFile.addImportDeclaration({
|
|
19
|
+
moduleSpecifier,
|
|
20
|
+
namedImports: [namedImport],
|
|
21
|
+
});
|
|
22
|
+
// Save the changes back to the file system.
|
|
23
|
+
await sourceFile.save();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Adds a named import to a TypeScript file.
|
|
27
|
+
*
|
|
28
|
+
* @param filePath The path to the file to modify.
|
|
29
|
+
* @param moduleSpecifier The module to import from (e.g., "react").
|
|
30
|
+
* @param defaultImport The default import to add.
|
|
31
|
+
*/
|
|
32
|
+
async function addDefaultImport(filePath, moduleSpecifier, defaultImport) {
|
|
33
|
+
const project = new ts_morph_1.Project();
|
|
34
|
+
const sourceFile = project.addSourceFileAtPath(filePath);
|
|
35
|
+
// This is a simple way to add an import.
|
|
36
|
+
// ts-morph is smart about merging with existing imports from the same module.
|
|
37
|
+
sourceFile.addImportDeclaration({
|
|
38
|
+
moduleSpecifier,
|
|
39
|
+
defaultImport,
|
|
40
|
+
});
|
|
41
|
+
// Save the changes back to the file system.
|
|
42
|
+
await sourceFile.save();
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function addScriptToPackageJson(name: string, scriptValue: string): Promise<void>;
|
|
@@ -0,0 +1,35 @@
|
|
|
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.addScriptToPackageJson = addScriptToPackageJson;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const process_1 = require("process");
|
|
11
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
12
|
+
async function addScriptToPackageJson(name, scriptValue) {
|
|
13
|
+
const packageJsonPath = path_1.default.join((0, process_1.cwd)(), "package.json");
|
|
14
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, "utf-8"));
|
|
15
|
+
if (packageJson.scripts && packageJson.scripts[name]) {
|
|
16
|
+
const response = await (0, prompts_1.default)({
|
|
17
|
+
type: "confirm",
|
|
18
|
+
name: "overwrite",
|
|
19
|
+
message: `Script "${name}" already exists. Overwrite?`,
|
|
20
|
+
initial: false,
|
|
21
|
+
});
|
|
22
|
+
if (!response.overwrite) {
|
|
23
|
+
console.log(`Script "${name}" not overwritten.`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
packageJson.scripts = {
|
|
28
|
+
...(packageJson.scripts || {}),
|
|
29
|
+
[name]: scriptValue,
|
|
30
|
+
};
|
|
31
|
+
const spinner = (0, ora_1.default)();
|
|
32
|
+
spinner.start(`Add script ${name}`);
|
|
33
|
+
(0, fs_1.writeFileSync)(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
34
|
+
spinner.succeed();
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function addBroadcastWorkload(): void;
|
|
@@ -0,0 +1,36 @@
|
|
|
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.addBroadcastWorkload = addBroadcastWorkload;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
8
|
+
const workload_js_1 = require("./workload.js");
|
|
9
|
+
function addBroadcastWorkload() {
|
|
10
|
+
const template = broadcastWorkload();
|
|
11
|
+
const spinner = (0, ora_1.default)();
|
|
12
|
+
spinner.start(`Create broadcast workload in ./workloads/broadcast.ts`);
|
|
13
|
+
(0, workload_js_1.writeWorkload)("broadcast", template);
|
|
14
|
+
spinner.succeed();
|
|
15
|
+
}
|
|
16
|
+
function broadcastWorkload() {
|
|
17
|
+
return `import { Broadcast, ChannelData } from "@monolayer/sdk";
|
|
18
|
+
|
|
19
|
+
export type SampleChannelData = { message: string };
|
|
20
|
+
export type RoomChannelData = { message: string };
|
|
21
|
+
|
|
22
|
+
const broadcast = new Broadcast({
|
|
23
|
+
channels: {
|
|
24
|
+
"sample": {
|
|
25
|
+
data: new ChannelData<SampleChannelData>(),
|
|
26
|
+
},
|
|
27
|
+
"/room/:id": {
|
|
28
|
+
data: new ChannelData<RoomChannelData>(),
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
export default broadcast;
|
|
34
|
+
export type Channels = typeof broadcast._channelDataType;
|
|
35
|
+
`;
|
|
36
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
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.addBucketWorkload = addBucketWorkload;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
8
|
+
const workload_js_1 = require("./workload.js");
|
|
9
|
+
function addBucketWorkload(bucket) {
|
|
10
|
+
const template = bucketWorkload(bucket);
|
|
11
|
+
const spinner = (0, ora_1.default)();
|
|
12
|
+
spinner.start(`Create bucket workload in ./workloads/${bucket.id}.ts`);
|
|
13
|
+
(0, workload_js_1.writeWorkload)(bucket.id, template);
|
|
14
|
+
spinner.succeed();
|
|
15
|
+
}
|
|
16
|
+
function bucketWorkload(bucket) {
|
|
17
|
+
return `import { Bucket } from "@monolayer/sdk";
|
|
18
|
+
|
|
19
|
+
const ${bucket.name} = new Bucket("${bucket.id}");
|
|
20
|
+
|
|
21
|
+
export default ${bucket.name};
|
|
22
|
+
`;
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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.addCronWorkload = addCronWorkload;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
8
|
+
const workload_js_1 = require("./workload.js");
|
|
9
|
+
function addCronWorkload(cron) {
|
|
10
|
+
const template = cronWorkload(cron);
|
|
11
|
+
const spinner = (0, ora_1.default)();
|
|
12
|
+
spinner.start(`Create cron workload in ./workloads/${cron.id}.ts`);
|
|
13
|
+
(0, workload_js_1.writeWorkload)(cron.id, template);
|
|
14
|
+
spinner.succeed();
|
|
15
|
+
}
|
|
16
|
+
function cronWorkload(task) {
|
|
17
|
+
return `import { Cron } from "@monolayer/sdk";
|
|
18
|
+
|
|
19
|
+
const ${task.name} = new Cron("${task.id}", {
|
|
20
|
+
schedule: "* * * * *",
|
|
21
|
+
run: async () => {
|
|
22
|
+
console.log("Hello, world!");
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export default ${task.name};
|
|
27
|
+
`;
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addDrizzlePostgres = addDrizzlePostgres;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const workloads_js_1 = require("../workloads.js");
|
|
6
|
+
const add_env_var_js_1 = require("./add-env-var.js");
|
|
7
|
+
const add_script_js_1 = require("./add-script.js");
|
|
8
|
+
const postgres_database_workload_js_1 = require("./postgres-database-workload.js");
|
|
9
|
+
const registryJSON = "https://registry.monolayer.dev/r/drizzle-pg.json";
|
|
10
|
+
async function addDrizzlePostgres(opts) {
|
|
11
|
+
(0, child_process_1.execSync)(`npx shadcn@latest add ${registryJSON}`, { stdio: "inherit" });
|
|
12
|
+
(0, postgres_database_workload_js_1.addPostgresWorkload)(opts);
|
|
13
|
+
await (0, postgres_database_workload_js_1.addDefaultImports)(opts, {
|
|
14
|
+
rootConfigFile: "drizzle.config.ts",
|
|
15
|
+
clientFile: "lib/drizzle/drizzle.ts",
|
|
16
|
+
});
|
|
17
|
+
await (0, add_env_var_js_1.addEnvVar)(new workloads_js_1.PostgresDatabase(opts.id).connectionStringEnvVar, `postgresql://postgres:postgres@localhost:5432/${opts.id}`);
|
|
18
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:generate", "drizzle-kit generate");
|
|
19
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:migrate", "npx tsx lib/drizzle/migrate.ts");
|
|
20
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:seed", "npx tsx lib/drizzle/seed.ts");
|
|
21
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:studio", "drizzle-kit studio");
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type Lifecycle = {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
scriptName: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function addBeforeRolloutWorkload(lifecycle: Lifecycle): void;
|
|
7
|
+
export declare function addAfterRolloutWorkload(lifecycle: Lifecycle): void;
|
|
8
|
+
export declare function addBootstrapWorkload(lifecycle: Lifecycle): void;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
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.addBeforeRolloutWorkload = addBeforeRolloutWorkload;
|
|
7
|
+
exports.addAfterRolloutWorkload = addAfterRolloutWorkload;
|
|
8
|
+
exports.addBootstrapWorkload = addBootstrapWorkload;
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const workload_js_1 = require("./workload.js");
|
|
11
|
+
function addBeforeRolloutWorkload(lifecycle) {
|
|
12
|
+
const template = beforeRolloutWorkload(lifecycle);
|
|
13
|
+
const spinner = (0, ora_1.default)();
|
|
14
|
+
spinner.start(`Create before rollout workload in ./workloads/${lifecycle.id}.ts`);
|
|
15
|
+
(0, workload_js_1.writeWorkload)(`before-rollout-${lifecycle.id}`, template);
|
|
16
|
+
spinner.succeed();
|
|
17
|
+
}
|
|
18
|
+
function beforeRolloutWorkload(lifecycle) {
|
|
19
|
+
return `import { BeforeRollout } from "@monolayer/sdk";
|
|
20
|
+
|
|
21
|
+
const ${lifecycle.name} = new BeforeRollout("${lifecycle.id}", {
|
|
22
|
+
script: "${lifecycle.scriptName}",
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export default ${lifecycle.name};
|
|
26
|
+
`;
|
|
27
|
+
}
|
|
28
|
+
function addAfterRolloutWorkload(lifecycle) {
|
|
29
|
+
const template = afterRolloutWorkload(lifecycle);
|
|
30
|
+
const spinner = (0, ora_1.default)();
|
|
31
|
+
spinner.start(`Create after rollout workload in ./workloads/${lifecycle.id}.ts`);
|
|
32
|
+
(0, workload_js_1.writeWorkload)(`after-rollout-${lifecycle.id}`, template);
|
|
33
|
+
spinner.succeed();
|
|
34
|
+
}
|
|
35
|
+
function afterRolloutWorkload(lifecycle) {
|
|
36
|
+
return `import { AfterRollout } from "@monolayer/sdk";
|
|
37
|
+
|
|
38
|
+
const ${lifecycle.name} = new AfterRollout("${lifecycle.id}", {
|
|
39
|
+
script: "${lifecycle.scriptName}",
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export default ${lifecycle.name};
|
|
43
|
+
`;
|
|
44
|
+
}
|
|
45
|
+
function addBootstrapWorkload(lifecycle) {
|
|
46
|
+
const template = boostrapWorkload(lifecycle);
|
|
47
|
+
const spinner = (0, ora_1.default)();
|
|
48
|
+
spinner.start(`Create before rollout workload in ./workloads/${lifecycle.id}.ts`);
|
|
49
|
+
(0, workload_js_1.writeWorkload)(`bootstrap-${lifecycle.id}`, template);
|
|
50
|
+
spinner.succeed();
|
|
51
|
+
}
|
|
52
|
+
function boostrapWorkload(lifecycle) {
|
|
53
|
+
return `import { Bootstrap } from "@monolayer/sdk";
|
|
54
|
+
|
|
55
|
+
const ${lifecycle.name} = new Bootstrap("${lifecycle.id}", {
|
|
56
|
+
script: "${lifecycle.scriptName}",
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
export default ${lifecycle.name};
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare function postgresDatabaseWorkload(opts: {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}): string;
|
|
5
|
+
export declare function addPostgresWorkload(opts: {
|
|
6
|
+
name: string;
|
|
7
|
+
id: string;
|
|
8
|
+
}): void;
|
|
9
|
+
export declare function addDefaultImports(opts: {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}, files: {
|
|
13
|
+
rootConfigFile: string;
|
|
14
|
+
clientFile: string;
|
|
15
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,39 @@
|
|
|
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.postgresDatabaseWorkload = postgresDatabaseWorkload;
|
|
7
|
+
exports.addPostgresWorkload = addPostgresWorkload;
|
|
8
|
+
exports.addDefaultImports = addDefaultImports;
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const add_import_js_1 = require("./add-import.js");
|
|
11
|
+
const replace_string_js_1 = require("./replace-string.js");
|
|
12
|
+
const workload_js_1 = require("./workload.js");
|
|
13
|
+
function postgresDatabaseWorkload(opts) {
|
|
14
|
+
return `import { PostgresDatabase } from "@monolayer/sdk";
|
|
15
|
+
|
|
16
|
+
const ${opts.name} = new PostgresDatabase("${opts.id}");
|
|
17
|
+
|
|
18
|
+
export default ${opts.name};
|
|
19
|
+
`;
|
|
20
|
+
}
|
|
21
|
+
function addPostgresWorkload(opts) {
|
|
22
|
+
const template = postgresDatabaseWorkload(opts);
|
|
23
|
+
const spinner = (0, ora_1.default)();
|
|
24
|
+
spinner.start(`Create postgres workload in ./workloads/${opts.id}.ts`);
|
|
25
|
+
(0, workload_js_1.writeWorkload)(opts.id, template);
|
|
26
|
+
spinner.succeed();
|
|
27
|
+
}
|
|
28
|
+
async function addDefaultImports(opts, files) {
|
|
29
|
+
const spinner = (0, ora_1.default)();
|
|
30
|
+
spinner.start("Adapt configuration");
|
|
31
|
+
await (0, add_import_js_1.addDefaultImport)(files.rootConfigFile, `./workloads/${opts.id}`, "database");
|
|
32
|
+
await (0, add_import_js_1.addDefaultImport)(files.clientFile, `@/workloads/${opts.id}`, "database");
|
|
33
|
+
(0, replace_string_js_1.replaceStringWithIdendentifier)({
|
|
34
|
+
from: "DATABASE_URL",
|
|
35
|
+
to: "database.connectionStringEnvVar",
|
|
36
|
+
files: [files.rootConfigFile, files.clientFile],
|
|
37
|
+
});
|
|
38
|
+
spinner.succeed();
|
|
39
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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.addPrismaPosgres = addPrismaPosgres;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const process_1 = require("process");
|
|
10
|
+
const workloads_js_1 = require("../workloads.js");
|
|
11
|
+
const add_env_var_js_1 = require("./add-env-var.js");
|
|
12
|
+
const add_script_js_1 = require("./add-script.js");
|
|
13
|
+
const postgres_database_workload_js_1 = require("./postgres-database-workload.js");
|
|
14
|
+
const registryJSON = "https://registry.monolayer.dev/r/prisma-pg.json";
|
|
15
|
+
async function addPrismaPosgres(opts) {
|
|
16
|
+
(0, child_process_1.execSync)(`npx shadcn@latest add ${registryJSON}`, { stdio: "inherit" });
|
|
17
|
+
(0, postgres_database_workload_js_1.addPostgresWorkload)(opts);
|
|
18
|
+
await (0, postgres_database_workload_js_1.addDefaultImports)(opts, {
|
|
19
|
+
rootConfigFile: "prisma.config.ts",
|
|
20
|
+
clientFile: "lib/prisma/prisma.ts",
|
|
21
|
+
});
|
|
22
|
+
await (0, add_env_var_js_1.addEnvVar)(new workloads_js_1.PostgresDatabase(opts.id).connectionStringEnvVar, `postgresql://postgres:postgres@localhost:5432/${opts.id}`);
|
|
23
|
+
const spinner = (0, ora_1.default)();
|
|
24
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:migrate", "npx prisma migrate dev");
|
|
25
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:deploy", "npx prisma migrate deploy");
|
|
26
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:seed", "npx prisma db seed");
|
|
27
|
+
await (0, add_script_js_1.addScriptToPackageJson)("db:studio", "npx prisma studio");
|
|
28
|
+
spinner.start("Generate prisma client");
|
|
29
|
+
await new Promise((resolve) => setTimeout(() => resolve(), 1000));
|
|
30
|
+
try {
|
|
31
|
+
(0, child_process_1.execSync)("npx prisma generate", { stdio: "ignore" });
|
|
32
|
+
spinner.succeed();
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
spinner.fail("Failed to generate prisma client");
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
|
+
console.error(e);
|
|
38
|
+
(0, process_1.exit)(1);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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.replaceString = replaceString;
|
|
7
|
+
exports.replaceStringWithIdendentifier = replaceStringWithIdendentifier;
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
function replaceString(opts) {
|
|
11
|
+
for (const file of opts.files) {
|
|
12
|
+
const filePath = path_1.default.join(process.cwd(), file);
|
|
13
|
+
try {
|
|
14
|
+
const content = (0, fs_1.readFileSync)(filePath, "utf-8");
|
|
15
|
+
const newContent = content.replace(new RegExp(opts.from, "g"), opts.to);
|
|
16
|
+
(0, fs_1.writeFileSync)(filePath, newContent);
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
|
+
console.error(e.message);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function replaceStringWithIdendentifier(opts) {
|
|
25
|
+
for (const file of opts.files) {
|
|
26
|
+
const filePath = path_1.default.join(process.cwd(), file);
|
|
27
|
+
try {
|
|
28
|
+
const content = (0, fs_1.readFileSync)(filePath, "utf-8");
|
|
29
|
+
const newContent = content.replace(new RegExp(`"${opts.from}"`, "g"), opts.to);
|
|
30
|
+
(0, fs_1.writeFileSync)(filePath, newContent);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
+
console.error(e.message);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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.addTaskWorkload = addTaskWorkload;
|
|
7
|
+
const case_anything_1 = require("case-anything");
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const workload_js_1 = require("./workload.js");
|
|
10
|
+
function addTaskWorkload(task) {
|
|
11
|
+
const template = taskWorkload(task);
|
|
12
|
+
const spinner = (0, ora_1.default)();
|
|
13
|
+
spinner.start(`Create task workload in ./workloads/${task.id}.ts`);
|
|
14
|
+
(0, workload_js_1.writeWorkload)(task.id, template);
|
|
15
|
+
spinner.succeed();
|
|
16
|
+
}
|
|
17
|
+
function taskWorkload(task) {
|
|
18
|
+
return `import { Task } from "@monolayer/sdk";
|
|
19
|
+
|
|
20
|
+
export type ${(0, case_anything_1.pascalCase)(task.name)}Data = {
|
|
21
|
+
message: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const ${task.name} = new Task<${(0, case_anything_1.pascalCase)(task.name)}Data>("${task.id}", async ({ data }) => {
|
|
25
|
+
console.log("message", data.message);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export default ${task.name};
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function writeWorkload(name: string, content: string): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
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.writeWorkload = writeWorkload;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
function writeWorkload(name, content) {
|
|
10
|
+
createWorkloadsDir();
|
|
11
|
+
(0, fs_1.writeFileSync)(path_1.default.join("workloads", `${name}.ts`), content);
|
|
12
|
+
}
|
|
13
|
+
function createWorkloadsDir() {
|
|
14
|
+
const dir = path_1.default.join("workloads");
|
|
15
|
+
if ((0, fs_1.existsSync)(dir))
|
|
16
|
+
return;
|
|
17
|
+
(0, fs_1.mkdirSync)(dir);
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true if the project is dependant on a package.
|
|
3
|
+
*/
|
|
4
|
+
export declare function projectDependency(packageName: string, projectRoot?: string): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Returns all project dependencies
|
|
7
|
+
*/
|
|
8
|
+
export declare function projectDependencies(projectRoot?: string): string[];
|
|
9
|
+
/**
|
|
10
|
+
* Returns the project name (from package.json)
|
|
11
|
+
*/
|
|
12
|
+
export declare function projectName(projectRoot?: string): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the slug (unique identifier) of the framework
|
|
15
|
+
* used in the current project.
|
|
16
|
+
*
|
|
17
|
+
* Frameworks are defected wirth the package: `@vercel/fs-detectors`
|
|
18
|
+
*/
|
|
19
|
+
export declare function projectFramework(projectRoot?: string): Promise<string | undefined>;
|
|
20
|
+
/**
|
|
21
|
+
* Returns the installed version of a package or `undefined` if the package is not installed.
|
|
22
|
+
*/
|
|
23
|
+
export declare function packageVersion(packageName: string, projectRoot?: string): Promise<string | undefined>;
|