Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@stylexjs/babel-plugin

Package Overview
Dependencies
Maintainers
2
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stylexjs/babel-plugin

StyleX babel plugin.

  • 0.2.0-beta.20
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
11K
decreased by-6.99%
Maintainers
2
Weekly downloads
 
Created
Source

@stylexjs/babel-plugin

StyleX expects you to transform all js/ts/tsx files with @stylexjs/babel-plugin. In addition to transforming JS code, this plugin also produces an Array of CSS rules. All the CSS rules generated from all JS files within your project should be concatenated together and converted to a CSS file using the processStyles function which is also exported from the same module.

(NOTE: StyleX only uses RTL-friendly logical values of start and end and disallows using left and right entirely.)

@stylexjs/babel-plugin is fairly lightweight. It pre-computes stylex related functions like stylex.create and stylex.keyframes by converting the argument AST to a JS object and transforming them by passing them to the functions of the corresponding names within @stylex/shared

Babel Metadata

The StyleX Babel plugin does more than transform Javascript (or Typescript) files. It also returns a list of injected styles. The way that such a value can be returned while transforming a JS file is by using Babel's metadata API.

An example of this can be seen in some of the tests, but the result of using Babel's transform(...) function returns an object contains at least two keys:

  1. code which is the transformed JS code
  2. metadata is an object of metatdata that the plugin may want to return as a side-effect.

e.g.

const result = transformSync(sourceCode, {
  filename: opts.filename,
  parserOpts: { flow: { all: true } },
  plugins: [stylexPlugin, opts],
});

const transformedCode = result.code;
const injectedStyles = result.metadata.stylex;

FAQs

Package last updated on 20 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc