feat(richtext): bootstrap @astryxdesign/richtext package (canary-only)#4281
Open
cixzhang wants to merge 1 commit into
Open
feat(richtext): bootstrap @astryxdesign/richtext package (canary-only)#4281cixzhang wants to merge 1 commit into
cixzhang wants to merge 1 commit into
Conversation
Empty scaffold for a new package that will house the Lexical-based rich text editor and viewer currently in @astryxdesign/lab. Mirrors the charts/vega canary-only setup: - private: true + astryx.canaryOnly:true — stable (latest) release job skips it; canary job strips private in its ephemeral CI checkout to publish 0.x.y-canary.<sha> under the @canary dist-tag only. - StyleX-ready babel scaffold (core token alias) mirroring lab/charts, so the lexical editor/view can move here without new build wiring. - build:css intentionally deferred: build-css.mjs errors on a package with zero StyleX rules, which would break CI for an empty package. README documents the trivial add when the first component lands. Package is intentionally empty (export {}) — this only establishes the package + npm canary publishing. npm name bootstrap + trusted publishing is a separate maintainer step (scripts/npm/setup-trusted-publishing.mjs).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
PR Analysis Report📚 Storybook PreviewView Storybook for this PR 🧪 Sandbox PreviewView Sandbox for this PR No new or modified components detected. Bundle Size Summary
Accessibility AuditStatus: No accessibility violations detected. Generated by PR Enrichment workflow | Storybook | Sandbox | View full report |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Bootstraps a new empty
@astryxdesign/richtextpackage. It will eventually house the Lexical-based rich text editor and viewer that currently live in@astryxdesign/lab— but this PR intentionally ships an empty scaffold (export {}). It only establishes the package and its build/publishing wiring so the editor/view can move here later without a fresh package rollout.Mirrors the exact canary-only setup used for
@astryxdesign/charts(#3570) and vega.Why this shape
private: true+astryx.canaryOnly: true. The stable (latest) release job skips both private andcanaryOnlypackages; the canary job stripsprivatein its ephemeral CI checkout only (never in git) and publishes0.x.y-canary.<sha>under the@canarydist-tag. The committedprivate: trueis npm's hard guarantee against an accidental stable publish.babel-plugin-add-extensions.cjs) mirroring lab/charts — the lexical editor is StyleX-based, so the build is already wired for when it moves here.build:cssdeferred on purpose:build-css.mjsexits with an error ("No StyleX rules found") when a package has zero StyleX components, which would break CI for an empty package. The README documents the trivial add (register arichtexttarget, add the script + export) for when the first component lands.Risk
Low. The package is empty and not consumed by any app. The release workflow auto-discovers packages by globbing
packages/*, so no per-package workflow edits are needed. Rootpnpm buildlists packages explicitly via-Fand does not include richtext yet (nothing to build).Testing
pnpm -F @astryxdesign/richtext build→ clean (babel esm + tsc declarations + check-no-dev-jsx all pass)pnpm -F @astryxdesign/richtext typecheck/lint→ cleancheck:changesets,check:sync,check:package-boundaries→ cleanFollow-up (separate maintainer step — not in this PR)
npm name bootstrap + trusted publishing (
scripts/npm/setup-trusted-publishing.mjs --bootstrap --setup-trust) needs an authenticated npm session and is run by a maintainer.@astryxdesign/richtextis currently 404 on the registry.