Add Formisch v1 RC blog post#150
Conversation
WalkthroughThis PR releases Formisch v1.0.0-rc.0 across the entire package ecosystem. It adds a new MDX blog post announcement at Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdxParsing error: "parserOptions.project" has been provided for 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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7ea798e1d1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
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 `@website/src/routes/blog/`(posts)/formisch-v1-release-candiate/index.mdx:
- Around line 36-69: The code example references LoginSchema but does not define
it within the snippet, making it impossible to copy and paste the example
standalone. Include the LoginSchema definition at the beginning of the code
block before the LoginForm component export. Define it as a schema object that
validates the email and password fields with appropriate validation rules (such
as ensuring email is a string and password is a string) to make the example
self-contained and runnable without external dependencies.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8cbd6494-1fb8-4ebc-827e-11b12f37b7f3
📒 Files selected for processing (1)
website/src/routes/blog/(posts)/formisch-v1-release-candiate/index.mdx
There was a problem hiding this comment.
1 issue found across 1 file
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="website/src/routes/blog/(posts)/formisch-v1-release-candiate/index.mdx">
<violation number="1" location="website/src/routes/blog/(posts)/formisch-v1-release-candiate/index.mdx:1">
P1: The directory name `formisch-v1-release-candiate` has a typo — it should be `formisch-v1-release-candidate` (missing 'd'). Since the route folder name becomes the public URL slug, this will produce a permanently misspelled URL (`/blog/formisch-v1-release-candiate/`) in the blog listing, sitemap, and any shared/canonical links. Rename the directory before launch.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5a7a4c6ee1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
♻️ Duplicate comments (1)
website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx (1)
36-69: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winMake the second code example self-contained by including the schema definition.
This code block still references
LoginSchemawithout defining it. A reader trying to copy-paste and run this snippet in isolation will get a "LoginSchema is not defined" error. To make the example truly self-contained and copy-paste safe, include the schema definition at the beginning of this code block.🐛 Proposed fix
```tsx +import * as v from 'valibot'; import { Field, Form, useForm } from '`@formisch/react`'; +const LoginSchema = v.object({ + email: v.pipe(v.string(), v.email('Please enter a valid email.')), + password: v.pipe(v.string(), v.minLength(8, 'Your password is too short.')), +}); + export default function LoginForm() { const loginForm = useForm({ schema: LoginSchema });🤖 Prompt for 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. In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx around lines 36 - 69, Add the missing LoginSchema definition to make the code example self-contained. Include the import statement for valibot and define the LoginSchema constant with email and password field validation rules using valibot's pipe and validation functions before the LoginForm component definition. This ensures the code snippet is complete and can be successfully copied and executed without referencing undefined variables.
🧹 Nitpick comments (1)
website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx (1)
102-102: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueMinor: Consider rephrasing "Lots of edge cases" for conciseness.
Replace "Lots of edge cases" with "Many edge cases" for more concise prose.
✏️ Proposed change
-- **Hardened nested fields, field arrays, and tuples.** Lots of edge cases around inserting, moving, replacing, resetting, and resizing nested structures — the parts of a form that are easiest to get subtly wrong. +- **Hardened nested fields, field arrays, and tuples.** Many edge cases around inserting, moving, replacing, resetting, and resizing nested structures — the parts of a form that are easiest to get subtly wrong.🤖 Prompt for 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. In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx at line 102, In the blog post content about hardened nested fields, locate the phrase "Lots of edge cases" in the sentence describing inserting, moving, replacing, resetting, and resizing nested structures, and replace it with "Many edge cases" to make the prose more concise.Source: Linters/SAST tools
🤖 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.
Duplicate comments:
In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx:
- Around line 36-69: Add the missing LoginSchema definition to make the code
example self-contained. Include the import statement for valibot and define the
LoginSchema constant with email and password field validation rules using
valibot's pipe and validation functions before the LoginForm component
definition. This ensures the code snippet is complete and can be successfully
copied and executed without referencing undefined variables.
---
Nitpick comments:
In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx:
- Line 102: In the blog post content about hardened nested fields, locate the
phrase "Lots of edge cases" in the sentence describing inserting, moving,
replacing, resetting, and resizing nested structures, and replace it with "Many
edge cases" to make the prose more concise.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 6d5fe658-445b-499a-9514-906f0655d756
📒 Files selected for processing (17)
frameworks/preact/CHANGELOG.mdframeworks/preact/package.jsonframeworks/qwik/CHANGELOG.mdframeworks/qwik/package.jsonframeworks/react/CHANGELOG.mdframeworks/react/package.jsonframeworks/solid/CHANGELOG.mdframeworks/solid/package.jsonframeworks/svelte/CHANGELOG.mdframeworks/svelte/package.jsonframeworks/vue/CHANGELOG.mdframeworks/vue/package.jsonpackages/core/CHANGELOG.mdpackages/core/package.jsonpackages/methods/CHANGELOG.mdpackages/methods/package.jsonwebsite/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx
✅ Files skipped from review due to trivial changes (13)
- packages/methods/CHANGELOG.md
- packages/core/CHANGELOG.md
- frameworks/qwik/package.json
- frameworks/vue/CHANGELOG.md
- frameworks/preact/package.json
- frameworks/solid/CHANGELOG.md
- frameworks/qwik/CHANGELOG.md
- packages/methods/package.json
- frameworks/svelte/CHANGELOG.md
- frameworks/react/CHANGELOG.md
- frameworks/solid/package.json
- frameworks/preact/CHANGELOG.md
- frameworks/react/package.json
Summary by CodeRabbit
Documentation
@formisch/react, a “How we got here” history, and a list of RC changes (hardened nested fields/arrays/tuples, improved state/focus handling, plus new helpers for validation, dirtiness, deep errors, and empty inputs).Chores