@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,395 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
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");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
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");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _Dockerfile_instances, _Dockerfile_lines, _Dockerfile_fileInstruction, _Dockerfile_blankAfterInstruction, _Dockerfile_pushInstruction;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Dockerfile = void 0;
|
|
16
|
+
/* eslint-disable max-lines */
|
|
17
|
+
const case_anything_1 = require("case-anything");
|
|
18
|
+
const fs_1 = require("fs");
|
|
19
|
+
class Dockerfile {
|
|
20
|
+
/**
|
|
21
|
+
* Merge multiple Dockerfile instances into one.
|
|
22
|
+
*
|
|
23
|
+
* Returns a new Dockerfile instance.
|
|
24
|
+
*/
|
|
25
|
+
static merge(dockerfiles) {
|
|
26
|
+
const allLines = dockerfiles.flatMap((df) => __classPrivateFieldGet(df, _Dockerfile_lines, "f"));
|
|
27
|
+
const dockerfile = new Dockerfile();
|
|
28
|
+
__classPrivateFieldGet(dockerfile, _Dockerfile_lines, "f").push(...allLines);
|
|
29
|
+
return dockerfile;
|
|
30
|
+
}
|
|
31
|
+
constructor(df) {
|
|
32
|
+
_Dockerfile_instances.add(this);
|
|
33
|
+
_Dockerfile_lines.set(this, []);
|
|
34
|
+
_Dockerfile_blankAfterInstruction.set(this, true);
|
|
35
|
+
if (df) {
|
|
36
|
+
__classPrivateFieldSet(this, _Dockerfile_lines, __classPrivateFieldGet(df, _Dockerfile_lines, "f"), "f");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Instruction that initializes a new build stage and sets the base image for
|
|
41
|
+
* subsequent instructions.
|
|
42
|
+
*
|
|
43
|
+
* @see
|
|
44
|
+
*
|
|
45
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#from)
|
|
46
|
+
*/
|
|
47
|
+
FROM(
|
|
48
|
+
/**
|
|
49
|
+
* Image name.
|
|
50
|
+
*
|
|
51
|
+
* Formats: `<image>`, `<image>[:<tag>]`, `<image>[@<digest>]`
|
|
52
|
+
*/
|
|
53
|
+
image, options) {
|
|
54
|
+
const platform = options?.platform
|
|
55
|
+
? `--platform=${options?.platform}`
|
|
56
|
+
: undefined;
|
|
57
|
+
const as = options?.as ? `AS ${options.as}` : undefined;
|
|
58
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, ["FROM", platform, image, as].filter(filterUndefined).join(" "));
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Sets the environment variable `<key>` to the value `<value>`.
|
|
63
|
+
* This value will be in the environment for all subsequent instructions
|
|
64
|
+
* in the build stage.
|
|
65
|
+
*
|
|
66
|
+
* @see
|
|
67
|
+
*
|
|
68
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#env)
|
|
69
|
+
*/
|
|
70
|
+
ENV(key, value, options) {
|
|
71
|
+
const keyVal = value.match(/^\${.+}$/)
|
|
72
|
+
? `${key}=${value}`
|
|
73
|
+
: `${key}="${value}"`;
|
|
74
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [buildOption(options), "ENV", keyVal].filter(filterUndefined).join(" "));
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
|
+
LABEL(...args) {
|
|
79
|
+
const pairs = [args[0]]
|
|
80
|
+
.flatMap((p) => p)
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
+
.map((p) => `"${p.key}"="${p.value}"`)
|
|
83
|
+
.join(" \\\n ");
|
|
84
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [buildOption(args[1]), "LABEL", pairs].filter(filterUndefined).join(" "));
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Sets the working directory for any `RUN`, `CMD`, `ENTRYPOINT`, `COPY` and `ADD` instructions
|
|
89
|
+
* that follow it in the Dockerfile.
|
|
90
|
+
*
|
|
91
|
+
* @see
|
|
92
|
+
*
|
|
93
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#workdir)
|
|
94
|
+
*/
|
|
95
|
+
WORKDIR(dir, options) {
|
|
96
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [buildOption(options), "WORKDIR", `${dir}`]
|
|
97
|
+
.filter(filterUndefined)
|
|
98
|
+
.join(" "));
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Execute any commands to create a new layer on top of the current image.
|
|
103
|
+
*
|
|
104
|
+
* @see
|
|
105
|
+
*
|
|
106
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#run)
|
|
107
|
+
*/
|
|
108
|
+
RUN(command, options) {
|
|
109
|
+
let base = [buildOption(options), "RUN"].filter(filterUndefined).join(" ");
|
|
110
|
+
if (options?.mount) {
|
|
111
|
+
base += ` ${mountOpts(options?.mount)}${Array.isArray(command) ? "" : " \\\n "}`;
|
|
112
|
+
}
|
|
113
|
+
const instruction = `${base} ${Array.isArray(command)
|
|
114
|
+
? ["", ...command].join(" \\\n ").trimStart()
|
|
115
|
+
: command}`;
|
|
116
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, instruction);
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
120
|
+
COPY(...args) {
|
|
121
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_fileInstruction).call(this, args, [buildOption(args[2]), "COPY"].filter(filterUndefined).join(" "));
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
CMD(...args) {
|
|
125
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, `CMD [${args
|
|
126
|
+
.flatMap((e) => e)
|
|
127
|
+
.map((e) => `"${e}"`)
|
|
128
|
+
.join(", ")}]`);
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Configures a container that will run as an executable.
|
|
133
|
+
*
|
|
134
|
+
* @see
|
|
135
|
+
*
|
|
136
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#entrypoint)
|
|
137
|
+
*/
|
|
138
|
+
ENTRYPOINT(executable, parameters) {
|
|
139
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, `ENTRYPOINT [${[executable, ...(parameters ?? [])].map((e) => `"${e}"`).join(", ")}]`);
|
|
140
|
+
return this;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Overrides the default shell used for the shell form of commands.
|
|
144
|
+
*
|
|
145
|
+
* The default shell on Linux is `["/bin/sh", "-c"]`,
|
|
146
|
+
* and on Windows is `["cmd", "/S", "/C"]`.
|
|
147
|
+
*
|
|
148
|
+
* @see
|
|
149
|
+
*
|
|
150
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#shell)
|
|
151
|
+
*/
|
|
152
|
+
SHELL(executable, parameters, options) {
|
|
153
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [
|
|
154
|
+
buildOption(options),
|
|
155
|
+
`SHELL [${[executable, ...(parameters ?? [])].map((e) => `"${e}"`).join(", ")}]`,
|
|
156
|
+
]
|
|
157
|
+
.filter(filterUndefined)
|
|
158
|
+
.join(" "));
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
162
|
+
EXPOSE(...args) {
|
|
163
|
+
const portAndProtocol = [args[0]]
|
|
164
|
+
.flatMap((p) => p)
|
|
165
|
+
.map((port) => {
|
|
166
|
+
switch (typeof port) {
|
|
167
|
+
case "number":
|
|
168
|
+
case "string":
|
|
169
|
+
return String(port);
|
|
170
|
+
default:
|
|
171
|
+
return `${port.port}/${port.protocol}`;
|
|
172
|
+
}
|
|
173
|
+
})
|
|
174
|
+
.join(" ");
|
|
175
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [buildOption(args[1]), `EXPOSE ${portAndProtocol}`]
|
|
176
|
+
.filter(filterUndefined)
|
|
177
|
+
.join(" "));
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Sets the user name (or UID) and optionally the user group (or GID) to use
|
|
182
|
+
* as the default user and group for the remainder of the current stage.
|
|
183
|
+
*
|
|
184
|
+
* The specified user is used for RUN instructions and at runtime,
|
|
185
|
+
* runs the relevant `ENTRYPOINT` and `CMD` commands.
|
|
186
|
+
*
|
|
187
|
+
* @see
|
|
188
|
+
*
|
|
189
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#user)
|
|
190
|
+
*/
|
|
191
|
+
USER(user, options) {
|
|
192
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [
|
|
193
|
+
buildOption(options),
|
|
194
|
+
"USER",
|
|
195
|
+
`${Object.values(user).filter(filterUndefined).join(":")}`,
|
|
196
|
+
]
|
|
197
|
+
.filter(filterUndefined)
|
|
198
|
+
.join(" "));
|
|
199
|
+
return this;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Creates a mount point with the specified name and
|
|
203
|
+
* marks it as holding externally mounted volumes from native host or other containers.
|
|
204
|
+
*
|
|
205
|
+
* @see
|
|
206
|
+
*
|
|
207
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#volume)
|
|
208
|
+
*/
|
|
209
|
+
VOLUME(names, options) {
|
|
210
|
+
const volumes = [names]
|
|
211
|
+
.flatMap((v) => v)
|
|
212
|
+
.map((v) => `"${v}"`)
|
|
213
|
+
.join(", ");
|
|
214
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [buildOption(options), "VOLUME", `[${volumes}]`]
|
|
215
|
+
.filter(filterUndefined)
|
|
216
|
+
.join(" "));
|
|
217
|
+
return this;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Sets the system call signal that will be sent to the container to exit.
|
|
221
|
+
*
|
|
222
|
+
* @see
|
|
223
|
+
*
|
|
224
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#stopsignal)
|
|
225
|
+
*/
|
|
226
|
+
STOPSIGNAL(signal, options) {
|
|
227
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [buildOption(options), `STOPSIGNAL ${signal}`]
|
|
228
|
+
.filter(filterUndefined)
|
|
229
|
+
.join(" "));
|
|
230
|
+
return this;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Defines a variable that users can pass at build-time to the builder
|
|
234
|
+
* with the docker build command using the `--build-arg <varname>=<value>` flag.
|
|
235
|
+
*
|
|
236
|
+
* @see
|
|
237
|
+
*
|
|
238
|
+
* [Docker Docs](https://docs.docker.com/engine/reference/builder/#arg)
|
|
239
|
+
*/
|
|
240
|
+
ARG(name, options) {
|
|
241
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [
|
|
242
|
+
buildOption(options),
|
|
243
|
+
`ARG ${[name, options?.default ? `"${options.default}"` : undefined].filter((c) => c !== undefined).join("=")}`,
|
|
244
|
+
]
|
|
245
|
+
.filter(filterUndefined)
|
|
246
|
+
.join(" "));
|
|
247
|
+
return this;
|
|
248
|
+
}
|
|
249
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
250
|
+
ADD(...args) {
|
|
251
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_fileInstruction).call(this, args, [buildOption(args[2]), "ADD"].filter(filterUndefined).join(" "));
|
|
252
|
+
return this;
|
|
253
|
+
}
|
|
254
|
+
HEALTHCHECK(command, options) {
|
|
255
|
+
switch (command) {
|
|
256
|
+
case "NONE":
|
|
257
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, `HEALTHCHECK NONE`);
|
|
258
|
+
break;
|
|
259
|
+
default:
|
|
260
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, [
|
|
261
|
+
buildOption(options),
|
|
262
|
+
`HEALTHCHECK ${optionsToString(options)}`.trim(),
|
|
263
|
+
`CMD ${command}`,
|
|
264
|
+
]
|
|
265
|
+
.filter(filterUndefined)
|
|
266
|
+
.join(" "));
|
|
267
|
+
}
|
|
268
|
+
return this;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Adds a comment.
|
|
272
|
+
*/
|
|
273
|
+
comment(content) {
|
|
274
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push(`# ${content}`);
|
|
275
|
+
return this;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Adds a banner comment
|
|
279
|
+
*/
|
|
280
|
+
banner(content) {
|
|
281
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push(`# ---------`);
|
|
282
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push(`# ${content}`);
|
|
283
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push(`# ---------`);
|
|
284
|
+
this.blank();
|
|
285
|
+
return this;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Adds an empty line.
|
|
289
|
+
*/
|
|
290
|
+
blank() {
|
|
291
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push("");
|
|
292
|
+
return this;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Groups instructions by omitting blank lines between them.
|
|
296
|
+
*/
|
|
297
|
+
group(callback) {
|
|
298
|
+
__classPrivateFieldSet(this, _Dockerfile_blankAfterInstruction, false, "f");
|
|
299
|
+
callback();
|
|
300
|
+
this.blank();
|
|
301
|
+
__classPrivateFieldSet(this, _Dockerfile_blankAfterInstruction, true, "f");
|
|
302
|
+
return this;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Returns the Dockerfile string.
|
|
306
|
+
*/
|
|
307
|
+
toString() {
|
|
308
|
+
return __classPrivateFieldGet(this, _Dockerfile_lines, "f").join("\n");
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Saves the Dockerfile.
|
|
312
|
+
*/
|
|
313
|
+
save(filePath) {
|
|
314
|
+
(0, fs_1.writeFileSync)(filePath, this.toString());
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Appends the contents of a Dockerfile instance.
|
|
318
|
+
*/
|
|
319
|
+
append(dockerfile) {
|
|
320
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push(...__classPrivateFieldGet(dockerfile, _Dockerfile_lines, "f"));
|
|
321
|
+
return this;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
exports.Dockerfile = Dockerfile;
|
|
325
|
+
_Dockerfile_lines = new WeakMap(), _Dockerfile_blankAfterInstruction = new WeakMap(), _Dockerfile_instances = new WeakSet(), _Dockerfile_fileInstruction = function _Dockerfile_fileInstruction(
|
|
326
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
327
|
+
args, kind) {
|
|
328
|
+
const source = args[0];
|
|
329
|
+
const destination = args[1];
|
|
330
|
+
const options = args[2];
|
|
331
|
+
const base = `${kind} ${optionsToString(options)}`.trim();
|
|
332
|
+
const files = [source, destination].flatMap((s) => s);
|
|
333
|
+
const withSpaces = files.some((s) => s.includes(" "));
|
|
334
|
+
if (withSpaces) {
|
|
335
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, `${base} [ ${files.map((s) => `"${s}"`).join(", ")} ]`);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
__classPrivateFieldGet(this, _Dockerfile_instances, "m", _Dockerfile_pushInstruction).call(this, `${base} ${files.join(" ")}`);
|
|
339
|
+
}
|
|
340
|
+
}, _Dockerfile_pushInstruction = function _Dockerfile_pushInstruction(instruction) {
|
|
341
|
+
__classPrivateFieldGet(this, _Dockerfile_lines, "f").push(`${instruction}`);
|
|
342
|
+
if (__classPrivateFieldGet(this, _Dockerfile_blankAfterInstruction, "f")) {
|
|
343
|
+
this.blank();
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
function mountOpts(mount) {
|
|
347
|
+
if (mount === undefined) {
|
|
348
|
+
return "";
|
|
349
|
+
}
|
|
350
|
+
return [mount]
|
|
351
|
+
.flatMap((m) => m)
|
|
352
|
+
.map((m) => Object.entries(m)
|
|
353
|
+
.reduce((acc, val) => {
|
|
354
|
+
if (val[0] === "type") {
|
|
355
|
+
return acc;
|
|
356
|
+
}
|
|
357
|
+
if (typeof val[1] === "string") {
|
|
358
|
+
acc.push(`${val[0]}=${val[1]}`);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
acc.push(val[0]);
|
|
362
|
+
}
|
|
363
|
+
return acc;
|
|
364
|
+
}, [`--mount=type=${m.type}`])
|
|
365
|
+
.join(","))
|
|
366
|
+
.join(" \\\n ");
|
|
367
|
+
}
|
|
368
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
369
|
+
function optionsToString(opts) {
|
|
370
|
+
if (opts === undefined) {
|
|
371
|
+
return "";
|
|
372
|
+
}
|
|
373
|
+
return Object.entries(opts)
|
|
374
|
+
.reduce((acc, val) => {
|
|
375
|
+
const optionName = (0, case_anything_1.kebabCase)(val[0]);
|
|
376
|
+
if (optionName === "on-build") {
|
|
377
|
+
return acc;
|
|
378
|
+
}
|
|
379
|
+
if (typeof val[1] === "boolean") {
|
|
380
|
+
acc += `--${optionName} `;
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
acc += `--${optionName}=${val[1]} `;
|
|
384
|
+
}
|
|
385
|
+
return acc;
|
|
386
|
+
}, "")
|
|
387
|
+
.trimEnd();
|
|
388
|
+
}
|
|
389
|
+
function filterUndefined(value) {
|
|
390
|
+
return value !== undefined;
|
|
391
|
+
}
|
|
392
|
+
function buildOption(options) {
|
|
393
|
+
return options?.onBuild ? "ONBUILD" : undefined;
|
|
394
|
+
}
|
|
395
|
+
//# sourceMappingURL=df.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validate = validate;
|
|
4
|
+
const dockerfile_utils_1 = require("dockerfile-utils");
|
|
5
|
+
/**
|
|
6
|
+
* Validates a {@link Dockerfile }.
|
|
7
|
+
*
|
|
8
|
+
* @throws `Error` if the Dockerfile is not valid.
|
|
9
|
+
*/
|
|
10
|
+
function validate(dw) {
|
|
11
|
+
const diagnostic = (0, dockerfile_utils_1.validate)(dw.toString());
|
|
12
|
+
if (diagnostic.length !== 0) {
|
|
13
|
+
console.dir(diagnostic);
|
|
14
|
+
throw new Error("Invalid Dockerfile", { cause: diagnostic });
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createFile(filePath: string, content: string, log?: boolean): 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.createFile = createFile;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const picocolors_1 = __importDefault(require("picocolors"));
|
|
10
|
+
function createFile(filePath, content, log = true) {
|
|
11
|
+
const overwritten = (0, fs_1.existsSync)(filePath);
|
|
12
|
+
(0, fs_1.writeFileSync)(filePath, content);
|
|
13
|
+
if (log) {
|
|
14
|
+
const relativePath = path_1.default.relative(process.cwd(), filePath);
|
|
15
|
+
console.log(`${picocolors_1.default.green(overwritten ? "overwritten" : "created")} ${relativePath}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=create-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function dateStringWithMilliseconds(): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dateStringWithMilliseconds = dateStringWithMilliseconds;
|
|
4
|
+
function dateStringWithMilliseconds() {
|
|
5
|
+
return new Date()
|
|
6
|
+
.toISOString()
|
|
7
|
+
.replace(/[-:]/g, "")
|
|
8
|
+
.replace(".", "")
|
|
9
|
+
.replace("T", "")
|
|
10
|
+
.replace("Z", "");
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=date-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isErrnoException(error: unknown): error is NodeJS.ErrnoException;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isErrnoException = isErrnoException;
|
|
4
|
+
function isErrnoException(error) {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
return error instanceof Error && typeof error.code === "string";
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=exception.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function hashValue(value: string): string;
|
|
2
|
+
interface HashDigestOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Length of the digest to generate.
|
|
5
|
+
*
|
|
6
|
+
* @default 8
|
|
7
|
+
*/
|
|
8
|
+
length: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Returns a hex digest of a string.
|
|
12
|
+
* @param value String to generate a digest.
|
|
13
|
+
* @param options {@link HashDigestOptions}
|
|
14
|
+
*/
|
|
15
|
+
export declare function hashDigest(value: string, options?: HashDigestOptions): import("effect/Effect").Effect<string, never, never>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hashValue = hashValue;
|
|
4
|
+
exports.hashDigest = hashDigest;
|
|
5
|
+
const Effect_1 = require("effect/Effect");
|
|
6
|
+
const node_crypto_1 = require("node:crypto");
|
|
7
|
+
function hashValue(value) {
|
|
8
|
+
const hash = (0, node_crypto_1.createHash)("sha256");
|
|
9
|
+
hash.update(value);
|
|
10
|
+
return hash.digest("hex").substring(0, 8);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns a hex digest of a string.
|
|
14
|
+
* @param value String to generate a digest.
|
|
15
|
+
* @param options {@link HashDigestOptions}
|
|
16
|
+
*/
|
|
17
|
+
function hashDigest(value, options) {
|
|
18
|
+
return (0, Effect_1.gen)(function* () {
|
|
19
|
+
const hash = (0, node_crypto_1.createHash)("sha256");
|
|
20
|
+
hash.update(value);
|
|
21
|
+
const digest = hash.digest("hex").substring(0, options?.length ?? 8);
|
|
22
|
+
return yield* (0, Effect_1.succeed)(digest);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=hash-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function importDefault(path: string): import("effect/Effect").Effect<any, NodeJS.ErrnoException | import("effect/Cause").UnknownException, never>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.importDefault = importDefault;
|
|
4
|
+
const Effect_1 = require("effect/Effect");
|
|
5
|
+
const import_file_js_1 = require("./import-file.js");
|
|
6
|
+
function importDefault(path) {
|
|
7
|
+
return (0, Effect_1.gen)(function* () {
|
|
8
|
+
const imported = yield* (0, import_file_js_1.importFile)(path);
|
|
9
|
+
return imported.default && imported.default.default
|
|
10
|
+
? imported.default.default
|
|
11
|
+
: imported.default;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=import-default.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { UnknownException } from "effect/Cause";
|
|
2
|
+
/**
|
|
3
|
+
* Dynamically imports a module from the specified path.
|
|
4
|
+
*
|
|
5
|
+
* @param path path to file to import.
|
|
6
|
+
* @typeParam T The expected type of the imported module. Default: `any`
|
|
7
|
+
*/
|
|
8
|
+
export declare const importFile: <T = any>(path: string) => import("effect/Effect").Effect<T, NodeJS.ErrnoException | UnknownException, never>;
|
|
@@ -0,0 +1,41 @@
|
|
|
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.importFile = void 0;
|
|
27
|
+
const Effect_1 = require("effect/Effect");
|
|
28
|
+
const exception_js_1 = require("./exception.js");
|
|
29
|
+
/**
|
|
30
|
+
* Dynamically imports a module from the specified path.
|
|
31
|
+
*
|
|
32
|
+
* @param path path to file to import.
|
|
33
|
+
* @typeParam T The expected type of the imported module. Default: `any`
|
|
34
|
+
*/
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
const importFile = (path) => (0, Effect_1.tryPromise)({
|
|
37
|
+
try: () => Promise.resolve(`${path}`).then(s => __importStar(require(s))),
|
|
38
|
+
catch: (e) => ((0, exception_js_1.isErrnoException)(e) ? e : e),
|
|
39
|
+
});
|
|
40
|
+
exports.importFile = importFile;
|
|
41
|
+
//# sourceMappingURL=import-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function logWithSpinner(msg: string, fn: () => Promise<void>): Promise<void>;
|
|
@@ -0,0 +1,24 @@
|
|
|
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.logWithSpinner = logWithSpinner;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
8
|
+
const picocolors_1 = __importDefault(require("picocolors"));
|
|
9
|
+
async function logWithSpinner(msg, fn) {
|
|
10
|
+
const spinner = (0, ora_1.default)();
|
|
11
|
+
spinner.start(msg);
|
|
12
|
+
const start = performance.now();
|
|
13
|
+
try {
|
|
14
|
+
await fn();
|
|
15
|
+
const end = performance.now();
|
|
16
|
+
const milliseconds = Number(end - start).toFixed(3);
|
|
17
|
+
spinner.succeed(`${msg} ${picocolors_1.default.gray(`(${milliseconds}ms)`)}`);
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
spinner.fail();
|
|
21
|
+
throw e;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=log-with-spinner.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pathExists = pathExists;
|
|
4
|
+
const effect_1 = require("effect");
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
|
+
function pathExists(filePath) {
|
|
7
|
+
return effect_1.Effect.tryPromise(async () => {
|
|
8
|
+
try {
|
|
9
|
+
await (0, promises_1.stat)(filePath);
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
if (error.code === "ENOENT") {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare function main(): Promise<any>;
|