Skip to content

feat(lint,cli): os build gate for kind:'jsx' page source (ADR-0080 M3b②)#2440

Merged
os-zhuang merged 1 commit into
mainfrom
feat/sdui-jsx-build-gate
Jun 29, 2026
Merged

feat(lint,cli): os build gate for kind:'jsx' page source (ADR-0080 M3b②)#2440
os-zhuang merged 1 commit into
mainfrom
feat/sdui-jsx-build-gate

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

ADR-0080 M3b② — the author-time gate. os validate / os build now parse a kind:'jsx' page's source via @objectstack/sdui-parser (new validateJsxPages lint rule), so malformed JSX fails loudly at author time (ADR-0078) instead of being stored and only breaking at render — alongside the existing expression / widget / styling gates.

Scope: parse-level — syntax, tag matching, forbidden constructs (event handlers, dangerouslySetInnerHTML). Full component/prop whitelist validation arrives once the registry manifest is threaded through compile() (the cross-repo manifest-artifact pipeline — the remaining M3b piece). This also makes @objectstack/sdui-parser a consumed (non-inert) package.

Verified: validateJsxPages unit checks (valid passes; empty/malformed/forbidden flagged at the source path; non-jsx ignored). Lockfile + changeset included; @objectstack/lint gains a @objectstack/sdui-parser dep.

Still remaining (true M3b tail, needs cross-repo infra): ship a serialized component manifest to the gate for full prop validation, and have @object-ui/sdui-parser re-export this package once published.

🤖 Generated with Claude Code

… M3b②)

New validateJsxPages lint rule parses a jsx page's source via
@objectstack/sdui-parser and surfaces parse/structural/forbidden-construct
errors at author time (loud-not-silent, ADR-0078). Wired into os validate
(and os build) alongside the expression/widget/style gates. Parse-level until
the registry manifest is threaded through for full prop validation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 29, 2026 2:23am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file tests tooling size/m labels Jun 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 2 package(s): @objectstack/cli, @objectstack/lint.

15 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/concepts/cloud-artifact-api.mdx (via packages/cli)
  • content/docs/concepts/implementation-status.mdx (via @objectstack/cli)
  • content/docs/concepts/packages.mdx (via @objectstack/cli)
  • content/docs/getting-started/cli.mdx (via @objectstack/cli)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/cli)
  • content/docs/guides/authentication.mdx (via @objectstack/cli)
  • content/docs/guides/client-sdk.mdx (via @objectstack/cli)
  • content/docs/guides/hook-bodies.mdx (via packages/cli)
  • content/docs/guides/packages.mdx (via @objectstack/cli)
  • content/docs/guides/project-scoping.mdx (via @objectstack/cli)
  • content/docs/guides/runtime-services/data-service.mdx (via packages/cli)
  • content/docs/guides/runtime-services/index.mdx (via packages/cli)
  • content/docs/guides/skills.mdx (via packages/cli)
  • content/docs/protocol/objectos/plugin-spec.mdx (via @objectstack/cli)
  • content/docs/protocol/objectos/realtime-protocol.mdx (via @objectstack/cli)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@os-zhuang
os-zhuang merged commit 8ea1f4f into main Jun 29, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the feat/sdui-jsx-build-gate branch June 29, 2026 02:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation size/m tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant