feat(core,hooks): add SKU resource and useSkus hook#720
Conversation
- 📦 Add getSkus, retrieveSku, updateSku functions to core package - 🪝 Add useSkus hook to hooks package with full test coverage - 🐛 Fix extender.ts accessToken type and use() call - 📈 Improve usePrices/useSkus coverage: dataRef tracks get-action data only - 🔒 Replace non-null assertions with null guards in SWR fetcher - 🧪 Add vitest setup file with extended asyncUtilTimeout for coverage runs - 🔧 Update pre-commit hook to scope build/test to core and hooks only - 🐶 Fix husky deprecated shell preamble in pre-commit hook
There was a problem hiding this comment.
Pull request overview
This PR introduces new @commercelayer/core resource helpers and a new @commercelayer/hooks package with SWR-based hooks for Prices and SKUs, plus supporting tooling/test/workspace adjustments across the monorepo.
Changes:
- Add
skusresource helpers topackages/core(getSkus,retrieveSku,updateSku) and export them. - Add SWR hooks to
packages/hooks(usePrices,useSkus) with Vitest setup/config and tests. - Update monorepo tooling/config (pnpm workspace, Vitest workspace, Husky hook, publish workflow) and extend Storybook/documentation assets.
Reviewed changes
Copilot reviewed 109 out of 118 changed files in this pull request and generated 29 comments.
Show a summary per file
| File | Description |
|---|---|
| vitest.workspace.ts | Add Vitest workspace config. |
| pnpm-workspace.yaml | Workspace + build deps + overrides. |
| packages/react-components/tsconfig.json | TS config formatting + vitest include tweak. |
| packages/react-components/src/typings/errors.ts | Error typing tweaks (adds meta). |
| packages/react-components/src/reducers/PaymentMethodReducer.ts | Payment reducer logic + typing adjustments. |
| packages/react-components/src/reducers/OrderReducer.ts | Update-order flow changes + error handling. |
| packages/react-components/src/reducers/CustomerReducer.ts | Add delete customer payment helper. |
| packages/react-components/src/reducers/AddressReducer.ts | Address save logic change. |
| packages/react-components/src/index.ts | Export delete button. |
| packages/react-components/src/context/CustomerPaymentSourceContext.ts | Add delete-click handler to context. |
| packages/react-components/src/context/CustomerContext.ts | Expose delete customer payment action. |
| packages/react-components/src/components/utils/getAllErrors.tsx | Import/style cleanup + minor typing. |
| packages/react-components/src/components/payment_source/StripePayment.tsx | Stripe payment flow changes (but introduces duplicate imports). |
| packages/react-components/src/components/payment_source/PaymentSourceDeleteButton.tsx | New delete button component. |
| packages/react-components/src/components/payment_source/PaymentSource.tsx | Payment source UI logic tweaks. |
| packages/react-components/src/components/payment_source/CheckoutComPayment.tsx | Checkout.com config typing changes. |
| packages/react-components/src/components/payment_source/BraintreePayment.tsx | Small address mapping tweak. |
| packages/react-components/src/components/payment_source/AdyenPayment.tsx | Gift card balance handling + submission logic tweak. |
| packages/react-components/src/components/payment_methods/PaymentMethod.tsx | Effect dependency change. |
| packages/react-components/src/components/payment_gateways/PaymentGateway.tsx | Payment gateway loading/trigger changes. |
| packages/react-components/src/components/orders/PlaceOrderButton.tsx | Place-order logic changes (but introduces compile/syntax issues). |
| packages/react-components/src/components/errors/Errors.tsx | Import/style cleanup. |
| packages/react-components/src/components/customers/CustomerPaymentSource.tsx | Wire delete click into context. |
| packages/react-components/src/components/customers/CustomerContainer.tsx | Expose delete payment in container API. |
| packages/react-components/package.json | Version bump + dependency updates. |
| packages/react-components/_vitest.config.mts | Add Vitest config for react-components package. |
| packages/hooks/vitest.config.ts | Add hooks Vitest config + thresholds. |
| packages/hooks/vite-env.d.ts | Add Vite env typing for hooks tests. |
| packages/hooks/tsup.config.ts | Add hooks build config. |
| packages/hooks/tsconfig.json | Add hooks TS config with path aliases. |
| packages/hooks/src/vitest.setup.ts | Extend RTL async timeout. |
| packages/hooks/src/skus/useSkus.ts | New useSkus hook implementation. |
| packages/hooks/src/skus/useSkus.test.ts | useSkus tests. |
| packages/hooks/src/skus/index.ts | Export SKU hook/types. |
| packages/hooks/src/prices/usePrices.ts | New usePrices hook implementation. |
| packages/hooks/src/prices/usePrices.test.ts | usePrices tests. |
| packages/hooks/src/index.ts | Export hooks from package entrypoint. |
| packages/hooks/package.json | New hooks package manifest. |
| packages/hooks/extender.ts | Test extender for hooks integration tests. |
| packages/document/vite.config.ts | New Vite config for docs app. |
| packages/document/tsconfig.node.json | Docs app node TS config. |
| packages/document/tsconfig.json | Docs app TS references. |
| packages/document/tsconfig.app.json | Docs app app TS config. |
| packages/document/src/vite-env.d.ts | Vite env typing (docs app). |
| packages/document/src/stories/getting-started/005.containers.mdx | New docs content (containers). |
| packages/document/src/stories/getting-started/004.styling.mdx | New docs content (styling). |
| packages/document/src/stories/getting-started/003.microfrontends.mdx | New docs content (microfrontends). |
| packages/document/src/stories/getting-started/002.authentication.mdx | New docs content (auth). |
| packages/document/src/stories/getting-started/001.introduction.mdx | New docs content (intro). |
| packages/document/src/stories/_internals/useGetToken.ts | Token helper for Storybook/docs. |
| packages/document/src/stories/_internals/OrderStorage.tsx | Storybook helper component. |
| packages/document/src/stories/_internals/CommerceLayer.tsx | Storybook wrapper for CommerceLayer. |
| packages/document/src/stories/_internals/Code.tsx | Inline code component for docs. |
| packages/document/src/main.tsx | Docs app entrypoint. |
| packages/document/src/index.css | Docs app base styles. |
| packages/document/src/assets/react.svg | Static asset. |
| packages/document/src/App.tsx | Vite template app component. |
| packages/document/src/App.css | Vite template app styles. |
| packages/document/public/storybook-preview.css | Storybook preview styling. |
| packages/document/public/mockServiceWorker.js | MSW worker file. |
| packages/document/package.json | New docs app package manifest. |
| packages/document/mocks/handlers.js | MSW handlers index. |
| packages/document/mocks/data/tags.js | MSW tags fixtures. |
| packages/document/mocks/data/markets.js | MSW markets fixtures. |
| packages/document/mocks/data/line_items.js | MSW line_items fixtures. |
| packages/document/mocks/data/bundles.js | MSW bundles fixtures. |
| packages/document/mocks/data/adjustments.js | MSW adjustments fixtures. |
| packages/document/mocks/browser.js | MSW browser setup. |
| packages/document/index.html | Docs app HTML entry. |
| packages/document/eslint.config.js | Docs app ESLint config. |
| packages/document/README.md | Vite template README. |
| packages/document/.storybook/preview.tsx | Storybook preview config (typing issue). |
| packages/document/.storybook/preview-head.html | Storybook head includes. |
| packages/document/.storybook/manager-head.html | Storybook manager head. |
| packages/document/.storybook/main.ts | Storybook main config. |
| packages/document/.storybook/commercelayer.theme.ts | Storybook theme. |
| packages/document/.storybook/addon-gh-repository/manager.tsx | Custom Storybook addon manager entry. |
| packages/document/.storybook/addon-gh-repository/constants.ts | Addon constants. |
| packages/document/.storybook/addon-gh-repository/Tool.tsx | Addon toolbar UI. |
| packages/document/.gitignore | Docs app ignore rules. |
| packages/docs/package.json | Version formatting bump. |
| packages/core/vitest.config.ts | Add core Vitest config. |
| packages/core/vite-env.d.ts | Add Vite env typing for core tests. |
| packages/core/tsup.config.ts | Add core build config. |
| packages/core/tsconfig.json | Add core TS config with aliases. |
| packages/core/src/types/index.ts | Export shared types. |
| packages/core/src/types/base.ts | Add RequestConfig base type. |
| packages/core/src/skus/updateSku.ts | Add SKU update helper. |
| packages/core/src/skus/updateSku.spec.ts | SKU update tests. |
| packages/core/src/skus/retrieveSku.ts | Add SKU retrieve helper. |
| packages/core/src/skus/retrieveSku.spec.ts | SKU retrieve tests. |
| packages/core/src/skus/index.ts | Export SKU helpers/types. |
| packages/core/src/skus/getSkus.ts | Add SKU list helper. |
| packages/core/src/skus/getSkus.spec.ts | SKU list tests. |
| packages/core/src/sdk/index.ts | SDK bootstrap helper. |
| packages/core/src/prices/updatePrice.ts | Add price update helper. |
| packages/core/src/prices/updatePrice.spec.ts | Price update tests. |
| packages/core/src/prices/retrievePrice.ts | Add price retrieve helper. |
| packages/core/src/prices/retrievePrice.spec.ts | Price retrieve tests. |
| packages/core/src/prices/index.ts | Export price helpers/types. |
| packages/core/src/prices/getPrices.ts | Add price list helper. |
| packages/core/src/prices/getPrices.spec.ts | Price list tests. |
| packages/core/src/index.ts | Core package entry exports. |
| packages/core/src/auth/index.ts | Export auth helper. |
| packages/core/src/auth/getAccessToken.ts | Add access token helper. |
| packages/core/src/auth/getAccessToken.spec.ts | Auth helper tests. |
| packages/core/package.json | New core package manifest. |
| packages/core/extender.ts | Core test extender for integration tests. |
| package.json | Root tooling deps + add clean script + overrides changes. |
| lerna.json | Version bump. |
| biome.json | Biome schema bump. |
| .vscode/settings.json | Switch default formatter to Biome. |
| .husky/pre-commit | Scope pre-commit to core/hooks (but missing shebang). |
| .github/workflows/publish.yaml | Modernize publish workflow + permissions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
83414c1 to
47441ab
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces new SKU resource support in @commercelayer/core and a corresponding SWR-based useSkus hook in @commercelayer/hooks, while also updating tooling/dependencies and making several related changes across react-components and the documentation workspace.
Changes:
- Added
getSkus,retrieveSku,updateSkutopackages/corewith integration tests, plus a newuseSkushook (mirroringusePrices) with tests inpackages/hooks. - Refactored parts of
packages/react-componentsaround payment flows (delete payment source, expired payment handling, loading/selection logic) and updated typings. - Updated workspace/tooling configuration (Vitest workspace, pnpm/lerna/biome, CI publish workflow) and added a new
packages/documentStorybook/Vite setup.
Reviewed changes
Copilot reviewed 109 out of 118 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| vitest.workspace.ts | Adds a Vitest workspace definition for running tests across packages. |
| pnpm-workspace.yaml | Adjusts workspace layout/config (packages globs + dependency build/override settings). |
| packages/react-components/tsconfig.json | Reformats TS config and updates include list for local vitest config file name. |
| packages/react-components/src/typings/errors.ts | Updates quoting style and adds meta field to BaseError typing. |
| packages/react-components/src/reducers/PaymentMethodReducer.ts | Refactors imports and extends error handling / expired payment source cleanup logic. |
| packages/react-components/src/reducers/OrderReducer.ts | Adds payment-source-expiry handling and changes update-order error typing/logging. |
| packages/react-components/src/reducers/CustomerReducer.ts | Adds deleteCustomerPayment reducer action helper to delete and refresh payments. |
| packages/react-components/src/reducers/AddressReducer.ts | Adjusts address save logic around shipping clone flags. |
| packages/react-components/src/index.ts | Re-exports the new PaymentSourceDeleteButton and normalizes export formatting. |
| packages/react-components/src/context/CustomerPaymentSourceContext.ts | Extends context to expose a delete-click handler. |
| packages/react-components/src/context/CustomerContext.ts | Wires deleteCustomerPayment into the Customer context type. |
| packages/react-components/src/components/utils/getAllErrors.tsx | Formatting/typing adjustments for JSX intrinsic prop typing and parameters. |
| packages/react-components/src/components/payment_source/StripePayment.tsx | Updates Stripe payment behavior (draft-order checks + error clearing), but currently contains import issues. |
| packages/react-components/src/components/payment_source/PaymentSourceDeleteButton.tsx | Adds a new button component for deleting a customer payment source. |
| packages/react-components/src/components/payment_source/PaymentSource.tsx | Updates card display behavior (e.g., giftcard handling) and declined-state handling. |
| packages/react-components/src/components/payment_source/CheckoutComPayment.tsx | Expands Checkout.com config typing structure. |
| packages/react-components/src/components/payment_source/BraintreePayment.tsx | Normalizes region value passed to Braintree to avoid null. |
| packages/react-components/src/components/payment_source/AdyenPayment.tsx | Adds gift-card balance validation and expands drop-in submission handling. |
| packages/react-components/src/components/payment_methods/PaymentMethod.tsx | Adjusts effect dependencies for auto-select behavior. |
| packages/react-components/src/components/payment_gateways/PaymentGateway.tsx | Tweaks payment-source creation and loading behavior tied to payment methods/errors. |
| packages/react-components/src/components/orders/PlaceOrderButton.tsx | Adds draft-order guards and selection-reload workaround logic (but currently has a braces/syntax issue). |
| packages/react-components/src/components/errors/Errors.tsx | Formatting/typing cleanup and minor dependency array adjustments. |
| packages/react-components/src/components/customers/CustomerPaymentSource.tsx | Adds delete handler wiring into customer payment source provider context. |
| packages/react-components/src/components/customers/CustomerContainer.tsx | Exposes deleteCustomerPayment through the container context value. |
| packages/react-components/package.json | Bumps version and updates dependencies/devDependencies. |
| packages/react-components/_vitest.config.mts | Adds a local Vitest config for react-components package testing/coverage. |
| packages/hooks/vitest.config.ts | Adds hooks package Vitest configuration with coverage thresholds and no parallelism. |
| packages/hooks/vite-env.d.ts | Adds Vite env typing for hooks integration tests. |
| packages/hooks/tsup.config.ts | Adds tsup build config for hooks package (CJS/ESM + dts). |
| packages/hooks/tsconfig.json | Adds hooks package TS config with path aliases. |
| packages/hooks/src/vitest.setup.ts | Adds Testing Library setup for async util timeout. |
| packages/hooks/src/skus/useSkus.ts | Introduces SWR-based hook for listing/retrieving/updating SKUs. |
| packages/hooks/src/skus/useSkus.test.ts | Adds tests covering fetch/retrieve/update/errors/pagination/cache-clear behavior for useSkus. |
| packages/hooks/src/skus/index.ts | Exports SKU hook and core SKU types. |
| packages/hooks/src/prices/usePrices.ts | Adds/updates SWR-based prices hook to return fresh API results and correct mutator typing. |
| packages/hooks/src/prices/usePrices.test.ts | Adds tests for usePrices hook behaviors (fetch/retrieve/update/errors/pagination/include/etc.). |
| packages/hooks/src/index.ts | Exports hooks package public API (usePrices, useSkus). |
| packages/hooks/package.json | Adds new @commercelayer/hooks package manifest with peer dep on React >=18. |
| packages/hooks/extender.ts | Adds Vitest extender providing integration/sales-channel token fixtures via env vars. |
| packages/document/vite.config.ts | Adds Vite config for the new documentation package. |
| packages/document/tsconfig.node.json | Adds TS config for Vite/Storybook node-side config files. |
| packages/document/tsconfig.json | Adds TS project references for document app/node configs. |
| packages/document/tsconfig.app.json | Adds TS config for the document app sources. |
| packages/document/src/vite-env.d.ts | Adds Vite client typings for document package. |
| packages/document/src/stories/getting-started/005.containers.mdx | Adds new “Containers” getting-started docs page. |
| packages/document/src/stories/getting-started/004.styling.mdx | Adds new “Styling” getting-started docs page. |
| packages/document/src/stories/getting-started/003.microfrontends.mdx | Adds new “Micro frontends” getting-started docs page. |
| packages/document/src/stories/getting-started/002.authentication.mdx | Adds new “Authentication” getting-started docs page. |
| packages/document/src/stories/getting-started/001.introduction.mdx | Adds new “Introduction” getting-started docs page. |
| packages/document/src/stories/_internals/useGetToken.ts | Adds Storybook token bootstrap helper for docs stories. |
| packages/document/src/stories/_internals/OrderStorage.tsx | Adds helper components to persist/fill sample orders for Storybook scenarios. |
| packages/document/src/stories/_internals/CommerceLayer.tsx | Adds Storybook-friendly wrapper around CommerceLayer component using useGetToken. |
| packages/document/src/stories/_internals/Code.tsx | Adds small code styling helper component for docs. |
| packages/document/src/main.tsx | Adds Vite app bootstrap entrypoint. |
| packages/document/src/index.css | Adds base CSS scaffold for Vite document app. |
| packages/document/src/assets/react.svg | Adds React logo asset for Vite app scaffold. |
| packages/document/src/App.tsx | Adds Vite starter app component. |
| packages/document/src/App.css | Adds Vite starter app styling. |
| packages/document/public/storybook-preview.css | Adds global Storybook docs styling (callouts, lists, etc.). |
| packages/document/public/mockServiceWorker.js | Adds MSW service worker file for Storybook mocking. |
| packages/document/package.json | Adds document package manifest (Vite + Storybook + MSW + ESLint). |
| packages/document/mocks/handlers.js | Adds MSW handler aggregation for Storybook mocks. |
| packages/document/mocks/data/tags.js | Adds MSW mocked tags endpoints. |
| packages/document/mocks/data/markets.js | Adds MSW mocked markets endpoints. |
| packages/document/mocks/data/line_items.js | Adds MSW mocked line_items endpoints. |
| packages/document/mocks/data/bundles.js | Adds MSW mocked bundles endpoint. |
| packages/document/mocks/data/adjustments.js | Adds MSW mocked adjustments endpoint. |
| packages/document/mocks/browser.js | Adds MSW browser worker setup for Storybook runtime. |
| packages/document/index.html | Adds Vite HTML entry for document package. |
| packages/document/eslint.config.js | Adds ESLint flat config for document package. |
| packages/document/README.md | Adds Vite starter README (likely placeholder). |
| packages/document/.storybook/preview.tsx | Adds Storybook preview configuration (MSW startup + docs layout). |
| packages/document/.storybook/preview-head.html | Adds Storybook preview head includes (fonts/CSS/global). |
| packages/document/.storybook/manager-head.html | Adds Storybook manager branding/meta includes. |
| packages/document/.storybook/main.ts | Adds Storybook main config with Vite overrides and addon setup. |
| packages/document/.storybook/commercelayer.theme.ts | Adds custom Storybook theme definition. |
| packages/document/.storybook/addon-gh-repository/manager.tsx | Adds Storybook toolbar addon wiring for “View repository”. |
| packages/document/.storybook/addon-gh-repository/constants.ts | Adds constants for the Storybook “View repository” addon. |
| packages/document/.storybook/addon-gh-repository/Tool.tsx | Adds the Storybook toolbar UI control linking to the repo. |
| packages/document/.gitignore | Adds doc package gitignore. |
| packages/docs/package.json | Bumps docs package version and reformats JSON. |
| packages/core/vitest.config.ts | Adds core package Vitest config. |
| packages/core/vite-env.d.ts | Adds Vite env typing for core integration tests. |
| packages/core/tsup.config.ts | Adds tsup build config for core package. |
| packages/core/tsconfig.json | Adds core package TS config with path aliases. |
| packages/core/src/types/index.ts | Exports shared request config type. |
| packages/core/src/types/base.ts | Defines RequestConfig used across core resource functions. |
| packages/core/src/skus/updateSku.ts | Adds SKU update function wrapping SDK resource update. |
| packages/core/src/skus/updateSku.spec.ts | Adds integration test coverage for SKU update. |
| packages/core/src/skus/retrieveSku.ts | Adds SKU retrieve function wrapping SDK resource retrieve. |
| packages/core/src/skus/retrieveSku.spec.ts | Adds integration test coverage for SKU retrieve. |
| packages/core/src/skus/index.ts | Exports SKU resource functions and types. |
| packages/core/src/skus/getSkus.ts | Adds SKU list function wrapping SDK resource list. |
| packages/core/src/skus/getSkus.spec.ts | Adds test coverage for SKU listing and filtering. |
| packages/core/src/sdk/index.ts | Adds SDK initialization helper (JWT decode + org slug + raw reader). |
| packages/core/src/prices/updatePrice.ts | Adds price update function in the same pattern as SKUs. |
| packages/core/src/prices/updatePrice.spec.ts | Adds integration test coverage for price update. |
| packages/core/src/prices/retrievePrice.ts | Adds price retrieve function in the same pattern as SKUs. |
| packages/core/src/prices/retrievePrice.spec.ts | Adds test coverage for price retrieve. |
| packages/core/src/prices/index.ts | Exports price resource functions and types. |
| packages/core/src/prices/getPrices.ts | Adds price list function in the same pattern as SKUs. |
| packages/core/src/prices/getPrices.spec.ts | Adds test coverage for price list/filter behavior. |
| packages/core/src/index.ts | Exports core public API (auth, prices, skus). |
| packages/core/src/auth/index.ts | Exports auth helper(s). |
| packages/core/src/auth/getAccessToken.ts | Adds a small wrapper around @commercelayer/js-auth authenticate. |
| packages/core/src/auth/getAccessToken.spec.ts | Adds unit tests for getAccessToken wrapper behavior. |
| packages/core/package.json | Adds new @commercelayer/core package manifest and dependencies. |
| packages/core/extender.ts | Adds Vitest extender providing token fixtures for core package tests. |
| package.json | Updates repo-level tooling deps and pnpm overrides; adds a clean script. |
| lerna.json | Bumps monorepo version. |
| biome.json | Updates Biome schema version reference. |
| .vscode/settings.json | Switches formatting/code-actions settings to Biome-focused config. |
| .husky/pre-commit | Scopes pre-commit to core/hooks build+lint (drops tests). |
| .github/workflows/publish.yaml | Updates publish workflow (actions versions, pnpm/node versions, permissions). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Brings in latest fixes from v5.0.0 (merged from main v4.29.6): PlaceOrderButton gift card error handling, PlaceOrderReducer org config fix, PrivacyAndTermsCheckbox org config fallback, payment validation fixes, Adyen dropin fix, security dep upgrades. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ucer Closes #727. Replaces useReducer + getSku manual SDK calls with the useSkus hook from @commercelayer/hooks. SkuReducer now only exports the SkuState type. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
✨ feat(SkusContainer): use
|
…drop old tests Closes #728. Updates peerDependencies to react >=19.0.0, adds babel-plugin-react-compiler to the vitest config, and removes all legacy specs written against the React 18 + reducer architecture. New tests will be added incrementally per feature.
- Add specs/skus/skus-container.spec.tsx with 6 tests covering code fields, count, name, image_url, empty skus, and queryParams filter - Wrap each render with SWRConfig provider for isolated cache per test - Fix clearSkus unhandled promise rejection by chaining .catch() on mutate - Add babel-plugin-react-compiler and SWR to react-components vitest config - Add workspace aliases for @commercelayer/hooks and @commercelayer/core
|
✅ Added 6 tests for
Each test uses isolated SWR cache via Also fixed a |
commit: |
Summary
Closes #719
Adds a full SKU resource implementation to the
coreandhookspackages, following the same pattern as prices.Changes
packages/coregetSkus— list SKUs with optional filters/paramsretrieveSku— fetch a single SKU by IDupdateSku— update a SKU resourcepackages/hooksuseSkushook — SWR-based React hook mirroringusePricesretrievePrice,updatePrice,retrieveSku,updateSku— handlers now call core functions directly and return fresh API resultsactionstate — retrieve/update no longer trigger spurious SWR re-fetches that could wipe the cached listmutatereturn type corrected toKeyedMutator<Price[]>/KeyedMutator<Sku[]>import type { ReactNode }instead ofReact.ReactNode)packages/hookspeer dependencyreactpeer dependency from>=19.2.1to>=18for broader compatibilitypackages/core+packages/hooksdependencies@commercelayer/sdk,@commercelayer/js-auth,vitest,@vitest/coverage-v8,vite-tsconfig-paths,@babel/core,@testing-library/react,@types/react,react,react-dom,swrRoot dependencies
@biomejs/biomeandlernato latestpnpm.overridesforrollup >=4.59.0and vulnerableminimatchranges to fix high-severity CVEs in transitive depsTooling
fileParallelism: falsein hooks Vitest config to prevent concurrent API calls from causing flaky integration testsbuild+lintonly (integration tests moved to CI to avoid network timeout flakiness)coreandhookspackages only