Skip to content

chore: migrate builds to tsdown and upgrade all deps#304

Merged
KevinVandy merged 7 commits intomainfrom
tsdown
Apr 10, 2026
Merged

chore: migrate builds to tsdown and upgrade all deps#304
KevinVandy merged 7 commits intomainfrom
tsdown

Conversation

@KevinVandy
Copy link
Copy Markdown
Member

@KevinVandy KevinVandy commented Apr 9, 2026

🎯 Changes

This PR upgrades the repo dependencies and migrates the JS package build pipeline from Vite library builds to tsdown, bringing this repo in line with other TanStack projects.

Dependency updates

  • Upgraded workspace dependencies across the repo
  • Added tsdown
  • Removed @tanstack/vite-config from the package build flow

Build migration

Migrated these packages from Vite library builds to tsdown:

  • @tanstack/store
  • @tanstack/react-store
  • @tanstack/preact-store
  • @tanstack/vue-store
  • @tanstack/solid-store
  • @tanstack/angular-store

Left unchanged:

  • @tanstack/svelte-store stays on svelte-package

Config cleanup

  • Split library build config from test config
  • Renamed package vite.config.ts files used for tests to vitest.config.ts
  • Added/updated per-package tsconfig.build.json files for publish-time builds
  • Removed Angular ng-packagr packaging in favor of tsdown
  • Added per-package tsdown.config.ts files

Packaging/output changes

  • Standardized JS package output layout under dist/
  • tsdown now owns standard package entry generation for migrated packages
  • Preserved the custom solid export condition for @tanstack/solid-store

Follow-up fixes included

  • Fixed TS 6 / Vitest typecheck issues in react-store ESLint config typing
  • Updated vue-store tests to avoid JSX transform dependence in Vitest
  • Fixed repo hygiene issues surfaced by knip, sherif, and ESLint so pnpm test passes

Notes

  • @tanstack/angular-store now builds as a standard TS library instead of Angular Package Format output
  • publint still reports non-blocking repository.url suggestions in some packages, but they do not fail CI

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.

Summary by CodeRabbit

  • Chores
    • Updated dependencies across frameworks (React 19, Angular 21.2+, Vue 3.5+, Svelte 5.55+, Preact 10.29+, Solid 1.9+)
    • Upgraded TypeScript to 6.0.2 and package manager to pnpm@10.33.0
    • Upgraded ESLint, tooling and devDependencies
    • Migrated package build pipelines to a unified bundler, streamlined package entrypoints/exports
    • Standardized test configurations and enabled repository analytics

@nx-cloud
Copy link
Copy Markdown

nx-cloud bot commented Apr 9, 2026

