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,65 @@
|
|
|
1
|
+
import { ExitCode } from '@stacksjs/types'
|
|
2
|
+
import type { CLI, ExamplesOption, ExamplesOptions } from '@stacksjs/types'
|
|
3
|
+
import { italic, log, prompts } from '@stacksjs/cli'
|
|
4
|
+
import { componentExample, invoke as runExample, webComponentExample } from '@stacksjs/actions/examples'
|
|
5
|
+
|
|
6
|
+
const descriptions = {
|
|
7
|
+
example: 'Which example do you want to see?',
|
|
8
|
+
components: 'Test your libraries against your built bundle',
|
|
9
|
+
vue: 'Test your Vue component library',
|
|
10
|
+
webComponents: 'Test your web component library',
|
|
11
|
+
debug: 'Enable debug mode',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
async function example(stacks: CLI) {
|
|
15
|
+
stacks
|
|
16
|
+
.command('example', descriptions.example)
|
|
17
|
+
.option('-c, --components', descriptions.components)
|
|
18
|
+
.option('-v, --vue', descriptions.vue)
|
|
19
|
+
.option('-w, --web-components', descriptions.webComponents)
|
|
20
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
21
|
+
.action(async (options: ExamplesOptions) => {
|
|
22
|
+
const answer: ExamplesOption = await prompts.select({
|
|
23
|
+
type: 'select',
|
|
24
|
+
name: 'example',
|
|
25
|
+
message: 'Which example are you trying to view?',
|
|
26
|
+
choices: [
|
|
27
|
+
{ title: 'Components', value: 'components' },
|
|
28
|
+
{ title: 'Web Components', value: 'web-components' },
|
|
29
|
+
],
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
if (answer !== null) {
|
|
33
|
+
log.error(`You did not provide an answer. Please try again, ${italic('or report the issue')}`)
|
|
34
|
+
process.exit()
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (answer === 'components')
|
|
38
|
+
await componentExample(options)
|
|
39
|
+
else if (answer === 'web-components')
|
|
40
|
+
await webComponentExample(options)
|
|
41
|
+
else process.exit(ExitCode.InvalidArgument)
|
|
42
|
+
|
|
43
|
+
await runExample(options)
|
|
44
|
+
process.exit(ExitCode.Success)
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
stacks
|
|
48
|
+
.command('example:vue', descriptions.vue)
|
|
49
|
+
.option('-v, --vue', descriptions.debug, { default: true })
|
|
50
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
51
|
+
.alias('example:components')
|
|
52
|
+
.action(async (options: ExamplesOptions) => {
|
|
53
|
+
await runExample(options)
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
stacks
|
|
57
|
+
.command('example:web-components', 'Test your Web Component library.')
|
|
58
|
+
.option('-w, --web-components', descriptions.debug, { default: true })
|
|
59
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
60
|
+
.action(async (options: ExamplesOptions) => {
|
|
61
|
+
await runExample(options)
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { example }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CLI, CommitOptions } from '@stacksjs/types'
|
|
2
|
+
import { invoke } from '@stacksjs/actions/fresh'
|
|
3
|
+
|
|
4
|
+
const descriptions = {
|
|
5
|
+
fresh: 'Reinstalls your npm dependencies',
|
|
6
|
+
debug: 'Enable debug mode',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
async function fresh(stacks: CLI) {
|
|
10
|
+
stacks
|
|
11
|
+
.command('fresh', descriptions.fresh)
|
|
12
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
13
|
+
.action(async (options: CommitOptions) => {
|
|
14
|
+
await invoke(options)
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { fresh }
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { CLI, GeneratorOptions } from '@stacksjs/types'
|
|
2
|
+
import { ExitCode } from '@stacksjs/types'
|
|
3
|
+
import { prompts } from '@stacksjs/cli'
|
|
4
|
+
import { componentMeta, ideHelpers, libEntries, invoke as startGenerationProcess, types, vsCodeCustomData, vueCompat, webTypes } from '@stacksjs/actions/generate'
|
|
5
|
+
|
|
6
|
+
const descriptions = {
|
|
7
|
+
command: 'Automagically build any of your libraries/packages for production use. Select any of the following packages',
|
|
8
|
+
types: 'Generate your TypeScript types',
|
|
9
|
+
entries: 'Generate your function & component library entry points',
|
|
10
|
+
webTypes: 'Generate web-types.json for IDEs',
|
|
11
|
+
customData: 'Generate VS Code custom data (custom-elements.json) for IDEs',
|
|
12
|
+
ideHelpers: 'Generate IDE helpers',
|
|
13
|
+
vueCompat: 'Generate Vue 2 & 3 compatibility',
|
|
14
|
+
componentMeta: 'Generate component meta information',
|
|
15
|
+
debug: 'Enable debug mode',
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async function generate(stacks: CLI) {
|
|
19
|
+
stacks
|
|
20
|
+
.command('generate', descriptions.command)
|
|
21
|
+
.option('-t, --types', descriptions.types)
|
|
22
|
+
.option('-e, --entries', descriptions.entries)
|
|
23
|
+
.option('-w, --web-types', descriptions.webTypes)
|
|
24
|
+
.option('-c, --custom-data', descriptions.customData)
|
|
25
|
+
.option('-i, --ide-helpers', descriptions.ideHelpers)
|
|
26
|
+
.option('-v, --vue-compatibility', descriptions.vueCompat)
|
|
27
|
+
.option('-c, --component-meta', descriptions.componentMeta)
|
|
28
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
29
|
+
.action(async (options: GeneratorOptions) => {
|
|
30
|
+
if (hasNoOptions(options)) {
|
|
31
|
+
const answers = await prompts.multiselect({
|
|
32
|
+
type: 'multiselect',
|
|
33
|
+
name: 'generate',
|
|
34
|
+
message: 'What are you trying to generate?',
|
|
35
|
+
choices: [ // todo: should be a multi-select
|
|
36
|
+
{ title: '1.) TypeScript Types', value: 'types' },
|
|
37
|
+
{ title: '2.) Library Entry Points', value: 'entries' },
|
|
38
|
+
{ title: '3.) Web Types', value: 'web-types' },
|
|
39
|
+
{ title: '4.) VS Code Custom Data', value: 'custom-data' },
|
|
40
|
+
{ title: '5.) IDE Helpers', value: 'ide-helpers' },
|
|
41
|
+
{ title: '6.) Vue 2 & 3 Compatibility', value: 'vue-compatibility' },
|
|
42
|
+
{ title: '7.) Component Meta', value: 'component-meta' },
|
|
43
|
+
],
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
// creates an object out of array and sets answers to true
|
|
47
|
+
options = answers.reduce((a: any, v: any) => ({ ...a, [v]: true }), {})
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
await startGenerationProcess(options)
|
|
51
|
+
|
|
52
|
+
process.exit(ExitCode.Success)
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
stacks
|
|
56
|
+
.command('generate:types', descriptions.types)
|
|
57
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
58
|
+
.alias('types:generate')
|
|
59
|
+
.action(async (options: GeneratorOptions) => {
|
|
60
|
+
await types(options)
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
stacks
|
|
64
|
+
.command('generate:entries', descriptions.entries)
|
|
65
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
66
|
+
.action(async (options: GeneratorOptions) => {
|
|
67
|
+
await libEntries(options)
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
stacks
|
|
71
|
+
.command('generate:vue-compatibility', descriptions.vueCompat)
|
|
72
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
73
|
+
.action(async (options: GeneratorOptions) => {
|
|
74
|
+
await vueCompat(options)
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
stacks
|
|
78
|
+
.command('generate:web-types', descriptions.webTypes)
|
|
79
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
80
|
+
.action(async (options: GeneratorOptions) => {
|
|
81
|
+
await webTypes(options)
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
stacks
|
|
85
|
+
.command('generate:vscode-custom-data', descriptions.customData)
|
|
86
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
87
|
+
.action(async (options: GeneratorOptions) => {
|
|
88
|
+
await vsCodeCustomData(options)
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
stacks
|
|
92
|
+
.command('generate:ide-helpers', descriptions.ideHelpers)
|
|
93
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
94
|
+
.action(async (options: GeneratorOptions) => {
|
|
95
|
+
await ideHelpers(options)
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
stacks
|
|
99
|
+
.command('generate:component-meta', descriptions.componentMeta)
|
|
100
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
101
|
+
.action(async (options: GeneratorOptions) => {
|
|
102
|
+
await componentMeta(options)
|
|
103
|
+
})
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function hasNoOptions(options: GeneratorOptions) {
|
|
107
|
+
return !options.types && !options.entries && !options.webTypes && !options.customData && !options.ideHelpers && !options.vueCompatibility && !options.componentMeta
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export { generate }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from './build'
|
|
2
|
+
export * from './clean'
|
|
3
|
+
export * from './commit'
|
|
4
|
+
export * from './create'
|
|
5
|
+
export * from './dev'
|
|
6
|
+
export * from './example'
|
|
7
|
+
export * from './fresh'
|
|
8
|
+
export * from './generate'
|
|
9
|
+
export * from './lint'
|
|
10
|
+
export * from './key'
|
|
11
|
+
export * from './make'
|
|
12
|
+
export * from './prepublish'
|
|
13
|
+
export * from './preinstall'
|
|
14
|
+
export * from './release'
|
|
15
|
+
export * from './setup'
|
|
16
|
+
export * from './test'
|
|
17
|
+
export * from './types'
|
|
18
|
+
export * from './update'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CLI, KeyOptions } from '@stacksjs/types'
|
|
2
|
+
import { generate as generateAppKey } from '@stacksjs/actions/key'
|
|
3
|
+
|
|
4
|
+
async function key(stacks: CLI) {
|
|
5
|
+
const descriptions = {
|
|
6
|
+
command: 'Generate & set the application key.',
|
|
7
|
+
debug: 'Enable debug mode',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
stacks
|
|
11
|
+
.command('key:generate', descriptions.command)
|
|
12
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
13
|
+
.action(async (options: KeyOptions) => {
|
|
14
|
+
await generateAppKey(options)
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { key }
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CLI, LintOptions } from '@stacksjs/types'
|
|
2
|
+
import { invoke, lintFix } from '@stacksjs/actions/lint'
|
|
3
|
+
|
|
4
|
+
const descriptions = {
|
|
5
|
+
lint: 'Automagically lints your codebase',
|
|
6
|
+
lintFix: 'Automagically fixes lint errors',
|
|
7
|
+
debug: 'Enable debug mode',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async function lint(stacks: CLI) {
|
|
11
|
+
stacks
|
|
12
|
+
.command('lint', descriptions.lint)
|
|
13
|
+
.option('-f, --fix', descriptions.lintFix, { default: false })
|
|
14
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
15
|
+
.action(async (options: LintOptions) => {
|
|
16
|
+
await invoke(options)
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
stacks
|
|
20
|
+
.command('lint:fix', descriptions.lintFix)
|
|
21
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
22
|
+
.action(async (options: LintOptions) => {
|
|
23
|
+
await lintFix(options)
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { lint }
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { ExitCode } from '@stacksjs/types'
|
|
2
|
+
import type { CLI, MakeOptions } from '@stacksjs/types'
|
|
3
|
+
import { log, prompts } from '@stacksjs/cli'
|
|
4
|
+
import {
|
|
5
|
+
invoke,
|
|
6
|
+
component as makeComponent,
|
|
7
|
+
database as makeDatabase,
|
|
8
|
+
factory as makeFactory,
|
|
9
|
+
fx as makeFunction,
|
|
10
|
+
language as makeLanguage,
|
|
11
|
+
migration as makeMigration,
|
|
12
|
+
notification as makeNotification,
|
|
13
|
+
page as makePage,
|
|
14
|
+
stack as makeStack,
|
|
15
|
+
} from '@stacksjs/actions/make'
|
|
16
|
+
|
|
17
|
+
const descriptions = {
|
|
18
|
+
component: 'Create a new component',
|
|
19
|
+
page: 'Create a new page',
|
|
20
|
+
function: 'Create a new function',
|
|
21
|
+
language: 'Create a new language',
|
|
22
|
+
database: 'Create a new database',
|
|
23
|
+
migration: 'Create a new migration',
|
|
24
|
+
factory: 'Create a new factory',
|
|
25
|
+
notification: 'Create a new notification',
|
|
26
|
+
stack: 'Create a new new stack',
|
|
27
|
+
debug: 'Enable debug mode',
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async function make(stacks: CLI) {
|
|
31
|
+
stacks
|
|
32
|
+
.command('make', 'The make command')
|
|
33
|
+
.option('-c, --component', descriptions.component, { default: false })
|
|
34
|
+
.option('-p, --page', descriptions.page, { default: false })
|
|
35
|
+
.option('-f, --function', descriptions.function, { default: false })
|
|
36
|
+
.option('-l, --language', descriptions.language, { default: false })
|
|
37
|
+
.option('-d, --database', descriptions.database, { default: false })
|
|
38
|
+
.option('-m, --migration', descriptions.migration, { default: false })
|
|
39
|
+
.option('-f, --factory', descriptions.factory, { default: false })
|
|
40
|
+
.option('-n, --notification', descriptions.notification, { default: false })
|
|
41
|
+
.option('-s, --stack', descriptions.stack, { default: false })
|
|
42
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
43
|
+
.action(async (options: MakeOptions) => {
|
|
44
|
+
const name = stacks.args[0]
|
|
45
|
+
|
|
46
|
+
if (!name) {
|
|
47
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
48
|
+
process.exit()
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (hasNoOptions(options)) {
|
|
52
|
+
const answers = await prompts.multiselect({
|
|
53
|
+
type: 'multiselect',
|
|
54
|
+
name: 'make',
|
|
55
|
+
message: 'What are you trying to make?',
|
|
56
|
+
choices: [
|
|
57
|
+
{ title: 'Component', value: 'component' },
|
|
58
|
+
{ title: 'Function', value: 'function' },
|
|
59
|
+
{ title: 'Page', value: 'page' },
|
|
60
|
+
{ title: 'Language', value: 'language' },
|
|
61
|
+
{ title: 'Notification', value: 'notification' },
|
|
62
|
+
{ title: 'Database', value: 'database' },
|
|
63
|
+
{ title: 'Migration', value: 'migration' },
|
|
64
|
+
{ title: 'Factory', value: 'factory' },
|
|
65
|
+
{ title: 'Stack', value: 'stack' },
|
|
66
|
+
],
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
// creates an object out of array and sets answers to true
|
|
70
|
+
options = answers.reduce((a: any, v: any) => ({ ...a, [v]: true }), {})
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
await invoke(options)
|
|
74
|
+
|
|
75
|
+
process.exit(ExitCode.Success)
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
stacks
|
|
79
|
+
.command('make:component', descriptions.component)
|
|
80
|
+
.option('--n, -name', 'The name of the component')
|
|
81
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
82
|
+
.action(async (options: MakeOptions) => {
|
|
83
|
+
const name = stacks.args[0] || options.name
|
|
84
|
+
options.name = name
|
|
85
|
+
|
|
86
|
+
if (!name) {
|
|
87
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
88
|
+
process.exit()
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
await makeComponent(options)
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
stacks
|
|
95
|
+
.command('make:database', descriptions.database)
|
|
96
|
+
.option('--n, -name', 'The name of the database')
|
|
97
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
98
|
+
.action(async (options: MakeOptions) => {
|
|
99
|
+
const name = stacks.args[0] || options.name
|
|
100
|
+
options.name = name
|
|
101
|
+
|
|
102
|
+
if (!name) {
|
|
103
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
104
|
+
process.exit()
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
await makeDatabase(options)
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
stacks
|
|
111
|
+
.command('make:migration', descriptions.migration)
|
|
112
|
+
.option('--n, -name', 'The name of the migration')
|
|
113
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
114
|
+
.action(async (options: MakeOptions) => {
|
|
115
|
+
const name = stacks.args[0] || options.name
|
|
116
|
+
options.name = name
|
|
117
|
+
|
|
118
|
+
if (!name) {
|
|
119
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
120
|
+
process.exit()
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
await makeMigration(options)
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
stacks
|
|
127
|
+
.command('make:factory', descriptions.factory)
|
|
128
|
+
.option('--n, -name', 'The name of the factory')
|
|
129
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
130
|
+
.action(async (options: MakeOptions) => {
|
|
131
|
+
const name = stacks.args[0] || options.name
|
|
132
|
+
options.name = name
|
|
133
|
+
|
|
134
|
+
if (!name) {
|
|
135
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
136
|
+
process.exit()
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
await makeFactory(options)
|
|
140
|
+
})
|
|
141
|
+
|
|
142
|
+
stacks
|
|
143
|
+
.command('make:page', descriptions.page)
|
|
144
|
+
.option('--n, -name', 'The name of the page')
|
|
145
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
146
|
+
.action(async (options: MakeOptions) => {
|
|
147
|
+
const name = stacks.args[0] || options.name
|
|
148
|
+
options.name = name
|
|
149
|
+
|
|
150
|
+
if (!name) {
|
|
151
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
152
|
+
process.exit()
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
await makePage(options)
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
stacks
|
|
159
|
+
.command('make:function', descriptions.function)
|
|
160
|
+
.option('--n, -name', 'The name of the function')
|
|
161
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
162
|
+
.action(async (options: MakeOptions) => {
|
|
163
|
+
await makeFunction(options)
|
|
164
|
+
})
|
|
165
|
+
|
|
166
|
+
stacks
|
|
167
|
+
.command('make:lang', descriptions.language)
|
|
168
|
+
.option('--n, -name', 'The name of the language')
|
|
169
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
170
|
+
.action(async (options: MakeOptions) => {
|
|
171
|
+
const name = stacks.args[0] || options.name
|
|
172
|
+
options.name = name
|
|
173
|
+
|
|
174
|
+
if (!name) {
|
|
175
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
176
|
+
process.exit()
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
await makeLanguage(options)
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
stacks
|
|
183
|
+
.command('make:notification', descriptions.notification)
|
|
184
|
+
.option('--n, -name', 'The name of the notification')
|
|
185
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
186
|
+
.action(async (options: MakeOptions) => {
|
|
187
|
+
const name = stacks.args[0] || options.name
|
|
188
|
+
options.name = name
|
|
189
|
+
|
|
190
|
+
if (!name) {
|
|
191
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
192
|
+
process.exit()
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
await makeNotification(options)
|
|
196
|
+
})
|
|
197
|
+
|
|
198
|
+
stacks
|
|
199
|
+
.command('make:stack', descriptions.stack)
|
|
200
|
+
.option('--n, -name', 'The name of the stack')
|
|
201
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
202
|
+
.action(async (options: MakeOptions) => {
|
|
203
|
+
const name = stacks.args[0] || options.name
|
|
204
|
+
options.name = name
|
|
205
|
+
|
|
206
|
+
if (!name) {
|
|
207
|
+
log.error('You need to specify a name. Read more about the documentation here.')
|
|
208
|
+
process.exit()
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
await makeStack(options)
|
|
212
|
+
})
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function hasNoOptions(options: MakeOptions) {
|
|
216
|
+
return !options.component && !options.page && !options.function && !options.language && !options.database && !options.migration && !options.factory && !options.notification && !options.stack
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export { make }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CLI, PreinstallOptions } from '@stacksjs/types'
|
|
2
|
+
import { invoke } from '@stacksjs/actions/preinstall'
|
|
3
|
+
|
|
4
|
+
const descriptions = {
|
|
5
|
+
command: 'Run your preinstall script',
|
|
6
|
+
debug: 'Enable debug mode',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
async function preinstall(stacks: CLI) {
|
|
10
|
+
stacks
|
|
11
|
+
.command('preinstall', descriptions.command)
|
|
12
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
13
|
+
.action(async (options: PreinstallOptions) => {
|
|
14
|
+
await invoke(options)
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { preinstall }
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CLI, PrepublishOptions } from '@stacksjs/types'
|
|
2
|
+
import { Action } from '@stacksjs/types'
|
|
3
|
+
import { runAction } from '@stacksjs/actions'
|
|
4
|
+
|
|
5
|
+
const descriptions = {
|
|
6
|
+
command: 'Run your prepublish script',
|
|
7
|
+
debug: 'Enable debug mode',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async function prepublish(stacks: CLI) {
|
|
11
|
+
stacks
|
|
12
|
+
.command('prepublish', descriptions.command)
|
|
13
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
14
|
+
.action(async (options: PrepublishOptions) => {
|
|
15
|
+
await runAction(Action.Prepublish, options)
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { prepublish }
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CLI, ReleaseOptions } from '@stacksjs/types'
|
|
2
|
+
import { intro, log, outro } from '@stacksjs/cli'
|
|
3
|
+
import { runAction } from '@stacksjs/actions'
|
|
4
|
+
import { Action } from '@stacksjs/types'
|
|
5
|
+
|
|
6
|
+
const descriptions = {
|
|
7
|
+
release: 'Release a new version of your libraries/packages',
|
|
8
|
+
debug: 'Enable debug mode',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async function release(stacks: CLI) {
|
|
12
|
+
stacks
|
|
13
|
+
.command('release', descriptions.release)
|
|
14
|
+
.option('--debug', descriptions.debug, { default: true }) // it's on by default because it requires manual input
|
|
15
|
+
.action(async (options: ReleaseOptions) => {
|
|
16
|
+
const perf = intro('buddy release')
|
|
17
|
+
const result = await runAction(Action.Release, options)
|
|
18
|
+
|
|
19
|
+
if (result.isErr()) {
|
|
20
|
+
log.error('Failed to trigger the CI/CD release workflow.', result.error)
|
|
21
|
+
process.exit()
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
outro('Triggered CI/CD release workflow', { startTime: perf, useSeconds: true })
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { release }
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { runCommand } from '@stacksjs/cli'
|
|
2
|
+
import type { CLI, CliOptions } from '@stacksjs/types'
|
|
3
|
+
|
|
4
|
+
const descriptions = {
|
|
5
|
+
ensure: 'This command checks whether Node is installed. pnpm is checked via `only-allow` preinstall hook',
|
|
6
|
+
setup: 'This command installs Node & pnpm',
|
|
7
|
+
debug: 'Enable debug mode',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async function setup(stacks: CLI) {
|
|
11
|
+
stacks
|
|
12
|
+
.command('ensure', descriptions.ensure)
|
|
13
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
14
|
+
.action(async (options: CliOptions) => {
|
|
15
|
+
await runCommand('pnpm install', options)
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
stacks
|
|
19
|
+
.command('setup', descriptions.setup)
|
|
20
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
21
|
+
.action(async (options: CliOptions) => {
|
|
22
|
+
await runCommand('pnpm env use', options)
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { setup }
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { CLI, TestOptions } from '@stacksjs/types'
|
|
2
|
+
import { invoke, testCoverageReport, testUi, typecheck } from '@stacksjs/actions/test'
|
|
3
|
+
|
|
4
|
+
const descriptions = {
|
|
5
|
+
command: 'Runs your test suite',
|
|
6
|
+
types: 'Typechecks your codebase',
|
|
7
|
+
coverage: 'Generates a test coverage report',
|
|
8
|
+
debug: 'Enable debug mode',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async function test(stacks: CLI) {
|
|
12
|
+
stacks
|
|
13
|
+
.command('test', descriptions.command)
|
|
14
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
15
|
+
.action(async (options: TestOptions) => {
|
|
16
|
+
await invoke(options)
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
stacks
|
|
20
|
+
.command('test:ui', descriptions.command)
|
|
21
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
22
|
+
.action(async (options: TestOptions) => {
|
|
23
|
+
await testUi(options)
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
stacks
|
|
27
|
+
.command('test:types', descriptions.types)
|
|
28
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
29
|
+
.action(async (options: TestOptions) => {
|
|
30
|
+
await typecheck(options)
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
stacks
|
|
34
|
+
.command('test:coverage', descriptions.coverage)
|
|
35
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
36
|
+
.action(async (options: TestOptions) => {
|
|
37
|
+
await testCoverageReport(options)
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { test }
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CLI } from '@stacksjs/types'
|
|
2
|
+
import { types as generateTypes } from '@stacksjs/actions/generate'
|
|
3
|
+
|
|
4
|
+
const descriptions = {
|
|
5
|
+
generate: 'Generate the types of & for your library/libraries',
|
|
6
|
+
fix: 'wip',
|
|
7
|
+
debug: 'Enable debug mode',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async function types(stacks: CLI) {
|
|
11
|
+
stacks
|
|
12
|
+
.command('types:generate', descriptions.generate)
|
|
13
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
14
|
+
.action(async () => {
|
|
15
|
+
await generateTypes()
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
stacks
|
|
19
|
+
.command('types:fix', descriptions.fix)
|
|
20
|
+
.option('--debug', descriptions.debug, { default: false })
|
|
21
|
+
.action(async () => {
|
|
22
|
+
// await fixTypes()
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { types }
|