Plumeria 10.5
2026-04-30
Main Changes
Added no-inline-object rule
Added @plumeria/no-inline-object to the ESLint plugin (specified as error in the recommended configuration).
- Prohibits specifying inline objects (e.g.,
styleName={{ color: 'red' }}) instyleNameandcss.use(). - This prevents bypassing the Zero-Runtime compiler
- Note: React's standard
style={{}}can still be freely used
Migration Guide
Incorrect syntaxes that were previously ignored will now result in an error. If you are passing inline objects to styleName or css.use(), please update your code to use the correct patterns.
❌ Error
<div styleName={{ color: 'red' }} />
<div styleName={{ [styles.active]: isActive }} />✅ Correct
<div style={{ color: 'red' }} />
<div className={css.use(styles.red)} />
<div styleName={[isActive && styles.active]} />Others
turboacpk-loader
- The writing logic is fixed.
- The exported createTheme HMR now works.
- Fix Windows path.
utils
- Refactor create.ts at getStyleRecords.
- Improve test cases.
eslint-plugin
Improved test cases (currently 100% pass rate) The scope of the following rules is now restricted to import @plumeria/core, preventing them from polluting other objects.
- format-properties
- sort-properties
- validate-values
The use of caching has resulted in a dramatic increase in speed.
With this minor update, all rules are now exclusive to Plumeria.
Please submit your feedback to GitHub Discussions and bug reports to Issues.