View your CI Pipeline Execution ↗ for commit 936d771

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 56s View ↗
nx run-many --target=build --exclude=examples/** ✅ Succeeded <1s View ↗

☁️ Nx Cloud last updated this comment at 2026-04-09 17:06:04 UTC

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

🚀 Changeset Version Preview

7 package(s) bumped directly, 0 bumped as dependents.

🟨 Minor bumps

Package Version Reason
@tanstack/angular-store 0.9.3 → 0.10.0 Changeset
@tanstack/preact-store 0.11.3 → 0.12.0 Changeset
@tanstack/react-store 0.9.3 → 0.10.0 Changeset
@tanstack/solid-store 0.9.3 → 0.10.0 Changeset
@tanstack/store 0.9.3 → 0.10.0 Changeset
@tanstack/svelte-store 0.10.3 → 0.11.0 Changeset
@tanstack/vue-store 0.9.3 → 0.10.0 Changeset

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 9, 2026

@tanstack/angular-store

npm i https://pkg.pr.new/@tanstack/angular-store@304

@tanstack/preact-store

npm i https://pkg.pr.new/@tanstack/preact-store@304

@tanstack/react-store

npm i https://pkg.pr.new/@tanstack/react-store@304

@tanstack/solid-store

npm i https://pkg.pr.new/@tanstack/solid-store@304

@tanstack/store

npm i https://pkg.pr.new/@tanstack/store@304

@tanstack/svelte-store

npm i https://pkg.pr.new/@tanstack/svelte-store@304

@tanstack/vue-store

npm i https://pkg.pr.new/@tanstack/vue-store@304

commit: 936d771

@KevinVandy
Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a3199a57-8f57-4f77-8fa1-9ddb6c204987

📥 Commits

Reviewing files that changed from the base of the PR and between 7e4c084 and 0a0ee5b.

📒 Files selected for processing (7)
  • packages/angular-store/package.json
  • packages/preact-store/package.json
  • packages/react-store/package.json
  • packages/solid-store/package.json
  • packages/solid-store/tsconfig.source.json
  • packages/store/package.json
  • packages/vue-store/package.json
✅ Files skipped from review due to trivial changes (2)
  • packages/solid-store/tsconfig.source.json
  • packages/vue-store/package.json

📝 Walkthrough

Walkthrough

Migrates many framework-specific store packages from ng-packagr/Vite to tsdown, consolidates package entrypoints/exports to unified ./dist/index.* outputs, updates numerous example and package dev/runtime dependencies, adds tsdown and per-package build/vitest configs, and enables analytics in nx.json.

Changes

Cohort / File(s) Summary
Changeset & Root Config
\.changeset/petite-actors-lie.md, package.json, knip.json, nx.json
Adds a changeset (minor bumps for multiple stores); adds tsdown devDep; updates many tooling deps and TypeScript to 6.0.2; removes top-level vue devDep and a pnpm override; removes knip top-level vue ignore; enables analytics: true in nx.json.
Example Apps
examples/angular/simple/package.json, examples/preact/simple/package.json, examples/react/simple/package.json, examples/solid/simple/package.json, examples/svelte/simple/package.json, examples/vue/simple/package.json
Bumps example app runtime and tooling versions (Angular, React, Preact, Solid, Svelte, Vue, Vite, TypeScript, etc.).
CI Workflows
\.nx/workflows/dynamic-changesets.yaml
Removes distribute-on mapping for changeset distribution.
Monorepo Root Build / Store Core
packages/store/package.json, packages/store/tsconfig.build.json, packages/store/tsconfig.json, packages/store/tsdown.config.ts, packages/store/vite.config.ts, packages/store/vitest.config.ts
Switches core build to tsdown, adds tsdown config and tsconfig.build.json, consolidates entrypoints/exports to ./dist/index.*, removes vite.config.ts, and replaces with direct vitest.config.ts.
Angular store
packages/angular-store/ng-package.json, packages/angular-store/package.json, packages/angular-store/tsconfig.build.json, packages/angular-store/tsconfig.json, packages/angular-store/tsdown.config.ts
Removes ng-package.json, migrates from ng-packagr to tsdown, updates package entrypoints/exports to ./dist/index.*, simplifies tsconfig build, and adds tsdown.config.ts.
React store
packages/react-store/eslint.config.js, packages/react-store/package.json, packages/react-store/tsconfig.build.json, packages/react-store/tsconfig.json, packages/react-store/tsdown.config.ts, packages/react-store/vitest.config.ts
Moves build to tsdown, consolidates ./dist/index.* outputs, adds tsconfig.build.json and tsdown.config.ts, updates ESLint to use typed plugin constants and adds a test-scoped rule disable; simplifies Vitest config (removes tanstack merge).
Preact store
packages/preact-store/package.json, packages/preact-store/tsconfig.build.json, packages/preact-store/tsconfig.json, packages/preact-store/tsdown.config.ts, packages/preact-store/vitest.config.ts
Switches build to tsdown, consolidates outputs to ./dist/index.*, adds build tsconfig and tsdown config, and simplifies Vitest config (no tanstack merge).
Solid store
packages/solid-store/package.json, packages/solid-store/tsconfig.build.json, packages/solid-store/tsconfig.json, packages/solid-store/tsdown.config.ts, packages/solid-store/vitest.config.ts, packages/solid-store/tsconfig.source.json
Migrates build to tsdown, consolidates outputs to ./dist/index.*, adjusts build tsconfig base/paths, adds tsdown.config.ts and a tsconfig.source.json for source emission, and simplifies Vitest config.
Svelte store
packages/svelte-store/eslint.config.js, packages/svelte-store/package.json
Adds ESLint flat-config rule disable for src/**/*.svelte.ts and bumps Svelte-related dev tooling versions.
Vue store
packages/vue-store/package.json, packages/vue-store/tests/index.test.tsx, packages/vue-store/tsconfig.build.json, packages/vue-store/tsconfig.json, packages/vue-store/tsdown.config.ts, packages/vue-store/vitest.config.ts
Switches to tsdown, consolidates outputs to ./dist/index.*, updates tests to use h() VNode factory, adds tsconfig.build.json and tsdown.config.ts, and simplifies Vitest config (removes tanstack merge and esbuild JSX settings).
Package removals / ng-packagr artifacts
packages/angular-store/ng-package.json, packages/store/vite.config.ts
Removes legacy ng-package.json and package-specific vite.config.ts artifacts related to previous build setups.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐇 I nibbled through configs, hopped past each test,
Swapped packs for tsdown, put exports to rest.
Dist folders aligned, builds neat and sound,
A carrot of changes—rolled up and found! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: migrating builds to tsdown and upgrading dependencies, which aligns with the core objectives.
Description check ✅ Passed The description is comprehensive, covering changes, migration details, config updates, checklist completion, and release impact with a changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tsdown

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades repository dependencies and migrates multiple TanStack Store adapter packages from Vite library builds to tsdown, while splitting test config into dedicated vitest.config.ts files and standardizing outputs under dist/.

