All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
0.2.33 (2026-01-25)
- bundler: update metro config. Disable expo's CSS and remove explicit cssxjs babel transformation step (should just add cssxjs babel preset to babel config in the project itself) (a5d3d50)
0.2.32 (2026-01-25)
- runtime: support var() in shorthand values and in various complex cases (4483f54)
0.2.31 (2026-01-23)
- runtime: improve performance of substituting var() in css (282cb46)
0.2.30 (2026-01-18)
- support animation and transition (the way it's expected by Reanimated v4) (44a1f77)
0.2.29 (2025-12-26)
- runtime: show warning about missing window just once (b2f07d7)
0.2.28 (2025-12-16)
- babel-plugin-rn-stylename-to-style: re-crawl the whole Program to update bindings correctly (3e72af1)
0.2.27 (2025-12-16)
Note: Version bump only for package cssx
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- chore: update lerna and auto (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): update scope bindings after injecting part styles into component props (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-react-pug- fix(babel-plugin-react-pug): upgrade pug to jsx transformer to use the proper JSX Fragments (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/loaders- feat: check for @startupjs-ui/core presense and load styles from it (@cray0000)
- Pavel Zhukov (@cray0000)
example,@cssxjs/babel-plugin-rn-stylename-to-style,babel-preset-cssxjs,@cssxjs/bundler- fix(babel-plugin-rn-stylename-to-style): change the default extensions to compile to .cssx.css and .cssx.styl (cray0000@gmail.com)
- Pavel Zhukov (cray0000@gmail.com)
example,@cssxjs/babel-plugin-react-pug,@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/babel-plugin-rn-stylename-to-style,@cssxjs/loaders- feat(babel-plugin-rn-stylename-to-style): Support compiling css file imports in Babel itself (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): remove teamplay from peer deps (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style,cssxjs- fix(babel-plugin-rn-stylename-to-style): add a workaround for adding runtime - use named export for it (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/babel-plugin-rn-stylename-to-style- fix(babel-plugin-rn-stylename-to-style): more strict check for compilers used in the file (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-inline- feat(babel-plugin-rn-stylename-inline): infer platform dynamically from Metro options (@cray0000)
- chore: change release minor command to explicitly say that it's breaking (@cray0000)
- Pavel Zhukov (@cray0000)
example,@cssxjs/babel-plugin-react-pug,@cssxjs/babel-plugin-rn-stylename-to-style,babel-preset-cssxjs,@cssxjs/runtime- fix: make pug reconstruct bindings; add extra options to babel preset; implement reactive update of @media for web and RN (@cray0000)
- Pavel Zhukov (@cray0000)
cssxjs,@cssxjs/runtime- fix: export matcher, variables, dimensions from @cssxjs/runtime and from the main cssxjs (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/runtime- fix(runtime): don't process styles when undefined, fix mediaQuery call (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style,cssxjs- chore: add extra exports from the main cssxjs package for all babel plugins (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/bundler,cssxjs,@cssxjs/loaders- fix: move css and styl loaders into a separate package @cssxjs/loaders (@cray0000)
@cssxjs/bundler,cssxjs- fix(cssxjs): expose bundler entry points - metro and loaders (@cray0000)
- Pavel Zhukov (@cray0000)
example,@cssxjs/babel-plugin-react-pug-classnames,@cssxjs/babel-plugin-react-pug,eslint-config-cssxjs,eslint-plugin-cssxjs- feat: move pug classnames babel plugin and eslint config and plugin from startupjs into cssxjs monorepo (@cray0000)
- Pavel Zhukov (@cray0000)
example,@cssxjs/runtime- fix: force 'px' unit for lineHegiht in pure React on web (@cray0000)
- Pavel Zhukov (@cray0000)
example,@cssxjs/runtime- feat: add 'u' unit support to the 'style' prop: 1u = 8px (@cray0000)
- Pavel Zhukov (@cray0000)
example,@cssxjs/bundler- fix: update stylus, add a runtime patch to support the 'u' unit which equals to 8px. (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/bundler,@cssxjs/runtime- fix: support dynamic css var() for colors (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-react-pug,@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/babel-plugin-rn-stylename-to-style- fix: fix the auto-removal of css, styl, pug; add explicit check that pug is imported before trying to use it (@cray0000)
- Pavel Zhukov (@cray0000)
@cssxjs/babel-plugin-react-pug,@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/babel-plugin-rn-stylename-to-style,babel-preset-cssxjs- feat: refactor all babel plugins to perform early transformation of all code in Program.enter block (@cray0000)
example,@cssxjs/babel-plugin-rn-stylename-to-style,cssxjs,@cssxjs/runtime- feat: add TypeScript support, write a more comprehensive example in TSX (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style,babel-preset-cssxjs,cssxjs,@cssxjs/runtime- feat(runtime): implement support for both React Native and pure Web (@cray0000)
example,@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/babel-plugin-rn-stylename-to-style,babel-preset-cssxjs,@cssxjs/bundler,cssxjs,@cssxjs/runtime@cssxjs/babel-plugin-rn-stylename-inline,@cssxjs/babel-plugin-rn-stylename-to-style,@cssxjs/bundler- feat: move over styles-related packages from startupjs (@cray0000)
@cssxjs/babel-plugin-rn-stylename-inline- fix(babel-plugin-rn-stylename-to-stylename-inline): fix import aliases support, update tests (@cray0000)
- chore(action): change yarn install flag to immutable (@cray0000)
- chore: minor name update (@cray0000)
- tests(workflow): use forked setup-node action which supports corepack (@cray0000)
- tests: install corepack in github action (@cray0000)
- docs: update install command (@cray0000)
@cssxjs/babel-plugin-rn-stylename-to-style,@cssxjs/bundler- tests: create a general test command which loops through all packages and runs tests. Update tests for babel-plugin-rn-stylename-to-style (@cray0000)
- Pavel Zhukov (@cray0000)
- Pavel Zhukov (@cray0000)
- chore: update rspress (@cray0000)
example,cssxjscssxjs- chore: rename main package to cssxjs (@cray0000)
- Pavel Zhukov (@cray0000)
- chore: update rspress (@cray0000)
cssxjs- chore: rename main package to cssxjs (@cray0000)
example,cssxjs- initial (@cray0000)
- Pavel Zhukov (@cray0000)