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,148 @@
|
|
|
1
|
+
# Turborepo Filter Syntax Reference
|
|
2
|
+
|
|
3
|
+
## Running Only Changed Packages: `--affected`
|
|
4
|
+
|
|
5
|
+
**The primary way to run only changed packages is `--affected`:**
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Run build/test/lint only in changed packages and their dependents
|
|
9
|
+
turbo run build test lint --affected
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
This compares your current branch to the default branch (usually `main` or `master`) and runs tasks in:
|
|
13
|
+
|
|
14
|
+
1. Packages with file changes
|
|
15
|
+
2. Packages that depend on changed packages (dependents)
|
|
16
|
+
|
|
17
|
+
### Why Include Dependents?
|
|
18
|
+
|
|
19
|
+
If you change `@repo/ui`, packages that import `@repo/ui` (like `apps/web`) need to re-run their tasks to verify they still work with the changes.
|
|
20
|
+
|
|
21
|
+
### Customizing --affected
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Use a different base branch
|
|
25
|
+
turbo run build --affected --affected-base=origin/develop
|
|
26
|
+
|
|
27
|
+
# Use a different head (current state)
|
|
28
|
+
turbo run build --affected --affected-head=HEAD~5
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Common CI Pattern
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
# .github/workflows/ci.yml
|
|
35
|
+
- run: turbo run build test lint --affected
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This is the most efficient CI setup - only run tasks for what actually changed.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Manual Git Comparison with --filter
|
|
43
|
+
|
|
44
|
+
For more control, use `--filter` with git comparison syntax:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Changed packages + dependents (same as --affected)
|
|
48
|
+
turbo run build --filter=...[origin/main]
|
|
49
|
+
|
|
50
|
+
# Only changed packages (no dependents)
|
|
51
|
+
turbo run build --filter=[origin/main]
|
|
52
|
+
|
|
53
|
+
# Changed packages + dependencies (packages they import)
|
|
54
|
+
turbo run build --filter=[origin/main]...
|
|
55
|
+
|
|
56
|
+
# Changed since last commit
|
|
57
|
+
turbo run build --filter=...[HEAD^1]
|
|
58
|
+
|
|
59
|
+
# Changed between two commits
|
|
60
|
+
turbo run build --filter=[a1b2c3d...e4f5g6h]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Comparison Syntax
|
|
64
|
+
|
|
65
|
+
| Syntax | Meaning |
|
|
66
|
+
| ------------- | ------------------------------------- |
|
|
67
|
+
| `[ref]` | Packages changed since `ref` |
|
|
68
|
+
| `...[ref]` | Changed packages + their dependents |
|
|
69
|
+
| `[ref]...` | Changed packages + their dependencies |
|
|
70
|
+
| `...[ref]...` | Dependencies, changed, AND dependents |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Other Filter Types
|
|
75
|
+
|
|
76
|
+
Filters select which packages to include in a `turbo run` invocation.
|
|
77
|
+
|
|
78
|
+
### Basic Syntax
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
turbo run build --filter=<package-name>
|
|
82
|
+
turbo run build -F <package-name>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Multiple filters combine as a union (packages matching ANY filter run).
|
|
86
|
+
|
|
87
|
+
### By Package Name
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
--filter=web # exact match
|
|
91
|
+
--filter=@acme/* # scope glob
|
|
92
|
+
--filter=*-app # name glob
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### By Directory
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
--filter=./apps/* # all packages in apps/
|
|
99
|
+
--filter=./packages/ui # specific directory
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### By Dependencies/Dependents
|
|
103
|
+
|
|
104
|
+
| Syntax | Meaning |
|
|
105
|
+
| ----------- | -------------------------------------- |
|
|
106
|
+
| `pkg...` | Package AND all its dependencies |
|
|
107
|
+
| `...pkg` | Package AND all its dependents |
|
|
108
|
+
| `...pkg...` | Dependencies, package, AND dependents |
|
|
109
|
+
| `^pkg...` | Only dependencies (exclude pkg itself) |
|
|
110
|
+
| `...^pkg` | Only dependents (exclude pkg itself) |
|
|
111
|
+
|
|
112
|
+
### Negation
|
|
113
|
+
|
|
114
|
+
Exclude packages with `!`:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
--filter=!web # exclude web
|
|
118
|
+
--filter=./apps/* --filter=!admin # apps except admin
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Task Identifiers
|
|
122
|
+
|
|
123
|
+
Run a specific task in a specific package:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
turbo run web#build # only web's build task
|
|
127
|
+
turbo run web#build api#test # web build + api test
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Combining Filters
|
|
131
|
+
|
|
132
|
+
Multiple `--filter` flags create a union:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
turbo run build --filter=web --filter=api # runs in both
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Quick Reference: Changed Packages
|
|
141
|
+
|
|
142
|
+
| Goal | Command |
|
|
143
|
+
| ---------------------------------- | ----------------------------------------------------------- |
|
|
144
|
+
| Changed + dependents (recommended) | `turbo run build --affected` |
|
|
145
|
+
| Custom base branch | `turbo run build --affected --affected-base=origin/develop` |
|
|
146
|
+
| Only changed (no dependents) | `turbo run build --filter=[origin/main]` |
|
|
147
|
+
| Changed + dependencies | `turbo run build --filter=[origin/main]...` |
|
|
148
|
+
| Since last commit | `turbo run build --filter=...[HEAD^1]` |
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Common Filter Patterns
|
|
2
|
+
|
|
3
|
+
Practical examples for typical monorepo scenarios.
|
|
4
|
+
|
|
5
|
+
## Single Package
|
|
6
|
+
|
|
7
|
+
Run task in one package:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
turbo run build --filter=web
|
|
11
|
+
turbo run test --filter=@acme/api
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Package with Dependencies
|
|
15
|
+
|
|
16
|
+
Build a package and everything it depends on:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
turbo run build --filter=web...
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Useful for: ensuring all dependencies are built before the target.
|
|
23
|
+
|
|
24
|
+
## Package Dependents
|
|
25
|
+
|
|
26
|
+
Run in all packages that depend on a library:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
turbo run test --filter=...ui
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Useful for: testing consumers after changing a shared package.
|
|
33
|
+
|
|
34
|
+
## Dependents Only (Exclude Target)
|
|
35
|
+
|
|
36
|
+
Test packages that depend on ui, but not ui itself:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
turbo run test --filter=...^ui
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Changed Packages
|
|
43
|
+
|
|
44
|
+
Run only in packages with file changes since last commit:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
turbo run lint --filter=[HEAD^1]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Since a specific branch point:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
turbo run lint --filter=[main...HEAD]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Changed + Dependents (PR Builds)
|
|
57
|
+
|
|
58
|
+
Run in changed packages AND packages that depend on them:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
turbo run build test --filter=...[HEAD^1]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Or use the shortcut:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
turbo run build test --affected
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Directory-Based
|
|
71
|
+
|
|
72
|
+
Run in all apps:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
turbo run build --filter=./apps/*
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Run in specific directories:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
turbo run build --filter=./apps/web --filter=./apps/api
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Scope-Based
|
|
85
|
+
|
|
86
|
+
Run in all packages under a scope:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
turbo run build --filter=@acme/*
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Exclusions
|
|
93
|
+
|
|
94
|
+
Run in all apps except admin:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
turbo run build --filter=./apps/* --filter=!admin
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Run everywhere except specific packages:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
turbo run lint --filter=!legacy-app --filter=!deprecated-pkg
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Complex Combinations
|
|
107
|
+
|
|
108
|
+
Apps that changed, plus their dependents:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
turbo run build --filter=...[HEAD^1] --filter=./apps/*
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
All packages except docs, but only if changed:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
turbo run build --filter=[main...HEAD] --filter=!docs
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Debugging Filters
|
|
121
|
+
|
|
122
|
+
Use `--dry` to see what would run without executing:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
turbo run build --filter=web... --dry
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Use `--dry=json` for machine-readable output:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
turbo run build --filter=...[HEAD^1] --dry=json
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## CI/CD Patterns
|
|
135
|
+
|
|
136
|
+
PR validation (most common):
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
turbo run build test lint --affected
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Deploy only changed apps:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
turbo run deploy --filter=./apps/* --filter=[main...HEAD]
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Full rebuild of specific app and deps:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
turbo run build --filter=production-app...
|
|
152
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# turbo watch
|
|
2
|
+
|
|
3
|
+
Full docs: https://turborepo.dev/docs/reference/watch
|
|
4
|
+
|
|
5
|
+
Re-run tasks automatically when code changes. Dependency-aware.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
turbo watch [tasks]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Basic Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Watch and re-run build task when code changes
|
|
15
|
+
turbo watch build
|
|
16
|
+
|
|
17
|
+
# Watch multiple tasks
|
|
18
|
+
turbo watch build test lint
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Tasks re-run in order configured in `turbo.json` when source files change.
|
|
22
|
+
|
|
23
|
+
## With Persistent Tasks
|
|
24
|
+
|
|
25
|
+
Persistent tasks (`"persistent": true`) won't exit, so they can't be depended on. They work the same in `turbo watch` as `turbo run`.
|
|
26
|
+
|
|
27
|
+
### Dependency-Aware Persistent Tasks
|
|
28
|
+
|
|
29
|
+
If your tool has built-in watching (like `next dev`), use its watcher:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"tasks": {
|
|
34
|
+
"dev": {
|
|
35
|
+
"persistent": true,
|
|
36
|
+
"cache": false
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Non-Dependency-Aware Tools
|
|
43
|
+
|
|
44
|
+
For tools that don't detect dependency changes, use `interruptible`:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"tasks": {
|
|
49
|
+
"dev": {
|
|
50
|
+
"persistent": true,
|
|
51
|
+
"interruptible": true,
|
|
52
|
+
"cache": false
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`turbo watch` will restart interruptible tasks when dependencies change.
|
|
59
|
+
|
|
60
|
+
## Limitations
|
|
61
|
+
|
|
62
|
+
### Caching
|
|
63
|
+
|
|
64
|
+
Caching is experimental with watch mode:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
turbo watch your-tasks --experimental-write-cache
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Task Outputs in Source Control
|
|
71
|
+
|
|
72
|
+
If tasks write files tracked by git, watch mode may loop infinitely. Watch mode uses file hashes to prevent this but it's not foolproof.
|
|
73
|
+
|
|
74
|
+
**Recommendation**: Remove task outputs from git.
|
|
75
|
+
|
|
76
|
+
## vs turbo run
|
|
77
|
+
|
|
78
|
+
| Feature | `turbo run` | `turbo watch` |
|
|
79
|
+
| ----------------- | ----------- | ------------- |
|
|
80
|
+
| Runs once | Yes | No |
|
|
81
|
+
| Re-runs on change | No | Yes |
|
|
82
|
+
| Caching | Full | Experimental |
|
|
83
|
+
| Use case | CI, one-off | Development |
|
|
84
|
+
|
|
85
|
+
## Common Patterns
|
|
86
|
+
|
|
87
|
+
### Development Workflow
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Run dev servers and watch for build changes
|
|
91
|
+
turbo watch dev build
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Type Checking During Development
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Watch and re-run type checks
|
|
98
|
+
turbo watch check-types
|
|
99
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-PRESENT Anthony Fu <https://github.com/antfu>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vite
|
|
3
|
+
description: Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries/SSR apps with Vite.
|
|
4
|
+
metadata:
|
|
5
|
+
author: Anthony Fu
|
|
6
|
+
version: "2026.1.31"
|
|
7
|
+
source: Generated from https://github.com/vitejs/vite, scripts at https://github.com/antfu/skills
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Vite
|
|
11
|
+
|
|
12
|
+
> Based on Vite 8 beta (Rolldown-powered). Vite 8 uses Rolldown bundler and Oxc transformer.
|
|
13
|
+
|
|
14
|
+
Vite is a next-generation frontend build tool with fast dev server (native ESM + HMR) and optimized production builds.
|
|
15
|
+
|
|
16
|
+
## Preferences
|
|
17
|
+
|
|
18
|
+
- Use TypeScript: prefer `vite.config.ts`
|
|
19
|
+
- Always use ESM, avoid CommonJS
|
|
20
|
+
|
|
21
|
+
## Core
|
|
22
|
+
|
|
23
|
+
| Topic | Description | Reference |
|
|
24
|
+
|-------|-------------|-----------|
|
|
25
|
+
| Configuration | `vite.config.ts`, `defineConfig`, conditional configs, `loadEnv` | [core-config](references/core-config.md) |
|
|
26
|
+
| Features | `import.meta.glob`, asset queries (`?raw`, `?url`), `import.meta.env`, HMR API | [core-features](references/core-features.md) |
|
|
27
|
+
| Plugin API | Vite-specific hooks, virtual modules, plugin ordering | [core-plugin-api](references/core-plugin-api.md) |
|
|
28
|
+
|
|
29
|
+
## Build & SSR
|
|
30
|
+
|
|
31
|
+
| Topic | Description | Reference |
|
|
32
|
+
|-------|-------------|-----------|
|
|
33
|
+
| Build & SSR | Library mode, SSR middleware mode, `ssrLoadModule`, JavaScript API | [build-and-ssr](references/build-and-ssr.md) |
|
|
34
|
+
|
|
35
|
+
## Advanced
|
|
36
|
+
|
|
37
|
+
| Topic | Description | Reference |
|
|
38
|
+
|-------|-------------|-----------|
|
|
39
|
+
| Environment API | Vite 6+ multi-environment support, custom runtimes | [environment-api](references/environment-api.md) |
|
|
40
|
+
| Rolldown Migration | Vite 8 changes: Rolldown bundler, Oxc transformer, config migration | [rolldown-migration](references/rolldown-migration.md) |
|
|
41
|
+
|
|
42
|
+
## Quick Reference
|
|
43
|
+
|
|
44
|
+
### CLI Commands
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
vite # Start dev server
|
|
48
|
+
vite build # Production build
|
|
49
|
+
vite preview # Preview production build
|
|
50
|
+
vite build --ssr # SSR build
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Common Config
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { defineConfig } from 'vite'
|
|
57
|
+
|
|
58
|
+
export default defineConfig({
|
|
59
|
+
plugins: [],
|
|
60
|
+
resolve: { alias: { '@': '/src' } },
|
|
61
|
+
server: { port: 3000, proxy: { '/api': 'http://localhost:8080' } },
|
|
62
|
+
build: { target: 'esnext', outDir: 'dist' },
|
|
63
|
+
})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Official Plugins
|
|
67
|
+
|
|
68
|
+
- `@vitejs/plugin-vue` - Vue 3 SFC support
|
|
69
|
+
- `@vitejs/plugin-vue-jsx` - Vue 3 JSX
|
|
70
|
+
- `@vitejs/plugin-react` - React with Oxc/Babel
|
|
71
|
+
- `@vitejs/plugin-react-swc` - React with SWC
|
|
72
|
+
- `@vitejs/plugin-legacy` - Legacy browser support
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vite-build-ssr
|
|
3
|
+
description: Vite library mode, multi-page apps, JavaScript API, and SSR guidance
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Build and SSR
|
|
7
|
+
|
|
8
|
+
## Library Mode
|
|
9
|
+
|
|
10
|
+
Build a library for distribution:
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
// vite.config.ts
|
|
14
|
+
import { resolve } from 'node:path'
|
|
15
|
+
import { defineConfig } from 'vite'
|
|
16
|
+
|
|
17
|
+
export default defineConfig({
|
|
18
|
+
build: {
|
|
19
|
+
lib: {
|
|
20
|
+
entry: resolve(import.meta.dirname, 'lib/main.ts'),
|
|
21
|
+
name: 'MyLib',
|
|
22
|
+
fileName: 'my-lib',
|
|
23
|
+
},
|
|
24
|
+
rolldownOptions: {
|
|
25
|
+
external: ['vue', 'react'],
|
|
26
|
+
output: {
|
|
27
|
+
globals: {
|
|
28
|
+
vue: 'Vue',
|
|
29
|
+
react: 'React',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
})
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Multiple Entries
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
build: {
|
|
41
|
+
lib: {
|
|
42
|
+
entry: {
|
|
43
|
+
'my-lib': resolve(import.meta.dirname, 'lib/main.ts'),
|
|
44
|
+
secondary: resolve(import.meta.dirname, 'lib/secondary.ts'),
|
|
45
|
+
},
|
|
46
|
+
name: 'MyLib',
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Output Formats
|
|
52
|
+
|
|
53
|
+
- Single entry: `es` and `umd`
|
|
54
|
+
- Multiple entries: `es` and `cjs`
|
|
55
|
+
|
|
56
|
+
### Package.json Setup
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"name": "my-lib",
|
|
61
|
+
"type": "module",
|
|
62
|
+
"files": ["dist"],
|
|
63
|
+
"main": "./dist/my-lib.umd.cjs",
|
|
64
|
+
"module": "./dist/my-lib.js",
|
|
65
|
+
"exports": {
|
|
66
|
+
".": {
|
|
67
|
+
"import": "./dist/my-lib.js",
|
|
68
|
+
"require": "./dist/my-lib.umd.cjs"
|
|
69
|
+
},
|
|
70
|
+
"./style.css": "./dist/my-lib.css"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Multi-Page App
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
export default defineConfig({
|
|
79
|
+
build: {
|
|
80
|
+
rolldownOptions: {
|
|
81
|
+
input: {
|
|
82
|
+
main: resolve(import.meta.dirname, 'index.html'),
|
|
83
|
+
nested: resolve(import.meta.dirname, 'nested/index.html'),
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
})
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## SSR Development
|
|
91
|
+
|
|
92
|
+
**Note:** Vite's SSR support is **low-level** and designed mostly for meta-framework authors, not application developers. If you need SSR for your app, use a Vite-based meta-framework instead:
|
|
93
|
+
|
|
94
|
+
- **Nuxt** (Vue) - https://nuxt.com
|
|
95
|
+
- **SvelteKit** (Svelte) - https://svelte.dev/docs/kit
|
|
96
|
+
- **SolidStart** (Solid) - https://start.solidjs.com
|
|
97
|
+
- **TanStack Start** (React) - https://tanstack.com/start
|
|
98
|
+
|
|
99
|
+
These frameworks build on top of Vite's SSR primitives so you don't have to wire them up yourself.
|
|
100
|
+
|
|
101
|
+
**Need a server?** Consider [Nitro](https://nitro.build) -- think of it as "Vite for servers." Nitro provides a portable, framework-agnostic server layer with file-based API routing, auto-imports, and deployment presets for dozens of platforms (Node.js, Deno, Bun, Cloudflare Workers, Vercel, Netlify, etc.). It integrates naturally with Vite and is what powers Nuxt's server engine. See the [Nitro docs](https://nitro.build) for more details.
|
|
102
|
+
|
|
103
|
+
## JavaScript API
|
|
104
|
+
|
|
105
|
+
### createServer
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
import { createServer } from 'vite'
|
|
109
|
+
|
|
110
|
+
const server = await createServer({
|
|
111
|
+
configFile: false,
|
|
112
|
+
root: import.meta.dirname,
|
|
113
|
+
server: { port: 1337 },
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
await server.listen()
|
|
117
|
+
server.printUrls()
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### build
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import { build } from 'vite'
|
|
124
|
+
|
|
125
|
+
await build({
|
|
126
|
+
root: './project',
|
|
127
|
+
build: { outDir: 'dist' },
|
|
128
|
+
})
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### preview
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
import { preview } from 'vite'
|
|
135
|
+
|
|
136
|
+
const previewServer = await preview({
|
|
137
|
+
preview: { port: 8080, open: true },
|
|
138
|
+
})
|
|
139
|
+
previewServer.printUrls()
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### resolveConfig
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
import { resolveConfig } from 'vite'
|
|
146
|
+
|
|
147
|
+
const config = await resolveConfig({}, 'build')
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### loadEnv
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
import { loadEnv } from 'vite'
|
|
154
|
+
|
|
155
|
+
const env = loadEnv('development', process.cwd(), '')
|
|
156
|
+
// Loads all env vars (empty prefix = no filtering)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
<!--
|
|
160
|
+
Source references:
|
|
161
|
+
- https://vite.dev/guide/build
|
|
162
|
+
- https://vite.dev/guide/api-javascript
|
|
163
|
+
- https://nitro.build
|
|
164
|
+
-->
|