Changes:

  • Replace Vite library build pipelines with tsdown for most packages (keeping @tanstack/svelte-store on svelte-package).
  • Introduce per-package tsdown.config.ts and tsconfig.build.json, and rename test configs to vitest.config.ts.
  • Upgrade toolchain and framework dependencies across packages and examples.

Reviewed changes

Copilot reviewed 45 out of 47 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
packages/vue-store/vitest.config.ts Removes merged Vite library build config from test config; keeps Vitest-only config.
packages/vue-store/tsdown.config.ts Adds tsdown build configuration for vue-store.
packages/vue-store/tsconfig.json Updates include list to reference vitest.config.ts.
packages/vue-store/tsconfig.build.json Adds build-focused tsconfig for publish-time builds.
packages/vue-store/tests/index.test.tsx Refactors tests to avoid JSX transform dependence.
packages/vue-store/package.json Switches build script to tsdown and updates package entrypoints/exports.
packages/svelte-store/package.json Updates Svelte-related dependencies (package remains on svelte-package build).
packages/svelte-store/eslint.config.js Adds a targeted ESLint override for *.svelte.ts files.
packages/store/vitest.config.ts Adds a dedicated Vitest config for store tests.
packages/store/vite.config.ts Removes prior combined Vite/Vitest config (previously used for library build + test).
packages/store/tsdown.config.ts Adds tsdown build configuration for @tanstack/store.
packages/store/tsconfig.json Updates include list to reference vitest.config.ts.
packages/store/tsconfig.build.json Adds build-focused tsconfig for publish-time builds.
packages/store/package.json Switches build script to tsdown and updates package entrypoints/exports.
packages/solid-store/vitest.config.ts Removes merged Vite library build config from test config; keeps Vitest-only config.
packages/solid-store/tsdown.config.ts Adds tsdown config with custom exports to preserve solid condition.
packages/solid-store/tsconfig.json Updates include list to reference vitest.config.ts.
packages/solid-store/tsconfig.build.json Simplifies build tsconfig to extend package tsconfig and clear paths.
packages/solid-store/package.json Switches build script to tsdown and updates exports/entrypoints.
packages/react-store/vitest.config.ts Removes merged Vite library build config from test config; keeps Vitest-only config.
packages/react-store/tsdown.config.ts Adds tsdown build configuration for react-store.
packages/react-store/tsconfig.json Updates include list to reference vitest.config.ts.
packages/react-store/tsconfig.build.json Adds build-focused tsconfig for publish-time builds.
packages/react-store/package.json Switches build script to tsdown and updates package entrypoints/exports.
packages/react-store/eslint.config.js Adjusts ESLint config typing to accommodate newer TS/Vitest/types.
packages/preact-store/vitest.config.ts Removes merged Vite library build config from test config; keeps Vitest-only config.
packages/preact-store/tsdown.config.ts Adds tsdown build configuration for preact-store.
packages/preact-store/tsconfig.json Updates include list to reference vitest.config.ts.
packages/preact-store/tsconfig.build.json Adds build-focused tsconfig for publish-time builds.
packages/preact-store/package.json Switches build script to tsdown and updates package entrypoints/exports.
packages/angular-store/vitest.config.ts Adds dedicated Vitest config for angular-store tests.
packages/angular-store/tsdown.config.ts Adds tsdown build configuration for angular-store.
packages/angular-store/tsconfig.json Updates include list to reference vitest.config.ts.
packages/angular-store/tsconfig.build.json Switches build tsconfig away from ng-packagr config to standard TS build config.
packages/angular-store/package.json Replaces ng-packagr build with tsdown and updates exports/entrypoints.
packages/angular-store/ng-package.json Removes ng-packagr packaging config.
package.json Upgrades repo-wide toolchain deps and adds tsdown.
nx.json Enables Nx analytics and keeps build/test target defaults aligned with new build outputs.
knip.json Updates knip dependency ignore rules.
examples/vue/simple/package.json Updates Vue example dependencies/tooling to match workspace upgrades.
examples/svelte/simple/package.json Updates Svelte example dependencies/tooling to match workspace upgrades.
examples/solid/simple/package.json Updates Solid example dependencies/tooling to match workspace upgrades.
examples/react/simple/package.json Updates React example dependencies/tooling to match workspace upgrades.
examples/preact/simple/package.json Updates Preact example dependencies/tooling to match workspace upgrades.
examples/angular/simple/package.json Updates Angular example dependencies/tooling to match workspace upgrades.
.changeset/petite-actors-lie.md Adds changeset covering minor bumps for all affected packages.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (5)
nx.json (1)

