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,284 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pnpm-performance-optimization
|
|
3
|
+
description: Tips and tricks for faster installs and better performance
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pnpm Performance Optimization
|
|
7
|
+
|
|
8
|
+
pnpm is fast by default, but these optimizations can make it even faster.
|
|
9
|
+
|
|
10
|
+
## Install Optimizations
|
|
11
|
+
|
|
12
|
+
### Use Frozen Lockfile
|
|
13
|
+
|
|
14
|
+
Skip resolution when lockfile exists:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pnpm install --frozen-lockfile
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This is faster because pnpm skips the resolution phase entirely.
|
|
21
|
+
|
|
22
|
+
### Prefer Offline Mode
|
|
23
|
+
|
|
24
|
+
Use cached packages when available:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pnpm install --prefer-offline
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Or configure globally:
|
|
31
|
+
```ini
|
|
32
|
+
# .npmrc
|
|
33
|
+
prefer-offline=true
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Skip Optional Dependencies
|
|
37
|
+
|
|
38
|
+
If you don't need optional deps:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pnpm install --no-optional
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Skip Scripts
|
|
45
|
+
|
|
46
|
+
For CI or when scripts aren't needed:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pnpm install --ignore-scripts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Caution:** Some packages require postinstall scripts to work correctly.
|
|
53
|
+
|
|
54
|
+
### Only Build Specific Dependencies
|
|
55
|
+
|
|
56
|
+
Only run build scripts for specific packages:
|
|
57
|
+
|
|
58
|
+
```ini
|
|
59
|
+
# .npmrc
|
|
60
|
+
onlyBuiltDependencies[]=esbuild
|
|
61
|
+
onlyBuiltDependencies[]=sharp
|
|
62
|
+
onlyBuiltDependencies[]=@swc/core
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Or skip builds entirely for deps that don't need them:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"pnpm": {
|
|
70
|
+
"neverBuiltDependencies": ["fsevents", "cpu-features"]
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Store Optimizations
|
|
76
|
+
|
|
77
|
+
### Side Effects Cache
|
|
78
|
+
|
|
79
|
+
Cache native module build results:
|
|
80
|
+
|
|
81
|
+
```ini
|
|
82
|
+
# .npmrc
|
|
83
|
+
side-effects-cache=true
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
This caches the results of postinstall scripts, speeding up subsequent installs.
|
|
87
|
+
|
|
88
|
+
### Shared Store
|
|
89
|
+
|
|
90
|
+
Use a single store for all projects (default behavior):
|
|
91
|
+
|
|
92
|
+
```ini
|
|
93
|
+
# .npmrc
|
|
94
|
+
store-dir=~/.pnpm-store
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Benefits:
|
|
98
|
+
- Packages downloaded once for all projects
|
|
99
|
+
- Hard links save disk space
|
|
100
|
+
- Faster installs from cache
|
|
101
|
+
|
|
102
|
+
### Store Maintenance
|
|
103
|
+
|
|
104
|
+
Periodically clean unused packages:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Remove unreferenced packages
|
|
108
|
+
pnpm store prune
|
|
109
|
+
|
|
110
|
+
# Check store integrity
|
|
111
|
+
pnpm store status
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Workspace Optimizations
|
|
115
|
+
|
|
116
|
+
### Parallel Execution
|
|
117
|
+
|
|
118
|
+
Run workspace scripts in parallel:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pnpm -r --parallel run build
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Control concurrency:
|
|
125
|
+
```ini
|
|
126
|
+
# .npmrc
|
|
127
|
+
workspace-concurrency=8
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Stream Output
|
|
131
|
+
|
|
132
|
+
See output in real-time:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
pnpm -r --stream run build
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Filter to Changed Packages
|
|
139
|
+
|
|
140
|
+
Only build what changed:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Build packages changed since main branch
|
|
144
|
+
pnpm --filter "...[origin/main]" run build
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Topological Order
|
|
148
|
+
|
|
149
|
+
Build dependencies before dependents:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
pnpm -r run build
|
|
153
|
+
# Automatically runs in topological order
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
For explicit sequential builds:
|
|
157
|
+
```bash
|
|
158
|
+
pnpm -r --workspace-concurrency=1 run build
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Network Optimizations
|
|
162
|
+
|
|
163
|
+
### Configure Registry
|
|
164
|
+
|
|
165
|
+
Use closest/fastest registry:
|
|
166
|
+
|
|
167
|
+
```ini
|
|
168
|
+
# .npmrc
|
|
169
|
+
registry=https://registry.npmmirror.com/
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### HTTP Settings
|
|
173
|
+
|
|
174
|
+
Tune network settings:
|
|
175
|
+
|
|
176
|
+
```ini
|
|
177
|
+
# .npmrc
|
|
178
|
+
fetch-retries=3
|
|
179
|
+
fetch-retry-mintimeout=10000
|
|
180
|
+
fetch-retry-maxtimeout=60000
|
|
181
|
+
network-concurrency=16
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Proxy Configuration
|
|
185
|
+
|
|
186
|
+
```ini
|
|
187
|
+
# .npmrc
|
|
188
|
+
proxy=http://proxy.company.com:8080
|
|
189
|
+
https-proxy=http://proxy.company.com:8080
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Lockfile Optimization
|
|
193
|
+
|
|
194
|
+
### Single Lockfile (Monorepos)
|
|
195
|
+
|
|
196
|
+
Use shared lockfile for all packages (default):
|
|
197
|
+
|
|
198
|
+
```ini
|
|
199
|
+
# .npmrc
|
|
200
|
+
shared-workspace-lockfile=true
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Benefits:
|
|
204
|
+
- Single source of truth
|
|
205
|
+
- Faster resolution
|
|
206
|
+
- Consistent versions across workspace
|
|
207
|
+
|
|
208
|
+
### Lockfile-only Mode
|
|
209
|
+
|
|
210
|
+
Only update lockfile without installing:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
pnpm install --lockfile-only
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Benchmarking
|
|
217
|
+
|
|
218
|
+
### Compare Install Times
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# Clean install
|
|
222
|
+
rm -rf node_modules pnpm-lock.yaml
|
|
223
|
+
time pnpm install
|
|
224
|
+
|
|
225
|
+
# Cached install (with lockfile)
|
|
226
|
+
rm -rf node_modules
|
|
227
|
+
time pnpm install --frozen-lockfile
|
|
228
|
+
|
|
229
|
+
# With store cache
|
|
230
|
+
time pnpm install --frozen-lockfile --prefer-offline
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Profile Resolution
|
|
234
|
+
|
|
235
|
+
Debug slow installs:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# Verbose logging
|
|
239
|
+
pnpm install --reporter=append-only
|
|
240
|
+
|
|
241
|
+
# Debug mode
|
|
242
|
+
DEBUG=pnpm:* pnpm install
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Configuration Summary
|
|
246
|
+
|
|
247
|
+
Optimized `.npmrc` for performance:
|
|
248
|
+
|
|
249
|
+
```ini
|
|
250
|
+
# Install behavior
|
|
251
|
+
prefer-offline=true
|
|
252
|
+
auto-install-peers=true
|
|
253
|
+
|
|
254
|
+
# Build optimization
|
|
255
|
+
side-effects-cache=true
|
|
256
|
+
# Only build what's necessary
|
|
257
|
+
onlyBuiltDependencies[]=esbuild
|
|
258
|
+
onlyBuiltDependencies[]=@swc/core
|
|
259
|
+
|
|
260
|
+
# Network
|
|
261
|
+
fetch-retries=3
|
|
262
|
+
network-concurrency=16
|
|
263
|
+
|
|
264
|
+
# Workspace
|
|
265
|
+
workspace-concurrency=4
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Quick Reference
|
|
269
|
+
|
|
270
|
+
| Scenario | Command/Setting |
|
|
271
|
+
|----------|-----------------|
|
|
272
|
+
| CI installs | `pnpm install --frozen-lockfile` |
|
|
273
|
+
| Offline development | `--prefer-offline` |
|
|
274
|
+
| Skip native builds | `neverBuiltDependencies` |
|
|
275
|
+
| Parallel workspace | `pnpm -r --parallel run build` |
|
|
276
|
+
| Build changed only | `pnpm --filter "...[origin/main]" build` |
|
|
277
|
+
| Clean store | `pnpm store prune` |
|
|
278
|
+
|
|
279
|
+
<!--
|
|
280
|
+
Source references:
|
|
281
|
+
- https://pnpm.io/npmrc
|
|
282
|
+
- https://pnpm.io/cli/install
|
|
283
|
+
- https://pnpm.io/filtering
|
|
284
|
+
-->
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pnpm-cli-commands
|
|
3
|
+
description: Essential pnpm commands for package management, running scripts, and workspace operations
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pnpm CLI Commands
|
|
7
|
+
|
|
8
|
+
pnpm provides a comprehensive CLI for package management with commands similar to npm/yarn but with unique features.
|
|
9
|
+
|
|
10
|
+
## Installation Commands
|
|
11
|
+
|
|
12
|
+
### Install all dependencies
|
|
13
|
+
```bash
|
|
14
|
+
pnpm install
|
|
15
|
+
# or
|
|
16
|
+
pnpm i
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Add a dependency
|
|
20
|
+
```bash
|
|
21
|
+
# Production dependency
|
|
22
|
+
pnpm add <pkg>
|
|
23
|
+
|
|
24
|
+
# Dev dependency
|
|
25
|
+
pnpm add -D <pkg>
|
|
26
|
+
pnpm add --save-dev <pkg>
|
|
27
|
+
|
|
28
|
+
# Optional dependency
|
|
29
|
+
pnpm add -O <pkg>
|
|
30
|
+
|
|
31
|
+
# Global package
|
|
32
|
+
pnpm add -g <pkg>
|
|
33
|
+
|
|
34
|
+
# Specific version
|
|
35
|
+
pnpm add <pkg>@<version>
|
|
36
|
+
pnpm add <pkg>@next
|
|
37
|
+
pnpm add <pkg>@^1.0.0
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Remove a dependency
|
|
41
|
+
```bash
|
|
42
|
+
pnpm remove <pkg>
|
|
43
|
+
pnpm rm <pkg>
|
|
44
|
+
pnpm uninstall <pkg>
|
|
45
|
+
pnpm un <pkg>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Update dependencies
|
|
49
|
+
```bash
|
|
50
|
+
# Update all
|
|
51
|
+
pnpm update
|
|
52
|
+
pnpm up
|
|
53
|
+
|
|
54
|
+
# Update specific package
|
|
55
|
+
pnpm update <pkg>
|
|
56
|
+
|
|
57
|
+
# Update to latest (ignore semver)
|
|
58
|
+
pnpm update --latest
|
|
59
|
+
pnpm up -L
|
|
60
|
+
|
|
61
|
+
# Interactive update
|
|
62
|
+
pnpm update --interactive
|
|
63
|
+
pnpm up -i
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Script Commands
|
|
67
|
+
|
|
68
|
+
### Run scripts
|
|
69
|
+
```bash
|
|
70
|
+
pnpm run <script>
|
|
71
|
+
# or shorthand
|
|
72
|
+
pnpm <script>
|
|
73
|
+
|
|
74
|
+
# Pass arguments to script
|
|
75
|
+
pnpm run build -- --watch
|
|
76
|
+
|
|
77
|
+
# Run script if exists (no error if missing)
|
|
78
|
+
pnpm run --if-present build
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Execute binaries
|
|
82
|
+
```bash
|
|
83
|
+
# Run local binary
|
|
84
|
+
pnpm exec <command>
|
|
85
|
+
|
|
86
|
+
# Example
|
|
87
|
+
pnpm exec eslint .
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### dlx - Run without installing
|
|
91
|
+
```bash
|
|
92
|
+
# Like npx but for pnpm
|
|
93
|
+
pnpm dlx <pkg>
|
|
94
|
+
|
|
95
|
+
# Examples
|
|
96
|
+
pnpm dlx create-vite my-app
|
|
97
|
+
pnpm dlx degit user/repo my-project
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Workspace Commands
|
|
101
|
+
|
|
102
|
+
### Run in all packages
|
|
103
|
+
```bash
|
|
104
|
+
# Run script in all workspace packages
|
|
105
|
+
pnpm -r run <script>
|
|
106
|
+
pnpm --recursive run <script>
|
|
107
|
+
|
|
108
|
+
# Run in specific packages
|
|
109
|
+
pnpm --filter <pattern> run <script>
|
|
110
|
+
|
|
111
|
+
# Examples
|
|
112
|
+
pnpm --filter "./packages/**" run build
|
|
113
|
+
pnpm --filter "!./packages/internal/**" run test
|
|
114
|
+
pnpm --filter "@myorg/*" run lint
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Filter patterns
|
|
118
|
+
```bash
|
|
119
|
+
# By package name
|
|
120
|
+
pnpm --filter <pkg-name> <command>
|
|
121
|
+
pnpm --filter "@scope/pkg" build
|
|
122
|
+
|
|
123
|
+
# By directory
|
|
124
|
+
pnpm --filter "./packages/core" test
|
|
125
|
+
|
|
126
|
+
# Dependencies of a package
|
|
127
|
+
pnpm --filter "...@scope/app" build
|
|
128
|
+
|
|
129
|
+
# Dependents of a package
|
|
130
|
+
pnpm --filter "@scope/core..." test
|
|
131
|
+
|
|
132
|
+
# Changed packages since commit/branch
|
|
133
|
+
pnpm --filter "...[origin/main]" build
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Other Useful Commands
|
|
137
|
+
|
|
138
|
+
### Link packages
|
|
139
|
+
```bash
|
|
140
|
+
# Link global package
|
|
141
|
+
pnpm link --global
|
|
142
|
+
pnpm link -g
|
|
143
|
+
|
|
144
|
+
# Use linked package
|
|
145
|
+
pnpm link --global <pkg>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Patch packages
|
|
149
|
+
```bash
|
|
150
|
+
# Create patch for a package
|
|
151
|
+
pnpm patch <pkg>@<version>
|
|
152
|
+
|
|
153
|
+
# After editing, commit the patch
|
|
154
|
+
pnpm patch-commit <path>
|
|
155
|
+
|
|
156
|
+
# Remove a patch
|
|
157
|
+
pnpm patch-remove <pkg>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Store management
|
|
161
|
+
```bash
|
|
162
|
+
# Show store path
|
|
163
|
+
pnpm store path
|
|
164
|
+
|
|
165
|
+
# Remove unreferenced packages
|
|
166
|
+
pnpm store prune
|
|
167
|
+
|
|
168
|
+
# Check store integrity
|
|
169
|
+
pnpm store status
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Other commands
|
|
173
|
+
```bash
|
|
174
|
+
# Clean install (like npm ci)
|
|
175
|
+
pnpm install --frozen-lockfile
|
|
176
|
+
|
|
177
|
+
# List installed packages
|
|
178
|
+
pnpm list
|
|
179
|
+
pnpm ls
|
|
180
|
+
|
|
181
|
+
# Why is package installed?
|
|
182
|
+
pnpm why <pkg>
|
|
183
|
+
|
|
184
|
+
# Outdated packages
|
|
185
|
+
pnpm outdated
|
|
186
|
+
|
|
187
|
+
# Audit for vulnerabilities
|
|
188
|
+
pnpm audit
|
|
189
|
+
|
|
190
|
+
# Rebuild native modules
|
|
191
|
+
pnpm rebuild
|
|
192
|
+
|
|
193
|
+
# Import from npm/yarn lockfile
|
|
194
|
+
pnpm import
|
|
195
|
+
|
|
196
|
+
# Create tarball
|
|
197
|
+
pnpm pack
|
|
198
|
+
|
|
199
|
+
# Publish package
|
|
200
|
+
pnpm publish
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Useful Flags
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Ignore scripts
|
|
207
|
+
pnpm install --ignore-scripts
|
|
208
|
+
|
|
209
|
+
# Prefer offline (use cache)
|
|
210
|
+
pnpm install --prefer-offline
|
|
211
|
+
|
|
212
|
+
# Strict peer dependencies
|
|
213
|
+
pnpm install --strict-peer-dependencies
|
|
214
|
+
|
|
215
|
+
# Production only
|
|
216
|
+
pnpm install --prod
|
|
217
|
+
pnpm install -P
|
|
218
|
+
|
|
219
|
+
# No optional dependencies
|
|
220
|
+
pnpm install --no-optional
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
<!--
|
|
224
|
+
Source references:
|
|
225
|
+
- https://pnpm.io/cli/install
|
|
226
|
+
- https://pnpm.io/cli/add
|
|
227
|
+
- https://pnpm.io/cli/run
|
|
228
|
+
- https://pnpm.io/filtering
|
|
229
|
+
-->
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pnpm-configuration
|
|
3
|
+
description: Configuration options via pnpm-workspace.yaml and .npmrc settings
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pnpm Configuration
|
|
7
|
+
|
|
8
|
+
pnpm uses two main configuration files: `pnpm-workspace.yaml` for workspace and pnpm-specific settings, and `.npmrc` for npm-compatible and pnpm-specific settings.
|
|
9
|
+
|
|
10
|
+
## pnpm-workspace.yaml
|
|
11
|
+
|
|
12
|
+
The recommended location for pnpm-specific configurations. Place at project root.
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
# Define workspace packages
|
|
16
|
+
packages:
|
|
17
|
+
- 'packages/*'
|
|
18
|
+
- 'apps/*'
|
|
19
|
+
- '!**/test/**' # Exclude pattern
|
|
20
|
+
|
|
21
|
+
# Catalog for shared dependency versions
|
|
22
|
+
catalog:
|
|
23
|
+
react: ^18.2.0
|
|
24
|
+
typescript: ~5.3.0
|
|
25
|
+
|
|
26
|
+
# Named catalogs for different dependency groups
|
|
27
|
+
catalogs:
|
|
28
|
+
react17:
|
|
29
|
+
react: ^17.0.2
|
|
30
|
+
react-dom: ^17.0.2
|
|
31
|
+
react18:
|
|
32
|
+
react: ^18.2.0
|
|
33
|
+
react-dom: ^18.2.0
|
|
34
|
+
|
|
35
|
+
# Override resolutions (preferred location)
|
|
36
|
+
overrides:
|
|
37
|
+
lodash: ^4.17.21
|
|
38
|
+
'foo@^1.0.0>bar': ^2.0.0
|
|
39
|
+
|
|
40
|
+
# pnpm settings (alternative to .npmrc)
|
|
41
|
+
settings:
|
|
42
|
+
auto-install-peers: true
|
|
43
|
+
strict-peer-dependencies: false
|
|
44
|
+
link-workspace-packages: true
|
|
45
|
+
prefer-workspace-packages: true
|
|
46
|
+
shared-workspace-lockfile: true
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## .npmrc Settings
|
|
50
|
+
|
|
51
|
+
pnpm reads settings from `.npmrc` files. Create at project root or user home.
|
|
52
|
+
|
|
53
|
+
### Common pnpm Settings
|
|
54
|
+
|
|
55
|
+
```ini
|
|
56
|
+
# Automatically install peer dependencies
|
|
57
|
+
auto-install-peers=true
|
|
58
|
+
|
|
59
|
+
# Fail on peer dependency issues
|
|
60
|
+
strict-peer-dependencies=false
|
|
61
|
+
|
|
62
|
+
# Hoist patterns for dependencies
|
|
63
|
+
public-hoist-pattern[]=*types*
|
|
64
|
+
public-hoist-pattern[]=*eslint*
|
|
65
|
+
shamefully-hoist=false
|
|
66
|
+
|
|
67
|
+
# Store location
|
|
68
|
+
store-dir=~/.pnpm-store
|
|
69
|
+
|
|
70
|
+
# Virtual store location
|
|
71
|
+
virtual-store-dir=node_modules/.pnpm
|
|
72
|
+
|
|
73
|
+
# Lockfile settings
|
|
74
|
+
lockfile=true
|
|
75
|
+
prefer-frozen-lockfile=true
|
|
76
|
+
|
|
77
|
+
# Side effects cache (speeds up rebuilds)
|
|
78
|
+
side-effects-cache=true
|
|
79
|
+
|
|
80
|
+
# Registry settings
|
|
81
|
+
registry=https://registry.npmjs.org/
|
|
82
|
+
@myorg:registry=https://npm.myorg.com/
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Workspace Settings
|
|
86
|
+
|
|
87
|
+
```ini
|
|
88
|
+
# Link workspace packages
|
|
89
|
+
link-workspace-packages=true
|
|
90
|
+
|
|
91
|
+
# Prefer workspace packages over registry
|
|
92
|
+
prefer-workspace-packages=true
|
|
93
|
+
|
|
94
|
+
# Single lockfile for all packages
|
|
95
|
+
shared-workspace-lockfile=true
|
|
96
|
+
|
|
97
|
+
# Save prefix for workspace dependencies
|
|
98
|
+
save-workspace-protocol=rolling
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Node.js Settings
|
|
102
|
+
|
|
103
|
+
```ini
|
|
104
|
+
# Use specific Node.js version
|
|
105
|
+
use-node-version=20.10.0
|
|
106
|
+
|
|
107
|
+
# Node.js version file
|
|
108
|
+
node-version-file=.nvmrc
|
|
109
|
+
|
|
110
|
+
# Manage Node.js versions
|
|
111
|
+
manage-package-manager-versions=true
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Security Settings
|
|
115
|
+
|
|
116
|
+
```ini
|
|
117
|
+
# Ignore specific scripts
|
|
118
|
+
ignore-scripts=false
|
|
119
|
+
|
|
120
|
+
# Allow specific build scripts
|
|
121
|
+
onlyBuiltDependencies[]=esbuild
|
|
122
|
+
onlyBuiltDependencies[]=sharp
|
|
123
|
+
|
|
124
|
+
# Package extensions for missing peer deps
|
|
125
|
+
package-extensions[foo@1].peerDependencies.bar=*
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Configuration Hierarchy
|
|
129
|
+
|
|
130
|
+
Settings are read in order (later overrides earlier):
|
|
131
|
+
|
|
132
|
+
1. `/etc/npmrc` - Global config
|
|
133
|
+
2. `~/.npmrc` - User config
|
|
134
|
+
3. `<project>/.npmrc` - Project config
|
|
135
|
+
4. Environment variables: `npm_config_<key>=<value>`
|
|
136
|
+
5. `pnpm-workspace.yaml` settings field
|
|
137
|
+
|
|
138
|
+
## Environment Variables
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Set config via env
|
|
142
|
+
npm_config_registry=https://registry.npmjs.org/
|
|
143
|
+
|
|
144
|
+
# pnpm-specific env vars
|
|
145
|
+
PNPM_HOME=~/.local/share/pnpm
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Package.json Fields
|
|
149
|
+
|
|
150
|
+
pnpm reads specific fields from `package.json`:
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"pnpm": {
|
|
155
|
+
"overrides": {
|
|
156
|
+
"lodash": "^4.17.21"
|
|
157
|
+
},
|
|
158
|
+
"peerDependencyRules": {
|
|
159
|
+
"ignoreMissing": ["@babel/*"],
|
|
160
|
+
"allowedVersions": {
|
|
161
|
+
"react": "17 || 18"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"neverBuiltDependencies": ["fsevents"],
|
|
165
|
+
"onlyBuiltDependencies": ["esbuild"],
|
|
166
|
+
"allowedDeprecatedVersions": {
|
|
167
|
+
"request": "*"
|
|
168
|
+
},
|
|
169
|
+
"patchedDependencies": {
|
|
170
|
+
"express@4.18.2": "patches/express@4.18.2.patch"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Key Differences from npm/yarn
|
|
177
|
+
|
|
178
|
+
1. **Strict by default**: No phantom dependencies
|
|
179
|
+
2. **Workspace protocol**: `workspace:*` for local packages
|
|
180
|
+
3. **Catalogs**: Centralized version management
|
|
181
|
+
4. **Content-addressable store**: Shared across projects
|
|
182
|
+
|
|
183
|
+
<!--
|
|
184
|
+
Source references:
|
|
185
|
+
- https://pnpm.io/pnpm-workspace_yaml
|
|
186
|
+
- https://pnpm.io/npmrc
|
|
187
|
+
- https://pnpm.io/package_json
|
|
188
|
+
-->
|