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

vercelBot commented Jun 29, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 29, 2026 2:23am

Request Review

@github-actionsgithub-actionsBot 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 mainJun 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 freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependenciesPull requests that update a dependency filedocumentationImprovements or additions to documentationsize/mteststooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@os-zhuang