64-65: Consider making Nx analytics opt-in for CI environments.

Line 65 enables telemetry globally. If your org treats CI telemetry as restricted, prefer environment-gated opt-in to avoid unintentional data collection.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@nx.json` around lines 64 - 65, The nx.json currently sets "analytics": true
which enables telemetry globally; change this to opt-in for CI by setting
"analytics": false in nx.json and gate enabling telemetry via an environment
variable in CI (e.g., set NX_ENABLE_ANALYTICS=true or a repo-specific
NX_ANALYTICS variable only in permitted pipelines), and update any CI pipeline
templates/scripts to set that env var when telemetry is allowed; reference the
"analytics" property in nx.json to locate the setting and update CI
config/templates to conditionally enable analytics via the chosen env var.
examples/svelte/simple/package.json (1)

18-19: Consider using consistent version pinning for TypeScript.

Vite 8.0.8 is valid and exists on npm. However, TypeScript is pinned to 6.0.2 without a caret, whereas other dependencies use ^. For consistency, consider using ^6.0.2 unless an exact version pin is intentional.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@examples/svelte/simple/package.json` around lines 18 - 19, The TypeScript
dependency in package.json is pinned as "typescript": "6.0.2" while other deps
use caret ranges; update the TypeScript entry to use a caret range (e.g., change
"typescript": "6.0.2" to "typescript": "^6.0.2") in the package.json
dependencies so versioning is consistent with Vite and other packages.
packages/preact-store/package.json (1)

36-45: Consider adding explicit types conditions in exports.

The exports map doesn't include explicit types conditions for TypeScript resolution. While the top-level types field provides a fallback, modern TypeScript (4.7+) with moduleResolution: "bundler" or "node16" prefers explicit type conditions in exports:

".": {
  "import": {
    "types": "./dist/index.d.ts",
    "default": "./dist/index.js"
  },
  "require": {
    "types": "./dist/index.d.cts",
    "default": "./dist/index.cjs"
  }
}

This is consistent with the pattern used across other packages in this PR, so it may be an intentional simplification relying on tsdown's exports: true to handle this. Verify that publint --strict passes without warnings about missing type conditions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/preact-store/package.json` around lines 36 - 45, The exports map
lacks explicit TypeScript "types" conditions—update the package.json "exports"
entry for "." to provide a "types" condition for both ESM and CJS branches
(pointing to the compiled declaration files like ./dist/index.d.ts for
import/ESM and ./dist/index.d.cts for require/CJS) alongside the existing
"import"/"require" defaults, so TypeScript bundler/node16 resolution picks up
types correctly and pulint --strict stops warning about missing type conditions.
packages/solid-store/package.json (1)

39-46: Consider reordering export conditions for Solid bundlers.

Export conditions are evaluated in order by bundlers. The solid condition should typically come before import to ensure Solid-aware bundlers (like those using solid condition) resolve it correctly before falling back to the generic import condition:

