ads-fe 0.0.1
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/README.md +99 -0
- package/dist/cli.js +545 -0
- package/dist/meta.js +93 -0
- package/package.json +43 -0
- package/skill.md +66 -0
- package/skills/core/SKILL.md +66 -0
- package/skills/core/references/app-development.md +45 -0
- package/skills/core/references/git.md +66 -0
- package/skills/core/references/monorepo.md +124 -0
- package/skills/element-plus-vue3/LICENSE.md +405 -0
- package/skills/element-plus-vue3/LICENSE.txt +202 -0
- package/skills/element-plus-vue3/SKILL.md +218 -0
- package/skills/element-plus-vue3/SYNC.md +5 -0
- package/skills/element-plus-vue3/api/component-api.md +94 -0
- package/skills/element-plus-vue3/api/global-config.md +89 -0
- package/skills/element-plus-vue3/api/props-and-events.md +101 -0
- package/skills/element-plus-vue3/examples/components/button.md +99 -0
- package/skills/element-plus-vue3/examples/components/date-picker.md +115 -0
- package/skills/element-plus-vue3/examples/components/dialog.md +106 -0
- package/skills/element-plus-vue3/examples/components/form.md +127 -0
- package/skills/element-plus-vue3/examples/components/input.md +123 -0
- package/skills/element-plus-vue3/examples/components/message.md +93 -0
- package/skills/element-plus-vue3/examples/components/overview.md +59 -0
- package/skills/element-plus-vue3/examples/components/select.md +133 -0
- package/skills/element-plus-vue3/examples/components/table.md +166 -0
- package/skills/element-plus-vue3/examples/guide/design.md +68 -0
- package/skills/element-plus-vue3/examples/guide/global-config.md +95 -0
- package/skills/element-plus-vue3/examples/guide/i18n.md +95 -0
- package/skills/element-plus-vue3/examples/guide/installation.md +110 -0
- package/skills/element-plus-vue3/examples/guide/quick-start.md +103 -0
- package/skills/element-plus-vue3/examples/guide/theme.md +78 -0
- package/skills/element-plus-vue3/templates/component-usage.md +92 -0
- package/skills/element-plus-vue3/templates/installation.md +82 -0
- package/skills/element-plus-vue3/templates/project-setup.md +83 -0
- package/skills/node/LICENSE.md +21 -0
- package/skills/node/SKILL.md +94 -0
- package/skills/node/SYNC.md +5 -0
- package/skills/node/rules/assets/graceful-server.test.ts +88 -0
- package/skills/node/rules/assets/graceful-server.ts +80 -0
- package/skills/node/rules/async-patterns.md +136 -0
- package/skills/node/rules/caching.md +198 -0
- package/skills/node/rules/environment.md +253 -0
- package/skills/node/rules/error-handling.md +164 -0
- package/skills/node/rules/flaky-tests.md +439 -0
- package/skills/node/rules/graceful-shutdown.md +204 -0
- package/skills/node/rules/logging.md +205 -0
- package/skills/node/rules/modules.md +105 -0
- package/skills/node/rules/node-modules-exploration.md +172 -0
- package/skills/node/rules/performance.md +130 -0
- package/skills/node/rules/profiling.md +183 -0
- package/skills/node/rules/streams.md +213 -0
- package/skills/node/rules/stuck-processes-and-tests.md +124 -0
- package/skills/node/rules/testing.md +218 -0
- package/skills/node/rules/typescript.md +262 -0
- package/skills/node/tile.json +11 -0
- package/skills/nuxt/GENERATION.md +5 -0
- package/skills/nuxt/LICENSE.md +21 -0
- package/skills/nuxt/SKILL.md +55 -0
- package/skills/nuxt/SYNC.md +5 -0
- package/skills/nuxt/references/advanced-hooks.md +289 -0
- package/skills/nuxt/references/advanced-layers.md +299 -0
- package/skills/nuxt/references/advanced-module-authoring.md +554 -0
- package/skills/nuxt/references/best-practices-data-fetching.md +357 -0
- package/skills/nuxt/references/best-practices-ssr.md +355 -0
- package/skills/nuxt/references/core-cli.md +263 -0
- package/skills/nuxt/references/core-config.md +162 -0
- package/skills/nuxt/references/core-data-fetching.md +236 -0
- package/skills/nuxt/references/core-deployment.md +224 -0
- package/skills/nuxt/references/core-directory-structure.md +269 -0
- package/skills/nuxt/references/core-modules.md +292 -0
- package/skills/nuxt/references/core-routing.md +226 -0
- package/skills/nuxt/references/features-components-autoimport.md +328 -0
- package/skills/nuxt/references/features-components.md +264 -0
- package/skills/nuxt/references/features-composables.md +276 -0
- package/skills/nuxt/references/features-server.md +265 -0
- package/skills/nuxt/references/features-state.md +194 -0
- package/skills/nuxt/references/rendering-modes.md +237 -0
- package/skills/pinia/GENERATION.md +5 -0
- package/skills/pinia/LICENSE.md +21 -0
- package/skills/pinia/SKILL.md +59 -0
- package/skills/pinia/SYNC.md +5 -0
- package/skills/pinia/references/advanced-hmr.md +61 -0
- package/skills/pinia/references/advanced-nuxt.md +119 -0
- package/skills/pinia/references/advanced-ssr.md +121 -0
- package/skills/pinia/references/best-practices-outside-component.md +115 -0
- package/skills/pinia/references/best-practices-testing.md +212 -0
- package/skills/pinia/references/core-stores.md +389 -0
- package/skills/pinia/references/features-composables.md +114 -0
- package/skills/pinia/references/features-composing-stores.md +134 -0
- package/skills/pinia/references/features-plugins.md +203 -0
- package/skills/pnpm/GENERATION.md +5 -0
- package/skills/pnpm/LICENSE.md +21 -0
- package/skills/pnpm/SKILL.md +42 -0
- package/skills/pnpm/SYNC.md +5 -0
- package/skills/pnpm/references/best-practices-ci.md +285 -0
- package/skills/pnpm/references/best-practices-migration.md +291 -0
- package/skills/pnpm/references/best-practices-performance.md +284 -0
- package/skills/pnpm/references/core-cli.md +229 -0
- package/skills/pnpm/references/core-config.md +188 -0
- package/skills/pnpm/references/core-store.md +179 -0
- package/skills/pnpm/references/core-workspaces.md +205 -0
- package/skills/pnpm/references/features-aliases.md +168 -0
- package/skills/pnpm/references/features-catalogs.md +159 -0
- package/skills/pnpm/references/features-hooks.md +233 -0
- package/skills/pnpm/references/features-overrides.md +184 -0
- package/skills/pnpm/references/features-patches.md +201 -0
- package/skills/pnpm/references/features-peer-deps.md +250 -0
- package/skills/slidev/LICENSE.md +21 -0
- package/skills/slidev/README.md +61 -0
- package/skills/slidev/SKILL.md +189 -0
- package/skills/slidev/SYNC.md +5 -0
- package/skills/slidev/references/animation-click-marker.md +37 -0
- package/skills/slidev/references/animation-drawing.md +68 -0
- package/skills/slidev/references/animation-rough-marker.md +53 -0
- package/skills/slidev/references/api-slide-hooks.md +37 -0
- package/skills/slidev/references/build-og-image.md +36 -0
- package/skills/slidev/references/build-pdf.md +40 -0
- package/skills/slidev/references/build-remote-assets.md +34 -0
- package/skills/slidev/references/build-seo-meta.md +43 -0
- package/skills/slidev/references/code-groups.md +64 -0
- package/skills/slidev/references/code-import-snippet.md +55 -0
- package/skills/slidev/references/code-line-highlighting.md +50 -0
- package/skills/slidev/references/code-line-numbers.md +46 -0
- package/skills/slidev/references/code-magic-move.md +57 -0
- package/skills/slidev/references/code-max-height.md +37 -0
- package/skills/slidev/references/code-twoslash.md +42 -0
- package/skills/slidev/references/core-animations.md +196 -0
- package/skills/slidev/references/core-cli.md +140 -0
- package/skills/slidev/references/core-components.md +197 -0
- package/skills/slidev/references/core-exporting.md +148 -0
- package/skills/slidev/references/core-frontmatter.md +195 -0
- package/skills/slidev/references/core-global-context.md +155 -0
- package/skills/slidev/references/core-headmatter.md +188 -0
- package/skills/slidev/references/core-hosting.md +152 -0
- package/skills/slidev/references/core-layouts.md +286 -0
- package/skills/slidev/references/core-syntax.md +155 -0
- package/skills/slidev/references/diagram-latex.md +55 -0
- package/skills/slidev/references/diagram-mermaid.md +44 -0
- package/skills/slidev/references/diagram-plantuml.md +45 -0
- package/skills/slidev/references/editor-monaco-run.md +44 -0
- package/skills/slidev/references/editor-monaco-write.md +24 -0
- package/skills/slidev/references/editor-monaco.md +50 -0
- package/skills/slidev/references/editor-prettier.md +40 -0
- package/skills/slidev/references/editor-side.md +23 -0
- package/skills/slidev/references/editor-vscode.md +55 -0
- package/skills/slidev/references/layout-canvas-size.md +25 -0
- package/skills/slidev/references/layout-draggable.md +57 -0
- package/skills/slidev/references/layout-global-layers.md +50 -0
- package/skills/slidev/references/layout-slots.md +75 -0
- package/skills/slidev/references/layout-transform.md +33 -0
- package/skills/slidev/references/layout-zoom.md +39 -0
- package/skills/slidev/references/presenter-notes-ruby.md +35 -0
- package/skills/slidev/references/presenter-recording.md +30 -0
- package/skills/slidev/references/presenter-remote.md +40 -0
- package/skills/slidev/references/presenter-timer.md +34 -0
- package/skills/slidev/references/style-direction.md +34 -0
- package/skills/slidev/references/style-icons.md +46 -0
- package/skills/slidev/references/style-scoped.md +50 -0
- package/skills/slidev/references/syntax-block-frontmatter.md +39 -0
- package/skills/slidev/references/syntax-comark.md +51 -0
- package/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
- package/skills/slidev/references/syntax-importing-slides.md +60 -0
- package/skills/slidev/references/tool-eject-theme.md +27 -0
- package/skills/tsdown/LICENSE.md +22 -0
- package/skills/tsdown/README.md +77 -0
- package/skills/tsdown/SKILL.md +416 -0
- package/skills/tsdown/SYNC.md +5 -0
- package/skills/tsdown/references/README.md +139 -0
- package/skills/tsdown/references/advanced-benchmark.md +8 -0
- package/skills/tsdown/references/advanced-ci.md +89 -0
- package/skills/tsdown/references/advanced-hooks.md +363 -0
- package/skills/tsdown/references/advanced-plugins.md +381 -0
- package/skills/tsdown/references/advanced-programmatic.md +378 -0
- package/skills/tsdown/references/advanced-rolldown-options.md +117 -0
- package/skills/tsdown/references/guide-getting-started.md +183 -0
- package/skills/tsdown/references/guide-introduction.md +42 -0
- package/skills/tsdown/references/guide-migrate-from-tsup.md +199 -0
- package/skills/tsdown/references/option-cjs-default.md +98 -0
- package/skills/tsdown/references/option-cleaning.md +275 -0
- package/skills/tsdown/references/option-config-file.md +291 -0
- package/skills/tsdown/references/option-css.md +301 -0
- package/skills/tsdown/references/option-dependencies.md +385 -0
- package/skills/tsdown/references/option-dts.md +251 -0
- package/skills/tsdown/references/option-entry.md +211 -0
- package/skills/tsdown/references/option-exe.md +120 -0
- package/skills/tsdown/references/option-lint.md +127 -0
- package/skills/tsdown/references/option-log-level.md +91 -0
- package/skills/tsdown/references/option-minification.md +177 -0
- package/skills/tsdown/references/option-output-directory.md +272 -0
- package/skills/tsdown/references/option-output-format.md +183 -0
- package/skills/tsdown/references/option-package-exports.md +320 -0
- package/skills/tsdown/references/option-platform.md +256 -0
- package/skills/tsdown/references/option-root.md +88 -0
- package/skills/tsdown/references/option-shims.md +299 -0
- package/skills/tsdown/references/option-sourcemap.md +301 -0
- package/skills/tsdown/references/option-target.md +222 -0
- package/skills/tsdown/references/option-tree-shaking.md +335 -0
- package/skills/tsdown/references/option-unbundle.md +310 -0
- package/skills/tsdown/references/option-watch-mode.md +261 -0
- package/skills/tsdown/references/recipe-react.md +338 -0
- package/skills/tsdown/references/recipe-solid.md +42 -0
- package/skills/tsdown/references/recipe-svelte.md +54 -0
- package/skills/tsdown/references/recipe-vue.md +387 -0
- package/skills/tsdown/references/recipe-wasm.md +125 -0
- package/skills/tsdown/references/reference-cli.md +472 -0
- package/skills/turborepo/LICENSE.md +7 -0
- package/skills/turborepo/SKILL.md +951 -0
- package/skills/turborepo/SYNC.md +5 -0
- package/skills/turborepo/command/turborepo.md +70 -0
- package/skills/turborepo/references/best-practices/RULE.md +241 -0
- package/skills/turborepo/references/best-practices/dependencies.md +246 -0
- package/skills/turborepo/references/best-practices/packages.md +335 -0
- package/skills/turborepo/references/best-practices/structure.md +297 -0
- package/skills/turborepo/references/boundaries/RULE.md +126 -0
- package/skills/turborepo/references/caching/RULE.md +153 -0
- package/skills/turborepo/references/caching/gotchas.md +190 -0
- package/skills/turborepo/references/caching/remote-cache.md +127 -0
- package/skills/turborepo/references/ci/RULE.md +79 -0
- package/skills/turborepo/references/ci/github-actions.md +162 -0
- package/skills/turborepo/references/ci/patterns.md +145 -0
- package/skills/turborepo/references/ci/vercel.md +103 -0
- package/skills/turborepo/references/cli/RULE.md +100 -0
- package/skills/turborepo/references/cli/commands.md +297 -0
- package/skills/turborepo/references/configuration/RULE.md +235 -0
- package/skills/turborepo/references/configuration/global-options.md +239 -0
- package/skills/turborepo/references/configuration/gotchas.md +368 -0
- package/skills/turborepo/references/configuration/tasks.md +325 -0
- package/skills/turborepo/references/environment/RULE.md +123 -0
- package/skills/turborepo/references/environment/gotchas.md +175 -0
- package/skills/turborepo/references/environment/modes.md +101 -0
- package/skills/turborepo/references/filtering/RULE.md +148 -0
- package/skills/turborepo/references/filtering/patterns.md +152 -0
- package/skills/turborepo/references/watch/RULE.md +99 -0
- package/skills/vite/GENERATION.md +5 -0
- package/skills/vite/LICENSE.md +21 -0
- package/skills/vite/SKILL.md +72 -0
- package/skills/vite/SYNC.md +5 -0
- package/skills/vite/references/build-and-ssr.md +164 -0
- package/skills/vite/references/core-config.md +162 -0
- package/skills/vite/references/core-features.md +205 -0
- package/skills/vite/references/core-plugin-api.md +235 -0
- package/skills/vite/references/environment-api.md +108 -0
- package/skills/vite/references/rolldown-migration.md +157 -0
- package/skills/vitepress/GENERATION.md +5 -0
- package/skills/vitepress/LICENSE.md +21 -0
- package/skills/vitepress/SKILL.md +65 -0
- package/skills/vitepress/SYNC.md +5 -0
- package/skills/vitepress/references/advanced-i18n.md +299 -0
- package/skills/vitepress/references/advanced-ssr.md +228 -0
- package/skills/vitepress/references/core-cli.md +119 -0
- package/skills/vitepress/references/core-config.md +189 -0
- package/skills/vitepress/references/core-markdown.md +277 -0
- package/skills/vitepress/references/core-routing.md +169 -0
- package/skills/vitepress/references/features-code-blocks.md +243 -0
- package/skills/vitepress/references/features-data-loading.md +220 -0
- package/skills/vitepress/references/features-dynamic-routes.md +235 -0
- package/skills/vitepress/references/features-vue.md +224 -0
- package/skills/vitepress/references/recipes-deploy.md +240 -0
- package/skills/vitepress/references/theme-config.md +315 -0
- package/skills/vitepress/references/theme-custom.md +269 -0
- package/skills/vitepress/references/theme-customization.md +290 -0
- package/skills/vitest/GENERATION.md +5 -0
- package/skills/vitest/LICENSE.md +21 -0
- package/skills/vitest/SKILL.md +52 -0
- package/skills/vitest/SYNC.md +5 -0
- package/skills/vitest/references/advanced-environments.md +264 -0
- package/skills/vitest/references/advanced-projects.md +300 -0
- package/skills/vitest/references/advanced-type-testing.md +237 -0
- package/skills/vitest/references/advanced-vi.md +249 -0
- package/skills/vitest/references/core-cli.md +166 -0
- package/skills/vitest/references/core-config.md +174 -0
- package/skills/vitest/references/core-describe.md +193 -0
- package/skills/vitest/references/core-expect.md +219 -0
- package/skills/vitest/references/core-hooks.md +244 -0
- package/skills/vitest/references/core-test-api.md +233 -0
- package/skills/vitest/references/features-concurrency.md +250 -0
- package/skills/vitest/references/features-context.md +238 -0
- package/skills/vitest/references/features-coverage.md +207 -0
- package/skills/vitest/references/features-filtering.md +211 -0
- package/skills/vitest/references/features-mocking.md +265 -0
- package/skills/vitest/references/features-snapshots.md +207 -0
- package/skills/vue/GENERATION.md +5 -0
- package/skills/vue/LICENSE.md +21 -0
- package/skills/vue/SKILL.md +84 -0
- package/skills/vue/SYNC.md +5 -0
- package/skills/vue/references/advanced-patterns.md +314 -0
- package/skills/vue/references/core-new-apis.md +264 -0
- package/skills/vue/references/script-setup-macros.md +204 -0
- package/skills/vue-best-practices/LICENSE.md +21 -0
- package/skills/vue-best-practices/SKILL.md +154 -0
- package/skills/vue-best-practices/SYNC.md +5 -0
- package/skills/vue-best-practices/references/animation-class-based-technique.md +254 -0
- package/skills/vue-best-practices/references/animation-state-driven-technique.md +291 -0
- package/skills/vue-best-practices/references/component-async.md +97 -0
- package/skills/vue-best-practices/references/component-data-flow.md +307 -0
- package/skills/vue-best-practices/references/component-fallthrough-attrs.md +174 -0
- package/skills/vue-best-practices/references/component-keep-alive.md +137 -0
- package/skills/vue-best-practices/references/component-slots.md +216 -0
- package/skills/vue-best-practices/references/component-suspense.md +228 -0
- package/skills/vue-best-practices/references/component-teleport.md +108 -0
- package/skills/vue-best-practices/references/component-transition-group.md +128 -0
- package/skills/vue-best-practices/references/component-transition.md +125 -0
- package/skills/vue-best-practices/references/composables.md +290 -0
- package/skills/vue-best-practices/references/directives.md +162 -0
- package/skills/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -0
- package/skills/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -0
- package/skills/vue-best-practices/references/perf-virtualize-large-lists.md +187 -0
- package/skills/vue-best-practices/references/plugins.md +166 -0
- package/skills/vue-best-practices/references/reactivity.md +344 -0
- package/skills/vue-best-practices/references/render-functions.md +201 -0
- package/skills/vue-best-practices/references/sfc.md +310 -0
- package/skills/vue-best-practices/references/state-management.md +135 -0
- package/skills/vue-best-practices/references/updated-hook-performance.md +187 -0
- package/skills/vue-router-best-practices/LICENSE.md +21 -0
- package/skills/vue-router-best-practices/SKILL.md +23 -0
- package/skills/vue-router-best-practices/SYNC.md +5 -0
- package/skills/vue-router-best-practices/reference/router-beforeenter-no-param-trigger.md +167 -0
- package/skills/vue-router-best-practices/reference/router-beforerouteenter-no-this.md +176 -0
- package/skills/vue-router-best-practices/reference/router-guard-async-await-pattern.md +227 -0
- package/skills/vue-router-best-practices/reference/router-navigation-guard-infinite-loop.md +187 -0
- package/skills/vue-router-best-practices/reference/router-navigation-guard-next-deprecated.md +150 -0
- package/skills/vue-router-best-practices/reference/router-param-change-no-lifecycle.md +181 -0
- package/skills/vue-router-best-practices/reference/router-simple-routing-cleanup.md +209 -0
- package/skills/vue-router-best-practices/reference/router-use-vue-router-for-production.md +183 -0
- package/skills/vue-testing-best-practices/LICENSE.md +21 -0
- package/skills/vue-testing-best-practices/SKILL.md +29 -0
- package/skills/vue-testing-best-practices/SYNC.md +5 -0
- package/skills/vue-testing-best-practices/reference/async-component-testing.md +163 -0
- package/skills/vue-testing-best-practices/reference/teleport-testing-complexity.md +158 -0
- package/skills/vue-testing-best-practices/reference/testing-async-await-flushpromises.md +175 -0
- package/skills/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md +208 -0
- package/skills/vue-testing-best-practices/reference/testing-component-blackbox-approach.md +144 -0
- package/skills/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md +238 -0
- package/skills/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md +242 -0
- package/skills/vue-testing-best-practices/reference/testing-no-snapshot-only.md +197 -0
- package/skills/vue-testing-best-practices/reference/testing-pinia-store-setup.md +228 -0
- package/skills/vue-testing-best-practices/reference/testing-suspense-async-components.md +229 -0
- package/skills/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md +204 -0
- package/skills/vueuse-functions/LICENSE.md +21 -0
- package/skills/vueuse-functions/SKILL.md +419 -0
- package/skills/vueuse-functions/SYNC.md +5 -0
- package/skills/vueuse-functions/references/computedAsync.md +195 -0
- package/skills/vueuse-functions/references/computedEager.md +62 -0
- package/skills/vueuse-functions/references/computedInject.md +137 -0
- package/skills/vueuse-functions/references/computedWithControl.md +98 -0
- package/skills/vueuse-functions/references/createEventHook.md +86 -0
- package/skills/vueuse-functions/references/createGenericProjection.md +25 -0
- package/skills/vueuse-functions/references/createGlobalState.md +95 -0
- package/skills/vueuse-functions/references/createInjectionState.md +226 -0
- package/skills/vueuse-functions/references/createProjection.md +31 -0
- package/skills/vueuse-functions/references/createRef.md +54 -0
- package/skills/vueuse-functions/references/createReusableTemplate.md +361 -0
- package/skills/vueuse-functions/references/createSharedComposable.md +42 -0
- package/skills/vueuse-functions/references/createTemplatePromise.md +306 -0
- package/skills/vueuse-functions/references/createUnrefFn.md +51 -0
- package/skills/vueuse-functions/references/extendRef.md +76 -0
- package/skills/vueuse-functions/references/from.md +80 -0
- package/skills/vueuse-functions/references/get.md +30 -0
- package/skills/vueuse-functions/references/injectLocal.md +35 -0
- package/skills/vueuse-functions/references/isDefined.md +31 -0
- package/skills/vueuse-functions/references/logicAnd.md +40 -0
- package/skills/vueuse-functions/references/logicNot.md +36 -0
- package/skills/vueuse-functions/references/logicOr.md +40 -0
- package/skills/vueuse-functions/references/makeDestructurable.md +41 -0
- package/skills/vueuse-functions/references/onClickOutside.md +228 -0
- package/skills/vueuse-functions/references/onElementRemoval.md +88 -0
- package/skills/vueuse-functions/references/onKeyStroke.md +212 -0
- package/skills/vueuse-functions/references/onLongPress.md +235 -0
- package/skills/vueuse-functions/references/onStartTyping.md +53 -0
- package/skills/vueuse-functions/references/provideLocal.md +37 -0
- package/skills/vueuse-functions/references/reactify.md +144 -0
- package/skills/vueuse-functions/references/reactifyObject.md +62 -0
- package/skills/vueuse-functions/references/reactiveComputed.md +34 -0
- package/skills/vueuse-functions/references/reactiveOmit.md +86 -0
- package/skills/vueuse-functions/references/reactivePick.md +106 -0
- package/skills/vueuse-functions/references/refAutoReset.md +46 -0
- package/skills/vueuse-functions/references/refDebounced.md +81 -0
- package/skills/vueuse-functions/references/refDefault.md +36 -0
- package/skills/vueuse-functions/references/refManualReset.md +48 -0
- package/skills/vueuse-functions/references/refThrottled.md +99 -0
- package/skills/vueuse-functions/references/refWithControl.md +146 -0
- package/skills/vueuse-functions/references/set.md +30 -0
- package/skills/vueuse-functions/references/syncRef.md +195 -0
- package/skills/vueuse-functions/references/syncRefs.md +128 -0
- package/skills/vueuse-functions/references/templateRef.md +86 -0
- package/skills/vueuse-functions/references/toObserver.md +38 -0
- package/skills/vueuse-functions/references/toReactive.md +41 -0
- package/skills/vueuse-functions/references/toRef.md +74 -0
- package/skills/vueuse-functions/references/toRefs.md +78 -0
- package/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
- package/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
- package/skills/vueuse-functions/references/tryOnMounted.md +34 -0
- package/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
- package/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
- package/skills/vueuse-functions/references/unrefElement.md +54 -0
- package/skills/vueuse-functions/references/until.md +161 -0
- package/skills/vueuse-functions/references/useAbs.md +31 -0
- package/skills/vueuse-functions/references/useActiveElement.md +86 -0
- package/skills/vueuse-functions/references/useAnimate.md +180 -0
- package/skills/vueuse-functions/references/useArrayDifference.md +84 -0
- package/skills/vueuse-functions/references/useArrayEvery.md +59 -0
- package/skills/vueuse-functions/references/useArrayFilter.md +63 -0
- package/skills/vueuse-functions/references/useArrayFind.md +50 -0
- package/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
- package/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
- package/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
- package/skills/vueuse-functions/references/useArrayJoin.md +74 -0
- package/skills/vueuse-functions/references/useArrayMap.md +59 -0
- package/skills/vueuse-functions/references/useArrayReduce.md +81 -0
- package/skills/vueuse-functions/references/useArraySome.md +59 -0
- package/skills/vueuse-functions/references/useArrayUnique.md +76 -0
- package/skills/vueuse-functions/references/useAsyncQueue.md +136 -0
- package/skills/vueuse-functions/references/useAsyncState.md +185 -0
- package/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
- package/skills/vueuse-functions/references/useAuth.md +123 -0
- package/skills/vueuse-functions/references/useAverage.md +36 -0
- package/skills/vueuse-functions/references/useAxios.md +325 -0
- package/skills/vueuse-functions/references/useBase64.md +136 -0
- package/skills/vueuse-functions/references/useBattery.md +80 -0
- package/skills/vueuse-functions/references/useBluetooth.md +174 -0
- package/skills/vueuse-functions/references/useBreakpoints.md +176 -0
- package/skills/vueuse-functions/references/useBroadcastChannel.md +73 -0
- package/skills/vueuse-functions/references/useBrowserLocation.md +56 -0
- package/skills/vueuse-functions/references/useCached.md +52 -0
- package/skills/vueuse-functions/references/useCeil.md +31 -0
- package/skills/vueuse-functions/references/useChangeCase.md +79 -0
- package/skills/vueuse-functions/references/useClamp.md +85 -0
- package/skills/vueuse-functions/references/useClipboard.md +122 -0
- package/skills/vueuse-functions/references/useClipboardItems.md +93 -0
- package/skills/vueuse-functions/references/useCloned.md +91 -0
- package/skills/vueuse-functions/references/useColorMode.md +172 -0
- package/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
- package/skills/vueuse-functions/references/useCookies.md +162 -0
- package/skills/vueuse-functions/references/useCountdown.md +105 -0
- package/skills/vueuse-functions/references/useCounter.md +86 -0
- package/skills/vueuse-functions/references/useCssSupports.md +33 -0
- package/skills/vueuse-functions/references/useCssVar.md +50 -0
- package/skills/vueuse-functions/references/useCurrentElement.md +61 -0
- package/skills/vueuse-functions/references/useCycleList.md +75 -0
- package/skills/vueuse-functions/references/useDark.md +142 -0
- package/skills/vueuse-functions/references/useDateFormat.md +145 -0
- package/skills/vueuse-functions/references/useDebounceFn.md +100 -0
- package/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
- package/skills/vueuse-functions/references/useDeviceMotion.md +80 -0
- package/skills/vueuse-functions/references/useDeviceOrientation.md +64 -0
- package/skills/vueuse-functions/references/useDevicePixelRatio.md +47 -0
- package/skills/vueuse-functions/references/useDevicesList.md +89 -0
- package/skills/vueuse-functions/references/useDisplayMedia.md +67 -0
- package/skills/vueuse-functions/references/useDocumentVisibility.md +44 -0
- package/skills/vueuse-functions/references/useDraggable.md +289 -0
- package/skills/vueuse-functions/references/useDrauu.md +65 -0
- package/skills/vueuse-functions/references/useDropZone.md +83 -0
- package/skills/vueuse-functions/references/useElementBounding.md +131 -0
- package/skills/vueuse-functions/references/useElementByPoint.md +46 -0
- package/skills/vueuse-functions/references/useElementHover.md +79 -0
- package/skills/vueuse-functions/references/useElementSize.md +79 -0
- package/skills/vueuse-functions/references/useElementVisibility.md +163 -0
- package/skills/vueuse-functions/references/useEventBus.md +101 -0
- package/skills/vueuse-functions/references/useEventListener.md +226 -0
- package/skills/vueuse-functions/references/useEventSource.md +204 -0
- package/skills/vueuse-functions/references/useExtractedObservable.md +198 -0
- package/skills/vueuse-functions/references/useEyeDropper.md +72 -0
- package/skills/vueuse-functions/references/useFavicon.md +69 -0
- package/skills/vueuse-functions/references/useFetch.md +546 -0
- package/skills/vueuse-functions/references/useFileDialog.md +91 -0
- package/skills/vueuse-functions/references/useFileSystemAccess.md +161 -0
- package/skills/vueuse-functions/references/useFirestore.md +129 -0
- package/skills/vueuse-functions/references/useFloor.md +31 -0
- package/skills/vueuse-functions/references/useFocus.md +99 -0
- package/skills/vueuse-functions/references/useFocusTrap.md +245 -0
- package/skills/vueuse-functions/references/useFocusWithin.md +57 -0
- package/skills/vueuse-functions/references/useFps.md +28 -0
- package/skills/vueuse-functions/references/useFullscreen.md +74 -0
- package/skills/vueuse-functions/references/useFuse.md +75 -0
- package/skills/vueuse-functions/references/useGamepad.md +176 -0
- package/skills/vueuse-functions/references/useGeolocation.md +63 -0
- package/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
- package/skills/vueuse-functions/references/useIdle.md +88 -0
- package/skills/vueuse-functions/references/useImage.md +90 -0
- package/skills/vueuse-functions/references/useInfiniteScroll.md +156 -0
- package/skills/vueuse-functions/references/useIntersectionObserver.md +117 -0
- package/skills/vueuse-functions/references/useInterval.md +112 -0
- package/skills/vueuse-functions/references/useIntervalFn.md +50 -0
- package/skills/vueuse-functions/references/useIpcRenderer.md +144 -0
- package/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
- package/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
- package/skills/vueuse-functions/references/useJwt.md +57 -0
- package/skills/vueuse-functions/references/useKeyModifier.md +87 -0
- package/skills/vueuse-functions/references/useLastChanged.md +63 -0
- package/skills/vueuse-functions/references/useLocalStorage.md +41 -0
- package/skills/vueuse-functions/references/useMagicKeys.md +245 -0
- package/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
- package/skills/vueuse-functions/references/useMath.md +47 -0
- package/skills/vueuse-functions/references/useMax.md +36 -0
- package/skills/vueuse-functions/references/useMediaControls.md +201 -0
- package/skills/vueuse-functions/references/useMediaQuery.md +53 -0
- package/skills/vueuse-functions/references/useMemoize.md +175 -0
- package/skills/vueuse-functions/references/useMemory.md +70 -0
- package/skills/vueuse-functions/references/useMin.md +36 -0
- package/skills/vueuse-functions/references/useMounted.md +38 -0
- package/skills/vueuse-functions/references/useMouse.md +113 -0
- package/skills/vueuse-functions/references/useMouseInElement.md +132 -0
- package/skills/vueuse-functions/references/useMousePressed.md +116 -0
- package/skills/vueuse-functions/references/useMutationObserver.md +60 -0
- package/skills/vueuse-functions/references/useNProgress.md +78 -0
- package/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
- package/skills/vueuse-functions/references/useNetwork.md +106 -0
- package/skills/vueuse-functions/references/useNow.md +83 -0
- package/skills/vueuse-functions/references/useObjectUrl.md +55 -0
- package/skills/vueuse-functions/references/useObservable.md +91 -0
- package/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
- package/skills/vueuse-functions/references/useOnline.md +41 -0
- package/skills/vueuse-functions/references/usePageLeave.md +43 -0
- package/skills/vueuse-functions/references/useParallax.md +58 -0
- package/skills/vueuse-functions/references/useParentElement.md +54 -0
- package/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
- package/skills/vueuse-functions/references/usePermission.md +78 -0
- package/skills/vueuse-functions/references/usePointer.md +91 -0
- package/skills/vueuse-functions/references/usePointerLock.md +59 -0
- package/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
- package/skills/vueuse-functions/references/usePrecision.md +49 -0
- package/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
- package/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
- package/skills/vueuse-functions/references/usePreferredDark.md +41 -0
- package/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
- package/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
- package/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
- package/skills/vueuse-functions/references/usePrevious.md +40 -0
- package/skills/vueuse-functions/references/useProjection.md +38 -0
- package/skills/vueuse-functions/references/useQRCode.md +53 -0
- package/skills/vueuse-functions/references/useRTDB.md +83 -0
- package/skills/vueuse-functions/references/useRafFn.md +68 -0
- package/skills/vueuse-functions/references/useRefHistory.md +285 -0
- package/skills/vueuse-functions/references/useResizeObserver.md +108 -0
- package/skills/vueuse-functions/references/useRound.md +31 -0
- package/skills/vueuse-functions/references/useRouteHash.md +27 -0
- package/skills/vueuse-functions/references/useRouteParams.md +38 -0
- package/skills/vueuse-functions/references/useRouteQuery.md +79 -0
- package/skills/vueuse-functions/references/useSSRWidth.md +47 -0
- package/skills/vueuse-functions/references/useScreenOrientation.md +98 -0
- package/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
- package/skills/vueuse-functions/references/useScriptTag.md +116 -0
- package/skills/vueuse-functions/references/useScroll.md +238 -0
- package/skills/vueuse-functions/references/useScrollLock.md +66 -0
- package/skills/vueuse-functions/references/useSessionStorage.md +41 -0
- package/skills/vueuse-functions/references/useShare.md +67 -0
- package/skills/vueuse-functions/references/useSortable.md +276 -0
- package/skills/vueuse-functions/references/useSorted.md +90 -0
- package/skills/vueuse-functions/references/useSpeechRecognition.md +90 -0
- package/skills/vueuse-functions/references/useSpeechSynthesis.md +101 -0
- package/skills/vueuse-functions/references/useStepper.md +137 -0
- package/skills/vueuse-functions/references/useStorage.md +278 -0
- package/skills/vueuse-functions/references/useStorageAsync.md +136 -0
- package/skills/vueuse-functions/references/useStyleTag.md +131 -0
- package/skills/vueuse-functions/references/useSubject.md +77 -0
- package/skills/vueuse-functions/references/useSubscription.md +33 -0
- package/skills/vueuse-functions/references/useSum.md +36 -0
- package/skills/vueuse-functions/references/useSupported.md +29 -0
- package/skills/vueuse-functions/references/useSwipe.md +75 -0
- package/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
- package/skills/vueuse-functions/references/useTextDirection.md +75 -0
- package/skills/vueuse-functions/references/useTextSelection.md +43 -0
- package/skills/vueuse-functions/references/useTextareaAutosize.md +94 -0
- package/skills/vueuse-functions/references/useThrottleFn.md +57 -0
- package/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
- package/skills/vueuse-functions/references/useTimeAgo.md +154 -0
- package/skills/vueuse-functions/references/useTimeAgoIntl.md +117 -0
- package/skills/vueuse-functions/references/useTimeout.md +113 -0
- package/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
- package/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
- package/skills/vueuse-functions/references/useTimestamp.md +93 -0
- package/skills/vueuse-functions/references/useTitle.md +115 -0
- package/skills/vueuse-functions/references/useToNumber.md +54 -0
- package/skills/vueuse-functions/references/useToString.md +34 -0
- package/skills/vueuse-functions/references/useToggle.md +103 -0
- package/skills/vueuse-functions/references/useTransition.md +265 -0
- package/skills/vueuse-functions/references/useTrunc.md +33 -0
- package/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
- package/skills/vueuse-functions/references/useUserMedia.md +96 -0
- package/skills/vueuse-functions/references/useVModel.md +182 -0
- package/skills/vueuse-functions/references/useVModels.md +67 -0
- package/skills/vueuse-functions/references/useVibrate.md +86 -0
- package/skills/vueuse-functions/references/useVirtualList.md +182 -0
- package/skills/vueuse-functions/references/useWakeLock.md +51 -0
- package/skills/vueuse-functions/references/useWebNotification.md +175 -0
- package/skills/vueuse-functions/references/useWebSocket.md +299 -0
- package/skills/vueuse-functions/references/useWebWorker.md +60 -0
- package/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
- package/skills/vueuse-functions/references/useWindowFocus.md +46 -0
- package/skills/vueuse-functions/references/useWindowScroll.md +46 -0
- package/skills/vueuse-functions/references/useWindowSize.md +78 -0
- package/skills/vueuse-functions/references/useZoomFactor.md +53 -0
- package/skills/vueuse-functions/references/useZoomLevel.md +53 -0
- package/skills/vueuse-functions/references/watchArray.md +53 -0
- package/skills/vueuse-functions/references/watchAtMost.md +63 -0
- package/skills/vueuse-functions/references/watchDebounced.md +101 -0
- package/skills/vueuse-functions/references/watchDeep.md +54 -0
- package/skills/vueuse-functions/references/watchExtractedObservable.md +192 -0
- package/skills/vueuse-functions/references/watchIgnorable.md +120 -0
- package/skills/vueuse-functions/references/watchImmediate.md +44 -0
- package/skills/vueuse-functions/references/watchOnce.md +41 -0
- package/skills/vueuse-functions/references/watchPausable.md +86 -0
- package/skills/vueuse-functions/references/watchThrottled.md +108 -0
- package/skills/vueuse-functions/references/watchTriggerable.md +98 -0
- package/skills/vueuse-functions/references/watchWithFilter.md +54 -0
- package/skills/vueuse-functions/references/whenever.md +108 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/web-design-guidelines/SYNC.md +5 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cli-commands
|
|
3
|
+
description: Nuxt CLI commands for development, building, and project management
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CLI Commands
|
|
7
|
+
|
|
8
|
+
Nuxt provides CLI commands via `nuxi` (or `npx nuxt`) for development, building, and project management.
|
|
9
|
+
|
|
10
|
+
## Project Initialization
|
|
11
|
+
|
|
12
|
+
### Create New Project
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Interactive project creation
|
|
16
|
+
npx nuxi@latest init my-app
|
|
17
|
+
|
|
18
|
+
# With specific package manager
|
|
19
|
+
npx nuxi@latest init my-app --packageManager pnpm
|
|
20
|
+
|
|
21
|
+
# With modules
|
|
22
|
+
npx nuxi@latest init my-app --modules "@nuxt/ui,@nuxt/image"
|
|
23
|
+
|
|
24
|
+
# From template
|
|
25
|
+
npx nuxi@latest init my-app --template v3
|
|
26
|
+
|
|
27
|
+
# Skip module selection prompt
|
|
28
|
+
npx nuxi@latest init my-app --no-modules
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Options:**
|
|
32
|
+
| Option | Description |
|
|
33
|
+
|--------|-------------|
|
|
34
|
+
| `-t, --template` | Template name |
|
|
35
|
+
| `--packageManager` | npm, pnpm, yarn, or bun |
|
|
36
|
+
| `-M, --modules` | Modules to install (comma-separated) |
|
|
37
|
+
| `--gitInit` | Initialize git repository |
|
|
38
|
+
| `--no-install` | Skip installing dependencies |
|
|
39
|
+
|
|
40
|
+
## Development
|
|
41
|
+
|
|
42
|
+
### Start Dev Server
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Start development server (default: http://localhost:3000)
|
|
46
|
+
npx nuxt dev
|
|
47
|
+
|
|
48
|
+
# Custom port
|
|
49
|
+
npx nuxt dev --port 4000
|
|
50
|
+
|
|
51
|
+
# Open in browser
|
|
52
|
+
npx nuxt dev --open
|
|
53
|
+
|
|
54
|
+
# Listen on all interfaces (for mobile testing)
|
|
55
|
+
npx nuxt dev --host 0.0.0.0
|
|
56
|
+
|
|
57
|
+
# With HTTPS
|
|
58
|
+
npx nuxt dev --https
|
|
59
|
+
|
|
60
|
+
# Clear console on restart
|
|
61
|
+
npx nuxt dev --clear
|
|
62
|
+
|
|
63
|
+
# Create public tunnel
|
|
64
|
+
npx nuxt dev --tunnel
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Options:**
|
|
68
|
+
| Option | Description |
|
|
69
|
+
|--------|-------------|
|
|
70
|
+
| `-p, --port` | Port to listen on |
|
|
71
|
+
| `-h, --host` | Host to listen on |
|
|
72
|
+
| `-o, --open` | Open in browser |
|
|
73
|
+
| `--https` | Enable HTTPS |
|
|
74
|
+
| `--tunnel` | Create public tunnel (via untun) |
|
|
75
|
+
| `--qr` | Show QR code for mobile |
|
|
76
|
+
| `--clear` | Clear console on restart |
|
|
77
|
+
|
|
78
|
+
**Environment Variables:**
|
|
79
|
+
- `NUXT_PORT` or `PORT` - Default port
|
|
80
|
+
- `NUXT_HOST` or `HOST` - Default host
|
|
81
|
+
|
|
82
|
+
## Building
|
|
83
|
+
|
|
84
|
+
### Production Build
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Build for production
|
|
88
|
+
npx nuxt build
|
|
89
|
+
|
|
90
|
+
# Build with prerendering
|
|
91
|
+
npx nuxt build --prerender
|
|
92
|
+
|
|
93
|
+
# Build with specific preset
|
|
94
|
+
npx nuxt build --preset node-server
|
|
95
|
+
npx nuxt build --preset cloudflare-pages
|
|
96
|
+
npx nuxt build --preset vercel
|
|
97
|
+
|
|
98
|
+
# Build with environment
|
|
99
|
+
npx nuxt build --envName staging
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Output is created in `.output/` directory.
|
|
103
|
+
|
|
104
|
+
### Static Generation
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Generate static site (prerenders all routes)
|
|
108
|
+
npx nuxt generate
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Equivalent to `nuxt build --prerender`. Creates static HTML files for deployment to static hosting.
|
|
112
|
+
|
|
113
|
+
### Preview Production Build
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Preview after build
|
|
117
|
+
npx nuxt preview
|
|
118
|
+
|
|
119
|
+
# Custom port
|
|
120
|
+
npx nuxt preview --port 4000
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Utilities
|
|
124
|
+
|
|
125
|
+
### Prepare (Type Generation)
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Generate TypeScript types and .nuxt directory
|
|
129
|
+
npx nuxt prepare
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Run after cloning or when types are missing.
|
|
133
|
+
|
|
134
|
+
### Type Check
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Run TypeScript type checking
|
|
138
|
+
npx nuxt typecheck
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Analyze Bundle
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Analyze production bundle
|
|
145
|
+
npx nuxt analyze
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Opens visual bundle analyzer.
|
|
149
|
+
|
|
150
|
+
### Cleanup
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Remove generated files (.nuxt, .output, node_modules/.cache)
|
|
154
|
+
npx nuxt cleanup
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Info
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Show environment info (useful for bug reports)
|
|
161
|
+
npx nuxt info
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Upgrade
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Upgrade Nuxt to latest version
|
|
168
|
+
npx nuxt upgrade
|
|
169
|
+
|
|
170
|
+
# Upgrade to nightly release
|
|
171
|
+
npx nuxt upgrade --nightly
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Module Commands
|
|
175
|
+
|
|
176
|
+
### Add Module
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Add a Nuxt module
|
|
180
|
+
npx nuxt module add @nuxt/ui
|
|
181
|
+
npx nuxt module add @nuxt/image
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Installs and adds to `nuxt.config.ts`.
|
|
185
|
+
|
|
186
|
+
### Build Module (for module authors)
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Build a Nuxt module
|
|
190
|
+
npx nuxt build-module
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## DevTools
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Enable DevTools globally
|
|
197
|
+
npx nuxt devtools enable
|
|
198
|
+
|
|
199
|
+
# Disable DevTools
|
|
200
|
+
npx nuxt devtools disable
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Common Workflows
|
|
204
|
+
|
|
205
|
+
### Development
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Install dependencies and start dev
|
|
209
|
+
pnpm install
|
|
210
|
+
pnpm dev # or npx nuxt dev
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Production Deployment
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# Build and preview locally
|
|
217
|
+
pnpm build
|
|
218
|
+
pnpm preview
|
|
219
|
+
|
|
220
|
+
# Or for static hosting
|
|
221
|
+
pnpm generate
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### After Cloning
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Install deps and prepare types
|
|
228
|
+
pnpm install
|
|
229
|
+
npx nuxt prepare
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Environment-specific Builds
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Development build
|
|
236
|
+
npx nuxt build --envName development
|
|
237
|
+
|
|
238
|
+
# Staging build
|
|
239
|
+
npx nuxt build --envName staging
|
|
240
|
+
|
|
241
|
+
# Production build (default)
|
|
242
|
+
npx nuxt build --envName production
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Corresponds to `$development`, `$env.staging`, `$production` in `nuxt.config.ts`.
|
|
246
|
+
|
|
247
|
+
## Layer Extension
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Dev with additional layer
|
|
251
|
+
npx nuxt dev --extends ./base-layer
|
|
252
|
+
|
|
253
|
+
# Build with layer
|
|
254
|
+
npx nuxt build --extends ./base-layer
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
<!--
|
|
258
|
+
Source references:
|
|
259
|
+
- https://nuxt.com/docs/api/commands/dev
|
|
260
|
+
- https://nuxt.com/docs/api/commands/build
|
|
261
|
+
- https://nuxt.com/docs/api/commands/generate
|
|
262
|
+
- https://nuxt.com/docs/api/commands/init
|
|
263
|
+
-->
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configuration
|
|
3
|
+
description: Nuxt configuration files including nuxt.config.ts, app.config.ts, and runtime configuration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Nuxt Configuration
|
|
7
|
+
|
|
8
|
+
Nuxt uses configuration files to customize application behavior. The main configuration options are `nuxt.config.ts` for build-time settings and `app.config.ts` for runtime settings.
|
|
9
|
+
|
|
10
|
+
## nuxt.config.ts
|
|
11
|
+
|
|
12
|
+
The main configuration file at the root of your project:
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
// nuxt.config.ts
|
|
16
|
+
export default defineNuxtConfig({
|
|
17
|
+
// Configuration options
|
|
18
|
+
devtools: { enabled: true },
|
|
19
|
+
modules: ['@nuxt/ui'],
|
|
20
|
+
})
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Environment Overrides
|
|
24
|
+
|
|
25
|
+
Configure environment-specific settings:
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
export default defineNuxtConfig({
|
|
29
|
+
$production: {
|
|
30
|
+
routeRules: {
|
|
31
|
+
'/**': { isr: true },
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
$development: {
|
|
35
|
+
// Development-specific config
|
|
36
|
+
},
|
|
37
|
+
$env: {
|
|
38
|
+
staging: {
|
|
39
|
+
// Staging environment config
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
})
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Use `--envName` flag to select environment: `nuxt build --envName staging`
|
|
46
|
+
|
|
47
|
+
## Runtime Config
|
|
48
|
+
|
|
49
|
+
For values that need to be overridden via environment variables:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
// nuxt.config.ts
|
|
53
|
+
export default defineNuxtConfig({
|
|
54
|
+
runtimeConfig: {
|
|
55
|
+
// Server-only keys
|
|
56
|
+
apiSecret: '123',
|
|
57
|
+
// Keys within public are exposed to client
|
|
58
|
+
public: {
|
|
59
|
+
apiBase: '/api',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Override with environment variables:
|
|
66
|
+
|
|
67
|
+
```ini
|
|
68
|
+
# .env
|
|
69
|
+
NUXT_API_SECRET=api_secret_token
|
|
70
|
+
NUXT_PUBLIC_API_BASE=https://api.example.com
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Access in components/composables:
|
|
74
|
+
|
|
75
|
+
```vue
|
|
76
|
+
<script setup lang="ts">
|
|
77
|
+
const config = useRuntimeConfig()
|
|
78
|
+
// Server: config.apiSecret, config.public.apiBase
|
|
79
|
+
// Client: config.public.apiBase only
|
|
80
|
+
</script>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## App Config
|
|
84
|
+
|
|
85
|
+
For public tokens determined at build time (not overridable via env vars):
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
// app/app.config.ts
|
|
89
|
+
export default defineAppConfig({
|
|
90
|
+
title: 'Hello Nuxt',
|
|
91
|
+
theme: {
|
|
92
|
+
dark: true,
|
|
93
|
+
colors: {
|
|
94
|
+
primary: '#ff0000',
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
})
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Access in components:
|
|
101
|
+
|
|
102
|
+
```vue
|
|
103
|
+
<script setup lang="ts">
|
|
104
|
+
const appConfig = useAppConfig()
|
|
105
|
+
</script>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## runtimeConfig vs app.config
|
|
109
|
+
|
|
110
|
+
| Feature | runtimeConfig | app.config |
|
|
111
|
+
|---------|--------------|------------|
|
|
112
|
+
| Client-side | Hydrated | Bundled |
|
|
113
|
+
| Environment variables | Yes | No |
|
|
114
|
+
| Reactive | Yes | Yes |
|
|
115
|
+
| Hot module replacement | No | Yes |
|
|
116
|
+
| Non-primitive JS types | No | Yes |
|
|
117
|
+
|
|
118
|
+
**Use runtimeConfig** for secrets and values that change per environment.
|
|
119
|
+
**Use app.config** for public tokens, theme settings, and non-sensitive config.
|
|
120
|
+
|
|
121
|
+
## External Tool Configuration
|
|
122
|
+
|
|
123
|
+
Nuxt uses `nuxt.config.ts` as single source of truth. Configure external tools within it:
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
export default defineNuxtConfig({
|
|
127
|
+
// Nitro configuration
|
|
128
|
+
nitro: {
|
|
129
|
+
// nitro options
|
|
130
|
+
},
|
|
131
|
+
// Vite configuration
|
|
132
|
+
vite: {
|
|
133
|
+
// vite options
|
|
134
|
+
vue: {
|
|
135
|
+
// @vitejs/plugin-vue options
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
// PostCSS configuration
|
|
139
|
+
postcss: {
|
|
140
|
+
// postcss options
|
|
141
|
+
},
|
|
142
|
+
})
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Vue Configuration
|
|
146
|
+
|
|
147
|
+
Enable Vue experimental features:
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
export default defineNuxtConfig({
|
|
151
|
+
vue: {
|
|
152
|
+
propsDestructure: true,
|
|
153
|
+
},
|
|
154
|
+
})
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
<!--
|
|
158
|
+
Source references:
|
|
159
|
+
- https://nuxt.com/docs/getting-started/configuration
|
|
160
|
+
- https://nuxt.com/docs/guide/going-further/runtime-config
|
|
161
|
+
- https://nuxt.com/docs/api/nuxt-config
|
|
162
|
+
-->
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: data-fetching
|
|
3
|
+
description: useFetch, useAsyncData, and $fetch for SSR-friendly data fetching
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Data Fetching
|
|
7
|
+
|
|
8
|
+
Nuxt provides composables for SSR-friendly data fetching that prevent double-fetching and handle hydration.
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
- `$fetch` - Basic fetch utility (use for client-side events)
|
|
13
|
+
- `useFetch` - SSR-safe wrapper around $fetch (use for component data)
|
|
14
|
+
- `useAsyncData` - SSR-safe wrapper for any async function
|
|
15
|
+
|
|
16
|
+
## useFetch
|
|
17
|
+
|
|
18
|
+
Primary composable for fetching data in components:
|
|
19
|
+
|
|
20
|
+
```vue
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
const { data, status, error, refresh, clear } = await useFetch('/api/posts')
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<template>
|
|
26
|
+
<div v-if="status === 'pending'">Loading...</div>
|
|
27
|
+
<div v-else-if="error">Error: {{ error.message }}</div>
|
|
28
|
+
<div v-else>
|
|
29
|
+
<article v-for="post in data" :key="post.id">
|
|
30
|
+
{{ post.title }}
|
|
31
|
+
</article>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### With Options
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
const { data } = await useFetch('/api/posts', {
|
|
40
|
+
// Query parameters
|
|
41
|
+
query: { page: 1, limit: 10 },
|
|
42
|
+
// Request body (for POST/PUT)
|
|
43
|
+
body: { title: 'New Post' },
|
|
44
|
+
// HTTP method
|
|
45
|
+
method: 'POST',
|
|
46
|
+
// Only pick specific fields
|
|
47
|
+
pick: ['id', 'title'],
|
|
48
|
+
// Transform response
|
|
49
|
+
transform: (posts) => posts.map(p => ({ ...p, slug: slugify(p.title) })),
|
|
50
|
+
// Custom key for caching
|
|
51
|
+
key: 'posts-list',
|
|
52
|
+
// Don't fetch on server
|
|
53
|
+
server: false,
|
|
54
|
+
// Don't block navigation
|
|
55
|
+
lazy: true,
|
|
56
|
+
// Don't fetch immediately
|
|
57
|
+
immediate: false,
|
|
58
|
+
// Default value
|
|
59
|
+
default: () => [],
|
|
60
|
+
})
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Reactive Parameters
|
|
64
|
+
|
|
65
|
+
```vue
|
|
66
|
+
<script setup lang="ts">
|
|
67
|
+
const page = ref(1)
|
|
68
|
+
const { data } = await useFetch('/api/posts', {
|
|
69
|
+
query: { page }, // Automatically refetches when page changes
|
|
70
|
+
})
|
|
71
|
+
</script>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Computed URL
|
|
75
|
+
|
|
76
|
+
```vue
|
|
77
|
+
<script setup lang="ts">
|
|
78
|
+
const id = ref(1)
|
|
79
|
+
const { data } = await useFetch(() => `/api/posts/${id.value}`)
|
|
80
|
+
// Refetches when id changes
|
|
81
|
+
</script>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## useAsyncData
|
|
85
|
+
|
|
86
|
+
For wrapping any async function:
|
|
87
|
+
|
|
88
|
+
```vue
|
|
89
|
+
<script setup lang="ts">
|
|
90
|
+
const { data, error } = await useAsyncData('user', () => {
|
|
91
|
+
return myCustomFetch('/user/profile')
|
|
92
|
+
})
|
|
93
|
+
</script>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Multiple Requests
|
|
97
|
+
|
|
98
|
+
```vue
|
|
99
|
+
<script setup lang="ts">
|
|
100
|
+
const { data } = await useAsyncData('cart', async () => {
|
|
101
|
+
const [coupons, offers] = await Promise.all([
|
|
102
|
+
$fetch('/api/coupons'),
|
|
103
|
+
$fetch('/api/offers'),
|
|
104
|
+
])
|
|
105
|
+
return { coupons, offers }
|
|
106
|
+
})
|
|
107
|
+
</script>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## $fetch
|
|
111
|
+
|
|
112
|
+
For client-side events (form submissions, button clicks):
|
|
113
|
+
|
|
114
|
+
```vue
|
|
115
|
+
<script setup lang="ts">
|
|
116
|
+
async function submitForm() {
|
|
117
|
+
const result = await $fetch('/api/submit', {
|
|
118
|
+
method: 'POST',
|
|
119
|
+
body: { name: 'John' },
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
</script>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Important**: Don't use `$fetch` alone in setup for initial data - it will fetch twice (server + client). Use `useFetch` or `useAsyncData` instead.
|
|
126
|
+
|
|
127
|
+
## Return Values
|
|
128
|
+
|
|
129
|
+
All composables return:
|
|
130
|
+
|
|
131
|
+
| Property | Type | Description |
|
|
132
|
+
|----------|------|-------------|
|
|
133
|
+
| `data` | `Ref<T>` | Fetched data |
|
|
134
|
+
| `error` | `Ref<Error>` | Error if request failed |
|
|
135
|
+
| `status` | `Ref<'idle' \| 'pending' \| 'success' \| 'error'>` | Request status |
|
|
136
|
+
| `refresh` | `() => Promise` | Refetch data |
|
|
137
|
+
| `execute` | `() => Promise` | Alias for refresh |
|
|
138
|
+
| `clear` | `() => void` | Reset data and error |
|
|
139
|
+
|
|
140
|
+
## Lazy Fetching
|
|
141
|
+
|
|
142
|
+
Don't block navigation:
|
|
143
|
+
|
|
144
|
+
```vue
|
|
145
|
+
<script setup lang="ts">
|
|
146
|
+
// Using lazy option
|
|
147
|
+
const { data, status } = await useFetch('/api/posts', { lazy: true })
|
|
148
|
+
|
|
149
|
+
// Or use lazy variants
|
|
150
|
+
const { data, status } = await useLazyFetch('/api/posts')
|
|
151
|
+
const { data, status } = await useLazyAsyncData('key', fetchFn)
|
|
152
|
+
</script>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Refresh & Watch
|
|
156
|
+
|
|
157
|
+
```vue
|
|
158
|
+
<script setup lang="ts">
|
|
159
|
+
const category = ref('tech')
|
|
160
|
+
|
|
161
|
+
const { data, refresh } = await useFetch('/api/posts', {
|
|
162
|
+
query: { category },
|
|
163
|
+
// Auto-refresh when category changes
|
|
164
|
+
watch: [category],
|
|
165
|
+
})
|
|
166
|
+
|
|
167
|
+
// Manual refresh
|
|
168
|
+
const refreshData = () => refresh()
|
|
169
|
+
</script>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Caching
|
|
173
|
+
|
|
174
|
+
Data is cached by key. Share data across components:
|
|
175
|
+
|
|
176
|
+
```vue
|
|
177
|
+
<script setup lang="ts">
|
|
178
|
+
// In component A
|
|
179
|
+
const { data } = await useFetch('/api/user', { key: 'current-user' })
|
|
180
|
+
|
|
181
|
+
// In component B - uses cached data
|
|
182
|
+
const { data } = useNuxtData('current-user')
|
|
183
|
+
</script>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Refresh cached data globally:
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
// Refresh specific key
|
|
190
|
+
await refreshNuxtData('current-user')
|
|
191
|
+
|
|
192
|
+
// Refresh all data
|
|
193
|
+
await refreshNuxtData()
|
|
194
|
+
|
|
195
|
+
// Clear cached data
|
|
196
|
+
clearNuxtData('current-user')
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Interceptors
|
|
200
|
+
|
|
201
|
+
```ts
|
|
202
|
+
const { data } = await useFetch('/api/auth', {
|
|
203
|
+
onRequest({ options }) {
|
|
204
|
+
options.headers.set('Authorization', `Bearer ${token}`)
|
|
205
|
+
},
|
|
206
|
+
onRequestError({ error }) {
|
|
207
|
+
console.error('Request failed:', error)
|
|
208
|
+
},
|
|
209
|
+
onResponse({ response }) {
|
|
210
|
+
// Process response
|
|
211
|
+
},
|
|
212
|
+
onResponseError({ response }) {
|
|
213
|
+
if (response.status === 401) {
|
|
214
|
+
navigateTo('/login')
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
})
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Passing Headers (SSR)
|
|
221
|
+
|
|
222
|
+
`useFetch` automatically proxies cookies/headers from client to server. For `$fetch`:
|
|
223
|
+
|
|
224
|
+
```vue
|
|
225
|
+
<script setup lang="ts">
|
|
226
|
+
const headers = useRequestHeaders(['cookie'])
|
|
227
|
+
const data = await $fetch('/api/user', { headers })
|
|
228
|
+
</script>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
<!--
|
|
232
|
+
Source references:
|
|
233
|
+
- https://nuxt.com/docs/getting-started/data-fetching
|
|
234
|
+
- https://nuxt.com/docs/api/composables/use-fetch
|
|
235
|
+
- https://nuxt.com/docs/api/composables/use-async-data
|
|
236
|
+
-->
|