stacks 0.41.1 → 0.44.9
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/.gitignore +12 -0
- package/README.md +369 -27
- package/auto-imports.d.ts +862 -0
- package/buddy/README.md +414 -0
- package/{bin → buddy/bin}/stacks.mjs +0 -0
- package/buddy/build.config.ts +17 -0
- package/buddy/node_modules/.bin/only-allow +17 -0
- package/buddy/node_modules/.bin/pnpm +17 -0
- package/buddy/node_modules/.bin/pnpx +17 -0
- package/buddy/node_modules/.bin/tsc +17 -0
- package/buddy/node_modules/.bin/tsserver +17 -0
- package/buddy/node_modules/.bin/unbuild +17 -0
- package/buddy/package.json +183 -0
- package/buddy/src/cli.ts +49 -0
- package/buddy/src/commands/add.ts +63 -0
- package/buddy/src/commands/build.ts +111 -0
- package/buddy/src/commands/clean.ts +18 -0
- package/buddy/src/commands/commit.ts +18 -0
- package/buddy/src/commands/create.ts +129 -0
- package/buddy/src/commands/dev.ts +96 -0
- package/buddy/src/commands/example.ts +65 -0
- package/buddy/src/commands/fresh.ts +18 -0
- package/buddy/src/commands/generate.ts +110 -0
- package/buddy/src/commands/index.ts +18 -0
- package/buddy/src/commands/key.ts +18 -0
- package/buddy/src/commands/lint.ts +27 -0
- package/buddy/src/commands/make.ts +219 -0
- package/buddy/src/commands/preinstall.ts +18 -0
- package/buddy/src/commands/prepublish.ts +19 -0
- package/buddy/src/commands/release.ts +28 -0
- package/buddy/src/commands/setup.ts +26 -0
- package/buddy/src/commands/test.ts +41 -0
- package/buddy/src/commands/types.ts +26 -0
- package/buddy/src/commands/update.ts +108 -0
- package/buddy/src/index.ts +17 -0
- package/components/vue/dist/.gitkeep +0 -0
- package/components/vue/index.html +13 -0
- package/components/vue/main.ts +18 -0
- package/components/vue/package.json +41 -0
- package/components/web/dist/.gitkeep +0 -0
- package/components/web/package.json +41 -0
- package/components.d.ts +22 -0
- package/core/actions/README.md +58 -0
- package/core/actions/node_modules/.bin/esno +17 -0
- package/core/actions/node_modules/.bin/markdown-it +17 -0
- package/core/actions/node_modules/.bin/mkdist +17 -0
- package/core/actions/node_modules/.bin/tsc +17 -0
- package/core/actions/node_modules/.bin/tsserver +17 -0
- package/core/actions/package.json +68 -0
- package/core/actions/src/add.ts +32 -0
- package/core/actions/src/build.ts +93 -0
- package/core/actions/src/clean.ts +25 -0
- package/core/actions/src/commit.ts +19 -0
- package/core/actions/src/copy-types.ts +22 -0
- package/core/actions/src/dev.ts +55 -0
- package/core/actions/src/examples.ts +48 -0
- package/core/actions/src/fresh.ts +27 -0
- package/core/actions/src/generate-component-meta.ts +15 -0
- package/core/actions/src/generate-ide-helpers.ts +19 -0
- package/core/actions/src/generate-lib-entries.ts +17 -0
- package/core/actions/src/generate-package-json.ts +11 -0
- package/core/actions/src/generate-vscode-custom-data.ts +16 -0
- package/core/actions/src/generate-vue-compat.ts +10 -0
- package/core/actions/src/generate.ts +119 -0
- package/core/actions/src/helpers/component-meta.ts +93 -0
- package/core/actions/src/helpers/index.ts +6 -0
- package/core/actions/src/helpers/lib-entries.ts +130 -0
- package/core/actions/src/helpers/package-json.ts +95 -0
- package/core/actions/src/helpers/utils.ts +30 -0
- package/core/actions/src/helpers/vscode-custom-data.ts +28 -0
- package/core/actions/src/helpers/vue-compat.ts +17 -0
- package/core/actions/src/index.ts +1 -0
- package/core/actions/src/key.ts +48 -0
- package/core/actions/src/lint.ts +36 -0
- package/core/actions/src/make.ts +249 -0
- package/core/actions/src/preinstall.ts +27 -0
- package/core/actions/src/prepublish.ts +16 -0
- package/core/actions/src/release.ts +32 -0
- package/core/actions/src/test.ts +61 -0
- package/core/actions/src/types.ts +23 -0
- package/core/actions/src/update.ts +149 -0
- package/core/actions/test.ts +10 -0
- package/core/actions/tests/example.test.ts +7 -0
- package/core/ai/README.md +62 -0
- package/core/ai/node_modules/.bin/mkdist +17 -0
- package/core/ai/node_modules/.bin/tsc +17 -0
- package/core/ai/node_modules/.bin/tsserver +17 -0
- package/core/ai/package.json +55 -0
- package/core/ai/src/drivers/openai.ts +1 -0
- package/core/ai/src/index.ts +1 -0
- package/core/ai/tests/example.test.ts +7 -0
- package/core/alias/README.md +62 -0
- package/core/alias/node_modules/.bin/mkdist +17 -0
- package/core/alias/node_modules/.bin/tsc +17 -0
- package/core/alias/node_modules/.bin/tsserver +17 -0
- package/core/alias/package.json +51 -0
- package/core/alias/src/index.ts +84 -0
- package/core/alias/tests/example.test.ts +7 -0
- package/core/arrays/README.md +59 -0
- package/core/arrays/node_modules/.bin/mkdist +17 -0
- package/core/arrays/node_modules/.bin/tsc +17 -0
- package/core/arrays/node_modules/.bin/tsserver +17 -0
- package/core/arrays/package.json +55 -0
- package/core/arrays/src/index.ts +208 -0
- package/core/arrays/tests/example.test.ts +7 -0
- package/core/auth/README.md +59 -0
- package/core/auth/node_modules/.bin/mkdist +17 -0
- package/core/auth/node_modules/.bin/tsc +17 -0
- package/core/auth/node_modules/.bin/tsserver +17 -0
- package/core/auth/package.json +49 -0
- package/core/auth/src/index.ts +3 -0
- package/core/auth/tests/example.test.ts +7 -0
- package/core/build/README.md +59 -0
- package/core/build/entries/README.md +7 -0
- package/core/build/node_modules/.bin/mkdist +17 -0
- package/core/build/node_modules/.bin/tsc +17 -0
- package/core/build/node_modules/.bin/tsserver +17 -0
- package/core/build/node_modules/.bin/unbuild +17 -0
- package/core/build/node_modules/.bin/vite +17 -0
- package/core/build/node_modules/.bin/vite-ssg +17 -0
- package/core/build/node_modules/.bin/vue-docgen-web-types +17 -0
- package/core/build/package.json +76 -0
- package/core/build/src/desktop.ts +27 -0
- package/core/build/src/example-vue.ts +24 -0
- package/core/build/src/example-wc.ts +24 -0
- package/core/build/src/functions.ts +56 -0
- package/core/build/src/index.ts +7 -0
- package/core/build/src/pages.ts +50 -0
- package/core/build/src/stacks.ts +198 -0
- package/core/build/src/vue-components.ts +74 -0
- package/core/build/src/web-components.ts +61 -0
- package/core/build/tests/example.test.ts +7 -0
- package/core/build/web-types.config.cjs +4 -0
- package/core/build/web-types.ts +14 -0
- package/core/cache/README.md +59 -0
- package/core/cache/node_modules/.bin/mkdist +17 -0
- package/core/cache/node_modules/.bin/tsc +17 -0
- package/core/cache/node_modules/.bin/tsserver +17 -0
- package/core/cache/package.json +60 -0
- package/core/cache/src/drivers/dynamodb.ts +117 -0
- package/core/cache/src/drivers/memcached.ts +20 -0
- package/core/cache/src/drivers/redis.ts +41 -0
- package/core/cache/src/index.ts +3 -0
- package/core/cache/tests/DynamoDB.test.ts +149 -0
- package/core/cache/tests/Memcached.test.ts +52 -0
- package/core/cache/tests/Redis.test.ts +82 -0
- package/core/cache/vite.config.ts +7 -0
- package/core/cli/README.md +129 -0
- package/core/cli/node_modules/.bin/esno +17 -0
- package/core/cli/node_modules/.bin/mkdist +17 -0
- package/core/cli/package.json +69 -0
- package/core/cli/src/actions/index.ts +2 -0
- package/core/cli/src/actions/install.ts +22 -0
- package/core/cli/src/actions/run.ts +72 -0
- package/core/cli/src/command.ts +7 -0
- package/core/cli/src/console.ts +6 -0
- package/core/cli/src/helpers.ts +58 -0
- package/core/cli/src/index.ts +8 -0
- package/core/cli/src/spinner.ts +3 -0
- package/core/cli/src/utilities.ts +1 -0
- package/core/cli/tests/example.test.ts +7 -0
- package/core/cloud/README.md +59 -0
- package/core/cloud/dist/actions/README.md +53 -0
- package/core/cloud/node_modules/.bin/mkdist +17 -0
- package/core/cloud/node_modules/.bin/tsc +17 -0
- package/core/cloud/node_modules/.bin/tsserver +17 -0
- package/core/cloud/package.json +53 -0
- package/core/cloud/src/actions/README.md +53 -0
- package/core/cloud/src/index.ts +1 -0
- package/core/cloud/tests/example.test.ts +7 -0
- package/core/collections/README.md +71 -0
- package/core/collections/node_modules/.bin/mkdist +17 -0
- package/core/collections/node_modules/.bin/tsc +17 -0
- package/core/collections/node_modules/.bin/tsserver +17 -0
- package/core/collections/package.json +56 -0
- package/core/collections/src/index.ts +1 -0
- package/core/collections/tests/example.test.ts +7 -0
- package/core/config/README.md +53 -0
- package/core/config/build.config.ts +13 -0
- package/core/config/node_modules/.bin/mkdist +17 -0
- package/core/config/node_modules/.bin/tsc +17 -0
- package/core/config/node_modules/.bin/tsserver +17 -0
- package/core/config/node_modules/.bin/unbuild +17 -0
- package/core/config/package.json +53 -0
- package/core/config/src/helpers.ts +30 -0
- package/core/config/src/index.ts +17 -0
- package/core/config/tests/example.test.ts +7 -0
- package/core/dashboard/README.md +74 -0
- package/core/dashboard/node_modules/.bin/mkdist +17 -0
- package/core/dashboard/package.json +52 -0
- package/core/dashboard/src/index.ts +0 -0
- package/core/dashboard/tests/example.test.ts +7 -0
- package/core/database/README.md +59 -0
- package/core/database/node_modules/.bin/mkdist +17 -0
- package/core/database/node_modules/.bin/tsc +17 -0
- package/core/database/node_modules/.bin/tsserver +17 -0
- package/core/database/package.json +59 -0
- package/core/database/src/factory/index.ts +70 -0
- package/core/database/src/index.ts +3 -0
- package/core/database/src/migrations/index.ts +5 -0
- package/core/database/src/seeder/index.ts +10 -0
- package/core/database/tests/example.test.ts +7 -0
- package/core/datetime/README.md +66 -0
- package/core/datetime/node_modules/.bin/mkdist +17 -0
- package/core/datetime/node_modules/.bin/tsc +17 -0
- package/core/datetime/node_modules/.bin/tsserver +17 -0
- package/core/datetime/package.json +55 -0
- package/core/datetime/src/index.ts +6 -0
- package/core/datetime/tests/example.test.ts +7 -0
- package/core/desktop/README.md +49 -0
- package/core/desktop/node_modules/.bin/mkdist +17 -0
- package/core/desktop/node_modules/.bin/tauri +17 -0
- package/core/desktop/node_modules/.bin/tsc +17 -0
- package/core/desktop/node_modules/.bin/tsserver +17 -0
- package/core/desktop/package.json +69 -0
- package/core/desktop/src/drivers/tauri/index.ts +1 -0
- package/core/desktop/src/index.ts +1 -0
- package/core/desktop/tests/example.test.ts +7 -0
- package/core/docs/README.md +59 -0
- package/core/docs/node_modules/.bin/mkdist +17 -0
- package/core/docs/node_modules/.bin/tsc +17 -0
- package/core/docs/node_modules/.bin/tsserver +17 -0
- package/core/docs/node_modules/.bin/vitepress +17 -0
- package/core/docs/package.json +53 -0
- package/core/docs/src/index.ts +4 -0
- package/core/docs/tests/example.test.ts +7 -0
- package/core/domains/README.md +56 -0
- package/core/domains/node_modules/.bin/mkdist +17 -0
- package/core/domains/node_modules/.bin/tsc +17 -0
- package/core/domains/node_modules/.bin/tsserver +17 -0
- package/core/domains/package.json +52 -0
- package/core/domains/src/index.ts +1 -0
- package/core/domains/tests/example.test.ts +7 -0
- package/core/drivers/README.md +53 -0
- package/core/drivers/node_modules/.bin/mkdist +17 -0
- package/core/drivers/node_modules/.bin/tsc +17 -0
- package/core/drivers/node_modules/.bin/tsserver +17 -0
- package/core/drivers/package.json +53 -0
- package/core/drivers/src/index.ts +10 -0
- package/core/drivers/tests/example.test.ts +7 -0
- package/core/email/README.md +89 -0
- package/core/email/node_modules/.bin/mkdist +17 -0
- package/core/email/node_modules/.bin/tsc +17 -0
- package/core/email/node_modules/.bin/tsserver +17 -0
- package/core/email/package.json +57 -0
- package/core/email/src/index.ts +1 -0
- package/core/email/tests/example.test.ts +7 -0
- package/core/error-handling/README.md +131 -0
- package/core/error-handling/node_modules/.bin/mkdist +17 -0
- package/core/error-handling/node_modules/.bin/tsc +17 -0
- package/core/error-handling/node_modules/.bin/tsserver +17 -0
- package/core/error-handling/package.json +55 -0
- package/core/error-handling/src/index.ts +15 -0
- package/core/error-handling/tests/example.test.ts +7 -0
- package/core/git/README.md +69 -0
- package/core/git/node_modules/.bin/bumpp +17 -0
- package/core/git/node_modules/.bin/commitizen +17 -0
- package/core/git/node_modules/.bin/conventional-changelog +17 -0
- package/core/git/node_modules/.bin/cz +17 -0
- package/core/git/node_modules/.bin/giget +17 -0
- package/core/git/node_modules/.bin/git-cz +17 -0
- package/core/git/node_modules/.bin/mkdist +17 -0
- package/core/git/node_modules/.bin/simple-git-hooks +17 -0
- package/core/git/node_modules/.bin/tsc +17 -0
- package/core/git/node_modules/.bin/tsserver +17 -0
- package/core/git/package.json +59 -0
- package/core/git/src/index.ts +1 -0
- package/core/git/tests/example.test.ts +7 -0
- package/core/lint/README.md +73 -0
- package/core/lint/node_modules/.bin/eslint +17 -0
- package/core/lint/node_modules/.bin/lint-staged +17 -0
- package/core/lint/node_modules/.bin/mkdist +17 -0
- package/core/lint/node_modules/.bin/tsc +17 -0
- package/core/lint/node_modules/.bin/tsserver +17 -0
- package/core/lint/package.json +58 -0
- package/core/lint/src/index.ts +3 -0
- package/core/lint/tests/example.test.ts +7 -0
- package/core/logging/README.md +58 -0
- package/core/logging/debug-test.ts +8 -0
- package/core/logging/node_modules/.bin/mkdist +17 -0
- package/core/logging/node_modules/.bin/tsc +17 -0
- package/core/logging/node_modules/.bin/tsserver +17 -0
- package/core/logging/package.json +55 -0
- package/core/logging/src/index.ts +15 -0
- package/core/logging/tests/example.test.ts +7 -0
- package/core/modules/README.md +51 -0
- package/core/modules/node_modules/.bin/mkdist +17 -0
- package/core/modules/node_modules/.bin/tsc +17 -0
- package/core/modules/node_modules/.bin/tsserver +17 -0
- package/core/modules/package.json +54 -0
- package/core/modules/src/i18n.ts +23 -0
- package/core/modules/src/nprogress.ts +12 -0
- package/core/modules/src/pwa.ts +12 -0
- package/core/modules/tests/example.test.ts +7 -0
- package/core/notifications/README.md +89 -0
- package/core/notifications/build.config.ts +14 -0
- package/core/notifications/node_modules/.bin/maizzle +17 -0
- package/core/notifications/node_modules/.bin/mkdist +17 -0
- package/core/notifications/node_modules/.bin/tsc +17 -0
- package/core/notifications/node_modules/.bin/tsserver +17 -0
- package/core/notifications/node_modules/.bin/unbuild +17 -0
- package/core/notifications/package.json +88 -0
- package/core/notifications/src/drivers/chat/discord.ts +15 -0
- package/core/notifications/src/drivers/chat/index.ts +2 -0
- package/core/notifications/src/drivers/chat/slack.ts +22 -0
- package/core/notifications/src/drivers/email/actions/send.ts +36 -0
- package/core/notifications/src/drivers/email/emailjs.ts +21 -0
- package/core/notifications/src/drivers/email/index.ts +9 -0
- package/core/notifications/src/drivers/email/mailgun.ts +19 -0
- package/core/notifications/src/drivers/email/mailjet.ts +18 -0
- package/core/notifications/src/drivers/email/mandrill.ts +17 -0
- package/core/notifications/src/drivers/email/netcore.ts +17 -0
- package/core/notifications/src/drivers/email/nodemailer.ts +21 -0
- package/core/notifications/src/drivers/email/postmark.ts +17 -0
- package/core/notifications/src/drivers/email/sendgrid.ts +18 -0
- package/core/notifications/src/drivers/email/ses.ts +19 -0
- package/core/notifications/src/drivers/email/tailwind.config.ts +37 -0
- package/core/notifications/src/drivers/sms/gupshup.ts +21 -0
- package/core/notifications/src/drivers/sms/index.ts +8 -0
- package/core/notifications/src/drivers/sms/nexmo.ts +22 -0
- package/core/notifications/src/drivers/sms/plivo.ts +22 -0
- package/core/notifications/src/drivers/sms/sms77.ts +21 -0
- package/core/notifications/src/drivers/sms/sns.ts +22 -0
- package/core/notifications/src/drivers/sms/telnyx.ts +22 -0
- package/core/notifications/src/drivers/sms/termii.ts +21 -0
- package/core/notifications/src/drivers/sms/twilio.ts +22 -0
- package/core/notifications/src/index.ts +25 -0
- package/core/notifications/src/utils/config.ts +5 -0
- package/core/notifications/src/utils/template.html +8 -0
- package/core/notifications/tests/chat/Slack.test.ts +24 -0
- package/core/notifications/tests/email/Mailgun.test.ts +29 -0
- package/core/notifications/tests/email/Sendgrid.test.ts +30 -0
- package/core/notifications/tests/example.test.ts +7 -0
- package/core/notifications/tests/sms/Twilio.test.ts +27 -0
- package/core/objects/README.md +71 -0
- package/core/objects/node_modules/.bin/mkdist +17 -0
- package/core/objects/node_modules/.bin/tsc +17 -0
- package/core/objects/node_modules/.bin/tsserver +17 -0
- package/core/objects/package.json +53 -0
- package/core/objects/src/index.ts +130 -0
- package/core/objects/tests/example.test.ts +7 -0
- package/core/path/README.md +64 -0
- package/core/path/node_modules/.bin/mkdist +17 -0
- package/core/path/node_modules/.bin/tsc +17 -0
- package/core/path/node_modules/.bin/tsserver +17 -0
- package/core/path/package.json +55 -0
- package/core/path/src/index.ts +353 -0
- package/core/path/tests/example.test.ts +7 -0
- package/core/payments/README.md +64 -0
- package/core/payments/node_modules/.bin/mkdist +17 -0
- package/core/payments/node_modules/.bin/tsc +17 -0
- package/core/payments/node_modules/.bin/tsserver +17 -0
- package/core/payments/package.json +52 -0
- package/core/payments/src/drivers/stripe.ts +1 -0
- package/core/payments/src/index.ts +1 -0
- package/core/payments/tests/example.test.ts +7 -0
- package/core/realtime/README.md +59 -0
- package/core/realtime/node_modules/.bin/mkdist +17 -0
- package/core/realtime/node_modules/.bin/tsc +17 -0
- package/core/realtime/node_modules/.bin/tsserver +17 -0
- package/core/realtime/package.json +51 -0
- package/core/realtime/src/drivers/index.ts +3 -0
- package/core/realtime/src/index.ts +3 -0
- package/core/realtime/tests/example.test.ts +7 -0
- package/core/router/README.md +59 -0
- package/core/router/node_modules/.bin/mkdist +17 -0
- package/core/router/node_modules/.bin/tsc +17 -0
- package/core/router/node_modules/.bin/tsserver +17 -0
- package/core/router/package.json +54 -0
- package/core/router/src/index.ts +14 -0
- package/core/router/tests/example.test.ts +7 -0
- package/core/search-engine/README.md +66 -0
- package/core/search-engine/node_modules/.bin/mkdist +17 -0
- package/core/search-engine/node_modules/.bin/tsc +17 -0
- package/core/search-engine/node_modules/.bin/tsserver +17 -0
- package/core/search-engine/package.json +64 -0
- package/core/search-engine/src/drivers/meilisearch.ts +37 -0
- package/core/search-engine/src/helpers.ts +74 -0
- package/core/search-engine/src/index.ts +56 -0
- package/core/search-engine/tests/example.test.ts +7 -0
- package/core/security/README.md +66 -0
- package/core/security/node_modules/.bin/mkdist +17 -0
- package/core/security/node_modules/.bin/tsc +17 -0
- package/core/security/node_modules/.bin/tsserver +17 -0
- package/core/security/package.json +57 -0
- package/core/security/src/crypt.ts +14 -0
- package/core/security/src/hash.ts +52 -0
- package/core/security/src/index.ts +3 -0
- package/core/security/src/key.ts +11 -0
- package/core/security/tests/example.test.ts +7 -0
- package/core/server/README.md +51 -0
- package/core/server/node_modules/.bin/mkdist +17 -0
- package/core/server/node_modules/.bin/nitro +17 -0
- package/core/server/node_modules/.bin/nitropack +17 -0
- package/core/server/node_modules/.bin/tsc +17 -0
- package/core/server/node_modules/.bin/tsserver +17 -0
- package/core/server/node_modules/.bin/vite +17 -0
- package/core/server/package.json +59 -0
- package/core/server/src/config.ts +6 -0
- package/core/server/src/index.ts +5 -0
- package/core/server/src/nitro.config.ts +6 -0
- package/core/server/tests/example.test.ts +7 -0
- package/core/storage/README.md +74 -0
- package/core/storage/node_modules/.bin/mkdist +17 -0
- package/core/storage/node_modules/.bin/tsc +17 -0
- package/core/storage/node_modules/.bin/tsserver +17 -0
- package/core/storage/package.json +62 -0
- package/core/storage/src/index.ts +193 -0
- package/core/storage/tests/example.test.ts +7 -0
- package/core/strings/README.md +68 -0
- package/core/strings/build.config.ts +15 -0
- package/core/strings/node_modules/.bin/mkdist +17 -0
- package/core/strings/node_modules/.bin/tsc +17 -0
- package/core/strings/node_modules/.bin/tsserver +17 -0
- package/core/strings/node_modules/.bin/unbuild +17 -0
- package/core/strings/package.json +69 -0
- package/core/strings/src/index.ts +97 -0
- package/core/strings/tests/example.test.ts +7 -0
- package/core/testing/README.md +59 -0
- package/core/testing/node_modules/.bin/mkdist +17 -0
- package/core/testing/node_modules/.bin/tsc +17 -0
- package/core/testing/node_modules/.bin/tsserver +17 -0
- package/core/testing/node_modules/.bin/vitest +17 -0
- package/core/testing/package.json +57 -0
- package/core/testing/src/index.ts +1 -0
- package/core/types/README.md +59 -0
- package/core/types/node_modules/.bin/markdown-it +17 -0
- package/core/types/node_modules/.bin/mkdist +17 -0
- package/core/types/node_modules/.bin/tsc +17 -0
- package/core/types/node_modules/.bin/tsserver +17 -0
- package/core/types/node_modules/.bin/vite-ssg +17 -0
- package/core/types/node_modules/.bin/vitepress +17 -0
- package/core/types/package.json +71 -0
- package/core/types/src/app.ts +140 -0
- package/core/types/src/auto-imports.ts +3 -0
- package/core/types/src/build.ts +2 -0
- package/core/types/src/cli.ts +198 -0
- package/core/types/src/components.ts +66 -0
- package/core/types/src/database.ts +3 -0
- package/core/types/src/debug.ts +6 -0
- package/core/types/src/deploy.ts +11 -0
- package/core/types/src/docs.ts +3 -0
- package/core/types/src/errors.ts +6 -0
- package/core/types/src/exit-code.ts +10 -0
- package/core/types/src/fs.ts +17 -0
- package/core/types/src/git.ts +131 -0
- package/core/types/src/hashing.ts +107 -0
- package/core/types/src/i18n.ts +19 -0
- package/core/types/src/index.ts +28 -0
- package/core/types/src/inspect.ts +10 -0
- package/core/types/src/layout.ts +8 -0
- package/core/types/src/library.ts +148 -0
- package/core/types/src/manifest.ts +9 -0
- package/core/types/src/markdown.ts +198 -0
- package/core/types/src/notifications.ts +9 -0
- package/core/types/src/pages.ts +8 -0
- package/core/types/src/promise.ts +1 -0
- package/core/types/src/pwa.ts +8 -0
- package/core/types/src/search-engine.ts +118 -0
- package/core/types/src/ssg.ts +3 -0
- package/core/types/src/ui.ts +184 -0
- package/core/types/src/utils.ts +38 -0
- package/core/ui/README.md +66 -0
- package/core/ui/node_modules/.bin/mkdist +17 -0
- package/core/ui/node_modules/.bin/tsc +17 -0
- package/core/ui/node_modules/.bin/tsserver +17 -0
- package/core/ui/node_modules/.bin/vue-tsc +17 -0
- package/core/ui/package.json +66 -0
- package/core/ui/src/index.ts +17 -0
- package/core/ui/src/unocss.ts +45 -0
- package/core/ui/tests/example.test.ts +7 -0
- package/core/utils/node_modules/.bin/esno +17 -0
- package/core/utils/node_modules/.bin/mkdist +17 -0
- package/core/utils/node_modules/.bin/rimraf +17 -0
- package/core/utils/node_modules/.bin/tsc +17 -0
- package/core/utils/node_modules/.bin/tsserver +17 -0
- package/core/utils/package.json +77 -0
- package/core/utils/src/base.ts +10 -0
- package/core/utils/src/function.ts +32 -0
- package/core/utils/src/guards.ts +39 -0
- package/core/utils/src/helpers.ts +134 -0
- package/core/utils/src/index.ts +13 -0
- package/core/utils/src/is.ts +12 -0
- package/core/utils/src/p.ts +118 -0
- package/core/utils/src/promise.ts +91 -0
- package/core/utils/src/vendor.ts +1 -0
- package/core/utils/tests/example.test.ts +7 -0
- package/core/x-ray/README.md +55 -0
- package/core/x-ray/index.html +13 -0
- package/core/x-ray/node_modules/.bin/mkdist +17 -0
- package/core/x-ray/node_modules/.bin/tsc +17 -0
- package/core/x-ray/node_modules/.bin/tsserver +17 -0
- package/core/x-ray/package.json +63 -0
- package/core/x-ray/routes/index.ts +19 -0
- package/core/x-ray/src/client.ts +14 -0
- package/core/x-ray/src/desktop/api/nitro.config.ts +18 -0
- package/core/x-ray/src/desktop/api/routes/api/logs.ts +7 -0
- package/core/x-ray/src/desktop/api/routes/api/store-logs.ts +22 -0
- package/core/x-ray/src/desktop/api/src/types.ts +7 -0
- package/core/x-ray/src/desktop/api/storage/index.ts +7 -0
- package/core/x-ray/src/desktop/app.vue +377 -0
- package/core/x-ray/src/desktop/functions/http.ts +26 -0
- package/core/x-ray/src/desktop/functions/types.ts +7 -0
- package/core/x-ray/src/desktop/main.ts +14 -0
- package/core/x-ray/src/desktop/modules/counter/mod.vue +44 -0
- package/core/x-ray/src/desktop/modules/fetcher/mod.vue +63 -0
- package/core/x-ray/src/desktop/plugins/unified/unified-app.ts +5 -0
- package/core/x-ray/src/desktop/plugins/unified/unified-styles.scss +0 -0
- package/core/x-ray/src/desktop/services/http.ts +45 -0
- package/core/x-ray/src/desktop/styles/app.scss +0 -0
- package/core/x-ray/src/http.ts +26 -0
- package/core/x-ray/src/index.ts +42 -0
- package/core/x-ray/src/ray.config.js +27 -0
- package/core/x-ray/src/types.ts +7 -0
- package/core/x-ray/tests/example.test.ts +7 -0
- package/custom-elements.json +14 -0
- package/examples/vue/App.vue +12 -0
- package/examples/vue/favicon.png +0 -0
- package/examples/vue/index.html +20 -0
- package/examples/web/favicon.png +0 -0
- package/examples/web/index.html +13 -0
- package/functions/package.json +41 -0
- package/netlify.toml +18 -0
- package/package.json +39 -68
- package/pages/App.vue +26 -0
- package/pages/index.html +23 -0
- package/pages/main.ts +26 -0
- package/pages/public/_headers +3 -0
- package/pages/public/favicon-dark.svg +3 -0
- package/pages/public/favicon.svg +3 -0
- package/pages/public/pwa-192x192.png +0 -0
- package/pages/public/pwa-512x512.png +0 -0
- package/pages/public/safari-pinned-tab.svg +41 -0
- package/pages/styles/main.css +29 -0
- package/pages/styles/markdown.css +28 -0
- package/shims.d.ts +29 -0
- package/simple-git-hooks.cjs +4 -0
- package/tsconfig.json +115 -0
- package/vitest.config.ts +21 -0
- package/web-types.json +67 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { createClient } from 'redis' // TODO: needs to be imported from cache package
|
|
3
|
+
|
|
4
|
+
const client: any = createClient({
|
|
5
|
+
socket: {
|
|
6
|
+
host: '127.0.0.1',
|
|
7
|
+
port: 6379,
|
|
8
|
+
},
|
|
9
|
+
password: '',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
// TODO: needs to be moved to cache package
|
|
13
|
+
await client.connect()
|
|
14
|
+
|
|
15
|
+
// TODO: needs to be imported to cache package
|
|
16
|
+
async function set(key: any, value: any): Promise<void> {
|
|
17
|
+
await client.set(key, value)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// TODO: needs to be imported to cache package
|
|
21
|
+
async function get(key: string): Promise<any> {
|
|
22
|
+
const value = await client.get(key)
|
|
23
|
+
|
|
24
|
+
return value
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// TODO: needs to be imported to cache package
|
|
28
|
+
async function remove(key: string): Promise<void> {
|
|
29
|
+
await client.del(key)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// TODO: needs to be imported to cache package
|
|
33
|
+
async function del(key: string): Promise<void> {
|
|
34
|
+
await client.del(key)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// TODO: needs to be imported to cache package
|
|
38
|
+
async function flushAll(): Promise<void> {
|
|
39
|
+
await client.sendCommand(['FLUSHALL', 'ASYNC'])
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// TODO: needs to be imported to cache package
|
|
43
|
+
async function flushDB(): Promise<void> {
|
|
44
|
+
await client.sendCommand(['FLUSHDB', 'ASYNC'])
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
describe('RedisTest', () => {
|
|
48
|
+
it('it should set redis cache', async () => {
|
|
49
|
+
await set('test', 'test')
|
|
50
|
+
expect(await get('test')).toBe('test')
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
it('it should get redis cache', async () => {
|
|
54
|
+
await set('test', 'test')
|
|
55
|
+
expect(await get('test')).toBe('test')
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
it('it should remove cache', async () => {
|
|
59
|
+
await set('test', 'test')
|
|
60
|
+
await remove('test')
|
|
61
|
+
expect(await get('test')).toBe(null)
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
it('it should del cache', async () => {
|
|
65
|
+
await set('test', 'test')
|
|
66
|
+
await del('test')
|
|
67
|
+
expect(await get('test')).toBe(null)
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
it('it should flush all cache', async () => {
|
|
71
|
+
await set('test', 'test')
|
|
72
|
+
await flushAll()
|
|
73
|
+
expect(await get('test')).toBe(null)
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
it('it should flush all DB', async () => {
|
|
77
|
+
await set('test', 'test')
|
|
78
|
+
await flushDB()
|
|
79
|
+
expect(await get('test')).toBe(null)
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Stacks CLI
|
|
2
|
+
|
|
3
|
+
The simple way to build beautiful CLIs.
|
|
4
|
+
|
|
5
|
+
## ☘️ Features
|
|
6
|
+
|
|
7
|
+
- 🎨 Easily create beautiful CLI apps
|
|
8
|
+
- ⚡️ Lightweight, user-friendly, interactive prompts
|
|
9
|
+
- 🚦 Elegant terminal spinners
|
|
10
|
+
- ⛑️ Helper methods to run commands
|
|
11
|
+
|
|
12
|
+
## 🤖 Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pnpm i -D @stacksjs/cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Now, you can use it in your project:
|
|
19
|
+
|
|
20
|
+
```js
|
|
21
|
+
// command.ts
|
|
22
|
+
// you may create create a relatively complex CLI UI/UX via the following:
|
|
23
|
+
import { command, log, prompts, spawn, spinner, ExitCode, italic } from '@stacksjs/cli'
|
|
24
|
+
|
|
25
|
+
const stacks = command('stacks')
|
|
26
|
+
|
|
27
|
+
stacks
|
|
28
|
+
.command('example', 'A dummy command') // pnpm buddy example
|
|
29
|
+
.option('-i, --install', 'The install option', { default: true })
|
|
30
|
+
.action(async (options) => {
|
|
31
|
+
if (options.install)
|
|
32
|
+
await install()
|
|
33
|
+
|
|
34
|
+
const answer = await prompts.select({
|
|
35
|
+
type: 'select',
|
|
36
|
+
message: 'Are you trying to run this command?',
|
|
37
|
+
choices: [
|
|
38
|
+
{ title: 'Run the command', value: 'run' },
|
|
39
|
+
{ title: 'Do not run the command', value: 'do-not-run' },
|
|
40
|
+
],
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
if (answer === 'run')
|
|
44
|
+
install()
|
|
45
|
+
else if (answer === 'do-not-run')
|
|
46
|
+
log.info('Not running the command')
|
|
47
|
+
else process.exit(ExitCode.InvalidArgument)
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
async function install() {
|
|
51
|
+
try {
|
|
52
|
+
const spin = spinner('Running...').start()
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
spin.text = italic('This may take a little while...')
|
|
55
|
+
}, 5000)
|
|
56
|
+
await spawn('pnpm install')
|
|
57
|
+
spin.stop()
|
|
58
|
+
} catch (error) {
|
|
59
|
+
log.error(error)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
command.help() // automatically expose a -h and --help flag
|
|
64
|
+
command.version(version) // automatically expose a -v and --version flag
|
|
65
|
+
command.parse() // parse the command
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
You may now run the command via:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
esno command.ts
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
To view a more detailed example, check out [Buddy](../../buddy/).
|
|
75
|
+
|
|
76
|
+
_You may also use any of the following CLI utilities:_
|
|
77
|
+
|
|
78
|
+
```js
|
|
79
|
+
import {
|
|
80
|
+
log,
|
|
81
|
+
ansi256Bg, bold, dim, hidden, inverse, italic, link, reset, strikethrough, underline,
|
|
82
|
+
bgBlack, bgBlue, bgCyan, bgGray, bgGreen, bgLightBlue, bgLightCyan, bgLightGray, bgLightGreen, bgLightMagenta, bgLightRed, bgLightYellow, bgMagenta, bgRed, bgWhite, bgYellow,
|
|
83
|
+
black, blue, cyan, gray, green, lightBlue, lightCyan, lightGray, lightGreen, lightMagenta, lightRed, lightYellow, magenta, red, white, yellow,
|
|
84
|
+
} from '@stacksjs/cli'
|
|
85
|
+
|
|
86
|
+
log.info(`hello ${bold(italic('world'))`)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
To view the full documentation, please visit [https://stacksjs.dev/cli](https://stacksjs.dev/cli).
|
|
90
|
+
|
|
91
|
+
## 🧪 Testing
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
pnpm test
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 📈 Changelog
|
|
98
|
+
|
|
99
|
+
Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
|
|
100
|
+
|
|
101
|
+
## 💪🏼 Contributing
|
|
102
|
+
|
|
103
|
+
Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
|
|
104
|
+
|
|
105
|
+
## 🏝 Community
|
|
106
|
+
|
|
107
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
108
|
+
|
|
109
|
+
[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
|
|
110
|
+
|
|
111
|
+
For casual chit-chat with others using this package:
|
|
112
|
+
|
|
113
|
+
[Join the Stacks Discord Server](https://discord.ow3.org)
|
|
114
|
+
|
|
115
|
+
## 🙏🏼 Credits
|
|
116
|
+
|
|
117
|
+
Many thanks to the following core technologies & people who have contributed to this package:
|
|
118
|
+
|
|
119
|
+
- [CAC](https://github.com/cacjs/cac)
|
|
120
|
+
- [Ora](https://github.com/sindresorhus/ora)
|
|
121
|
+
- [Consola](https://github.com/unjs/consola)
|
|
122
|
+
- [Chris Breuer](https://github.com/chrisbbreuer)
|
|
123
|
+
- [All Contributors](../../contributors)
|
|
124
|
+
|
|
125
|
+
## 📄 License
|
|
126
|
+
|
|
127
|
+
The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
|
|
128
|
+
|
|
129
|
+
Made with ❤️
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/esno@0.16.3/node_modules/esno/esno.js" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/esno@0.16.3/node_modules/esno/esno.js" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/mkdist@1.0.0/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/mkdist@1.0.0/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stacksjs/cli",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.44.9",
|
|
5
|
+
"packageManager": "pnpm@7.18.2",
|
|
6
|
+
"description": "The simple way to create beautiful CLIs.",
|
|
7
|
+
"author": "Chris Breuer",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"funding": "https://github.com/sponsors/chrisbbreuer",
|
|
10
|
+
"homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks/core/cli#readme",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
14
|
+
"directory": "./.stacks/core/cli"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/stacksjs/stacks/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"cli",
|
|
21
|
+
"commands",
|
|
22
|
+
"command line interface",
|
|
23
|
+
"spinners",
|
|
24
|
+
"utilities",
|
|
25
|
+
"helpers",
|
|
26
|
+
"cac",
|
|
27
|
+
"ora",
|
|
28
|
+
"consola",
|
|
29
|
+
"ez-spawn",
|
|
30
|
+
"stacks"
|
|
31
|
+
],
|
|
32
|
+
"main": "dist/index.mjs",
|
|
33
|
+
"module": "dist/index.mjs",
|
|
34
|
+
"types": "dist/index.d.ts",
|
|
35
|
+
"contributors": [
|
|
36
|
+
"Chris Breuer <chris@ow3.org>"
|
|
37
|
+
],
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
"README.md"
|
|
41
|
+
],
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=v18.12.1",
|
|
44
|
+
"pnpm": ">=7.18.2"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "mkdist -d",
|
|
48
|
+
"dev": "mkdist -d",
|
|
49
|
+
"prepublishOnly": "pnpm run build",
|
|
50
|
+
"typecheck": "tsc --noEmit"
|
|
51
|
+
},
|
|
52
|
+
"peerDependencies": {
|
|
53
|
+
"@antfu/install-pkg": "^0.1.1",
|
|
54
|
+
"@stacksjs/config": "workspace:*",
|
|
55
|
+
"@stacksjs/error-handling": "workspace:*",
|
|
56
|
+
"@stacksjs/logging": "workspace:*",
|
|
57
|
+
"@stacksjs/path": "workspace:*",
|
|
58
|
+
"@stacksjs/types": "workspace:*",
|
|
59
|
+
"cac": "^6.7.14",
|
|
60
|
+
"execa": "^6.1.0",
|
|
61
|
+
"ora": "^6.1.2",
|
|
62
|
+
"prompts": "^2.4.2"
|
|
63
|
+
},
|
|
64
|
+
"devDependencies": {
|
|
65
|
+
"@stacksjs/testing": "workspace:*",
|
|
66
|
+
"esno": "^0.16.3",
|
|
67
|
+
"mkdist": "^1.0.0"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { installPackage as installPkg } from '@antfu/install-pkg'
|
|
2
|
+
import type { CommandResult } from '@stacksjs/types'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Install an npm package.
|
|
6
|
+
*
|
|
7
|
+
* @param pkg - The package name to install.
|
|
8
|
+
* @returns The result of the install.
|
|
9
|
+
*/
|
|
10
|
+
export async function installPackage(pkg: string): Promise<CommandResult<string>> {
|
|
11
|
+
return await installPkg(pkg, { silent: true })
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Install a Stack into your project.
|
|
16
|
+
*
|
|
17
|
+
* @param pkg - The Stack name to install.
|
|
18
|
+
* @returns The result of the install.
|
|
19
|
+
*/
|
|
20
|
+
export async function installStack(name: string): Promise<CommandResult<string>> {
|
|
21
|
+
return await installPkg(`@stacksjs/${name}`, { silent: true })
|
|
22
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { CliOptions, CommandResult, Result, SpinnerOptions as Spinner } from '@stacksjs/types'
|
|
2
|
+
import { determineDebugMode } from '@stacksjs/config'
|
|
3
|
+
import { ResultAsync } from '@stacksjs/error-handling'
|
|
4
|
+
import { projectPath } from '@stacksjs/path'
|
|
5
|
+
import { italic } from '../'
|
|
6
|
+
import { spawn } from '../command'
|
|
7
|
+
import { startAnimation } from '../helpers'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Execute a command.
|
|
11
|
+
*
|
|
12
|
+
* @param command The command to execute.
|
|
13
|
+
* @param options The options to pass to the command.
|
|
14
|
+
* @param errorMsg The name of the error to throw if the command fails.
|
|
15
|
+
* @returns The result of the command.
|
|
16
|
+
*/
|
|
17
|
+
export function exec(command: string, options?: CliOptions) {
|
|
18
|
+
const cwd = options?.cwd || projectPath()
|
|
19
|
+
const stdio = determineDebugMode(options) ? 'inherit' : 'ignore'
|
|
20
|
+
|
|
21
|
+
return ResultAsync.fromPromise(
|
|
22
|
+
spawn(command, { stdio, cwd }),
|
|
23
|
+
() => new Error(`Failed to execute command: ${italic(command)}`),
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Run a command the Stacks way.
|
|
29
|
+
*
|
|
30
|
+
* @param command The command to run.
|
|
31
|
+
* @param options The options to pass to the command.
|
|
32
|
+
* @returns The result of the command.
|
|
33
|
+
*/
|
|
34
|
+
export async function runCommand(command: string, options?: CliOptions) {
|
|
35
|
+
return await exec(command, options)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Run many commands—the Stacks way.
|
|
40
|
+
*
|
|
41
|
+
* @param commands The command to run.
|
|
42
|
+
* @param options The options to pass to the command.
|
|
43
|
+
* @returns The result of the command.
|
|
44
|
+
*/
|
|
45
|
+
export async function runCommands(commands: string[], options?: CliOptions): Promise<Result<CommandResult<string>, Error>[]> {
|
|
46
|
+
let spinner: Spinner | undefined
|
|
47
|
+
|
|
48
|
+
if (!determineDebugMode(options))
|
|
49
|
+
spinner = startAnimation()
|
|
50
|
+
|
|
51
|
+
const results: Result<CommandResult<string>, Error>[] = []
|
|
52
|
+
|
|
53
|
+
for (const command of commands) {
|
|
54
|
+
const result = await runCommand(command, options)
|
|
55
|
+
|
|
56
|
+
if (result.isOk())
|
|
57
|
+
results.push(result)
|
|
58
|
+
|
|
59
|
+
if (result.isErr()) {
|
|
60
|
+
if (spinner)
|
|
61
|
+
spinner.fail('Failed to run command.')
|
|
62
|
+
|
|
63
|
+
results.push(result)
|
|
64
|
+
break
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (spinner)
|
|
69
|
+
spinner.stop()
|
|
70
|
+
|
|
71
|
+
return results
|
|
72
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { IntroOptions, OutroOptions } from '@stacksjs/types'
|
|
2
|
+
import { version } from '../package.json'
|
|
3
|
+
import { log } from './console'
|
|
4
|
+
import { spinner } from './spinner'
|
|
5
|
+
import { bgCyan, bold, cyan, dim, green, italic, red } from './utilities'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Prints the intro message.
|
|
9
|
+
*/
|
|
10
|
+
export function intro(command: string, options?: IntroOptions) {
|
|
11
|
+
console.log()
|
|
12
|
+
|
|
13
|
+
console.log(cyan(bold('Stacks CLI')) + dim(` v${version}`))
|
|
14
|
+
console.log()
|
|
15
|
+
|
|
16
|
+
log.info(`Preparing to run the ${bgCyan(italic(bold(` ${command} `)))} command.`)
|
|
17
|
+
|
|
18
|
+
if (options?.showPerformance === false)
|
|
19
|
+
return
|
|
20
|
+
|
|
21
|
+
return performance.now()
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Prints the outro message.
|
|
26
|
+
*/
|
|
27
|
+
export function outro(text: string, options: OutroOptions, error?: Error) {
|
|
28
|
+
if (options.isError) {
|
|
29
|
+
if (error)
|
|
30
|
+
log.error(error)
|
|
31
|
+
}
|
|
32
|
+
else { log.success(text) }
|
|
33
|
+
|
|
34
|
+
if (options.startTime) {
|
|
35
|
+
let time = performance.now() - options.startTime
|
|
36
|
+
|
|
37
|
+
if (options.useSeconds) {
|
|
38
|
+
time = time / 1000
|
|
39
|
+
time = Math.round(time * 100) / 100 // https://stackoverflow.com/a/11832950/7811162
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (options.isError)
|
|
43
|
+
log.error(red(`in ${time}${options.useSeconds ? 's' : 'ms'}`))
|
|
44
|
+
else
|
|
45
|
+
log.success(green(`Done in ${time}${options.useSeconds ? 's' : 'ms'}`))
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function startAnimation() {
|
|
50
|
+
const spin = spinner('Running...').start()
|
|
51
|
+
const pleaseWait = 'This may take a little while...'
|
|
52
|
+
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
spin.text = italic(pleaseWait)
|
|
55
|
+
}, 5000)
|
|
56
|
+
|
|
57
|
+
return spin
|
|
58
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ansi256Bg, bgBlack, bgBlue, bgCyan, bgGray, bgGreen, bgLightBlue, bgLightCyan, bgLightGray, bgLightGreen, bgLightMagenta, bgLightRed, bgLightYellow, bgMagenta, bgRed, bgWhite, bgYellow, black, blue, bold, cyan, dim, gray, green, hidden, inverse, italic, lightBlue, lightCyan, lightGray, lightGreen, lightMagenta, lightRed, lightYellow, link, magenta, red, reset, strikethrough, underline, white, yellow } from 'kolorist'
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Stacks Cloud
|
|
2
|
+
|
|
3
|
+
This package assists you in setting up & maintaining your application's cloud infrastructure.
|
|
4
|
+
|
|
5
|
+
## ☘️ Features
|
|
6
|
+
|
|
7
|
+
- Cloud Creation & Management
|
|
8
|
+
- Domain Management
|
|
9
|
+
- Stacks Buddy Commands
|
|
10
|
+
|
|
11
|
+
### TODO
|
|
12
|
+
|
|
13
|
+
- [ ] Driver: AWS
|
|
14
|
+
|
|
15
|
+
## 🤖 Usage
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm i -D @stacksjs/cloud
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Now, you can use it in your project:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import cloud from '@stacksjs/cloud'
|
|
25
|
+
|
|
26
|
+
// wip
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Learn more in the docs.
|
|
30
|
+
|
|
31
|
+
## 🧪 Testing
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pnpm test
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 📈 Changelog
|
|
38
|
+
|
|
39
|
+
Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
|
|
40
|
+
|
|
41
|
+
## 💪🏼 Contributing
|
|
42
|
+
|
|
43
|
+
Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
|
|
44
|
+
|
|
45
|
+
## 🏝 Community
|
|
46
|
+
|
|
47
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
48
|
+
|
|
49
|
+
[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
|
|
50
|
+
|
|
51
|
+
For casual chit-chat with others using this package:
|
|
52
|
+
|
|
53
|
+
[Join the Stacks Discord Server](https://discord.ow3.org)
|
|
54
|
+
|
|
55
|
+
## 📄 License
|
|
56
|
+
|
|
57
|
+
The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
|
|
58
|
+
|
|
59
|
+
Made with ❤️
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Actions
|
|
2
|
+
|
|
3
|
+
Placeholder for the "On-The-Fly API."
|
|
4
|
+
|
|
5
|
+
## ☘️ Features
|
|
6
|
+
|
|
7
|
+
- ⚡️
|
|
8
|
+
|
|
9
|
+
## 🤖 Usage
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pnpm i -D @stacksjs/cloud
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Now, you can use it in your project:
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
import { actions } from '@stacksjs/cloud'
|
|
19
|
+
|
|
20
|
+
// wip
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Learn more in the docs.
|
|
24
|
+
|
|
25
|
+
## 🧪 Testing
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pnpm test
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 📈 Changelog
|
|
32
|
+
|
|
33
|
+
Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
|
|
34
|
+
|
|
35
|
+
## 💪🏼 Contributing
|
|
36
|
+
|
|
37
|
+
Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
|
|
38
|
+
|
|
39
|
+
## 🏝 Community
|
|
40
|
+
|
|
41
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
42
|
+
|
|
43
|
+
[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
|
|
44
|
+
|
|
45
|
+
For casual chit-chat with others using this package:
|
|
46
|
+
|
|
47
|
+
[Join the Stacks Discord Server](https://discord.ow3.org)
|
|
48
|
+
|
|
49
|
+
## 📄 License
|
|
50
|
+
|
|
51
|
+
The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
|
|
52
|
+
|
|
53
|
+
Made with ❤️
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/mkdist@1.0.0_typescript@4.9.4/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/mkdist@1.0.0_typescript@4.9.4/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsc" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.9.4/node_modules/typescript/bin/tsc" "$@"
|
|
17
|
+
fi
|