".": {
  "solid": "./dist/index.js",
  "import": "./dist/index.js",
  "require": "./dist/index.cjs"
}

In this case, both solid and import point to the same file, so the current ordering won't cause functional issues. However, placing framework-specific conditions first is the conventional pattern and makes the intent clearer.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/solid-store/package.json` around lines 39 - 46, Reorder the export
condition keys in the package.json exports for the "." entry so that the "solid"
condition appears before "import" (i.e., change the order of "import",
"require", "solid" to "solid", "import", "require") to ensure Solid-aware
bundlers resolve the framework-specific "solid" condition first; update the
exports object (the "." entry) accordingly so the paths remain the same but the
condition order is changed.
packages/store/package.json (1)

36-43: Add explicit types in exports to align with ESM-first package.

The package declares "type": "module" (ESM) but currently has "types": "./dist/index.d.cts" (CJS format) at the top level. Additionally, exports["."] lacks an explicit types field, which TypeScript toolchains may struggle to resolve correctly. For ESM-focused packages using conditional exports, both the top-level types and exports["."]["types"] should point to .d.ts.

Proposed package.json adjustment
-  "types": "./dist/index.d.cts",
+  "types": "./dist/index.d.ts",
   "main": "./dist/index.cjs",
   "module": "./dist/index.js",
   "exports": {
     ".": {
+      "types": "./dist/index.d.ts",
       "import": "./dist/index.js",
       "require": "./dist/index.cjs"
     },

Note: If the build generates separate declaration files (.d.ts for ESM and .d.cts for CJS), consider also adding an explicit types field within the require conditional pointing to .d.cts for full type-resolution clarity.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/store/package.json` around lines 36 - 43, The package.json currently
sets a top-level "types" to "./dist/index.d.cts" and the exports["."]
conditional lacks a "types" entry; update the top-level "types" to point to the
ESM declaration file (e.g., "./dist/index.d.ts"), and add a "types" field inside
exports["."] alongside "import"/"require" that points to the correct declaration
for the corresponding conditional (e.g., "types": "./dist/index.d.ts" under the
default/import branch and, if you emit CJS declarations, add a "types" entry
under the "require" conditional pointing to "./dist/index.d.cts"); ensure the
declared filenames match your build output and keep the existing
"import"/"require" mappings unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@examples/preact/simple/package.json`:
- Around line 15-20: The dev dependency mismatch between "eslint" and
"eslint-config-preact" must be resolved: either upgrade "eslint-config-preact"
to a release that declares compatibility with ESLint 10 (replace
"eslint-config-preact": "^2.0.0" with the newer compatible version) or pin
"eslint" to a 9.x version (replace "eslint": "^10.2.0" with "^9.x.x"), then run
your package manager to reinstall; update package.json entries for "eslint" or
"eslint-config-preact" accordingly and verify linting works (run the "eslint"
script) before finalizing the change.

In `@packages/react-store/package.json`:
- Around line 36-43: The package.json currently sets "types":
"./dist/index.d.cts" and omits a "types" conditional under "exports", causing
TypeScript bundler resolution and publint (TYPES_NOT_EXPORTED) failures; update
package.json so the top-level "types" points to the actual emitted file
"./dist/index.d.ts" and add a nested "types" condition inside the "exports"
entry for "." alongside "import" and "require" (use the conditional mapping
structure rather than placing "types" as a sibling), ensuring the exported
conditions reference "./dist/index.d.ts" for TypeScript consumers while keeping
"import" -> "./dist/index.js" and "require" -> "./dist/index.cjs".

---

Nitpick comments:
In `@examples/svelte/simple/package.json`:
- Around line 18-19: The TypeScript dependency in package.json is pinned as
"typescript": "6.0.2" while other deps use caret ranges; update the TypeScript
entry to use a caret range (e.g., change "typescript": "6.0.2" to "typescript":
"^6.0.2") in the package.json dependencies so versioning is consistent with Vite
and other packages.

In `@nx.json`:
- Around line 64-65: The nx.json currently sets "analytics": true which enables
telemetry globally; change this to opt-in for CI by setting "analytics": false
in nx.json and gate enabling telemetry via an environment variable in CI (e.g.,
set NX_ENABLE_ANALYTICS=true or a repo-specific NX_ANALYTICS variable only in
permitted pipelines), and update any CI pipeline templates/scripts to set that
env var when telemetry is allowed; reference the "analytics" property in nx.json
to locate the setting and update CI config/templates to conditionally enable
analytics via the chosen env var.

In `@packages/preact-store/package.json`:
- Around line 36-45: The exports map lacks explicit TypeScript "types"
conditions—update the package.json "exports" entry for "." to provide a "types"
condition for both ESM and CJS branches (pointing to the compiled declaration
files like ./dist/index.d.ts for import/ESM and ./dist/index.d.cts for
require/CJS) alongside the existing "import"/"require" defaults, so TypeScript
bundler/node16 resolution picks up types correctly and pulint --strict stops
warning about missing type conditions.

In `@packages/solid-store/package.json`:
- Around line 39-46: Reorder the export condition keys in the package.json
exports for the "." entry so that the "solid" condition appears before "import"
(i.e., change the order of "import", "require", "solid" to "solid", "import",
"require") to ensure Solid-aware bundlers resolve the framework-specific "solid"
condition first; update the exports object (the "." entry) accordingly so the
paths remain the same but the condition order is changed.

In `@packages/store/package.json`:
- Around line 36-43: The package.json currently sets a top-level "types" to
"./dist/index.d.cts" and the exports["."] conditional lacks a "types" entry;
update the top-level "types" to point to the ESM declaration file (e.g.,
"./dist/index.d.ts"), and add a "types" field inside exports["."] alongside
"import"/"require" that points to the correct declaration for the corresponding
conditional (e.g., "types": "./dist/index.d.ts" under the default/import branch
and, if you emit CJS declarations, add a "types" entry under the "require"
conditional pointing to "./dist/index.d.cts"); ensure the declared filenames
match your build output and keep the existing "import"/"require" mappings
unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 50848b47-9e90-4f74-bc79-e2ddd6de6aa9

📥 Commits

Reviewing files that changed from the base of the PR and between ee8326d and 9e046ca.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (46)
  • .changeset/petite-actors-lie.md
  • examples/angular/simple/package.json
  • examples/preact/simple/package.json
  • examples/react/simple/package.json
  • examples/solid/simple/package.json
  • examples/svelte/simple/package.json
  • examples/vue/simple/package.json
  • knip.json
  • nx.json
  • package.json
  • packages/angular-store/ng-package.json
  • packages/angular-store/package.json
  • packages/angular-store/tsconfig.build.json
  • packages/angular-store/tsconfig.json
  • packages/angular-store/tsdown.config.ts
  • packages/angular-store/vitest.config.ts
  • packages/preact-store/package.json
  • packages/preact-store/tsconfig.build.json
  • packages/preact-store/tsconfig.json
  • packages/preact-store/tsdown.config.ts
  • packages/preact-store/vitest.config.ts
  • packages/react-store/eslint.config.js
  • packages/react-store/package.json
  • packages/react-store/tsconfig.build.json
  • packages/react-store/tsconfig.json
  • packages/react-store/tsdown.config.ts
  • packages/react-store/vitest.config.ts
  • packages/solid-store/package.json
  • packages/solid-store/tsconfig.build.json
  • packages/solid-store/tsconfig.json
  • packages/solid-store/tsdown.config.ts
  • packages/solid-store/vitest.config.ts
  • packages/store/package.json
  • packages/store/tsconfig.build.json
  • packages/store/tsconfig.json
  • packages/store/tsdown.config.ts
  • packages/store/vite.config.ts
  • packages/store/vitest.config.ts
  • packages/svelte-store/eslint.config.js
  • packages/svelte-store/package.json
  • packages/vue-store/package.json
  • packages/vue-store/tests/index.test.tsx
  • packages/vue-store/tsconfig.build.json
  • packages/vue-store/tsconfig.json
  • packages/vue-store/tsdown.config.ts
  • packages/vue-store/vitest.config.ts
💤 Files with no reviewable changes (3)
  • packages/angular-store/ng-package.json
  • knip.json
  • packages/store/vite.config.ts

@KevinVandy KevinVandy merged commit 66e3010 into main Apr 10, 2026
7 checks passed
@KevinVandy KevinVandy deleted the tsdown branch April 10, 2026 03:01
@github-actions github-actions bot mentioned this pull request Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants