Skip to content

[release] v0.19.0#1688

Merged
mellyeliu merged 3 commits into
mainfrom
release/0.19.0
Jun 15, 2026
Merged

[release] v0.19.0#1688
mellyeliu merged 3 commits into
mainfrom
release/0.19.0

Conversation

@mellyeliu

@mellyeliu mellyeliu commented May 30, 2026

Copy link
Copy Markdown
Member

0.19.0 (Jun 14, 2026)

  • New @stylexjs/atoms package for inline atomic styles.
  • ESLint 10 compatibility.
  • Add gap auto-fix for legacy-expand-shorthands and skip single-value gap
    and flex in valid-shorthands.
  • Extend textWrap validation with pretty and stable values.
  • Fix sx prop runtime stylex import injection.
  • Fix pseudo-element + pseudo-class selector ordering.
  • Fix aliased theme file resolution to absolute paths.
  • Fix sort-keys autofix ordering.
  • Fix media type parenthesization in and chains in the style value parser.

Copilot AI review requested due to automatic review settings May 30, 2026 01:37
@mellyeliu mellyeliu requested a review from nmn as a code owner May 30, 2026 01:37
@vercel

vercel Bot commented May 30, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
stylex Ready Ready Preview, Comment Jun 15, 2026 6:24pm

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label May 30, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release PR bumping all workspace packages from 0.18.3 to 0.19.0. Beyond version bumps, it ships a new @stylexjs/atoms package (compile-time atomic style helpers using property-access / call syntax) and wires its babel transform into @stylexjs/babel-plugin. Also fixes bail-out index tracking and adds module-level hoisting of compiled inline CSS objects in stylex.props, and re-exports CSSProperties from @stylexjs/stylex.

Changes:

  • Add @stylexjs/atoms package (runtime Proxy that throws, Flow/TS types, babel transform, README) and integrate the visitor into the babel-plugin pipeline.
  • Update stylex-props visitor to track only the earliest bail-out index, hoist compiled CSS objects, handle CallExpression arguments, and bail out for dynamic style call expressions.
  • Bump version to 0.19.0 across all packages and examples, add CHANGELOG entry and atoms demo page in example-nextjs.

Reviewed changes

Copilot reviewed 47 out of 52 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/@stylexjs/atoms/* (new) New atomic styles package: runtime proxy, Flow/TS types, babel transform, README, package.json.
packages/@stylexjs/babel-plugin/src/index.js Wires atoms visitor into Program.exit before stylex.props/call transforms.
packages/@stylexjs/babel-plugin/src/visitors/imports.js Detects @stylexjs/atoms imports/requires and records them in state.
packages/@stylexjs/babel-plugin/src/utils/state-manager.js Adds atomImports map.
packages/@stylexjs/babel-plugin/src/visitors/stylex-props.js Tightens StyleObject type; preserves first bail-out index; supports CallExpression args; bails for dynamic style functions; hoists compiled $$css objects.
packages/@stylexjs/babel-plugin/tests/transform-stylex-props-test.js Large new test block for atoms + props interactions.
packages/@stylexjs/stylex/src/stylex.js, types/StyleXTypes.{js,d.ts} Re-export CSSProperties; simplify StyleX$DefineMarker marker typing.
examples/example-nextjs/app/atoms-demo/page.tsx (new) Demo page exercising atoms across many cases.
examples/example-nextjs/tsconfig.json Adds target: ES2017 and reformats JSON.
CHANGELOG.md Adds 0.19.0 entry.
All other package.json files Bump versions and inter-package deps from 0.18.3 → 0.19.0.

Comment on lines +372 to +381
if (path.isCallExpression()) {
const callee = path.get('callee');
if (callee.isMemberExpression()) {
const obj = callee.get('object');
if (obj.isIdentifier() && state.styleMap.has(obj.node.name)) {
return 'other';
}
}
return 'other';
}
@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

workflow: benchmarks/perf

Comparison of performance test results, measured in operations per second. Larger is better.
yarn workspace v1.22.22
yarn run v1.22.22
$ node ./compare.js /tmp/tmp.bB8bHcvy1R /tmp/tmp.tHv0sHG9Jp

Results Base Patch Ratio
babel-plugin: stylex.create
· basic create 572 586 1.02 +
· complex create 67 66 0.99 -
babel-plugin: stylex.createTheme
· basic themes 453 462 1.02 +
· complex themes 32 33 1.03 +
Done in 0.10s.
Done in 0.34s.

@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

workflow: benchmarks/size

Comparison of minified (terser) and compressed (brotli) size results, measured in bytes. Smaller is better.
yarn workspace v1.22.22
yarn run v1.22.22
$ node ./compare.js /tmp/tmp.cyWRzh8WkZ /tmp/tmp.vfWzAGZnFT

Results Base Patch Ratio
@stylexjs/stylex/lib/cjs/stylex.js
· compressed 1,535 1,535 1.00
· minified 5,166 5,166 1.00
@stylexjs/stylex/lib/cjs/inject.js
· compressed 1,793 1,793 1.00
· minified 4,915 4,915 1.00
benchmarks/size/.build/bundle.js
· compressed 496,650 496,650 1.00
· minified 4,847,840 4,847,840 1.00
benchmarks/size/.build/stylex.css
· compressed 99,757 99,757 1.00
· minified 748,850 748,850 1.00
Done in 0.08s.
Done in 0.32s.

@mellyeliu mellyeliu marked this pull request as draft June 1, 2026 17:37
- Set 0.19.0 release date to Jun 14, 2026
- Document remaining major items (eslint shorthand/textWrap fixes,
  sort-keys autofix, style-value-parser media type fix)
- Remove package-lock.json accidentally re-added during the release
  (repo uses yarn)
@mellyeliu mellyeliu marked this pull request as ready for review June 15, 2026 23:48
@mellyeliu mellyeliu merged commit 5f51b24 into main Jun 15, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants