upgrade: signal-builders package upgrade for Solid 2.0#915
Conversation
🦋 Changeset detectedLatest commit: b7fba70 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/signal-builders/src/string.ts`:
- Line 7: The current memoized capitalisation uses s[0]!.toUpperCase() which
will throw for empty strings; update the createMemo callback (the function that
reads const s = string()) to early-return an empty string (or s) when s === ""
(or s.length === 0) before calling s[0]!.toUpperCase(), otherwise perform the
existing s[0]!.toUpperCase() + s.substring(1).toLowerCase() logic so empty input
no longer crashes.
🪄 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 Plus
Run ID: f3a030a7-57f1-4bc7-8c2c-810885d647be
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (10)
.changeset/signal-builders-solid2-migration.mdpackages/signal-builders/README.mdpackages/signal-builders/package.jsonpackages/signal-builders/src/array.tspackages/signal-builders/src/convert.tspackages/signal-builders/src/number.tspackages/signal-builders/src/object.tspackages/signal-builders/src/string.tspackages/signal-builders/src/update.tspackages/signal-builders/test/index.test.ts
💤 Files with no reviewable changes (1)
- packages/signal-builders/src/convert.ts
# Conflicts: # pnpm-lock.yaml
Upgrades
@solid-primitives/signal-builderstosolid-js@^2.0.0-beta.13.Changes
Solid 2.0 compatibility
on()helper usage incapitalize(API removed in 2.0) — replaced with a plaincreateMemocreateRootand callflush()after writes, required by Solid 2.0's owned-scope write restriction and async batching modelBug fixes
getandmergewere missingcreateMemowrappers — they declaredAccessor<T>return types but returned plain non-reactive values; this fixes them to actually be reactivePackage
solid-js@^2.0.0-beta.13Docs & metadata
intiger,an float,recursing), collapsed the "Object/Array" category into "Object", clarifiedremovevsfilterOutdistinction, noted shallow-merge behavior onmergeand setter-function support onupdate, removed the outdated "proof of concept" sectionpackage.json: fixed placeholder author, updatedprimitive.list, added keywordsBreaking changes
solid-js@^2.0.0-beta.13is now requiredget()andmerge()now return reactiveAccessor<T>values — code that treated their results as plain values (working around the previous bug) will breakSummary by CodeRabbit
Documentation
Refactor
getandmergenow return reactive accessor values (breaking change from previous non-reactive behavior).Tests
Chores