diff --git a/.github/workflows/napi.yml b/.github/workflows/napi.yml
new file mode 100644
index 00000000..bcf36aa7
--- /dev/null
+++ b/.github/workflows/napi.yml
@@ -0,0 +1,323 @@
+name: Validate StyleX RS compilator
+env:
+ DEBUG: napi:*
+ APP_NAME: 'rs-compiler'
+ MACOSX_DEPLOYMENT_TARGET: '10.13'
+ CARGO_INCREMENTAL: '1'
+permissions:
+ contents: write
+ id-token: write
+'on':
+ push:
+ branches:
+ - master
+ tags-ignore:
+ - '**'
+ paths-ignore:
+ - '**/*.md'
+ - LICENSE
+ - '**/*.gitignore'
+ - .editorconfig
+ - docs/**
+ pull_request:
+ types:
+ - opened
+ - reopened
+ - synchronize
+ - ready_for_review
+ - converted_to_draft
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+jobs:
+ build:
+ if: github.event_name == 'push' || github.event.pull_request.draft == false
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ build: pnpm run --filter @stylexswc/rs-compiler build --target x86_64-apple-darwin
+ - host: windows-latest
+ build: pnpm run --filter @stylexswc/rs-compiler build --target x86_64-pc-windows-msvc
+ target: x86_64-pc-windows-msvc
+ - host: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
+ build: pnpm run --filter @stylexswc/rs-compiler build --target x86_64-unknown-linux-gnu
+ - host: ubuntu-latest
+ target: x86_64-unknown-linux-musl
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
+ build: pnpm run --filter @stylexswc/rs-compiler build --target x86_64-unknown-linux-musl
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ build: pnpm run --filter @stylexswc/rs-compiler build --target aarch64-apple-darwin
+ - host: ubuntu-latest
+ target: aarch64-unknown-linux-gnu
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
+ build: pnpm run --filter @stylexswc/rs-compiler build --target aarch64-unknown-linux-gnu
+ name: stable - ${{ matrix.settings.target }} - node@18
+ runs-on: ${{ matrix.settings.host }}
+ steps:
+ - name: Enable long path support
+ run: git config --system core.longpaths true
+ if: ${{ matrix.settings.host == 'windows-latest' }}
+ - uses: actions/checkout@v4
+ - name: Setup environment
+ uses: ./.github/actions/setup
+ - uses: goto-bus-stop/setup-zig@v2
+ if: ${{ matrix.settings.target == 'armv7-unknown-linux-gnueabihf' }}
+ with:
+ version: 0.13.0
+ - name: Setup toolchain
+ run: ${{ matrix.settings.setup }}
+ if: ${{ matrix.settings.setup }}
+ shell: bash
+ - name: Build in docker
+ uses: addnab/docker-run-action@v3
+ if: ${{ matrix.settings.docker }}
+ with:
+ image: ${{ matrix.settings.docker }}
+ options: '--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build'
+ run: ${{ matrix.settings.build }}
+ - name: Build
+ run: ${{ matrix.settings.build }}
+ if: ${{ !matrix.settings.docker }}
+ shell: bash
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: crates/stylex-rs-compiler/dist/${{ env.APP_NAME }}.*.node
+ if-no-files-found: error
+ test-macOS-windows-binding:
+ name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: windows-latest
+ target: x86_64-pc-windows-msvc
+ architecture: x64
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ architecture: arm64
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ architecture: x64
+ node:
+ - '18'
+ - '20'
+ runs-on: ${{ matrix.settings.host }}
+ steps:
+ - name: Enable long path support
+ run: git config --system core.longpaths true
+ if: ${{ matrix.settings.host == 'windows-latest' }}
+ - uses: actions/checkout@v4
+ - name: Setup environment
+ uses: ./.github/actions/setup-pnpm
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: pnpm
+ architecture: ${{ matrix.settings.architecture }}
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: crates/stylex-rs-compiler/dist
+ - name: List artifacts
+ run: ls -R crates/stylex-rs-compiler/dist
+ shell: bash
+ - name: Test bindings
+ run: pnpm run --filter @stylexswc/rs-compiler test
+ test-linux-x64-gnu-binding:
+ name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup environment
+ uses: ./.github/actions/setup-pnpm
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: pnpm
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-x86_64-unknown-linux-gnu
+ path: crates/stylex-rs-compiler/dist
+ - name: List artifacts
+ run: ls -R crates/stylex-rs-compiler/dist
+ shell: bash
+ - name: Test bindings
+ run: |
+ docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim sh -c "
+ npm install -g pnpm &&
+ pnpm run --filter @stylexswc/rs-compiler test
+ "
+ test-linux-x64-musl-binding:
+ name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup environment
+ uses: ./.github/actions/setup-pnpm
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: pnpm
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-x86_64-unknown-linux-musl
+ path: crates/stylex-rs-compiler/dist
+ - name: List artifacts
+ run: ls -R crates/stylex-rs-compiler/dist
+ shell: bash
+ - name: Test bindings
+ run: |
+ docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine sh -c "
+ npm install -g pnpm &&
+ pnpm run --filter @stylexswc/rs-compiler test
+ "
+ benchmark:
+ name: Benchmark on ${{ matrix.settings.target }} - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: windows-latest
+ target: x86_64-pc-windows-msvc
+ architecture: x64
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ architecture: arm64
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ architecture: x64
+ node:
+ - '18'
+ - '20'
+ runs-on: ${{ matrix.settings.host }}
+ permissions:
+ contents: write
+ pull-requests: write
+ repository-projects: write
+ steps:
+ - name: Enable long path support
+ run: git config --system core.longpaths true
+ if: ${{ matrix.settings.host == 'windows-latest' }}
+ - uses: actions/checkout@v4
+ - name: Setup environment
+ uses: ./.github/actions/setup-pnpm
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: pnpm
+ architecture: ${{ matrix.settings.architecture }}
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: crates/stylex-rs-compiler/dist
+ - name: Download previous benchmark data
+ uses: actions/cache@v4
+ with:
+ path: ./cache
+ key: ${{ matrix.settings.target }}-benchmark
+ - name: Run benchmarks
+ run: pnpm run --filter @stylexswc/rs-compiler bench
+ - name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'benchmarkjs'
+ output-file-path: 'crates/stylex-rs-compiler/benchmark/results/output.txt'
+ external-data-json-path: './cache/benchmark-data.json'
+ fail-on-alert: true
+ comment-on-alert: true
+ alert-comment-cc-users: '@Dwlad90'
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ alert-threshold: '150%'
+ fail-threshold: '175%'
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ publish:
+ name: Publish
+ runs-on: ubuntu-latest
+ needs:
+ - build
+ - benchmark
+ - test-macOS-windows-binding
+ - test-linux-x64-gnu-binding
+ - test-linux-x64-musl-binding
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup environment
+ uses: ./.github/actions/setup
+ - name: Download all artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: crates/stylex-rs-compiler/artifacts
+ - name: Move artifacts
+ run: pnpm run --filter @stylexswc/rs-compiler artifacts
+ - name: Move and list artifacts
+ run: |
+ mv crates/stylex-rs-compiler/npm/*/*.node crates/stylex-rs-compiler/dist
+ ls -R crates/stylex-rs-compiler/dist
+ - name: Prepare artifacts
+ run: |
+ sed -i "s|require('@stylexswc/rs-compiler-[^']*')|require('@stylexswc/rs-compiler')|g" crates/stylex-rs-compiler/dist/index.js
+ shell: bash
+ # - name: Publish
+ # run: |
+ # npm config set provenance true
+ # if git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+$";
+ # then
+ # echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
+ # npm publish --access public
+ # elif git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+";
+ # then
+ # echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
+ # npm publish --tag next --access public
+ # else
+ # echo "Not a release, skipping publish"
+ # fi
+ # env:
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.github/workflows/napi.yml.example b/.github/workflows/napi.yml.example
new file mode 100644
index 00000000..626c0d6a
--- /dev/null
+++ b/.github/workflows/napi.yml.example
@@ -0,0 +1,438 @@
+name: CI
+env:
+ DEBUG: napi:*
+ APP_NAME: '@stylexswc/rs-compiler'
+ MACOSX_DEPLOYMENT_TARGET: '10.13'
+ CARGO_INCREMENTAL: '1'
+permissions:
+ contents: write
+ id-token: write
+'on':
+ push:
+ branches:
+ - feat/stylex-compiler-rs
+ tags-ignore:
+ - '**'
+ paths-ignore:
+ - '**/*.md'
+ - LICENSE
+ - '**/*.gitignore'
+ - .editorconfig
+ - docs/**
+ pull_request: null
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+jobs:
+ build:
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ build: yarn build --target x86_64-apple-darwin
+ - host: windows-latest
+ build: yarn build --target x86_64-pc-windows-msvc
+ target: x86_64-pc-windows-msvc
+ - host: windows-latest
+ build: yarn build --target i686-pc-windows-msvc
+ target: i686-pc-windows-msvc
+ - host: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
+ build: yarn build --target x86_64-unknown-linux-gnu
+ - host: ubuntu-latest
+ target: x86_64-unknown-linux-musl
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
+ build: yarn build --target x86_64-unknown-linux-musl
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ build: yarn build --target aarch64-apple-darwin
+ - host: ubuntu-latest
+ target: aarch64-unknown-linux-gnu
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
+ build: yarn build --target aarch64-unknown-linux-gnu
+ - host: ubuntu-latest
+ target: armv7-unknown-linux-gnueabihf
+ setup: |
+ sudo apt-get update
+ sudo apt-get install gcc-arm-linux-gnueabihf -y
+ build: |
+ yarn build --target armv7-unknown-linux-gnueabihf
+ - host: ubuntu-latest
+ target: aarch64-linux-android
+ build: yarn build --target aarch64-linux-android
+ - host: ubuntu-latest
+ target: armv7-linux-androideabi
+ build: yarn build --target armv7-linux-androideabi
+ - host: ubuntu-latest
+ target: aarch64-unknown-linux-musl
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
+ build: |-
+ set -e &&
+ rustup target add aarch64-unknown-linux-musl &&
+ yarn build --target aarch64-unknown-linux-musl
+ - host: windows-latest
+ target: aarch64-pc-windows-msvc
+ build: yarn build --target aarch64-pc-windows-msvc
+ name: stable - ${{ matrix.settings.target }} - node@18
+ runs-on: ${{ matrix.settings.host }}
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ if: ${{ !matrix.settings.docker }}
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Install
+ uses: dtolnay/rust-toolchain@stable
+ if: ${{ !matrix.settings.docker }}
+ with:
+ toolchain: stable
+ targets: ${{ matrix.settings.target }}
+ - name: Cache cargo
+ uses: actions/cache@v4
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ .cargo-cache
+ target/
+ key: ${{ matrix.settings.target }}-cargo-${{ matrix.settings.host }}
+ - uses: goto-bus-stop/setup-zig@v2
+ if: ${{ matrix.settings.target == 'armv7-unknown-linux-gnueabihf' }}
+ with:
+ version: 0.13.0
+ - name: Setup toolchain
+ run: ${{ matrix.settings.setup }}
+ if: ${{ matrix.settings.setup }}
+ shell: bash
+ - name: Install dependencies
+ run: yarn install
+ - name: Build in docker
+ uses: addnab/docker-run-action@v3
+ if: ${{ matrix.settings.docker }}
+ with:
+ image: ${{ matrix.settings.docker }}
+ options: '--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build'
+ run: ${{ matrix.settings.build }}
+ - name: Build
+ run: ${{ matrix.settings.build }}
+ if: ${{ !matrix.settings.docker }}
+ shell: bash
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: ${{ env.APP_NAME }}.*.node
+ if-no-files-found: error
+ build-freebsd:
+ runs-on: ubuntu-latest
+ name: Build FreeBSD
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build
+ id: build
+ uses: cross-platform-actions/action@v0.25.0
+ env:
+ DEBUG: napi:*
+ RUSTUP_IO_THREADS: 1
+ with:
+ operating_system: freebsd
+ version: '14.0'
+ memory: 8G
+ cpu_count: 3
+ environment_variables: DEBUG RUSTUP_IO_THREADS
+ shell: bash
+ run: |
+ sudo pkg install -y -f curl node libnghttp2 npm
+ sudo npm install -g yarn --ignore-scripts
+ curl https://sh.rustup.rs -sSf --output rustup.sh
+ sh rustup.sh -y --profile minimal --default-toolchain beta
+ source "$HOME/.cargo/env"
+ echo "~~~~ rustc --version ~~~~"
+ rustc --version
+ echo "~~~~ node -v ~~~~"
+ node -v
+ echo "~~~~ yarn --version ~~~~"
+ yarn --version
+ pwd
+ ls -lah
+ whoami
+ env
+ freebsd-version
+ yarn install
+ yarn build
+ rm -rf node_modules
+ rm -rf target
+ rm -rf .yarn/cache
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: bindings-freebsd
+ path: ${{ env.APP_NAME }}.*.node
+ if-no-files-found: error
+ test-macOS-windows-binding:
+ name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: windows-latest
+ target: x86_64-pc-windows-msvc
+ architecture: x64
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ architecture: arm64
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ architecture: x64
+ node:
+ - '18'
+ - '20'
+ runs-on: ${{ matrix.settings.host }}
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: yarn
+ architecture: ${{ matrix.settings.architecture }}
+ - name: Install dependencies
+ run: yarn install
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Test bindings
+ run: yarn test
+ test-linux-x64-gnu-binding:
+ name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: yarn
+ - name: Install dependencies
+ run: yarn install
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-x86_64-unknown-linux-gnu
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Test bindings
+ run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim yarn test
+ test-linux-x64-musl-binding:
+ name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: yarn
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.libc "musl"
+ yarn install
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-x86_64-unknown-linux-musl
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Test bindings
+ run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine yarn test
+ test-linux-aarch64-gnu-binding:
+ name: Test bindings on aarch64-unknown-linux-gnu - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-aarch64-unknown-linux-gnu
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.cpu "arm64"
+ yarn config set supportedArchitectures.libc "glibc"
+ yarn install
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: arm64
+ - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ - name: Setup and run tests
+ uses: addnab/docker-run-action@v3
+ with:
+ image: node:${{ matrix.node }}-slim
+ options: '--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build'
+ run: |
+ set -e
+ yarn test
+ ls -la
+ test-linux-aarch64-musl-binding:
+ name: Test bindings on aarch64-unknown-linux-musl - node@lts
+ needs:
+ - build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-aarch64-unknown-linux-musl
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.cpu "arm64"
+ yarn config set supportedArchitectures.libc "musl"
+ yarn install
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: arm64
+ - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ - name: Setup and run tests
+ uses: addnab/docker-run-action@v3
+ with:
+ image: node:lts-alpine
+ options: '--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build'
+ run: |
+ set -e
+ yarn test
+ test-linux-arm-gnueabihf-binding:
+ name: Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-armv7-unknown-linux-gnueabihf
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.cpu "arm"
+ yarn install
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: arm
+ - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ - name: Setup and run tests
+ uses: addnab/docker-run-action@v3
+ with:
+ image: node:${{ matrix.node }}-bullseye-slim
+ options: '--platform linux/arm/v7 -v ${{ github.workspace }}:/build -w /build'
+ run: |
+ set -e
+ yarn test
+ ls -la
+ publish:
+ name: Publish
+ runs-on: ubuntu-latest
+ needs:
+ - build-freebsd
+ - test-macOS-windows-binding
+ - test-linux-x64-gnu-binding
+ - test-linux-x64-musl-binding
+ - test-linux-aarch64-gnu-binding
+ - test-linux-aarch64-musl-binding
+ - test-linux-arm-gnueabihf-binding
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Install dependencies
+ run: yarn install
+ - name: Download all artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: artifacts
+ - name: Move artifacts
+ run: yarn artifacts
+ - name: List packages
+ run: ls -R ./npm
+ shell: bash
+ - name: Publish
+ run: |
+ npm config set provenance true
+ if git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+$";
+ then
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
+ npm publish --access public
+ elif git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+";
+ then
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
+ npm publish --tag next --access public
+ else
+ echo "Not a release, skipping publish"
+ fi
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
index 29404b83..a34f866b 100644
--- a/.github/workflows/validate.yml
+++ b/.github/workflows/validate.yml
@@ -1,4 +1,4 @@
-name: Validate SWC Plugin
+name: Validate StyleX SWC plugin
on:
push:
@@ -57,7 +57,7 @@ jobs:
uses: ./.github/actions/setup
- name: Run tests
- run: pnpm run -r test
+ run: pnpm run -r --filter='!@stylexswc/rs-compiler' test
env:
RUST_MIN_STACK: 16777216
diff --git a/.gitignore b/.gitignore
index bd788ad6..98bdcfb4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
node_modules
.pnp
.pnp.js
+.cargo
# Local env files
.env
diff --git a/.vscode/settings.json b/.vscode/settings.json
index e6ee5959..4b75d55e 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -14,8 +14,10 @@
"files.exclude": {
"node_modules": true,
"**/node_modules": false,
+ "**/.cargo/**": true,
},
"search.exclude": {
"**/node_modules": true,
+ "**/.cargo/**": true,
}
}
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 3bf227a5..9ea2a923 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1111,6 +1111,12 @@ dependencies = [
"once_cell",
]
+[[package]]
+name = "napi-build"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a"
+
[[package]]
name = "napi-derive"
version = "2.16.12"
@@ -1877,6 +1883,22 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+[[package]]
+name = "stylex_compiler_rs"
+version = "0.2.4"
+dependencies = [
+ "color-backtrace",
+ "napi",
+ "napi-build",
+ "napi-derive",
+ "serde",
+ "serde_json",
+ "stylex_shared",
+ "swc_compiler_base",
+ "swc_core",
+ "swc_ecma_parser",
+]
+
[[package]]
name = "stylex_path_resolver"
version = "0.2.4"
@@ -1897,7 +1919,7 @@ dependencies = [
]
[[package]]
-name = "stylex_swc_plugin"
+name = "stylex_shared"
version = "0.2.4"
dependencies = [
"anyhow",
@@ -1929,6 +1951,23 @@ dependencies = [
"testing 0.38.1",
]
+[[package]]
+name = "stylex_swc_plugin"
+version = "0.2.4"
+dependencies = [
+ "color-backtrace",
+ "ctor",
+ "env_logger",
+ "log",
+ "pretty_env_logger",
+ "serde",
+ "serde_json",
+ "stylex_path_resolver",
+ "stylex_shared",
+ "swc_core",
+ "swc_ecma_parser",
+]
+
[[package]]
name = "stylex_test_parser"
version = "0.2.4"
diff --git a/README.md b/README.md
index 3d43bf6c..84c46b6a 100644
--- a/README.md
+++ b/README.md
@@ -1,33 +1,72 @@
-# StyleX SWC plugin · [](https://github.com/Dwlad90/stylex-swc-plugin/blob/master/LICENSE) [](https://www.npmjs.com/package/@stylexswc/swc-plugin) 
+# StyleX in Rust · [](https://github.com/Dwlad90/stylex-swc-plugin/blob/master/LICENSE) [](https://www.npmjs.com/package/@stylexswc/swc-plugin) 
-
-This is a monorepo for an unofficial [SWC](https://swc.rs/) plugin for
+This is a monorepo for an unofficial [`napi-rs`](https://napi.rs/) compiler and
+an [SWC](https://swc.rs/) plugin for
[StyleX](https://github.com/facebook/stylex). Using SWC allows us to completely
ditch Babel and make StyleX faster.
-This plugin passes almost 100% of tests of the official StyleX library. It is
-intended as a drop-in replacement for the official StyleX babel plugin.
+**Key Benefits:**
+
+* Faster build times by leveraging NAPI-RS/SWC instead of Babel.
+* Seamless integration with Next.js SWC Compiler.
+* Almost 100% compatibility with official StyleX tests.
This is specifically useful for Next.js projets as it allows us to use
[SWC Next.js Compiler](https://nextjs.org/docs/architecture/nextjs-compiler).
-## Packages
+## Project Structure
-- [`eslint-config`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/eslint-config) -
- internal [ESLint](https://eslint.org/) configuration
-- [`nextjs-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin) -
- wrapper for
- [`Next.JS config`](https://nextjs.org/docs/app/api-reference/next-config-js)
- that inject the StyleX SWC plugin to webpack processing
-- [`swc-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-swc-plugin) -
- unofficial SWC implementation of the native [StyleX](https://github.com/facebook/stylex) plugin
-- [`path-resolver`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-path-resolver) -
- path utilities for
- [StyleX SWC plugin](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-swc-plugin)
-- [`test-parser`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-test-parser) -
- parser for [StyleX](https://github.com/facebook/stylex) repo Jest tests that
+This project is organized into several packages:
+
+**Core:**
+
+* [`rs-compiler`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/rs-compiler) -
+ Rust-based [`napi-rs`](https://napi.rs/) compiler for transforming StyleX code.
+
+**Integration:**
+
+* [`nextjs-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin) -
+ A wrapper for [`Next.JS configuration`](https://nextjs.org/docs/app/api-reference/next-config-js) that integrates the StyleX [napi-rs](https://napi.rs/) compiler into the Webpack processing pipeline.
+
+**Utilities:**
+
+* [`stylex-shared`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-shared) -
+ Shared Rust codebase for the StyleX RS compiler and SWC plugin.
+
+* [`path-resolver`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-path-resolver) -
+ Path handling and resolving utilities for the StyleX NAPI-RS / SWC plugin.
+
+* [`test-parser`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-test-parser) -
+ Parser for [StyleX](https://github.com/facebook/stylex) repo Jest tests that
helps to understand last changes and keeps the project up to date
-- [`typescript-config`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/typescript-config) -
- internal
+
+**Internal Configurations:**
+
+* [`eslint-config`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/eslint-config) -
+ Internal [ESLint](https://eslint.org/) configuration
+
+* [`typescript-config`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/typescript-config) -
+ Internal
[Typescript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.htm)
configuration
+
+## Deprecated Packages
+
+> [!WARNING]
+> The packages below are deprecated as of version `0.3.0` and may be removed in the future. Please use the newer alternatives listed above.
+
+**Core:**
+
+* [`swc-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-swc-plugin) -
+ Unofficial SWC implementation of the native
+ [StyleX](https://github.com/facebook/stylex) plugin. The new alternative is
+ [`rs-compiler`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/rs-compiler)
+
+**Integration:**
+
+* [`nextjs-swc-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin) -
+ Wrapper for
+ [`Next.JS config`](https://nextjs.org/docs/app/api-reference/next-config-js)
+ that inject the StyleX SWC plugin to webpack processing. The new alternative
+ is
+ [`nextjs-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin)
diff --git a/apps/nextjs-example/next.config.js b/apps/nextjs-example/next.config.js
index 7782c877..97e6f584 100644
--- a/apps/nextjs-example/next.config.js
+++ b/apps/nextjs-example/next.config.js
@@ -1,27 +1,25 @@
/** @type {import('next').NextConfig} */
const path = require('path');
const stylexPlugin = require('@stylexswc/nextjs-plugin');
-const rootDir = __dirname;
+const rootDir = __dirname;
-module.exports = stylexPlugin({ rootDir })({
+module.exports = stylexPlugin({
+ rootDir,
+ // Add any Stylex options here
+ dev: process.env.NODE_ENV === 'development',
+ genConditionalClasses: true,
+ treeshakeCompensation: true,
+ aliases: {
+ '@/*': [
+ path.join(rootDir, '*'),
+ ],
+ },
+ unstable_moduleResolution: {
+ type: 'commonJS',
+ rootDir
+ },
+})({
transpilePackages: ['@stylexjs/open-props'],
// Optionally, add any other Next.js config below
swcMinify: true,
- experimental: {
- swcPlugins: [[
- "@stylexswc/swc-plugin",
- {
- dev: process.env.NODE_ENV === 'development',
- genConditionalClasses: true,
- treeshakeCompensation: true,
- aliases: {
- '@/*': [path.join(rootDir, '*')],
- },
- unstable_moduleResolution: {
- type: 'commonJS',
- rootDir: rootDir,
- },
- },
- ]],
- },
});
diff --git a/apps/nextjs-example/package.json b/apps/nextjs-example/package.json
index 07037983..ba7d0e94 100644
--- a/apps/nextjs-example/package.json
+++ b/apps/nextjs-example/package.json
@@ -23,7 +23,7 @@
"devDependencies": {
"@stylexjs/eslint-plugin": "^0.7.5",
"@stylexswc/nextjs-plugin": "0.2.4",
- "@stylexswc/swc-plugin": "0.2.4",
+ "@stylexswc/rs-compiler": "0.2.4",
"@types/node": "^20.10.4",
"@types/react": "^18.2.45",
"@types/react-dom": "^18.2.18",
diff --git a/apps/nextjs-example/pnpm-lock.yaml b/apps/nextjs-example/pnpm-lock.yaml
index 62c5328b..28a21b1d 100644
--- a/apps/nextjs-example/pnpm-lock.yaml
+++ b/apps/nextjs-example/pnpm-lock.yaml
@@ -31,11 +31,11 @@ importers:
specifier: ^0.7.5
version: 0.7.5
'@stylexswc/nextjs-plugin':
- specifier: 0.2.4
- version: 0.2.4(@stylexjs/babel-plugin@0.7.5)(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ specifier: ^0.2.2
+ version: 0.2.2(@stylexjs/babel-plugin@0.7.5)(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
'@stylexswc/swc-plugin':
- specifier: 0.2.4
- version: 0.2.4
+ specifier: ^0.2.2
+ version: 0.2.2
'@types/node':
specifier: ^20.10.4
version: 20.16.5
@@ -295,14 +295,14 @@ packages:
'@stylexjs/stylex@0.7.5':
resolution: {integrity: sha512-e4bryU2AoKBeAlloea7sJZrYrjiqJYViw8AWL6eanTVdk7qJ0CduNoiRQxtCP1dOhqGAPG74kaWT7slLzZnqKg==}
- '@stylexswc/nextjs-plugin@0.2.4':
- resolution: {integrity: sha512-JOmS4h0VUX114ZBQ4kSC/AEBZZjdGLp8OnuKu4+OtdmfmPEUoKftRaD6/Ka95FjiJgpzdE7WPf/kxebow7YpYg==}
+ '@stylexswc/nextjs-plugin@0.2.2':
+ resolution: {integrity: sha512-U+hBI6yqO+vb3I4nmdxbSMzAfHZDKCcJUjxyEAbqvsbdpW+88gtefPr5q8Au8G7fNoexAs3csYUWvnPIlBub1w==}
peerDependencies:
'@stylexjs/babel-plugin': ^0.7.5
next: '>=14.0.1'
- '@stylexswc/swc-plugin@0.2.4':
- resolution: {integrity: sha512-8DPs5bLLfayMWukabLqEIQ6tzDgT+Mttrd9fqBXhTl6xPhkEzWJ2xaFScwWRL7eEi9+jTVQlRC+2isCfmxESEQ==}
+ '@stylexswc/swc-plugin@0.2.2':
+ resolution: {integrity: sha512-Ww01YBAIJm4GLY64jDFZKMwkwKu2vhJk6DsLMsoDoqcaDU/ZAfQvlCDHZcDEEmjcWJDsW9jfu77uRyOlOEkuJA==}
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
@@ -1851,12 +1851,12 @@ snapshots:
invariant: 2.2.4
styleq: 0.1.3
- '@stylexswc/nextjs-plugin@0.2.4(@stylexjs/babel-plugin@0.7.5)(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
+ '@stylexswc/nextjs-plugin@0.2.2(@stylexjs/babel-plugin@0.7.5)(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
dependencies:
'@stylexjs/babel-plugin': 0.7.5
next: 14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@stylexswc/swc-plugin@0.2.4': {}
+ '@stylexswc/swc-plugin@0.2.2': {}
'@swc/counter@0.1.3': {}
diff --git a/apps/nextjs-swc-example/.eslintrc.js b/apps/nextjs-swc-example/.eslintrc.js
new file mode 100644
index 00000000..36deabd3
--- /dev/null
+++ b/apps/nextjs-swc-example/.eslintrc.js
@@ -0,0 +1,12 @@
+module.exports = {
+ extends: 'next/core-web-vitals',
+ plugins: ['@stylexjs'],
+ rules: {
+ // The Eslint rule still needs work, but you can
+ // enable it to test things out.
+ '@stylexjs/valid-styles': 'error',
+ 'ft-flow/space-after-type-colon': 0,
+ 'ft-flow/no-types-missing-file-annotation': 0,
+ 'ft-flow/generic-spacing': 0,
+ },
+};
diff --git a/apps/nextjs-swc-example/.gitignore b/apps/nextjs-swc-example/.gitignore
new file mode 100644
index 00000000..fd3dbb57
--- /dev/null
+++ b/apps/nextjs-swc-example/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/apps/nextjs-swc-example/README.md b/apps/nextjs-swc-example/README.md
new file mode 100644
index 00000000..c4033664
--- /dev/null
+++ b/apps/nextjs-swc-example/README.md
@@ -0,0 +1,36 @@
+This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
+
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+# or
+bun dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
+
+This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
diff --git a/apps/nextjs-swc-example/app/CardTokens.stylex.ts b/apps/nextjs-swc-example/app/CardTokens.stylex.ts
new file mode 100644
index 00000000..d07e3294
--- /dev/null
+++ b/apps/nextjs-swc-example/app/CardTokens.stylex.ts
@@ -0,0 +1,5 @@
+import * as stylex from '@stylexjs/stylex';
+
+export const tokens = stylex.defineVars({
+ arrowTransform: 'translateX(0)',
+});
diff --git a/apps/nextjs-swc-example/app/Counter.tsx b/apps/nextjs-swc-example/app/Counter.tsx
new file mode 100644
index 00000000..fca469a5
--- /dev/null
+++ b/apps/nextjs-swc-example/app/Counter.tsx
@@ -0,0 +1,92 @@
+'use client';
+
+import * as stylex from '@stylexjs/stylex';
+import { spacing, text, globalTokens as $ } from './globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { useState } from 'react';
+
+export default function Counter() {
+ const [count, setCount] = useState(0);
+
+ return (
+
+
+
99 && styles.largeNumber,
+ )}
+ >
+ {count}
+
+
+
+ );
+}
+
+const DARK = '@media (prefers-color-scheme: dark)' as const;
+
+const styles = stylex.create({
+ container: {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ flexDirection: 'row',
+ borderRadius: spacing.md,
+ borderWidth: 1,
+ borderStyle: 'solid',
+ borderColor: colors.blue7,
+ padding: spacing.xxxs,
+ fontFamily: $.fontSans,
+ gap: spacing.xs,
+ },
+ button: {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ height: '6rem',
+ aspectRatio: 1,
+ color: colors.blue7,
+ backgroundColor: {
+ default: colors.gray3,
+ ':hover': colors.gray4,
+ [DARK]: {
+ default: colors.gray9,
+ ':hover': colors.gray8,
+ },
+ },
+ borderWidth: 0,
+ borderStyle: 'none',
+ borderRadius: spacing.xs,
+ padding: spacing.xs,
+ margin: spacing.xs,
+ cursor: 'pointer',
+ fontSize: text.h2,
+ transform: {
+ default: null,
+ ':hover': 'scale(1.025)',
+ ':active': 'scale(0.975)',
+ },
+ },
+ count: {
+ fontSize: text.h2,
+ fontWeight: 100,
+ color: colors.lime7,
+ minWidth: '6rem',
+ textAlign: 'center',
+ fontFamily: $.fontMono,
+ },
+ largeNumber: {
+ fontSize: text.h3,
+ },
+});
diff --git a/apps/nextjs-swc-example/app/favicon.ico b/apps/nextjs-swc-example/app/favicon.ico
new file mode 100644
index 00000000..718d6fea
Binary files /dev/null and b/apps/nextjs-swc-example/app/favicon.ico differ
diff --git a/apps/nextjs-swc-example/app/globalTokens.stylex.ts b/apps/nextjs-swc-example/app/globalTokens.stylex.ts
new file mode 100644
index 00000000..389b567f
--- /dev/null
+++ b/apps/nextjs-swc-example/app/globalTokens.stylex.ts
@@ -0,0 +1,283 @@
+import * as stylex from '@stylexjs/stylex';
+
+/**
+ * o--o o o o o-O-o o-o o--o o-o o o o-O-o o-o
+ * | | | | | | \ | o o |\ | | |
+ * O-o | | | | | O O-o | | | \ | | o-o
+ * | | | | | | / | o o | \| | |
+ * o O---o o-o o-O-o o-o o o-o o o o o--o
+ *
+ * Reference: https://utopia.fyi/type/calculator
+ *
+ * The following constants are used to calculate fluid typography.
+ * Feel free to change these initial numbers to suit your needs.
+ *
+ * StyleX can compute all of this at compile time as all the information
+ * is statically available in the same file and the only functions used are
+ * the Math.pow and Math.round functions.
+ *
+ * NOTE: Any custom functions will not be able to be computed at compile time.
+ */
+const MIN_WIDTH = 320;
+const MAX_WIDTH = 1240;
+const MIN_SCALE = 1.2;
+const MAX_SCALE = 1.333;
+const MIN_BASE_SIZE = 16;
+const MAX_BASE_SIZE = 20;
+
+// Font sizes in `rem` units
+const MIN_FONT = {
+ xxs: Math.round(MIN_BASE_SIZE / Math.pow(MIN_SCALE, 3) / 0.16) / 100,
+ xs: Math.round(MIN_BASE_SIZE / Math.pow(MIN_SCALE, 2) / 0.16) / 100,
+ sm: Math.round(MIN_BASE_SIZE / MIN_SCALE / 0.16) / 100,
+ p: Math.round(MIN_BASE_SIZE / 4) / 4,
+ h5: Math.round((MIN_BASE_SIZE * MIN_SCALE) / 0.16) / 100,
+ h4: Math.round((MIN_BASE_SIZE * Math.pow(MIN_SCALE, 2)) / 0.16) / 100,
+ h3: Math.round((MIN_BASE_SIZE * Math.pow(MIN_SCALE, 3)) / 0.16) / 100,
+ h2: Math.round((MIN_BASE_SIZE * Math.pow(MIN_SCALE, 4)) / 0.16) / 100,
+ h1: Math.round((MIN_BASE_SIZE * Math.pow(MIN_SCALE, 5)) / 0.16) / 100,
+};
+// Font sizes in `rem` units
+const MAX_FONT = {
+ xxs: Math.round(MAX_BASE_SIZE / Math.pow(MAX_SCALE, 3) / 0.16) / 100,
+ xs: Math.round(MAX_BASE_SIZE / Math.pow(MAX_SCALE, 2) / 0.16) / 100,
+ sm: Math.round(MAX_BASE_SIZE / MAX_SCALE / 0.16) / 100,
+ p: Math.round(MAX_BASE_SIZE / 4) / 4,
+ h5: Math.round((MAX_BASE_SIZE * MAX_SCALE) / 0.16) / 100,
+ h4: Math.round((MAX_BASE_SIZE * Math.pow(MAX_SCALE, 2)) / 0.16) / 100,
+ h3: Math.round((MAX_BASE_SIZE * Math.pow(MAX_SCALE, 3)) / 0.16) / 100,
+ h2: Math.round((MAX_BASE_SIZE * Math.pow(MAX_SCALE, 4)) / 0.16) / 100,
+ h1: Math.round((MAX_BASE_SIZE * Math.pow(MAX_SCALE, 5)) / 0.16) / 100,
+};
+const SLOPE = {
+ xxs: (16 * (MAX_FONT.xxs - MIN_FONT.xxs)) / (MAX_WIDTH - MIN_WIDTH),
+ xs: (16 * (MAX_FONT.xs - MIN_FONT.xs)) / (MAX_WIDTH - MIN_WIDTH),
+ sm: (16 * (MAX_FONT.sm - MIN_FONT.sm)) / (MAX_WIDTH - MIN_WIDTH),
+ p: (16 * (MAX_FONT.p - MIN_FONT.p)) / (MAX_WIDTH - MIN_WIDTH),
+ h5: (16 * (MAX_FONT.h5 - MIN_FONT.h5)) / (MAX_WIDTH - MIN_WIDTH),
+ h4: (16 * (MAX_FONT.h4 - MIN_FONT.h4)) / (MAX_WIDTH - MIN_WIDTH),
+ h3: (16 * (MAX_FONT.h3 - MIN_FONT.h3)) / (MAX_WIDTH - MIN_WIDTH),
+ h2: (16 * (MAX_FONT.h2 - MIN_FONT.h2)) / (MAX_WIDTH - MIN_WIDTH),
+ h1: (16 * (MAX_FONT.h1 - MIN_FONT.h1)) / (MAX_WIDTH - MIN_WIDTH),
+};
+const INTERCEPT = {
+ xxs: Math.round(100 * (MIN_FONT.xxs - SLOPE.xxs * (MIN_WIDTH / 16))) / 100,
+ xs: Math.round(100 * (MIN_FONT.xs - SLOPE.xs * (MIN_WIDTH / 16))) / 100,
+ sm: Math.round(100 * (MIN_FONT.sm - SLOPE.sm * (MIN_WIDTH / 16))) / 100,
+ p: Math.round(100 * (MIN_FONT.p - SLOPE.p * (MIN_WIDTH / 16))) / 100,
+ h5: Math.round(100 * (MIN_FONT.h5 - SLOPE.h5 * (MIN_WIDTH / 16))) / 100,
+ h4: Math.round(100 * (MIN_FONT.h4 - SLOPE.h4 * (MIN_WIDTH / 16))) / 100,
+ h3: Math.round(100 * (MIN_FONT.h3 - SLOPE.h3 * (MIN_WIDTH / 16))) / 100,
+ h2: Math.round(100 * (MIN_FONT.h2 - SLOPE.h2 * (MIN_WIDTH / 16))) / 100,
+ h1: Math.round(100 * (MIN_FONT.h1 - SLOPE.h1 * (MIN_WIDTH / 16))) / 100,
+};
+
+// prettier-ignore
+export const text = stylex.defineVars({
+ xxs: `clamp(${ Math.min(MIN_FONT.xxs) }rem, calc(${ INTERCEPT.xxs }rem + ${ Math.round(10000 * SLOPE.xxs) / 100 }vw), ${ Math.max(MAX_FONT.xxs) }rem)`,
+ xs: `clamp(${ Math.min(MIN_FONT.xs ) }rem, calc(${ INTERCEPT.xs }rem + ${ Math.round(10000 * SLOPE.xs ) / 100 }vw), ${ Math.max(MAX_FONT.xs ) }rem)`,
+ sm: `clamp(${ Math.min(MIN_FONT.sm ) }rem, calc(${ INTERCEPT.sm }rem + ${ Math.round(10000 * SLOPE.sm ) / 100 }vw), ${ Math.max(MAX_FONT.sm ) }rem)`,
+ p: `clamp(${ Math.min(MIN_FONT.p ) }rem, calc(${ INTERCEPT.p }rem + ${ Math.round(10000 * SLOPE.p ) / 100 }vw), ${ Math.max(MAX_FONT.p ) }rem)`,
+ h5: `clamp(${ Math.min(MIN_FONT.h5 ) }rem, calc(${ INTERCEPT.h5 }rem + ${ Math.round(10000 * SLOPE.h5 ) / 100 }vw), ${ Math.max(MAX_FONT.h5 ) }rem)`,
+ h4: `clamp(${ Math.min(MIN_FONT.h4 ) }rem, calc(${ INTERCEPT.h4 }rem + ${ Math.round(10000 * SLOPE.h4 ) / 100 }vw), ${ Math.max(MAX_FONT.h4 ) }rem)`,
+ h3: `clamp(${ Math.min(MIN_FONT.h3 ) }rem, calc(${ INTERCEPT.h3 }rem + ${ Math.round(10000 * SLOPE.h3 ) / 100 }vw), ${ Math.max(MAX_FONT.h3 ) }rem)`,
+ h2: `clamp(${ Math.min(MIN_FONT.h2 ) }rem, calc(${ INTERCEPT.h2 }rem + ${ Math.round(10000 * SLOPE.h2 ) / 100 }vw), ${ Math.max(MAX_FONT.h2 ) }rem)`,
+ h1: `clamp(${ Math.min(MIN_FONT.h1 ) }rem, calc(${ INTERCEPT.h1 }rem + ${ Math.round(10000 * SLOPE.h1 ) / 100 }vw), ${ Math.max(MAX_FONT.h1 ) }rem)`,
+});
+
+/**
+ * o--o o o o o-O-o o-o o-o o--o O o-o o--o
+ * | | | | | | \ | | | / \ / |
+ * O-o | | | | | O o-o O--o o---oO O-o
+ * | | | | | | / | | | | \ |
+ * o O---o o-o o-O-o o-o o--o o o o o-o o--o
+ *
+ * Reference: https://utopia.fyi/space/calculator
+ *
+ * Similar to the fluid typography, we can create fluid values for spacing.
+ * Using similar formulas and similar scales.
+ *
+ * NOTE: It is common to have more varied needs for spacing than for font-size.
+ * So feel free to add some more values by following the pattern below.
+ *
+ * EXCEPT: We are using `px` instead of `rem`
+ * ------------------------------------------
+ * When talking about font-size, it is the best practice to use
+ * `rem` so that an end user can change the font-size using the
+ * browser's font-size setting.
+ *
+ * However, when talking about spacing, it is the best practice to
+ * use `px` because using `rems` here makes font-size behave like zoom.
+ *
+ * Users that prefer larger text, don't necessarily want larger spacing as well.
+ *
+ */
+
+const MULT = {
+ xxxs: 0.25,
+ xxs: 0.5,
+ xs: 0.75,
+ sm: 1,
+ md: 1.5,
+ lg: 2,
+ xl: 3,
+ xxl: 4,
+ xxxl: 6,
+ xxxxl: 8,
+};
+const MIN_SPACE = {
+ xxxs: MULT.xxxs * MIN_BASE_SIZE,
+ xxs: MULT.xxs * MIN_BASE_SIZE,
+ xs: MULT.xs * MIN_BASE_SIZE,
+ sm: MULT.sm * MIN_BASE_SIZE,
+ md: MULT.md * MIN_BASE_SIZE,
+ lg: MULT.lg * MIN_BASE_SIZE,
+ xl: MULT.xl * MIN_BASE_SIZE,
+ xxl: MULT.xxl * MIN_BASE_SIZE,
+ xxxl: MULT.xxxl * MIN_BASE_SIZE,
+ xxxxl: MULT.xxxxl * MIN_BASE_SIZE,
+};
+const MAX_SPACE = {
+ xxxs: MULT.xxxs * MAX_BASE_SIZE,
+ xxs: MULT.xxs * MAX_BASE_SIZE,
+ xs: MULT.xs * MAX_BASE_SIZE,
+ sm: MULT.sm * MAX_BASE_SIZE,
+ md: MULT.md * MAX_BASE_SIZE,
+ lg: MULT.lg * MAX_BASE_SIZE,
+ xl: MULT.xl * MAX_BASE_SIZE,
+ xxl: MULT.xxl * MAX_BASE_SIZE,
+ xxxl: MULT.xxxl * MAX_BASE_SIZE,
+ xxxxl: MULT.xxxxl * MAX_BASE_SIZE,
+};
+const SLOPE_SPACE = {
+ xxxs: (MAX_SPACE.xxxs - MIN_SPACE.xxxs) / (MAX_WIDTH - MIN_WIDTH),
+ xxs: (MAX_SPACE.xxs - MIN_SPACE.xxs) / (MAX_WIDTH - MIN_WIDTH),
+ xs: (MAX_SPACE.xs - MIN_SPACE.xs) / (MAX_WIDTH - MIN_WIDTH),
+ sm: (MAX_SPACE.sm - MIN_SPACE.sm) / (MAX_WIDTH - MIN_WIDTH),
+ md: (MAX_SPACE.md - MIN_SPACE.md) / (MAX_WIDTH - MIN_WIDTH),
+ lg: (MAX_SPACE.lg - MIN_SPACE.lg) / (MAX_WIDTH - MIN_WIDTH),
+ xl: (MAX_SPACE.xl - MIN_SPACE.xl) / (MAX_WIDTH - MIN_WIDTH),
+ xxl: (MAX_SPACE.xxl - MIN_SPACE.xxl) / (MAX_WIDTH - MIN_WIDTH),
+ xxxl: (MAX_SPACE.xxxl - MIN_SPACE.xxxl) / (MAX_WIDTH - MIN_WIDTH),
+ xxxxl: (MAX_SPACE.xxxxl - MIN_SPACE.xxxxl) / (MAX_WIDTH - MIN_WIDTH),
+};
+// rounded to the nearest 0.25px
+const INTERCEPT_SPACE = {
+ xxxs: Math.round(4 * (MIN_SPACE.xxxs - SLOPE_SPACE.xxxs * MIN_WIDTH)) / 4,
+ xxs: Math.round(4 * (MIN_SPACE.xxs - SLOPE_SPACE.xxs * MIN_WIDTH)) / 4,
+ xs: Math.round(4 * (MIN_SPACE.xs - SLOPE_SPACE.xs * MIN_WIDTH)) / 4,
+ sm: Math.round(4 * (MIN_SPACE.sm - SLOPE_SPACE.sm * MIN_WIDTH)) / 4,
+ md: Math.round(4 * (MIN_SPACE.md - SLOPE_SPACE.md * MIN_WIDTH)) / 4,
+ lg: Math.round(4 * (MIN_SPACE.lg - SLOPE_SPACE.lg * MIN_WIDTH)) / 4,
+ xl: Math.round(4 * (MIN_SPACE.xl - SLOPE_SPACE.xl * MIN_WIDTH)) / 4,
+ xxl: Math.round(4 * (MIN_SPACE.xxl - SLOPE_SPACE.xxl * MIN_WIDTH)) / 4,
+ xxxl: Math.round(4 * (MIN_SPACE.xxxl - SLOPE_SPACE.xxxl * MIN_WIDTH)) / 4,
+ xxxxl: Math.round(4 * (MIN_SPACE.xxxxl - SLOPE_SPACE.xxxxl * MIN_WIDTH)) / 4,
+};
+
+// prettier-ignore
+export const spacing = stylex.defineVars({
+ xxxs: `clamp(${MIN_SPACE.xxxs }px, calc(${INTERCEPT_SPACE.xxxs }px + ${ Math.round(10000 * SLOPE_SPACE.xxxs ) / 100 }vw), ${MAX_SPACE.xxxs }px)`,
+ xxs: `clamp(${MIN_SPACE.xxs }px, calc(${INTERCEPT_SPACE.xxs }px + ${ Math.round(10000 * SLOPE_SPACE.xxs ) / 100 }vw), ${MAX_SPACE.xxs }px)`,
+ xs: `clamp(${MIN_SPACE.xs }px, calc(${INTERCEPT_SPACE.xs }px + ${ Math.round(10000 * SLOPE_SPACE.xs ) / 100 }vw), ${MAX_SPACE.xs }px)`,
+ sm: `clamp(${MIN_SPACE.sm }px, calc(${INTERCEPT_SPACE.sm }px + ${ Math.round(10000 * SLOPE_SPACE.sm ) / 100 }vw), ${MAX_SPACE.sm }px)`,
+ md: `clamp(${MIN_SPACE.md }px, calc(${INTERCEPT_SPACE.md }px + ${ Math.round(10000 * SLOPE_SPACE.md ) / 100 }vw), ${MAX_SPACE.md }px)`,
+ lg: `clamp(${MIN_SPACE.lg }px, calc(${INTERCEPT_SPACE.lg }px + ${ Math.round(10000 * SLOPE_SPACE.lg ) / 100 }vw), ${MAX_SPACE.lg }px)`,
+ xl: `clamp(${MIN_SPACE.xl }px, calc(${INTERCEPT_SPACE.xl }px + ${ Math.round(10000 * SLOPE_SPACE.xl ) / 100 }vw), ${MAX_SPACE.xl }px)`,
+ xxl: `clamp(${MIN_SPACE.xxl }px, calc(${INTERCEPT_SPACE.xxl }px + ${ Math.round(10000 * SLOPE_SPACE.xxl ) / 100 }vw), ${MAX_SPACE.xxl }px)`,
+ xxxl: `clamp(${MIN_SPACE.xxxl }px, calc(${INTERCEPT_SPACE.xxxl }px + ${ Math.round(10000 * SLOPE_SPACE.xxxl ) / 100 }vw), ${MAX_SPACE.xxxl }px)`,
+ xxxxl: `clamp(${MIN_SPACE.xxxxl }px, calc(${INTERCEPT_SPACE.xxxxl }px + ${ Math.round(10000 * SLOPE_SPACE.xxxxl ) / 100 }vw), ${MAX_SPACE.xxxxl }px)`,
+});
+
+/**
+ * Color Tokens
+ */
+const DARK_MODE = '@media (prefers-color-scheme: dark)';
+
+export const globalTokens = stylex.defineVars({
+ maxWidth: `${MAX_WIDTH}px`,
+ fontMono: [
+ 'ui-monospace',
+ 'Menlo',
+ 'Monaco',
+ '"Cascadia Mono"',
+ '"Segoe UI Mono"',
+ '"Roboto Mono"',
+ '"Oxygen Mono"',
+ '"Ubuntu Monospace"',
+ '"Source Code Pro"',
+ '"Fira Mono"',
+ '"Droid Sans Mono"',
+ '"Courier New"',
+ 'monospace',
+ ].join(', '),
+ fontSans: [
+ '-apple-system',
+ 'BlinkMacSystemFont',
+ '"Segoe UI"',
+ 'Roboto',
+ '"Helvetica Neue"',
+ 'Arial',
+ '"Noto Sans"',
+ 'sans-serif',
+ '"Apple Color Emoji"',
+ '"Segoe UI Emoji"',
+ '"Segoe UI Symbol"',
+ '"Noto Color Emoji"',
+ ].join(', '),
+
+ foregroundR: { default: '0', [DARK_MODE]: '255' },
+ foregroundG: { default: '0', [DARK_MODE]: '255' },
+ foregroundB: { default: '0', [DARK_MODE]: '255' },
+
+ bgStartRGB: { default: 'rgb(214, 219, 220)', [DARK_MODE]: 'rgb(0, 0, 0)' },
+
+ bgEndR: { default: '255', [DARK_MODE]: '0' },
+ bgEndG: { default: '255', [DARK_MODE]: '0' },
+ bgEndB: { default: '255', [DARK_MODE]: '0' },
+
+ calloutRGB: { default: 'rgb(238, 240, 241)', [DARK_MODE]: 'rgb(20, 20, 20)' },
+ calloutRGB50: {
+ default: 'rgba(238, 240, 241, 0.5)',
+ [DARK_MODE]: 'rgba(20, 20, 20, 0.5)',
+ },
+
+ calloutBorderR: { default: '172', [DARK_MODE]: '108' },
+ calloutBorderG: { default: '175', [DARK_MODE]: '108' },
+ calloutBorderB: { default: '176', [DARK_MODE]: '108' },
+
+ cardR: { default: '180', [DARK_MODE]: '100' },
+ cardG: { default: '185', [DARK_MODE]: '100' },
+ cardB: { default: '188', [DARK_MODE]: '100' },
+
+ cardBorderR: { default: '131', [DARK_MODE]: '200' },
+ cardBorderG: { default: '134', [DARK_MODE]: '200' },
+ cardBorderB: { default: '135', [DARK_MODE]: '200' },
+
+ primaryGlow: {
+ default: `conic-gradient(${[
+ 'from 180deg at 50% 50%',
+ '#16abff33 0deg',
+ '#0885ff33 55deg',
+ '#54d6ff33 120deg',
+ '#0071ff33 160deg',
+ 'transparent 360deg',
+ ].join(', ')})`,
+ [DARK_MODE]: 'radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0))',
+ },
+ secondaryGlow: {
+ default: 'radial-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))',
+ [DARK_MODE]: `linear-gradient(${[
+ 'to bottom right',
+ 'rgba(1, 65, 255, 0)',
+ 'rgba(1, 65, 255, 0)',
+ 'rgba(1, 65, 255, 0.3)',
+ ].join(', ')})`,
+ },
+});
+
+export const scales = stylex.defineVars({
+ small: 'scale(0.95)',
+ medium: 'scale(1)',
+ large: 'scale(1.2)',
+});
diff --git a/apps/nextjs-swc-example/app/globals.css b/apps/nextjs-swc-example/app/globals.css
new file mode 100644
index 00000000..09baa7fc
--- /dev/null
+++ b/apps/nextjs-swc-example/app/globals.css
@@ -0,0 +1,7 @@
+@layer reset {
+ * {
+ box-sizing: border-box;
+ padding: 0;
+ margin: 0;
+ }
+}
diff --git a/apps/nextjs-swc-example/app/layout.tsx b/apps/nextjs-swc-example/app/layout.tsx
new file mode 100644
index 00000000..61908d5e
--- /dev/null
+++ b/apps/nextjs-swc-example/app/layout.tsx
@@ -0,0 +1,40 @@
+import './globals.css';
+import { globalTokens as $ } from '@/app/globalTokens.stylex';
+import * as stylex from '@stylexjs/stylex';
+
+export const metadata = {
+ title: 'Create Next App',
+ description: 'Generated by create next app',
+};
+
+export default function RootLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+ {children}
+
+ );
+}
+
+const DARK = '@media (prefers-color-scheme: dark)';
+
+const styles = stylex.create({
+ html: {
+ colorScheme: 'light dark',
+ },
+ reset: {
+ minHeight: '100%',
+ margin: 0,
+ padding: 0,
+ },
+ body: {
+ color: `rgba(${$.foregroundR}, ${$.foregroundG}, ${$.foregroundB}, 1)`,
+ backgroundImage: {
+ default: 'linear-gradient(to bottom, rgb(214, 219, 220), white)',
+ [DARK]: 'linear-gradient(to bottom, rgb(20, 22, 27), black)',
+ },
+ },
+});
diff --git a/apps/nextjs-swc-example/app/page.tsx b/apps/nextjs-swc-example/app/page.tsx
new file mode 100644
index 00000000..3e2ea7df
--- /dev/null
+++ b/apps/nextjs-swc-example/app/page.tsx
@@ -0,0 +1,192 @@
+import React from 'react';
+import stylex from '@stylexjs/stylex';
+import Card from '@/components/Card';
+import {
+ globalTokens as $,
+ spacing,
+ text,
+ scales,
+} from './globalTokens.stylex';
+import Counter from './Counter';
+
+const HOMEPAGE = 'https://stylexjs.com';
+
+export default function Home() {
+ return (
+
+
+
+ Get started by editing
+ app/page.tsx
+
+
+
+
+ Next.js App Dir♥️️StyleX
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+const MEDIA_MOBILE = '@media (max-width: 700px)' as const;
+const MEDIA_TABLET =
+ '@media (min-width: 701px) and (max-width: 1120px)' as const;
+
+const beat = stylex.keyframes({
+ '0%': { transform: scales.medium },
+ '10%': { transform: scales.large },
+ '20%': { transform: scales.medium },
+ '30%': { transform: scales.large },
+ '40%': { transform: scales.medium },
+ '90%': { transform: scales.small },
+ '100%': { transform: scales.medium },
+});
+
+const style = stylex.create({
+ main: {
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ minHeight: '100vh',
+ paddingTop: spacing.xxl,
+ paddingBottom: {
+ default: spacing.xxl,
+ [MEDIA_MOBILE]: spacing.md,
+ },
+ },
+ hero: {
+ flexGrow: 1,
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ justifyContent: 'center',
+ gap: spacing.xl,
+ },
+ h1: {
+ fontSize: text.h1,
+ lineHeight: 1,
+ fontFamily: $.fontSans,
+ fontWeight: 400,
+ textAlign: 'center',
+ display: 'flex',
+ gap: spacing.md,
+ whiteSpace: 'nowrap',
+ flexDirection: {
+ default: 'row',
+ [MEDIA_MOBILE]: 'column',
+ },
+ },
+ emoji: {
+ position: 'relative',
+ fontFamily: 'sans-serif',
+ top: {
+ default: 0,
+ [MEDIA_MOBILE]: spacing.xxxs,
+ },
+ animationName: beat,
+ animationDuration: '2s',
+ animationIterationCount: 'infinite',
+ animationTimingFunction: 'linear',
+ },
+ description: {
+ display: 'inherit',
+ justifyContent: 'inherit',
+ alignItems: 'inherit',
+ fontSize: text.sm,
+ maxWidth: $.maxWidth,
+ width: '100%',
+ zIndex: 2,
+ fontFamily: $.fontMono,
+ },
+ descLink: {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ gap: spacing.xxs,
+ padding: { [MEDIA_MOBILE]: spacing.sm },
+ },
+ descP: {
+ display: { [MEDIA_MOBILE]: 'flex' },
+ position: {
+ default: 'relative',
+ [MEDIA_MOBILE]: 'fixed',
+ },
+ justifyContent: { [MEDIA_MOBILE]: 'center' },
+ alignItems: { [MEDIA_MOBILE]: 'center' },
+ width: { [MEDIA_MOBILE]: '100%' },
+ margin: 0,
+ paddingInline: spacing.sm,
+ paddingTop: {
+ default: spacing.sm,
+ [MEDIA_MOBILE]: spacing.lg,
+ },
+ paddingBottom: {
+ default: spacing.sm,
+ [MEDIA_MOBILE]: spacing.md,
+ },
+ backgroundColor: $.calloutRGB50,
+ backgroundImage: {
+ default: null,
+ [MEDIA_MOBILE]: `linear-gradient(to bottom, ${$.bgStartRGB}, ${$.calloutRGB50})`,
+ },
+ borderWidth: {
+ default: '1px',
+ [MEDIA_MOBILE]: '0',
+ },
+ borderStyle: 'solid',
+ borderColor: `rgba(${$.calloutBorderR}, ${$.calloutBorderG}, ${$.calloutBorderB}, 0.3)`,
+ borderBottomColor: {
+ default: null,
+ [MEDIA_MOBILE]: `rgba(${$.calloutBorderR}, ${$.calloutBorderG}, ${$.calloutBorderB}, 0.25)`,
+ },
+ borderRadius: {
+ default: spacing.xs,
+ [MEDIA_MOBILE]: 0,
+ },
+ inset: { [MEDIA_MOBILE]: '0 0 auto' },
+ },
+ code: {
+ fontWeight: 700,
+ fontFamily: $.fontMono,
+ },
+ grid: {
+ display: 'grid',
+ gridTemplateColumns: {
+ default: 'repeat(4, minmax(25%, auto))',
+ [MEDIA_MOBILE]: '1fr',
+ [MEDIA_TABLET]: 'repeat(2, 50%)',
+ },
+ width: $.maxWidth,
+ maxWidth: {
+ default: '100%',
+ [MEDIA_MOBILE]: 320,
+ },
+ textAlign: { [MEDIA_MOBILE]: 'center' },
+ },
+});
diff --git a/apps/nextjs-swc-example/components/Card.tsx b/apps/nextjs-swc-example/components/Card.tsx
new file mode 100644
index 00000000..375fe3b8
--- /dev/null
+++ b/apps/nextjs-swc-example/components/Card.tsx
@@ -0,0 +1,95 @@
+import * as stylex from '@stylexjs/stylex';
+import { globalTokens as $, spacing, text } from '@/app/globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { tokens } from '@/app/CardTokens.stylex';
+
+type Props = Readonly<{
+ title: string;
+ body: string;
+ href: string;
+}>;
+
+export default function Card({ title, body, href }: Props) {
+ return (
+
+
+ {title} →
+
+ {body}
+
+ );
+}
+
+type TMobile = '@media (max-width: 700px)';
+
+const MOBILE: TMobile = '@media (max-width: 700px)' as TMobile;
+const REDUCE_MOTION = '@media (prefers-reduced-motion: reduce)' as const;
+
+const bgDefault = `rgba(${$.cardR}, ${$.cardG}, ${$.cardB}, 0)` as const;
+
+const styles = stylex.create({
+ link: {
+ display: {
+ default: 'flex',
+ [MOBILE]: 'block',
+ },
+ alignItems: 'center',
+ justifyContent: 'flex-start',
+ flexDirection: 'column',
+ borderRadius: spacing.xs,
+ backgroundColor: {
+ default: bgDefault,
+ ':hover': `rgba(${$.cardR}, ${$.cardG}, ${$.cardB}, 0.1)`,
+ },
+ borderWidth: 1,
+ borderStyle: 'solid',
+ borderColor: {
+ default: `rgba(${$.cardBorderR}, ${$.cardBorderG}, ${$.cardBorderB}, 0)`,
+ ':hover': `rgba(${$.cardBorderR}, ${$.cardBorderG}, ${$.cardBorderB}, 0.1)`,
+ },
+ color: 'inherit',
+ fontFamily: $.fontSans,
+ padding: spacing.sm,
+ transitionProperty: 'background-color, border-color',
+ transitionDuration: '400ms',
+ textAlign: 'center',
+ textDecoration: 'none',
+ [tokens.arrowTransform]: {
+ default: 'translateX(0)',
+ ':hover': 'translateX(4px)',
+ },
+ },
+ h2: {
+ color: colors.blue3,
+ fontSize: text.h4,
+ fontWeight: 600,
+ marginBottom: {
+ default: spacing.xs,
+ [MOBILE]: spacing.xxs,
+ },
+ },
+ span: {
+ display: 'inline-block',
+ transitionProperty: 'transform',
+ transform: tokens.arrowTransform,
+ transitionDuration: {
+ default: '200ms',
+ [REDUCE_MOTION]: '0s',
+ },
+ },
+ p: {
+ margin: 0,
+ opacity: 0.6,
+ fontSize: text.p,
+ textWrap: 'balance',
+ lineHeight: 1.5,
+ maxWidth: '30ch',
+ },
+ color: (color: string) => ({ color }),
+ width: (width: string) => ({ width }),
+});
diff --git a/apps/nextjs-swc-example/next.config.js b/apps/nextjs-swc-example/next.config.js
new file mode 100644
index 00000000..8ea59b2e
--- /dev/null
+++ b/apps/nextjs-swc-example/next.config.js
@@ -0,0 +1,27 @@
+/** @type {import('next').NextConfig} */
+const path = require('path');
+const stylexPlugin = require('@stylexswc/nextjs-swc-plugin');
+const rootDir = __dirname;
+
+module.exports = stylexPlugin({ rootDir })({
+ transpilePackages: ['@stylexjs/open-props'],
+ // Optionally, add any other Next.js config below
+ swcMinify: true,
+ experimental: {
+ swcPlugins: [[
+ "@stylexswc/swc-plugin",
+ {
+ dev: process.env.NODE_ENV === 'development',
+ genConditionalClasses: true,
+ treeshakeCompensation: true,
+ aliases: {
+ '@/*': [path.join(rootDir, '*')],
+ },
+ unstable_moduleResolution: {
+ type: 'commonJS',
+ rootDir: rootDir,
+ },
+ },
+ ]],
+ },
+});
diff --git a/apps/nextjs-swc-example/package.json b/apps/nextjs-swc-example/package.json
new file mode 100644
index 00000000..89b14547
--- /dev/null
+++ b/apps/nextjs-swc-example/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@stylexswc/next-example",
+ "version": "0.2.4",
+ "private": true,
+ "scripts": {
+ "clean": "rimraf .next",
+ "predev": "pnpm run clean",
+ "prebuild": "pnpm run clean",
+ "prestart": "pnpm run build",
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "next:lint": "next lint"
+ },
+ "dependencies": {
+ "@stylexjs/open-props": "^0.7.5",
+ "@stylexjs/stylex": "^0.7.5",
+ "bright": "^0.8.4",
+ "next": "14.2.3",
+ "react": "^18",
+ "react-dom": "^18"
+ },
+ "devDependencies": {
+ "@stylexjs/eslint-plugin": "^0.7.5",
+ "@stylexswc/nextjs-swc-plugin": "0.2.4",
+ "@stylexswc/swc-plugin": "0.2.4",
+ "@types/node": "^20.10.4",
+ "@types/react": "^18.2.45",
+ "@types/react-dom": "^18.2.18",
+ "@typescript-eslint/parser": "^6.14.0",
+ "eslint": "^8.56.0",
+ "eslint-config-next": "14.0.1",
+ "rimraf": "^5.0.5",
+ "typescript": "^5.3.3"
+ }
+}
diff --git a/apps/nextjs-swc-example/pnpm-lock.yaml b/apps/nextjs-swc-example/pnpm-lock.yaml
new file mode 100644
index 00000000..28a21b1d
--- /dev/null
+++ b/apps/nextjs-swc-example/pnpm-lock.yaml
@@ -0,0 +1,3407 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@stylexjs/open-props':
+ specifier: ^0.7.5
+ version: 0.7.5
+ '@stylexjs/stylex':
+ specifier: ^0.7.5
+ version: 0.7.5
+ bright:
+ specifier: ^0.8.4
+ version: 0.8.5(react@18.3.1)
+ next:
+ specifier: 14.2.3
+ version: 14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react:
+ specifier: ^18
+ version: 18.3.1
+ react-dom:
+ specifier: ^18
+ version: 18.3.1(react@18.3.1)
+ devDependencies:
+ '@stylexjs/eslint-plugin':
+ specifier: ^0.7.5
+ version: 0.7.5
+ '@stylexswc/nextjs-plugin':
+ specifier: ^0.2.2
+ version: 0.2.2(@stylexjs/babel-plugin@0.7.5)(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@stylexswc/swc-plugin':
+ specifier: ^0.2.2
+ version: 0.2.2
+ '@types/node':
+ specifier: ^20.10.4
+ version: 20.16.5
+ '@types/react':
+ specifier: ^18.2.45
+ version: 18.3.6
+ '@types/react-dom':
+ specifier: ^18.2.18
+ version: 18.3.0
+ '@typescript-eslint/parser':
+ specifier: ^6.14.0
+ version: 6.21.0(eslint@8.57.1)(typescript@5.6.2)
+ eslint:
+ specifier: ^8.56.0
+ version: 8.57.1
+ eslint-config-next:
+ specifier: 14.0.1
+ version: 14.0.1(eslint@8.57.1)(typescript@5.6.2)
+ rimraf:
+ specifier: ^5.0.5
+ version: 5.0.10
+ typescript:
+ specifier: ^5.3.3
+ version: 5.6.2
+
+packages:
+
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+
+ '@babel/code-frame@7.24.7':
+ resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.25.4':
+ resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.25.2':
+ resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.25.6':
+ resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.25.2':
+ resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.24.7':
+ resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.25.2':
+ resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-simple-access@7.24.7':
+ resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.24.8':
+ resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.24.7':
+ resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.24.8':
+ resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.25.6':
+ resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/highlight@7.24.7':
+ resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.25.6':
+ resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/template@7.25.0':
+ resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.25.6':
+ resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.25.6':
+ resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==}
+ engines: {node: '>=6.9.0'}
+
+ '@code-hike/lighter@0.8.1':
+ resolution: {integrity: sha512-St4rPmB7C2EWmAK1sAbvD3lZeM7UDInVDMjQDzEDsu4Q3B3AqF25vXedQK51U0UO0MCOASgBBdTiNwvJAfIqMQ==}
+
+ '@eslint-community/eslint-utils@4.4.0':
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/regexpp@4.11.1':
+ resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/eslintrc@2.1.4':
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ '@eslint/js@8.57.1':
+ resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ '@humanwhocodes/config-array@0.13.0':
+ resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
+ engines: {node: '>=10.10.0'}
+ deprecated: Use @eslint/config-array instead
+
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ '@humanwhocodes/object-schema@2.0.3':
+ resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ deprecated: Use @eslint/object-schema instead
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@jridgewell/gen-mapping@0.3.5':
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
+ '@next/env@14.2.3':
+ resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==}
+
+ '@next/eslint-plugin-next@14.0.1':
+ resolution: {integrity: sha512-bLjJMwXdzvhnQOnxvHoTTUh/+PYk6FF/DCgHi4BXwXCINer+o1ZYfL9aVeezj/oI7wqGJOqwGIXrlBvPbAId3w==}
+
+ '@next/swc-darwin-arm64@14.2.3':
+ resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@next/swc-darwin-x64@14.2.3':
+ resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@next/swc-linux-arm64-gnu@14.2.3':
+ resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-arm64-musl@14.2.3':
+ resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-x64-gnu@14.2.3':
+ resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-linux-x64-musl@14.2.3':
+ resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-win32-arm64-msvc@14.2.3':
+ resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@next/swc-win32-ia32-msvc@14.2.3':
+ resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@next/swc-win32-x64-msvc@14.2.3':
+ resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@nolyfill/is-core-module@1.0.39':
+ resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
+ engines: {node: '>=12.4.0'}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@rtsao/scc@1.1.0':
+ resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+
+ '@rushstack/eslint-patch@1.10.4':
+ resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==}
+
+ '@stylexjs/babel-plugin@0.7.5':
+ resolution: {integrity: sha512-KirLQIaOVHpuSZT37qV19Pw8x4te5x6hZ90+2VsrJ4NzwyYFpovlMNsTeT+eE9mcdp84VksIi7QnrNpMvqBJMQ==}
+
+ '@stylexjs/eslint-plugin@0.7.5':
+ resolution: {integrity: sha512-FLKsjfmPbnXXFHcBuB0HwzwQRftlNejA+yzfBOE5fBjXZnzQZyKTJzMrI29c89FpyPr+jd4F0X1RUJrGNj2Jfg==}
+
+ '@stylexjs/open-props@0.7.5':
+ resolution: {integrity: sha512-Hul3At8srA7Uq7hpJ1sd0ZrhsT31/rcx5JA+eTSQuhmo1mMqfMHWTr70jWk6TNtZTbn0yY3hw+nJDYCTkup78A==}
+
+ '@stylexjs/shared@0.7.5':
+ resolution: {integrity: sha512-B357xldr9Dh3tP646P0JKNnarxy5ei4mkZh1qQmuhgGewbaVcrD8jiEWH3WjEzRrBKfmJtcTxBC3xp507u7O4A==}
+
+ '@stylexjs/stylex@0.7.5':
+ resolution: {integrity: sha512-e4bryU2AoKBeAlloea7sJZrYrjiqJYViw8AWL6eanTVdk7qJ0CduNoiRQxtCP1dOhqGAPG74kaWT7slLzZnqKg==}
+
+ '@stylexswc/nextjs-plugin@0.2.2':
+ resolution: {integrity: sha512-U+hBI6yqO+vb3I4nmdxbSMzAfHZDKCcJUjxyEAbqvsbdpW+88gtefPr5q8Au8G7fNoexAs3csYUWvnPIlBub1w==}
+ peerDependencies:
+ '@stylexjs/babel-plugin': ^0.7.5
+ next: '>=14.0.1'
+
+ '@stylexswc/swc-plugin@0.2.2':
+ resolution: {integrity: sha512-Ww01YBAIJm4GLY64jDFZKMwkwKu2vhJk6DsLMsoDoqcaDU/ZAfQvlCDHZcDEEmjcWJDsW9jfu77uRyOlOEkuJA==}
+
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/helpers@0.5.5':
+ resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
+
+ '@types/json5@0.0.29':
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+
+ '@types/node@20.16.5':
+ resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==}
+
+ '@types/prop-types@15.7.13':
+ resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
+
+ '@types/react-dom@18.3.0':
+ resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+
+ '@types/react@18.3.6':
+ resolution: {integrity: sha512-CnGaRYNu2iZlkGXGrOYtdg5mLK8neySj0woZ4e2wF/eli2E6Sazmq5X+Nrj6OBrrFVQfJWTUFeqAzoRhWQXYvg==}
+
+ '@typescript-eslint/parser@6.21.0':
+ resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/scope-manager@6.21.0':
+ resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+
+ '@typescript-eslint/types@6.21.0':
+ resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+
+ '@typescript-eslint/typescript-estree@6.21.0':
+ resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/visitor-keys@6.21.0':
+ resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+
+ '@ungap/structured-clone@1.2.0':
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.12.1:
+ resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.1.0:
+ resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ aria-query@5.1.3:
+ resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
+
+ array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
+
+ array-includes@3.1.8:
+ resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
+ engines: {node: '>= 0.4'}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.findlastindex@1.2.5:
+ resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.tosorted@1.1.4:
+ resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
+ engines: {node: '>= 0.4'}
+
+ arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+
+ ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ axe-core@4.10.0:
+ resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==}
+ engines: {node: '>=4'}
+
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ bright@0.8.5:
+ resolution: {integrity: sha512-LOhh3jk8KLFMqhX67TSGP1kCb3qGXbiRLbyBToVOfrrrEa3omXHT44r0/L4/OOlKluaFcO7+11KLOM5xI50XvA==}
+ peerDependencies:
+ react: ^18
+
+ browserslist@4.23.3:
+ resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+
+ call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ caniuse-lite@1.0.30001660:
+ resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+
+ css-mediaquery@0.1.2:
+ resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+
+ data-view-buffer@1.0.1:
+ resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.1:
+ resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.0:
+ resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ engines: {node: '>= 0.4'}
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ deep-equal@2.2.3:
+ resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
+ engines: {node: '>= 0.4'}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+
+ doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ electron-to-chromium@1.5.23:
+ resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ enhanced-resolve@5.17.1:
+ resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
+ engines: {node: '>=10.13.0'}
+
+ es-abstract@1.23.3:
+ resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ engines: {node: '>= 0.4'}
+
+ es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-get-iterator@1.1.3:
+ resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
+
+ es-iterator-helpers@1.0.19:
+ resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
+ engines: {node: '>= 0.4'}
+
+ es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.0.3:
+ resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
+
+ es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+
+ es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ eslint-config-next@14.0.1:
+ resolution: {integrity: sha512-QfIFK2WD39H4WOespjgf6PLv9Bpsd7KGGelCtmq4l67nGvnlsGpuvj0hIT+aIy6p5gKH+lAChYILsyDlxP52yg==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+
+ eslint-import-resolver-typescript@3.6.3:
+ resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ eslint-plugin-import-x: '*'
+ peerDependenciesMeta:
+ eslint-plugin-import:
+ optional: true
+ eslint-plugin-import-x:
+ optional: true
+
+ eslint-module-utils@2.11.0:
+ resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+
+ eslint-plugin-import@2.30.0:
+ resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+
+ eslint-plugin-jsx-a11y@6.10.0:
+ resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
+
+ eslint-plugin-react-hooks@4.6.2:
+ resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+
+ eslint-plugin-react@7.36.1:
+ resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+
+ eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint@8.57.1:
+ resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+
+ espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
+ file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
+ flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+
+ for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+
+ foreground-child@3.3.0:
+ resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
+ engines: {node: '>=14'}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+
+ get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+
+ get-tsconfig@4.8.1:
+ resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
+ glob@7.1.7:
+ resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+
+ invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+
+ is-arguments@1.1.1:
+ resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
+ engines: {node: '>= 0.4'}
+
+ is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+
+ is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+
+ is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+
+ is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+
+ is-bun-module@1.2.1:
+ resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.15.1:
+ resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
+ engines: {node: '>= 0.4'}
+
+ is-data-view@1.0.1:
+ resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
+
+ is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+
+ is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+
+ is-shared-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
+
+ is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+
+ is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+
+ is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+
+ is-weakset@2.0.3:
+ resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ engines: {node: '>= 0.4'}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ language-subtag-registry@0.3.23:
+ resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
+
+ language-tags@1.0.9:
+ resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
+ engines: {node: '>=0.10'}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ next@14.2.3:
+ resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==}
+ engines: {node: '>=18.17.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ sass:
+ optional: true
+
+ node-releases@2.0.18:
+ resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-inspect@1.13.2:
+ resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
+ engines: {node: '>= 0.4'}
+
+ object-is@1.1.6:
+ resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
+ engines: {node: '>= 0.4'}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+
+ object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
+ engines: {node: '>= 0.4'}
+
+ object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+
+ object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
+
+ object.values@1.2.0:
+ resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
+ engines: {node: '>= 0.4'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ package-json-from-dist@1.0.0:
+ resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ picocolors@1.1.0:
+ resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ possible-typed-array-names@1.0.0:
+ resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
+ engines: {node: '>=0.10.0'}
+
+ reflect.getprototypeof@1.0.6:
+ resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
+ engines: {node: '>= 0.4'}
+
+ regexp.prototype.flags@1.5.2:
+ resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+ resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+
+ rimraf@5.0.10:
+ resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
+ hasBin: true
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ safe-array-concat@1.1.2:
+ resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ engines: {node: '>=0.4'}
+
+ safe-regex-test@1.0.3:
+ resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ server-only@0.0.1:
+ resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ stop-iteration-iterator@1.0.0:
+ resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
+ engines: {node: '>= 0.4'}
+
+ streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string.prototype.includes@2.0.0:
+ resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==}
+
+ string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.repeat@1.0.0:
+ resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
+
+ string.prototype.trim@1.2.9:
+ resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimend@1.0.8:
+ resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ styled-jsx@5.1.1:
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+
+ styleq@0.1.3:
+ resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ ts-api-utils@1.3.0:
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+
+ tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+
+ tslib@2.7.0:
+ resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ typed-array-buffer@1.0.2:
+ resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-length@1.0.1:
+ resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-offset@1.0.2:
+ resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-length@1.0.6:
+ resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ engines: {node: '>= 0.4'}
+
+ typescript@5.6.2:
+ resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+
+ undici-types@6.19.8:
+ resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+
+ update-browserslist-db@1.1.0:
+ resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+
+ which-builtin-type@1.1.4:
+ resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==}
+ engines: {node: '>= 0.4'}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+
+ which-typed-array@1.1.15:
+ resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ engines: {node: '>= 0.4'}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+snapshots:
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@babel/code-frame@7.24.7':
+ dependencies:
+ '@babel/highlight': 7.24.7
+ picocolors: 1.1.0
+
+ '@babel/compat-data@7.25.4': {}
+
+ '@babel/core@7.25.2':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.6
+ '@babel/helper-compilation-targets': 7.25.2
+ '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
+ '@babel/helpers': 7.25.6
+ '@babel/parser': 7.25.6
+ '@babel/template': 7.25.0
+ '@babel/traverse': 7.25.6
+ '@babel/types': 7.25.6
+ convert-source-map: 2.0.0
+ debug: 4.3.7
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.25.6':
+ dependencies:
+ '@babel/types': 7.25.6
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/helper-compilation-targets@7.25.2':
+ dependencies:
+ '@babel/compat-data': 7.25.4
+ '@babel/helper-validator-option': 7.24.8
+ browserslist: 4.23.3
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-module-imports@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.25.6
+ '@babel/types': 7.25.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/helper-simple-access': 7.24.7
+ '@babel/helper-validator-identifier': 7.24.7
+ '@babel/traverse': 7.25.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-simple-access@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.25.6
+ '@babel/types': 7.25.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.24.8': {}
+
+ '@babel/helper-validator-identifier@7.24.7': {}
+
+ '@babel/helper-validator-option@7.24.8': {}
+
+ '@babel/helpers@7.25.6':
+ dependencies:
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.6
+
+ '@babel/highlight@7.24.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.1.0
+
+ '@babel/parser@7.25.6':
+ dependencies:
+ '@babel/types': 7.25.6
+
+ '@babel/template@7.25.0':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/parser': 7.25.6
+ '@babel/types': 7.25.6
+
+ '@babel/traverse@7.25.6':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.25.6
+ '@babel/parser': 7.25.6
+ '@babel/template': 7.25.0
+ '@babel/types': 7.25.6
+ debug: 4.3.7
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.25.6':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.8
+ '@babel/helper-validator-identifier': 7.24.7
+ to-fast-properties: 2.0.0
+
+ '@code-hike/lighter@0.8.1': {}
+
+ '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
+ dependencies:
+ eslint: 8.57.1
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.11.1': {}
+
+ '@eslint/eslintrc@2.1.4':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.7
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.2
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@8.57.1': {}
+
+ '@humanwhocodes/config-array@0.13.0':
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.3
+ debug: 4.3.7
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/object-schema@2.0.3': {}
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@next/env@14.2.3': {}
+
+ '@next/eslint-plugin-next@14.0.1':
+ dependencies:
+ glob: 7.1.7
+
+ '@next/swc-darwin-arm64@14.2.3':
+ optional: true
+
+ '@next/swc-darwin-x64@14.2.3':
+ optional: true
+
+ '@next/swc-linux-arm64-gnu@14.2.3':
+ optional: true
+
+ '@next/swc-linux-arm64-musl@14.2.3':
+ optional: true
+
+ '@next/swc-linux-x64-gnu@14.2.3':
+ optional: true
+
+ '@next/swc-linux-x64-musl@14.2.3':
+ optional: true
+
+ '@next/swc-win32-arm64-msvc@14.2.3':
+ optional: true
+
+ '@next/swc-win32-ia32-msvc@14.2.3':
+ optional: true
+
+ '@next/swc-win32-x64-msvc@14.2.3':
+ optional: true
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@nolyfill/is-core-module@1.0.39': {}
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@rtsao/scc@1.1.0': {}
+
+ '@rushstack/eslint-patch@1.10.4': {}
+
+ '@stylexjs/babel-plugin@0.7.5':
+ dependencies:
+ '@babel/core': 7.25.2
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/traverse': 7.25.6
+ '@babel/types': 7.25.6
+ '@stylexjs/shared': 0.7.5
+ '@stylexjs/stylex': 0.7.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@stylexjs/eslint-plugin@0.7.5':
+ dependencies:
+ micromatch: 4.0.8
+
+ '@stylexjs/open-props@0.7.5':
+ dependencies:
+ '@stylexjs/stylex': 0.7.5
+
+ '@stylexjs/shared@0.7.5':
+ dependencies:
+ postcss-value-parser: 4.2.0
+
+ '@stylexjs/stylex@0.7.5':
+ dependencies:
+ css-mediaquery: 0.1.2
+ invariant: 2.2.4
+ styleq: 0.1.3
+
+ '@stylexswc/nextjs-plugin@0.2.2(@stylexjs/babel-plugin@0.7.5)(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
+ dependencies:
+ '@stylexjs/babel-plugin': 0.7.5
+ next: 14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+
+ '@stylexswc/swc-plugin@0.2.2': {}
+
+ '@swc/counter@0.1.3': {}
+
+ '@swc/helpers@0.5.5':
+ dependencies:
+ '@swc/counter': 0.1.3
+ tslib: 2.7.0
+
+ '@types/json5@0.0.29': {}
+
+ '@types/node@20.16.5':
+ dependencies:
+ undici-types: 6.19.8
+
+ '@types/prop-types@15.7.13': {}
+
+ '@types/react-dom@18.3.0':
+ dependencies:
+ '@types/react': 18.3.6
+
+ '@types/react@18.3.6':
+ dependencies:
+ '@types/prop-types': 15.7.13
+ csstype: 3.1.3
+
+ '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2)
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.7
+ eslint: 8.57.1
+ optionalDependencies:
+ typescript: 5.6.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/scope-manager@6.21.0':
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
+
+ '@typescript-eslint/types@6.21.0': {}
+
+ '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.2)':
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.7
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.3
+ semver: 7.6.3
+ ts-api-utils: 1.3.0(typescript@5.6.2)
+ optionalDependencies:
+ typescript: 5.6.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/visitor-keys@6.21.0':
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ eslint-visitor-keys: 3.4.3
+
+ '@ungap/structured-clone@1.2.0': {}
+
+ acorn-jsx@5.3.2(acorn@8.12.1):
+ dependencies:
+ acorn: 8.12.1
+
+ acorn@8.12.1: {}
+
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.1.0: {}
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.1: {}
+
+ argparse@2.0.1: {}
+
+ aria-query@5.1.3:
+ dependencies:
+ deep-equal: 2.2.3
+
+ array-buffer-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
+
+ array-includes@3.1.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ is-string: 1.0.7
+
+ array-union@2.1.0: {}
+
+ array.prototype.findlast@1.2.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+
+ array.prototype.findlastindex@1.2.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+
+ array.prototype.flat@1.3.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+
+ array.prototype.flatmap@1.3.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+
+ array.prototype.tosorted@1.1.4:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
+
+ arraybuffer.prototype.slice@1.0.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.3
+
+ ast-types-flow@0.0.8: {}
+
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.0.0
+
+ axe-core@4.10.0: {}
+
+ axobject-query@4.1.0: {}
+
+ balanced-match@1.0.2: {}
+
+ brace-expansion@1.1.11:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ bright@0.8.5(react@18.3.1):
+ dependencies:
+ '@code-hike/lighter': 0.8.1
+ react: 18.3.1
+ server-only: 0.0.1
+
+ browserslist@4.23.3:
+ dependencies:
+ caniuse-lite: 1.0.30001660
+ electron-to-chromium: 1.5.23
+ node-releases: 2.0.18
+ update-browserslist-db: 1.1.0(browserslist@4.23.3)
+
+ busboy@1.6.0:
+ dependencies:
+ streamsearch: 1.1.0
+
+ call-bind@1.0.7:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+
+ callsites@3.1.0: {}
+
+ caniuse-lite@1.0.30001660: {}
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ client-only@0.0.1: {}
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.3: {}
+
+ color-name@1.1.4: {}
+
+ concat-map@0.0.1: {}
+
+ convert-source-map@2.0.0: {}
+
+ cross-spawn@7.0.3:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ css-mediaquery@0.1.2: {}
+
+ csstype@3.1.3: {}
+
+ damerau-levenshtein@1.0.8: {}
+
+ data-view-buffer@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ data-view-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ data-view-byte-offset@1.0.0:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ debug@3.2.7:
+ dependencies:
+ ms: 2.1.3
+
+ debug@4.3.7:
+ dependencies:
+ ms: 2.1.3
+
+ deep-equal@2.2.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ es-get-iterator: 1.1.3
+ get-intrinsic: 1.2.4
+ is-arguments: 1.1.1
+ is-array-buffer: 3.0.4
+ is-date-object: 1.0.5
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ isarray: 2.0.5
+ object-is: 1.1.6
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ side-channel: 1.0.6
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
+
+ deep-is@0.1.4: {}
+
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+
+ define-properties@1.2.1:
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
+ doctrine@2.1.0:
+ dependencies:
+ esutils: 2.0.3
+
+ doctrine@3.0.0:
+ dependencies:
+ esutils: 2.0.3
+
+ eastasianwidth@0.2.0: {}
+
+ electron-to-chromium@1.5.23: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
+ enhanced-resolve@5.17.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
+ es-abstract@1.23.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ data-view-buffer: 1.0.1
+ data-view-byte-length: 1.0.1
+ data-view-byte-offset: 1.0.0
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-data-view: 1.0.1
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.2
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.6
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
+
+ es-define-property@1.0.0:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ es-errors@1.3.0: {}
+
+ es-get-iterator@1.1.3:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ is-arguments: 1.1.1
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-string: 1.0.7
+ isarray: 2.0.5
+ stop-iteration-iterator: 1.0.0
+
+ es-iterator-helpers@1.0.19:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.3
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.4
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.1.2
+
+ es-object-atoms@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.0.3:
+ dependencies:
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ es-shim-unscopables@1.0.2:
+ dependencies:
+ hasown: 2.0.2
+
+ es-to-primitive@1.2.1:
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+
+ escalade@3.2.0: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@4.0.0: {}
+
+ eslint-config-next@14.0.1(eslint@8.57.1)(typescript@5.6.2):
+ dependencies:
+ '@next/eslint-plugin-next': 14.0.1
+ '@rushstack/eslint-patch': 1.10.4
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2)
+ eslint: 8.57.1
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1)
+ eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
+ eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1)
+ eslint-plugin-react: 7.36.1(eslint@8.57.1)
+ eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
+ optionalDependencies:
+ typescript: 5.6.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - eslint-plugin-import-x
+ - supports-color
+
+ eslint-import-resolver-node@0.3.9:
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.15.1
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1):
+ dependencies:
+ '@nolyfill/is-core-module': 1.0.39
+ debug: 4.3.7
+ enhanced-resolve: 5.17.1
+ eslint: 8.57.1
+ eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.8.1
+ is-bun-module: 1.2.1
+ is-glob: 4.0.3
+ optionalDependencies:
+ eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+
+ eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1):
+ dependencies:
+ debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2)
+ eslint: 8.57.1
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
+ dependencies:
+ '@rtsao/scc': 1.1.0
+ array-includes: 3.1.8
+ array.prototype.findlastindex: 1.2.5
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.57.1
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1)
+ hasown: 2.0.2
+ is-core-module: 2.15.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.0
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2)
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+
+ eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1):
+ dependencies:
+ aria-query: 5.1.3
+ array-includes: 3.1.8
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.8
+ axe-core: 4.10.0
+ axobject-query: 4.1.0
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ es-iterator-helpers: 1.0.19
+ eslint: 8.57.1
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ safe-regex-test: 1.0.3
+ string.prototype.includes: 2.0.0
+
+ eslint-plugin-react-hooks@4.6.2(eslint@8.57.1):
+ dependencies:
+ eslint: 8.57.1
+
+ eslint-plugin-react@7.36.1(eslint@8.57.1):
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.findlast: 1.2.5
+ array.prototype.flatmap: 1.3.2
+ array.prototype.tosorted: 1.1.4
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.19
+ eslint: 8.57.1
+ estraverse: 5.3.0
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ object.values: 1.2.0
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.11
+ string.prototype.repeat: 1.0.0
+
+ eslint-scope@7.2.2:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-visitor-keys@3.4.3: {}
+
+ eslint@8.57.1:
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
+ '@eslint-community/regexpp': 4.11.1
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.57.1
+ '@humanwhocodes/config-array': 0.13.0
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.7
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ espree@9.6.1:
+ dependencies:
+ acorn: 8.12.1
+ acorn-jsx: 5.3.2(acorn@8.12.1)
+ eslint-visitor-keys: 3.4.3
+
+ esquery@1.6.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ estraverse@5.3.0: {}
+
+ esutils@2.0.3: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-glob@3.3.2:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fast-json-stable-stringify@2.1.0: {}
+
+ fast-levenshtein@2.0.6: {}
+
+ fastq@1.17.1:
+ dependencies:
+ reusify: 1.0.4
+
+ file-entry-cache@6.0.1:
+ dependencies:
+ flat-cache: 3.2.0
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ flat-cache@3.2.0:
+ dependencies:
+ flatted: 3.3.1
+ keyv: 4.5.4
+ rimraf: 3.0.2
+
+ flatted@3.3.1: {}
+
+ for-each@0.3.3:
+ dependencies:
+ is-callable: 1.2.7
+
+ foreground-child@3.3.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
+ fs.realpath@1.0.0: {}
+
+ function-bind@1.1.2: {}
+
+ function.prototype.name@1.1.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ functions-have-names: 1.2.3
+
+ functions-have-names@1.2.3: {}
+
+ gensync@1.0.0-beta.2: {}
+
+ get-intrinsic@1.2.4:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+
+ get-symbol-description@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+
+ get-tsconfig@4.8.1:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.0
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.0
+ path-scurry: 1.11.1
+
+ glob@7.1.7:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ glob@7.2.3:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ globals@11.12.0: {}
+
+ globals@13.24.0:
+ dependencies:
+ type-fest: 0.20.2
+
+ globalthis@1.0.4:
+ dependencies:
+ define-properties: 1.2.1
+ gopd: 1.0.1
+
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ gopd@1.0.1:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ graceful-fs@4.2.11: {}
+
+ graphemer@1.4.0: {}
+
+ has-bigints@1.0.2: {}
+
+ has-flag@3.0.0: {}
+
+ has-flag@4.0.0: {}
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.0
+
+ has-proto@1.0.3: {}
+
+ has-symbols@1.0.3: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.0.3
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ ignore@5.3.2: {}
+
+ import-fresh@3.3.0:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ imurmurhash@0.1.4: {}
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.4: {}
+
+ internal-slot@1.0.7:
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.2
+ side-channel: 1.0.6
+
+ invariant@2.2.4:
+ dependencies:
+ loose-envify: 1.4.0
+
+ is-arguments@1.1.1:
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+
+ is-array-buffer@3.0.4:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+
+ is-async-function@2.0.0:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-bigint@1.0.4:
+ dependencies:
+ has-bigints: 1.0.2
+
+ is-boolean-object@1.1.2:
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+
+ is-bun-module@1.2.1:
+ dependencies:
+ semver: 7.6.3
+
+ is-callable@1.2.7: {}
+
+ is-core-module@2.15.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-data-view@1.0.1:
+ dependencies:
+ is-typed-array: 1.1.13
+
+ is-date-object@1.0.5:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-extglob@2.1.1: {}
+
+ is-finalizationregistry@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-generator-function@1.0.10:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-map@2.0.3: {}
+
+ is-negative-zero@2.0.3: {}
+
+ is-number-object@1.0.7:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-number@7.0.0: {}
+
+ is-path-inside@3.0.3: {}
+
+ is-regex@1.1.4:
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+
+ is-set@2.0.3: {}
+
+ is-shared-array-buffer@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+
+ is-string@1.0.7:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-symbol@1.0.4:
+ dependencies:
+ has-symbols: 1.0.3
+
+ is-typed-array@1.1.13:
+ dependencies:
+ which-typed-array: 1.1.15
+
+ is-weakmap@2.0.2: {}
+
+ is-weakref@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+
+ is-weakset@2.0.3:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+
+ isarray@2.0.5: {}
+
+ isexe@2.0.0: {}
+
+ iterator.prototype@1.1.2:
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.6
+ set-function-name: 2.0.2
+
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@4.1.0:
+ dependencies:
+ argparse: 2.0.1
+
+ jsesc@2.5.2: {}
+
+ json-buffer@3.0.1: {}
+
+ json-schema-traverse@0.4.1: {}
+
+ json-stable-stringify-without-jsonify@1.0.1: {}
+
+ json5@1.0.2:
+ dependencies:
+ minimist: 1.2.8
+
+ json5@2.2.3: {}
+
+ jsx-ast-utils@3.3.5:
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.flat: 1.3.2
+ object.assign: 4.1.5
+ object.values: 1.2.0
+
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ language-subtag-registry@0.3.23: {}
+
+ language-tags@1.0.9:
+ dependencies:
+ language-subtag-registry: 0.3.23
+
+ levn@0.4.1:
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
+
+ lodash.merge@4.6.2: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ lru-cache@10.4.3: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ merge2@1.4.1: {}
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.11
+
+ minimatch@9.0.3:
+ dependencies:
+ brace-expansion: 2.0.1
+
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.1
+
+ minimist@1.2.8: {}
+
+ minipass@7.1.2: {}
+
+ ms@2.1.3: {}
+
+ nanoid@3.3.7: {}
+
+ natural-compare@1.4.0: {}
+
+ next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@next/env': 14.2.3
+ '@swc/helpers': 0.5.5
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001660
+ graceful-fs: 4.2.11
+ postcss: 8.4.31
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 14.2.3
+ '@next/swc-darwin-x64': 14.2.3
+ '@next/swc-linux-arm64-gnu': 14.2.3
+ '@next/swc-linux-arm64-musl': 14.2.3
+ '@next/swc-linux-x64-gnu': 14.2.3
+ '@next/swc-linux-x64-musl': 14.2.3
+ '@next/swc-win32-arm64-msvc': 14.2.3
+ '@next/swc-win32-ia32-msvc': 14.2.3
+ '@next/swc-win32-x64-msvc': 14.2.3
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
+ node-releases@2.0.18: {}
+
+ object-assign@4.1.1: {}
+
+ object-inspect@1.13.2: {}
+
+ object-is@1.1.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+
+ object-keys@1.1.1: {}
+
+ object.assign@4.1.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+
+ object.entries@1.1.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ object.fromentries@2.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
+ object.groupby@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+
+ object.values@1.2.0:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ optionator@0.9.4:
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.5
+
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
+
+ p-locate@5.0.0:
+ dependencies:
+ p-limit: 3.1.0
+
+ package-json-from-dist@1.0.0: {}
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ path-exists@4.0.0: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-key@3.1.1: {}
+
+ path-parse@1.0.7: {}
+
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
+ path-type@4.0.0: {}
+
+ picocolors@1.1.0: {}
+
+ picomatch@2.3.1: {}
+
+ possible-typed-array-names@1.0.0: {}
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@8.4.31:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.1.0
+ source-map-js: 1.2.1
+
+ prelude-ls@1.2.1: {}
+
+ prop-types@15.8.1:
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ punycode@2.3.1: {}
+
+ queue-microtask@1.2.3: {}
+
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
+
+ react-is@16.13.1: {}
+
+ react@18.3.1:
+ dependencies:
+ loose-envify: 1.4.0
+
+ reflect.getprototypeof@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.4
+ which-builtin-type: 1.1.4
+
+ regexp.prototype.flags@1.5.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ set-function-name: 2.0.2
+
+ resolve-from@4.0.0: {}
+
+ resolve-pkg-maps@1.0.0: {}
+
+ resolve@1.22.8:
+ dependencies:
+ is-core-module: 2.15.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ resolve@2.0.0-next.5:
+ dependencies:
+ is-core-module: 2.15.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ reusify@1.0.4: {}
+
+ rimraf@3.0.2:
+ dependencies:
+ glob: 7.2.3
+
+ rimraf@5.0.10:
+ dependencies:
+ glob: 10.4.5
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ safe-array-concat@1.1.2:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+
+ safe-regex-test@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-regex: 1.1.4
+
+ scheduler@0.23.2:
+ dependencies:
+ loose-envify: 1.4.0
+
+ semver@6.3.1: {}
+
+ semver@7.6.3: {}
+
+ server-only@0.0.1: {}
+
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+
+ set-function-name@2.0.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
+ side-channel@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.2
+
+ signal-exit@4.1.0: {}
+
+ slash@3.0.0: {}
+
+ source-map-js@1.2.1: {}
+
+ stop-iteration-iterator@1.0.0:
+ dependencies:
+ internal-slot: 1.0.7
+
+ streamsearch@1.1.0: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ string.prototype.includes@2.0.0:
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+
+ string.prototype.matchall@4.0.11:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ regexp.prototype.flags: 1.5.2
+ set-function-name: 2.0.2
+ side-channel: 1.0.6
+
+ string.prototype.repeat@1.0.0:
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+
+ string.prototype.trim@1.2.9:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
+ string.prototype.trimend@1.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ string.prototype.trimstart@1.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.1.0
+
+ strip-bom@3.0.0: {}
+
+ strip-json-comments@3.1.1: {}
+
+ styled-jsx@5.1.1(@babel/core@7.25.2)(react@18.3.1):
+ dependencies:
+ client-only: 0.0.1
+ react: 18.3.1
+ optionalDependencies:
+ '@babel/core': 7.25.2
+
+ styleq@0.1.3: {}
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ tapable@2.2.1: {}
+
+ text-table@0.2.0: {}
+
+ to-fast-properties@2.0.0: {}
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ ts-api-utils@1.3.0(typescript@5.6.2):
+ dependencies:
+ typescript: 5.6.2
+
+ tsconfig-paths@3.15.0:
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+
+ tslib@2.7.0: {}
+
+ type-check@0.4.0:
+ dependencies:
+ prelude-ls: 1.2.1
+
+ type-fest@0.20.2: {}
+
+ typed-array-buffer@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-typed-array: 1.1.13
+
+ typed-array-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+
+ typed-array-byte-offset@1.0.2:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+
+ typed-array-length@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ possible-typed-array-names: 1.0.0
+
+ typescript@5.6.2: {}
+
+ unbox-primitive@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+
+ undici-types@6.19.8: {}
+
+ update-browserslist-db@1.1.0(browserslist@4.23.3):
+ dependencies:
+ browserslist: 4.23.3
+ escalade: 3.2.0
+ picocolors: 1.1.0
+
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ which-boxed-primitive@1.0.2:
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+
+ which-builtin-type@1.1.4:
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.2
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
+
+ which-collection@1.0.2:
+ dependencies:
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.3
+
+ which-typed-array@1.1.15:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.2
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ word-wrap@1.2.5: {}
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
+ wrappy@1.0.2: {}
+
+ yallist@3.1.1: {}
+
+ yocto-queue@0.1.0: {}
diff --git a/apps/nextjs-swc-example/public/next.svg b/apps/nextjs-swc-example/public/next.svg
new file mode 100644
index 00000000..5174b28c
--- /dev/null
+++ b/apps/nextjs-swc-example/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/nextjs-swc-example/public/vercel.svg b/apps/nextjs-swc-example/public/vercel.svg
new file mode 100644
index 00000000..d2f84222
--- /dev/null
+++ b/apps/nextjs-swc-example/public/vercel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/nextjs-swc-example/tsconfig.json b/apps/nextjs-swc-example/tsconfig.json
new file mode 100644
index 00000000..87f88339
--- /dev/null
+++ b/apps/nextjs-swc-example/tsconfig.json
@@ -0,0 +1,40 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": [
+ "./*"
+ ],
+ }
+ },
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
+}
\ No newline at end of file
diff --git a/apps/nextjs-swc-example/typetests/test1.tsx b/apps/nextjs-swc-example/typetests/test1.tsx
new file mode 100644
index 00000000..0396b409
--- /dev/null
+++ b/apps/nextjs-swc-example/typetests/test1.tsx
@@ -0,0 +1,26 @@
+/* eslint-disable no-unused-vars */
+
+import stylex from '@stylexjs/stylex';
+import type { StaticStyles } from '@stylexjs/stylex';
+
+type Props = {
+ xstyle?: StaticStyles;
+};
+
+function Component({ xstyle }: Props) {
+ return ;
+}
+
+const styles = stylex.create({
+ base: {
+ color: 'red',
+ },
+});
+
+function OtherComponent() {
+ return ;
+}
+
+function OtherComponent2() {
+ return ;
+}
diff --git a/apps/nextjs-swc-example/typetests/test2.tsx b/apps/nextjs-swc-example/typetests/test2.tsx
new file mode 100644
index 00000000..41eb2e68
--- /dev/null
+++ b/apps/nextjs-swc-example/typetests/test2.tsx
@@ -0,0 +1,30 @@
+/* eslint-disable no-unused-vars */
+
+import stylex from '@stylexjs/stylex';
+import type { StaticStyles } from '@stylexjs/stylex';
+
+type Props = {
+ xstyle?: StaticStyles<{
+ backgroundColor?: string;
+ }>;
+};
+
+function Component({ xstyle }: Props) {
+ return ;
+}
+
+const styles = stylex.create({
+ valid: {
+ backgroundColor: 'red',
+ },
+ invalid: {
+ color: 'red',
+ },
+});
+
+function OtherComponent() {
+ ;
+
+ // @ts-expect-error - `styles.invalid` contains `color` which is not allowed by Component's `xstyle` prop.
+ ;
+}
diff --git a/apps/nextjs-swc-example/typetests/test3.tsx b/apps/nextjs-swc-example/typetests/test3.tsx
new file mode 100644
index 00000000..174c69db
--- /dev/null
+++ b/apps/nextjs-swc-example/typetests/test3.tsx
@@ -0,0 +1,32 @@
+/* eslint-disable no-unused-vars */
+
+import stylex from '@stylexjs/stylex';
+import type { StaticStyles, StyleXStyles } from '@stylexjs/stylex';
+
+type Props = {
+ xstyle?: StyleXStyles;
+ staticXstyle?: StaticStyles;
+};
+
+function Component({ xstyle, staticXstyle }: Props): null {
+ // @ts-expect-error - `stylex` can only accept StaticStyles. Not StyleXStyles.
+ ;
+
+ ;
+
+ ;
+
+ ;
+
+ return null;
+}
+
+const styles = stylex.create({
+ base: {
+ color: 'red',
+ },
+});
+
+function OtherComponent() {
+ ;
+}
diff --git a/apps/nextjs-swc-example/typetests/test4.tsx b/apps/nextjs-swc-example/typetests/test4.tsx
new file mode 100644
index 00000000..34c7b282
--- /dev/null
+++ b/apps/nextjs-swc-example/typetests/test4.tsx
@@ -0,0 +1,30 @@
+/* eslint-disable no-unused-vars */
+
+import stylex from '@stylexjs/stylex';
+import type { StaticStyles } from '@stylexjs/stylex';
+
+type Props = {
+ xstyle?: StaticStyles<{
+ backgroundColor?: string;
+ }>;
+};
+
+function Component({ xstyle }: Props) {
+ return ; // Error at function call
+}
+
+const styles = stylex.create({
+ valid: {
+ backgroundColor: 'red',
+ },
+ invalid: {
+ color: 'red',
+ },
+});
+
+function OtherComponent() {
+ ;
+
+ // @ts-expect-error - `styles.invalid` contains `color` which is not allowed by Component's `xstyle` prop.
+ ;
+}
diff --git a/apps/nextjs-swc-example/typetests/theming1.tsx b/apps/nextjs-swc-example/typetests/theming1.tsx
new file mode 100644
index 00000000..310c9939
--- /dev/null
+++ b/apps/nextjs-swc-example/typetests/theming1.tsx
@@ -0,0 +1,236 @@
+/* eslint-disable no-unused-vars */
+
+import stylex from '@stylexjs/stylex';
+import type {
+ TokensFromVarGroup,
+ StyleXVar,
+ VarGroup,
+ Theme,
+ CompiledStyles,
+} from '@stylexjs/stylex/lib/StyleXTypes';
+
+const DARK = '@media (prefers-color-scheme: dark)' as const;
+
+const buttonTokens = stylex.defineVars({
+ bgColor: 'cyan',
+ textColor: {
+ default: 'black',
+ [DARK]: 'white',
+ },
+ cornerRadius: '4px',
+ paddingBlock: '4px',
+ paddingInline: '8px',
+});
+
+// DefineVars creates the right type.
+buttonTokens satisfies VarGroup<
+ Readonly<{
+ bgColor: string;
+ textColor: string;
+ cornerRadius: string;
+ paddingBlock: string;
+ paddingInline: string;
+ }>,
+ symbol
+>;
+buttonTokens.bgColor satisfies StyleXVar;
+
+type TokensType = TokensFromVarGroup;
+({
+ bgColor: 'red',
+ textColor: 'white',
+ cornerRadius: '4px',
+ paddingBlock: '4px',
+ paddingInline: '8px',
+}) satisfies TokensType;
+
+({
+ bgColor: 'red',
+ textColor: 'white',
+ // @ts-expect-error - cornerRadius is a string.
+ cornerRadius: 4,
+ paddingBlock: '4px',
+ paddingInline: '8px',
+}) satisfies TokensType;
+
+({
+ bgColor: 'red',
+ textColor: 'white',
+ paddingBlock: '4px',
+ paddingInline: '8px',
+ // @ts-expect-error - cornerRadius is missing.
+}) satisfies TokensType;
+
+const correctTheme = stylex.createTheme(buttonTokens, {
+ bgColor: {
+ default: 'pink',
+ [DARK]: 'navy',
+ '@media (max-width: 700px)': 'red',
+ },
+ textColor: 'white',
+ cornerRadius: '4px',
+ paddingBlock: '4px',
+ paddingInline: '8px',
+});
+
+correctTheme satisfies Theme;
+
+correctTheme satisfies CompiledStyles;
+
+const result: string = stylex(correctTheme);
+const result2: Readonly<{
+ className?: string;
+ style?: Readonly<{ [key: string]: string | number }>;
+}> = stylex.props(correctTheme);
+
+const wrongTheme1 = stylex.createTheme(buttonTokens, {
+ bgColor: 'red',
+ textColor: 'white',
+ // @ts-expect-error - cornerRadius is a string.
+ cornerRadius: 1,
+ paddingBlock: '4px',
+ paddingInline: '8px',
+});
+
+const varsA = stylex.defineVars({
+ varA1: 'red',
+});
+
+const themeA = stylex.createTheme(varsA, {
+ varA1: 'green',
+});
+
+// Define a themeB
+
+const varsB = stylex.defineVars({
+ varB1: 'red',
+ varB2: 'blue',
+});
+
+const themeB = stylex.createTheme(varsB, {
+ varB1: 'green',
+});
+
+// Create a themeable component, allowing only themeA type
+
+const MyComponent: React.FC<{ theme: Theme }> = ({ theme }) => (
+
+);
+
+const a1: Theme = themeA;
+const b1: Theme = themeB;
+
+// @ts-expect-error - themeB is not compatible with themeA
+const bIsNotA: Theme = themeB;
+
+// @ts-expect-error - themeA is not compatible with themeB
+const aIsNotB: Theme = themeA;
+
+// Instantiate component with themeA
+const Correct: React.FC = () => ;
+
+// @ts-expect-error - themeB is not compatible with themeA
+const Incorrect: React.FC = () => ;
+
+// Usage of themes with stylex.props
+const p1 = stylex.props(themeA);
+const p2 = stylex.props(themeB);
+
+// @ts-expect-error - You can apply themes, not varGroups
+const v1 = stylex.props(varsA);
+// @ts-expect-error - You can apply themes, not varGroups
+const v2 = stylex.props(varsB);
+
+// It should be possible to define vars based on other vars
+const varsC = stylex.defineVars({
+ varC1: varsA.varA1,
+});
+
+// But the override should still be a string.
+const themeC = stylex.createTheme(varsC, {
+ varC1: 'green',
+});
+
+const typedTokens = stylex.defineVars({
+ bgColor: stylex.types.color({
+ default: 'cyan',
+ [DARK]: 'navy',
+ }),
+ cornerRadius: stylex.types.length<0 | string>({
+ default: '4px',
+ '@media (max-width: 600px)': 0,
+ }),
+ translucent: stylex.types.number(0.5),
+ shortAnimation: stylex.types.time('0.5s'),
+});
+
+const correctlyTypedTheme = stylex.createTheme(typedTokens, {
+ bgColor: stylex.types.color('red'),
+ cornerRadius: stylex.types.length('4px'),
+ translucent: stylex.types.number(0.5),
+ shortAnimation: stylex.types.time('0.5s'),
+});
+
+const correctlyTypedThemeNested = stylex.createTheme(typedTokens, {
+ bgColor: stylex.types.color({
+ default: 'red',
+ [DARK]: 'hotpink',
+ }),
+ cornerRadius: stylex.types.length({
+ default: '4px',
+ '@media (max-width: 600px)': 0,
+ }),
+ translucent: stylex.types.number({
+ default: 0.5,
+ [DARK]: 0.8,
+ }),
+ shortAnimation: stylex.types.time({
+ default: '0.5s',
+ [DARK]: '1s',
+ '@media (prefer-reduced-motion: reduce)': 0,
+ }),
+});
+
+const wronglyTypedTheme1 = stylex.createTheme(typedTokens, {
+ bgColor: {
+ // @ts-expect-error - You can apply themes, not varGroups
+ default: 'red',
+ // @ts-expect-error - You can apply themes, not varGroups
+ [DARK]: 'hotpink',
+ },
+ cornerRadius: stylex.types.length({
+ default: '4px',
+ '@media (max-width: 600px)': 0,
+ }),
+ translucent: stylex.types.number({
+ default: 0.5,
+ [DARK]: 0.8,
+ }),
+ shortAnimation: stylex.types.time({
+ default: '0.5s',
+ [DARK]: '1s',
+ '@media (prefer-reduced-motion: reduce)': 0,
+ }),
+});
+
+const wronglyTypedTheme2 = stylex.createTheme(typedTokens, {
+ bgColor: {
+ // @ts-expect-error - You can apply themes, not varGroups
+ default: 'red',
+ // @ts-expect-error - You can apply themes, not varGroups
+ [DARK]: 'hotpink',
+ },
+ cornerRadius: stylex.types.length({
+ default: '4px',
+ '@media (max-width: 600px)': 0,
+ }),
+ translucent: stylex.types.number({
+ default: 0.5,
+ [DARK]: 0.8,
+ }),
+ shortAnimation: stylex.types.time({
+ default: '0.5s',
+ [DARK]: '1s',
+ '@media (prefer-reduced-motion: reduce)': 0,
+ }),
+});
diff --git a/apps/nextjs-swc-example/typetests/typetests.ts b/apps/nextjs-swc-example/typetests/typetests.ts
new file mode 100644
index 00000000..307e0673
--- /dev/null
+++ b/apps/nextjs-swc-example/typetests/typetests.ts
@@ -0,0 +1,298 @@
+import stylex from '@stylexjs/stylex';
+import type {
+ StaticStyles,
+ StyleXStyles,
+ StaticStylesWithout,
+ StyleXStylesWithout,
+} from '@stylexjs/stylex';
+import type {
+ StyleXClassNameFor,
+ InlineStyles,
+ StyleXVar,
+} from '@stylexjs/stylex/lib/StyleXTypes';
+
+/* eslint-disable no-unused-vars */
+
+/**
+ * EMPTY STYLES
+ */
+const styles1: Readonly<{ foo: Readonly<{}> }> = stylex.create({
+ foo: {},
+});
+styles1.foo as StaticStyles;
+styles1.foo as StaticStyles<{}>;
+styles1.foo as StaticStyles<{ width?: number | string }>;
+styles1.foo as StaticStyles<{ width?: unknown }>;
+styles1.foo as StaticStylesWithout<{ width: unknown }>;
+styles1.foo as StyleXStyles;
+styles1.foo as StyleXStyles<{}>;
+styles1.foo as StyleXStyles<{ width?: number | string }>;
+styles1.foo as StyleXStyles<{ width?: unknown }>;
+styles1.foo as StyleXStylesWithout<{ width: unknown }>;
+
+stylex(styles1.foo);
+stylex.props(styles1.foo);
+
+/**
+ * SIMPLE STYLES
+ */
+const styles2: Readonly<{
+ foo: Readonly<{
+ width: StyleXClassNameFor<'width', '100%'>;
+ }>;
+}> = stylex.create({
+ foo: {
+ width: '100%',
+ },
+});
+styles2.foo satisfies StaticStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles2.foo satisfies StaticStyles<{}>;
+styles2.foo satisfies StaticStyles<{ width: '100%' }>;
+styles2.foo satisfies StaticStyles<{ width: unknown }>;
+styles2.foo satisfies StaticStylesWithout<{ height: unknown }>;
+// @ts-expect-error - The style does have `width`
+styles2.foo satisfies StaticStylesWithout<{ width: unknown }>;
+// @ts-expect-error - 'number' is not assignable to '100%'.
+styles2.foo satisfies StaticStyles<{ width: 100 }>;
+styles2.foo satisfies StaticStyles<{ width: number | string }>;
+styles2.foo satisfies StaticStyles<{ width?: unknown; height?: string }>;
+styles2.foo satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles2.foo satisfies StyleXStyles<{}>;
+styles2.foo satisfies StyleXStyles<{ width: '100%' }>;
+styles2.foo satisfies StyleXStyles<{ width: number | string }>;
+styles2.foo satisfies StyleXStyles<{ width?: unknown }>;
+styles2.foo satisfies StyleXStylesWithout<{ height: unknown }>;
+// @ts-expect-error - The style does have `width`
+styles2.foo satisfies StyleXStylesWithout<{ width: unknown }>;
+
+stylex(styles2.foo);
+stylex.props(styles2.foo);
+
+/**
+ * FALLBACK STYLES
+ */
+const styles3: Readonly<{
+ foo: Readonly<{
+ width: StyleXClassNameFor<'width', '100%' | '200%'>;
+ }>;
+}> = stylex.create({
+ foo: {
+ width: stylex.firstThatWorks('100%', '200%'),
+ },
+});
+styles3.foo satisfies StaticStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles3.foo satisfies StaticStyles<{}>;
+styles3.foo satisfies StaticStyles<{ width: '100%' | '200%' }>;
+styles3.foo satisfies StaticStyles<{ width: number | string }>;
+styles3.foo satisfies StaticStylesWithout<{ height: unknown }>;
+// @ts-expect-error - The style does have `width`
+styles3.foo satisfies StaticStylesWithout<{ width: unknown }>;
+styles3.foo satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles3.foo satisfies StyleXStyles<{}>;
+styles3.foo satisfies StyleXStyles<{ width: '100%' | '200%' }>;
+styles3.foo satisfies StyleXStyles<{ width: number | string }>;
+styles3.foo satisfies StyleXStyles<{ width?: unknown }>;
+styles3.foo satisfies StyleXStylesWithout<{ height: unknown }>;
+// @ts-expect-error - The style does have `width`
+styles3.foo satisfies StyleXStylesWithout<{ width: unknown }>;
+
+stylex(styles3.foo);
+stylex.props(styles3.foo);
+
+/**
+ * CONDITIONAL STYLES
+ */
+const styles4: Readonly<{
+ foo: Readonly<{
+ width: StyleXClassNameFor<'width', '100%' | '100dvw'>;
+ }>;
+}> = stylex.create({
+ foo: {
+ width: {
+ default: '100%',
+ '@supports (width: 100dvw)': '100dvw',
+ },
+ },
+});
+styles4.foo satisfies StaticStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles4.foo satisfies StaticStyles<{}>;
+styles4.foo satisfies StaticStyles<{ width: '100%' | '100dvw' }>;
+styles4.foo satisfies StaticStyles<{ width: number | string }>;
+styles4.foo satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles4.foo satisfies StyleXStyles<{}>;
+styles4.foo satisfies StyleXStyles<{ width: '100%' | '100dvw' }>;
+styles4.foo satisfies StyleXStyles<{ width: number | string }>;
+styles4.foo satisfies StyleXStyles<{ width?: unknown }>;
+
+stylex(styles4.foo);
+stylex.props(styles4.foo);
+
+/**
+ * NESTED CONDITIONAL STYLES
+ */
+const styles5: Readonly<{
+ foo: Readonly<{
+ width: StyleXClassNameFor<'width', '100%' | '100dvw' | '200%'>;
+ }>;
+}> = stylex.create({
+ foo: {
+ width: {
+ default: '100%',
+ '@supports (width: 100dvw)': {
+ default: '100dvw',
+ '@media (max-width: 1000px)': '200%',
+ },
+ },
+ },
+});
+styles5.foo satisfies StaticStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles5.foo satisfies StaticStyles<{}>;
+styles5.foo satisfies StaticStyles<{ width: '100%' | '100dvw' | '200%' }>;
+styles5.foo satisfies StaticStyles<{ width: number | string }>;
+styles5.foo satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles5.foo satisfies StyleXStyles<{}>;
+styles5.foo satisfies StyleXStyles<{ width: '100%' | '100dvw' | '200%' }>;
+styles5.foo satisfies StyleXStyles<{ width: number | string }>;
+styles5.foo satisfies StyleXStyles<{ width?: unknown }>;
+
+stylex(styles5.foo);
+stylex.props(styles5.foo);
+
+/**
+ * DYNAMIC NESTED CONDITIONAL STYLES
+ */
+const styles6: Readonly<{
+ foo: (mobile: number) => Readonly<
+ [
+ Readonly<{
+ width: StyleXClassNameFor<'width', '100%' | '100dvw' | number>;
+ }>,
+ InlineStyles,
+ ]
+ >;
+}> = stylex.create({
+ foo: (mobile: number) =>
+ ({
+ width: {
+ default: '100%',
+ '@supports (width: 100dvw)': {
+ default: '100dvw',
+ '@media (max-width: 1000px)': mobile,
+ },
+ },
+ }) as const, // TypeScript limitation
+});
+// @ts-expect-error - Functions don't return static styles.
+styles6.foo(100) satisfies StaticStyles;
+// @ts-expect-error - Functions don't return static styles.
+styles6.foo(100) satisfies StaticStyles<{}>;
+// @ts-expect-error - Functions don't return static styles.
+styles6.foo(100) satisfies StaticStyles<{ width: '100%' | '100dvw' | number }>;
+// @ts-expect-error - Functions don't return static styles.
+styles6.foo(100) satisfies StaticStyles<{ width: number | string }>;
+// Functions return StyleXStyles!
+styles6.foo(100) satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles6.foo(100) satisfies StyleXStyles<{}>;
+styles6.foo(100) satisfies StyleXStyles<{ width: '100%' | '100dvw' | number }>;
+styles6.foo(100) satisfies StyleXStyles<{ width: number | string }>;
+styles6.foo(100) satisfies StyleXStyles<{ width?: unknown }>;
+
+// @ts-expect-error - `stylex()` can't accept dynamic styles.
+stylex(styles6.foo(100));
+
+stylex(styles6.foo(100)[0]);
+stylex.props(styles6.foo(100));
+
+/**
+ * PSEUDO-ELEMENT STYLES
+ */
+const styles7: Readonly<{
+ foo: Readonly<{
+ '::before': StyleXClassNameFor<
+ '::before',
+ Readonly<{
+ width: '100%';
+ }>
+ >;
+ }>;
+}> = stylex.create({
+ foo: {
+ '::before': { width: '100%' },
+ },
+});
+styles7.foo satisfies StaticStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles7.foo satisfies StaticStyles<{}>;
+styles7.foo satisfies StaticStyles<{ '::before': { width: '100%' } }>;
+styles7.foo satisfies StaticStyles<{
+ '::before': { width: number | string; height?: unknown };
+}>;
+styles7.foo satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles7.foo satisfies StyleXStyles<{}>;
+styles7.foo satisfies StyleXStyles<{ '::before': { width: '100%' } }>;
+styles7.foo satisfies StyleXStyles<{
+ '::before': { width: number | string; height?: unknown };
+}>;
+
+stylex(styles7.foo);
+stylex.props(styles7.foo);
+
+// CSS variables
+
+const vars = stylex.defineVars({
+ accent: 'red' as const,
+});
+
+const styles8: Readonly<{
+ foo: Readonly<{
+ color: StyleXClassNameFor<'color', 'red'>;
+ }>;
+}> = stylex.create({
+ foo: {
+ // In a real example `vars` would be imported from another file.
+ // eslint-disable-next-line @stylexjs/valid-styles
+ color: vars.accent,
+ },
+});
+
+vars.accent satisfies StyleXVar<'red'>;
+
+// @ts-expect-error - We want to disallow extra keys
+vars.accent satisfies StyleXVar<'blue'>;
+
+styles8.foo satisfies StaticStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles8.foo satisfies StaticStyles<{}>;
+styles8.foo satisfies StaticStyles<{ color: 'red' }>;
+styles8.foo satisfies StaticStyles<{ color: unknown }>;
+styles8.foo satisfies StaticStylesWithout<{ height: unknown }>;
+// @ts-expect-error - The style does have `width`
+styles8.foo satisfies StaticStylesWithout<{ color: unknown }>;
+// @ts-expect-error - 'number' is not assignable to 'red'.
+styles8.foo satisfies StaticStyles<{ color: 100 }>;
+// @ts-expect-error - 'blue' is not assignable to 'red'.
+styles8.foo satisfies StaticStyles<{ color: 'blue' }>;
+styles8.foo satisfies StaticStyles<{ color: number | string }>;
+styles8.foo satisfies StaticStyles<{ color?: unknown; height?: string }>;
+styles8.foo satisfies StyleXStyles;
+// @ts-expect-error - We want to disallow extra keys
+styles8.foo satisfies StyleXStyles<{}>;
+styles8.foo satisfies StyleXStyles<{ color: 'red' }>;
+styles8.foo satisfies StyleXStyles<{ color: number | string }>;
+styles8.foo satisfies StyleXStyles<{ color?: unknown }>;
+styles8.foo satisfies StyleXStylesWithout<{ height: unknown }>;
+// @ts-expect-error - The style does have `color`
+styles8.foo satisfies StyleXStylesWithout<{ color: unknown }>;
+
+stylex(styles8.foo);
+stylex.props(styles8.foo);
diff --git a/crates/stylex-path-resolver/CHANGELOG.md b/crates/stylex-path-resolver/CHANGELOG.md
deleted file mode 100644
index a64e223a..00000000
--- a/crates/stylex-path-resolver/CHANGELOG.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# @stylexswc/path-resolver
-
-## 0.1.0
-
-### Minor Changes
-
-- a223705: added @stylexswc/path-resolver
diff --git a/crates/stylex-path-resolver/Cargo.toml b/crates/stylex-path-resolver/Cargo.toml
index b7ef8bae..f048f7a8 100644
--- a/crates/stylex-path-resolver/Cargo.toml
+++ b/crates/stylex-path-resolver/Cargo.toml
@@ -12,6 +12,9 @@ repository = "https://github.com/Dwlad90/stylex-swc-plugin.git"
crate-type = ["cdylib", "rlib"]
doctest = false
+[features]
+wasm=[]
+
[dependencies]
serde.workspace = true
serde_json.workspace = true
diff --git a/crates/stylex-path-resolver/README.md b/crates/stylex-path-resolver/README.md
index da86927e..6ca284af 100644
--- a/crates/stylex-path-resolver/README.md
+++ b/crates/stylex-path-resolver/README.md
@@ -1,7 +1,8 @@
-# `path-resolver`
+# `StyleX Path Resolver`
-SWC library containing path utilities for the SWC StyleX plugin.
+## Overview
-> **Warning**
->
+This package provides internal path utilities specifically designed for the StyleX SWC transformation. These utilities are not intended for general-purpose use.
+
+> [!WARNING]
> The current resolution of the `exports` field from `package. json` is only partially supported, so if you encounter problems, please open an [issue](https://github.com/Dwlad90/stylex-swc-plugin/issues/new) with an attached link to reproduce the problem.
diff --git a/crates/stylex-path-resolver/src/resolvers/mod.rs b/crates/stylex-path-resolver/src/resolvers/mod.rs
index e28d948d..ca8b6843 100644
--- a/crates/stylex-path-resolver/src/resolvers/mod.rs
+++ b/crates/stylex-path-resolver/src/resolvers/mod.rs
@@ -309,12 +309,12 @@ pub fn resolve_file_path(
let cwd: &str;
- #[cfg(test)]
+ #[cfg(not(feature = "wasm"))]
{
cwd = root_path;
}
- #[cfg(not(test))]
+ #[cfg(feature = "wasm")]
{
cwd = "cwd";
}
diff --git a/crates/stylex-rs-compiler/.github/workflows/CI.yml b/crates/stylex-rs-compiler/.github/workflows/CI.yml
new file mode 100644
index 00000000..626c0d6a
--- /dev/null
+++ b/crates/stylex-rs-compiler/.github/workflows/CI.yml
@@ -0,0 +1,438 @@
+name: CI
+env:
+ DEBUG: napi:*
+ APP_NAME: '@stylexswc/rs-compiler'
+ MACOSX_DEPLOYMENT_TARGET: '10.13'
+ CARGO_INCREMENTAL: '1'
+permissions:
+ contents: write
+ id-token: write
+'on':
+ push:
+ branches:
+ - feat/stylex-compiler-rs
+ tags-ignore:
+ - '**'
+ paths-ignore:
+ - '**/*.md'
+ - LICENSE
+ - '**/*.gitignore'
+ - .editorconfig
+ - docs/**
+ pull_request: null
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+jobs:
+ build:
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ build: yarn build --target x86_64-apple-darwin
+ - host: windows-latest
+ build: yarn build --target x86_64-pc-windows-msvc
+ target: x86_64-pc-windows-msvc
+ - host: windows-latest
+ build: yarn build --target i686-pc-windows-msvc
+ target: i686-pc-windows-msvc
+ - host: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
+ build: yarn build --target x86_64-unknown-linux-gnu
+ - host: ubuntu-latest
+ target: x86_64-unknown-linux-musl
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
+ build: yarn build --target x86_64-unknown-linux-musl
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ build: yarn build --target aarch64-apple-darwin
+ - host: ubuntu-latest
+ target: aarch64-unknown-linux-gnu
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
+ build: yarn build --target aarch64-unknown-linux-gnu
+ - host: ubuntu-latest
+ target: armv7-unknown-linux-gnueabihf
+ setup: |
+ sudo apt-get update
+ sudo apt-get install gcc-arm-linux-gnueabihf -y
+ build: |
+ yarn build --target armv7-unknown-linux-gnueabihf
+ - host: ubuntu-latest
+ target: aarch64-linux-android
+ build: yarn build --target aarch64-linux-android
+ - host: ubuntu-latest
+ target: armv7-linux-androideabi
+ build: yarn build --target armv7-linux-androideabi
+ - host: ubuntu-latest
+ target: aarch64-unknown-linux-musl
+ docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
+ build: |-
+ set -e &&
+ rustup target add aarch64-unknown-linux-musl &&
+ yarn build --target aarch64-unknown-linux-musl
+ - host: windows-latest
+ target: aarch64-pc-windows-msvc
+ build: yarn build --target aarch64-pc-windows-msvc
+ name: stable - ${{ matrix.settings.target }} - node@18
+ runs-on: ${{ matrix.settings.host }}
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ if: ${{ !matrix.settings.docker }}
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Install
+ uses: dtolnay/rust-toolchain@stable
+ if: ${{ !matrix.settings.docker }}
+ with:
+ toolchain: stable
+ targets: ${{ matrix.settings.target }}
+ - name: Cache cargo
+ uses: actions/cache@v4
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ .cargo-cache
+ target/
+ key: ${{ matrix.settings.target }}-cargo-${{ matrix.settings.host }}
+ - uses: goto-bus-stop/setup-zig@v2
+ if: ${{ matrix.settings.target == 'armv7-unknown-linux-gnueabihf' }}
+ with:
+ version: 0.13.0
+ - name: Setup toolchain
+ run: ${{ matrix.settings.setup }}
+ if: ${{ matrix.settings.setup }}
+ shell: bash
+ - name: Install dependencies
+ run: yarn install
+ - name: Build in docker
+ uses: addnab/docker-run-action@v3
+ if: ${{ matrix.settings.docker }}
+ with:
+ image: ${{ matrix.settings.docker }}
+ options: '--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build'
+ run: ${{ matrix.settings.build }}
+ - name: Build
+ run: ${{ matrix.settings.build }}
+ if: ${{ !matrix.settings.docker }}
+ shell: bash
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: ${{ env.APP_NAME }}.*.node
+ if-no-files-found: error
+ build-freebsd:
+ runs-on: ubuntu-latest
+ name: Build FreeBSD
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build
+ id: build
+ uses: cross-platform-actions/action@v0.25.0
+ env:
+ DEBUG: napi:*
+ RUSTUP_IO_THREADS: 1
+ with:
+ operating_system: freebsd
+ version: '14.0'
+ memory: 8G
+ cpu_count: 3
+ environment_variables: DEBUG RUSTUP_IO_THREADS
+ shell: bash
+ run: |
+ sudo pkg install -y -f curl node libnghttp2 npm
+ sudo npm install -g yarn --ignore-scripts
+ curl https://sh.rustup.rs -sSf --output rustup.sh
+ sh rustup.sh -y --profile minimal --default-toolchain beta
+ source "$HOME/.cargo/env"
+ echo "~~~~ rustc --version ~~~~"
+ rustc --version
+ echo "~~~~ node -v ~~~~"
+ node -v
+ echo "~~~~ yarn --version ~~~~"
+ yarn --version
+ pwd
+ ls -lah
+ whoami
+ env
+ freebsd-version
+ yarn install
+ yarn build
+ rm -rf node_modules
+ rm -rf target
+ rm -rf .yarn/cache
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: bindings-freebsd
+ path: ${{ env.APP_NAME }}.*.node
+ if-no-files-found: error
+ test-macOS-windows-binding:
+ name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ settings:
+ - host: windows-latest
+ target: x86_64-pc-windows-msvc
+ architecture: x64
+ - host: macos-latest
+ target: aarch64-apple-darwin
+ architecture: arm64
+ - host: macos-latest
+ target: x86_64-apple-darwin
+ architecture: x64
+ node:
+ - '18'
+ - '20'
+ runs-on: ${{ matrix.settings.host }}
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: yarn
+ architecture: ${{ matrix.settings.architecture }}
+ - name: Install dependencies
+ run: yarn install
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-${{ matrix.settings.target }}
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Test bindings
+ run: yarn test
+ test-linux-x64-gnu-binding:
+ name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: yarn
+ - name: Install dependencies
+ run: yarn install
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-x86_64-unknown-linux-gnu
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Test bindings
+ run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim yarn test
+ test-linux-x64-musl-binding:
+ name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node }}
+ cache: yarn
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.libc "musl"
+ yarn install
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-x86_64-unknown-linux-musl
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Test bindings
+ run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine yarn test
+ test-linux-aarch64-gnu-binding:
+ name: Test bindings on aarch64-unknown-linux-gnu - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-aarch64-unknown-linux-gnu
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.cpu "arm64"
+ yarn config set supportedArchitectures.libc "glibc"
+ yarn install
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: arm64
+ - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ - name: Setup and run tests
+ uses: addnab/docker-run-action@v3
+ with:
+ image: node:${{ matrix.node }}-slim
+ options: '--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build'
+ run: |
+ set -e
+ yarn test
+ ls -la
+ test-linux-aarch64-musl-binding:
+ name: Test bindings on aarch64-unknown-linux-musl - node@lts
+ needs:
+ - build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-aarch64-unknown-linux-musl
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.cpu "arm64"
+ yarn config set supportedArchitectures.libc "musl"
+ yarn install
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: arm64
+ - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ - name: Setup and run tests
+ uses: addnab/docker-run-action@v3
+ with:
+ image: node:lts-alpine
+ options: '--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build'
+ run: |
+ set -e
+ yarn test
+ test-linux-arm-gnueabihf-binding:
+ name: Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }}
+ needs:
+ - build
+ strategy:
+ fail-fast: false
+ matrix:
+ node:
+ - '18'
+ - '20'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: bindings-armv7-unknown-linux-gnueabihf
+ path: .
+ - name: List packages
+ run: ls -R .
+ shell: bash
+ - name: Install dependencies
+ run: |
+ yarn config set supportedArchitectures.cpu "arm"
+ yarn install
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: arm
+ - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ - name: Setup and run tests
+ uses: addnab/docker-run-action@v3
+ with:
+ image: node:${{ matrix.node }}-bullseye-slim
+ options: '--platform linux/arm/v7 -v ${{ github.workspace }}:/build -w /build'
+ run: |
+ set -e
+ yarn test
+ ls -la
+ publish:
+ name: Publish
+ runs-on: ubuntu-latest
+ needs:
+ - build-freebsd
+ - test-macOS-windows-binding
+ - test-linux-x64-gnu-binding
+ - test-linux-x64-musl-binding
+ - test-linux-aarch64-gnu-binding
+ - test-linux-aarch64-musl-binding
+ - test-linux-arm-gnueabihf-binding
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup node
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: yarn
+ - name: Install dependencies
+ run: yarn install
+ - name: Download all artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: artifacts
+ - name: Move artifacts
+ run: yarn artifacts
+ - name: List packages
+ run: ls -R ./npm
+ shell: bash
+ - name: Publish
+ run: |
+ npm config set provenance true
+ if git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+$";
+ then
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
+ npm publish --access public
+ elif git log -1 --pretty=%B | grep "^[0-9]\+\.[0-9]\+\.[0-9]\+";
+ then
+ echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
+ npm publish --tag next --access public
+ else
+ echo "Not a release, skipping publish"
+ fi
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/crates/stylex-rs-compiler/.lintstagedrc.js b/crates/stylex-rs-compiler/.lintstagedrc.js
new file mode 100644
index 00000000..90691b2e
--- /dev/null
+++ b/crates/stylex-rs-compiler/.lintstagedrc.js
@@ -0,0 +1,6 @@
+module.exports = {
+ '*.mdx': ['eslint --color --fix'],
+ '*.json': 'eslint --color --fix',
+ 'package.json': ['syncpack format', 'eslint --color --fix'],
+ "*.toml": ['taplo format']
+};
diff --git a/crates/stylex-rs-compiler/Cargo.toml b/crates/stylex-rs-compiler/Cargo.toml
new file mode 100644
index 00000000..1ef08417
--- /dev/null
+++ b/crates/stylex-rs-compiler/Cargo.toml
@@ -0,0 +1,43 @@
+[package]
+name = "stylex_compiler_rs"
+version = "0.2.4"
+edition = "2021"
+license.workspace = true
+repository.workspace = true
+
+
+[lib]
+crate-type = ["cdylib", "rlib"]
+doctest = false
+
+
+[dependencies]
+serde.workspace = true
+serde_json.workspace = true
+swc_core = { workspace = true, features = [
+ "common",
+ "ecma_plugin_transform",
+ "ecma_utils",
+ "ecma_parser",
+ "ecma_codegen",
+ "css_codegen",
+ "css_visit",
+ "css_parser",
+ "css_ast",
+] }
+color-backtrace.workspace = true
+
+swc_compiler_base = { version = "*", features = ["node"] }
+swc_ecma_parser = { version = "*", features = ["verify"] }
+
+stylex_shared = { path = "../stylex-shared" }
+napi = "2"
+napi-derive = "2"
+
+
+[dev-dependencies]
+napi-build = "2"
+
+
+[build-dependencies]
+napi-build = "2"
diff --git a/crates/stylex-rs-compiler/README.md b/crates/stylex-rs-compiler/README.md
new file mode 100644
index 00000000..5ca5ebe5
--- /dev/null
+++ b/crates/stylex-rs-compiler/README.md
@@ -0,0 +1,106 @@
+# NAPI-RS compiler for StyleX (\*\*unofficial)
+
+
+StyleX is a JavaScript library developed by Meta for defining styles optimized for user interfaces. You can find the official repository [here](https://www.github.com/facebook/stylex).
+
+> [!WARNING]
+> This is an unofficial style compiler for StyleX.
+
+## Overview
+
+This package provides an unofficial, high-performance compiler for StyleX, a popular library from Meta for building optimized user interfaces. It leverages the power of NAPI-RS and SWC to achieve several key advantages:
+
+> [!IMPORTANT]
+> The usage of StyleX does not change.
+> All changes are internal.
+
+- Faster Build Times: By utilizing SWC instead of Babel, you can potentially experience significant speed improvements during StyleX processing.
+- Seamless Integration: This compiler seamlessly integrates with Next.js's default SWC Compiler, ensuring a smooth workflow.
+- Drop-in Replacement: Designed to be a drop-in replacement for the official StyleX Babel plugin, minimizing disruption to existing codebases.
+- Advanced Tooling Capabilities: NAPI-RS compiler unlocks access to StyleX metadata and source maps, enabling the creation of advanced plugins and tools for StyleX, ex. for creating a plugin for Webpack, Rollup, or other tools.
+
+## Advantages of a `NAPI-RS` compiler versus a `SWC plugin`
+
+- Compability with SWC: under the hood, the NAPI-RS compiler uses SWC for parsing and transforming JavaScript code, ensuring compatibility with the latest ECMAScript features.
+- Direct Access to Node.js APIs: NAPI-RS allows you to directly access Node.js APIs from your Rust code, providing greater flexibility and control.
+- Improved Performance: NAPI-RS can often offer better performance than traditional Node.js addons, especially for computationally intensive tasks.
+- Simplified Development: NAPI-RS simplifies the process of developing Node.js addons in Rust, making it easier to create high-performance and efficient tools.
+
+## Installation
+
+To install the package, run the following command:
+
+```bash
+npm install --save-dev @stylexswc/rs-compiler
+```
+
+## Example
+
+Your StyleX code usage remains unchanged. Here's a simple example:
+
+```ts
+import stylex from '@stylexjs/stylex'
+
+export const styles = stylex.create({
+ default: {
+ backgroundColor: 'red',
+ color: 'blue',
+ },
+})
+```
+
+### Transformation Process
+
+Internally, this compiler takes your StyleX code and transforms it into a format optimized for further processing.
+
+```ts
+var { transform } = require('@stylexswc/compiler-rs')
+
+/// ...other logic
+
+const { code, metadata, sourcemap } = transform(filename, inputSourceCode, transformOptions)
+
+/// ...other logic
+```
+
+### Output
+
+The output from the compiler includes the transformed code, metadata about the generated styles, and an optional source map.
+
+```json
+{
+ "code": "import stylex from '@stylexjs/stylex';\nexport const styles = {\n default: {\n backgroundColor: \"xrkmrrc\",\n color: \"xju2f9n\",\n $$css: true\n }\n};\n",
+ "metadata": {
+ "stylex": {
+ "styles": [
+ [
+ "xrkmrrc",
+ {
+ "ltr": ".xrkmrrc{background-color:red}",
+ "rtl": null
+ },
+ 3000
+ ],
+ [
+ "xju2f9n",
+ {
+ "ltr": ".xju2f9n{color:blue}",
+ "rtl": null
+ },
+ 3000
+ ]
+ ]
+ }
+ },
+ "map": "{\"version\":3,\"sources\":[\"\"],\"names\":[],\"mappings\":\"AACE;AACA;;;;;;EAKG\"}"
+}
+```
+
+## Compatibility
+
+> [!IMPORTANT]
+> The current resolution of the `exports` field from `package. json` is only partially supported, so if you encounter problems, please open an [issue](https://github.com/Dwlad90/stylex-swc-plugin/issues/new) with an attached link to reproduce the problem.
+
+## License
+
+StyleX is MIT licensed. Stylex NAPI-RS compiler is also MIT licensed.
diff --git a/crates/stylex-rs-compiler/__test__/index.spec.ts b/crates/stylex-rs-compiler/__test__/index.spec.ts
new file mode 100644
index 00000000..f4cbd1e1
--- /dev/null
+++ b/crates/stylex-rs-compiler/__test__/index.spec.ts
@@ -0,0 +1,55 @@
+import test from 'ava'
+
+import { transform } from '../dist/index'
+
+const rootDir = process.cwd()
+
+test('sync function from native code', (t) => {
+ const fixture = `
+ import stylex from "@stylexjs/stylex";
+
+ export const styles = stylex.create({
+ default: {
+ backgroundColor: "red",
+ color: "blue",
+ },
+ });
+ `
+
+ const result = transform('page.tsx', fixture, {
+ dev: false,
+ genConditionalClasses: true,
+ treeshakeCompensation: true,
+ unstable_moduleResolution: {
+ type: 'commonJS',
+ rootDir,
+ },
+ })
+
+ const expected = {
+ code: 'import stylex from "@stylexjs/stylex";\nexport const styles = {\n default: {\n backgroundColor: "xrkmrrc",\n color: "xju2f9n",\n $$css: true\n }\n};\n',
+ metadata: {
+ stylex: [
+ [
+ 'xrkmrrc',
+ {
+ ltr: '.xrkmrrc{background-color:red}',
+ rtl: null,
+ },
+ 3000,
+ ],
+ [
+ 'xju2f9n',
+ {
+ ltr: '.xju2f9n{color:blue}',
+ rtl: null,
+ },
+ 3000,
+ ],
+ ],
+ },
+ map: '{"version":3,"sources":["page.tsx"],"names":[],"mappings":"AACI;AAEA;;;;;;EAKG"}',
+ }
+
+ t.deepEqual(result, expected)
+})
diff --git a/crates/stylex-rs-compiler/__test__/package.json b/crates/stylex-rs-compiler/__test__/package.json
new file mode 100644
index 00000000..aead43de
--- /dev/null
+++ b/crates/stylex-rs-compiler/__test__/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "module"
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/__test__/tsconfig.json b/crates/stylex-rs-compiler/__test__/tsconfig.json
new file mode 100644
index 00000000..6eec1f8c
--- /dev/null
+++ b/crates/stylex-rs-compiler/__test__/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "outDir": "lib",
+ "rootDir": "."
+ },
+ "include": [
+ "*.ts"
+ ],
+ "exclude": [
+ "lib"
+ ]
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/benchmark/bench.ts b/crates/stylex-rs-compiler/benchmark/bench.ts
new file mode 100644
index 00000000..55585aa8
--- /dev/null
+++ b/crates/stylex-rs-compiler/benchmark/bench.ts
@@ -0,0 +1,73 @@
+import { Bench, Task } from 'tinybench'
+
+import { transform } from '../dist/index.js'
+import type { StyleXOptions } from '../dist/index.js'
+
+import path from 'path'
+import fs from 'fs'
+
+const rootDir = process.cwd()
+
+const b = new Bench()
+
+const stylexOptions:StyleXOptions = {
+ dev: false,
+ genConditionalClasses: true,
+ treeshakeCompensation: true,
+ unstable_moduleResolution: {
+ type: 'commonJS',
+ rootDir,
+ },
+}
+
+function getFixtureFilePaths(dir: string): string[] {
+ let results: string[] = []
+
+ const list = fs.readdirSync(dir)
+
+ list.forEach((file) => {
+ const filePath = path.join(dir, file)
+ const stat = fs.statSync(filePath)
+
+ if (stat && stat.isDirectory()) {
+ results = results.concat(getFixtureFilePaths(filePath))
+ } else if (file === 'input.js') {
+ results.push(filePath)
+ }
+ })
+
+ return results
+}
+
+const stylexFixturePath = path.join(rootDir, '../../crates/stylex-shared/tests/fixture')
+const fixtureFilePaths = getFixtureFilePaths(stylexFixturePath)
+
+fixtureFilePaths.forEach((file) => {
+ const content = fs.readFileSync(file, 'utf-8')
+ const separator = file.includes('/') ? '/' : '\\'
+
+ b.add(file.split(separator).at(-2) ?? 'Default case', () => {
+ transform(file.replace('input.js', 'input.stylex.js'), content, stylexOptions)
+ })
+})
+
+const resultsDir = path.resolve(rootDir, 'benchmark/results')
+
+if (!fs.existsSync(resultsDir)) {
+ fs.mkdirSync(resultsDir)
+}
+
+await b.warmup()
+await b.run()
+
+console.table(b.table())
+
+const output = b.tasks.map(formatBenchmarkSummary).join('\n')
+
+fs.writeFileSync(path.join(resultsDir, 'output.txt'), output, 'utf8')
+console.log('Benchmark results saved to output.txt')
+
+function formatBenchmarkSummary(task: Task): string {
+ const { name, result } = task
+ return `${name} x ${result?.hz || 0} ops/sec ±${result?.rme || 0}% (${result?.samples?.length ?? 0} runs sampled)`
+}
diff --git a/crates/stylex-rs-compiler/benchmark/package.json b/crates/stylex-rs-compiler/benchmark/package.json
new file mode 100644
index 00000000..aead43de
--- /dev/null
+++ b/crates/stylex-rs-compiler/benchmark/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "module"
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/benchmark/tsconfig.json b/crates/stylex-rs-compiler/benchmark/tsconfig.json
new file mode 100644
index 00000000..e2909d2b
--- /dev/null
+++ b/crates/stylex-rs-compiler/benchmark/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "moduleResolution": "NodeNext",
+ "module": "NodeNext",
+ "outDir": "lib"
+ },
+ "include": [
+ "."
+ ],
+ "exclude": [
+ "lib"
+ ]
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/build.rs b/crates/stylex-rs-compiler/build.rs
new file mode 100644
index 00000000..5666ae2e
--- /dev/null
+++ b/crates/stylex-rs-compiler/build.rs
@@ -0,0 +1,5 @@
+extern crate napi_build;
+
+fn main() {
+ napi_build::setup();
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/dist/index.d.ts b/crates/stylex-rs-compiler/dist/index.d.ts
new file mode 100644
index 00000000..b91738b0
--- /dev/null
+++ b/crates/stylex-rs-compiler/dist/index.d.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+
+/* auto-generated by NAPI-RS */
+
+export interface TransformOutput {
+ code: string
+ map?: string
+ output?: string
+}
+export interface StyleXModuleResolution {
+ type: string
+ rootDir?: string
+ themeFileExtension?: string
+}
+export interface StyleXOptions {
+ styleResolution?: string
+ useRemForFontSize?: boolean
+ runtimeInjection?: boolean
+ classNamePrefix?: string
+ definedStylexCssVariables?: Record
+ importSources?: Array
+ treeshakeCompensation?: boolean
+ genConditionalClasses?: boolean
+ dev?: boolean
+ test?: boolean
+ aliases?: Record>
+ unstable_moduleResolution?: StyleXModuleResolution
+}
+export interface StyleXMetadata {
+ stylex: Array<[string, { ltr: string; rtl?: null | string }, number]>
+}
+export interface StyleXTransformResult {
+ code: string
+ metadata: StyleXMetadata
+ map?: string
+}
+export declare function transform(filename: string, code: string, options: StyleXOptions): StyleXTransformResult
diff --git a/crates/stylex-rs-compiler/dist/index.js b/crates/stylex-rs-compiler/dist/index.js
new file mode 100644
index 00000000..1eedbd00
--- /dev/null
+++ b/crates/stylex-rs-compiler/dist/index.js
@@ -0,0 +1,315 @@
+/* tslint:disable */
+/* eslint-disable */
+/* prettier-ignore */
+
+/* auto-generated by NAPI-RS */
+
+const { existsSync, readFileSync } = require('fs')
+const { join } = require('path')
+
+const { platform, arch } = process
+
+let nativeBinding = null
+let localFileExisted = false
+let loadError = null
+
+function isMusl() {
+ // For Node 10
+ if (!process.report || typeof process.report.getReport !== 'function') {
+ try {
+ const lddPath = require('child_process').execSync('which ldd').toString().trim()
+ return readFileSync(lddPath, 'utf8').includes('musl')
+ } catch (e) {
+ return true
+ }
+ } else {
+ const { glibcVersionRuntime } = process.report.getReport().header
+ return !glibcVersionRuntime
+ }
+}
+
+switch (platform) {
+ case 'android':
+ switch (arch) {
+ case 'arm64':
+ localFileExisted = existsSync(join(__dirname, 'rs-compiler.android-arm64.node'))
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.android-arm64.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-android-arm64')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ case 'arm':
+ localFileExisted = existsSync(join(__dirname, 'rs-compiler.android-arm-eabi.node'))
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.android-arm-eabi.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-android-arm-eabi')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ default:
+ throw new Error(`Unsupported architecture on Android ${arch}`)
+ }
+ break
+ case 'win32':
+ switch (arch) {
+ case 'x64':
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.win32-x64-msvc.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.win32-x64-msvc.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-win32-x64-msvc')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ case 'ia32':
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.win32-ia32-msvc.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.win32-ia32-msvc.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-win32-ia32-msvc')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ case 'arm64':
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.win32-arm64-msvc.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.win32-arm64-msvc.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-win32-arm64-msvc')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ default:
+ throw new Error(`Unsupported architecture on Windows: ${arch}`)
+ }
+ break
+ case 'darwin':
+ localFileExisted = existsSync(join(__dirname, 'rs-compiler.darwin-universal.node'))
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.darwin-universal.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-darwin-universal')
+ }
+ break
+ } catch {}
+ switch (arch) {
+ case 'x64':
+ localFileExisted = existsSync(join(__dirname, 'rs-compiler.darwin-x64.node'))
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.darwin-x64.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-darwin-x64')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ case 'arm64':
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.darwin-arm64.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.darwin-arm64.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-darwin-arm64')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ default:
+ throw new Error(`Unsupported architecture on macOS: ${arch}`)
+ }
+ break
+ case 'freebsd':
+ if (arch !== 'x64') {
+ throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
+ }
+ localFileExisted = existsSync(join(__dirname, 'rs-compiler.freebsd-x64.node'))
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.freebsd-x64.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-freebsd-x64')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ case 'linux':
+ switch (arch) {
+ case 'x64':
+ if (isMusl()) {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-x64-musl.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-x64-musl.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-x64-musl')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ } else {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-x64-gnu.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-x64-gnu.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-x64-gnu')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ }
+ break
+ case 'arm64':
+ if (isMusl()) {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-arm64-musl.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-arm64-musl.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-arm64-musl')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ } else {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-arm64-gnu.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-arm64-gnu.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-arm64-gnu')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ }
+ break
+ case 'arm':
+ if (isMusl()) {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-arm-musleabihf.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-arm-musleabihf.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-arm-musleabihf')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ } else {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-arm-gnueabihf.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-arm-gnueabihf.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-arm-gnueabihf')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ }
+ break
+ case 'riscv64':
+ if (isMusl()) {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-riscv64-musl.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-riscv64-musl.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-riscv64-musl')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ } else {
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-riscv64-gnu.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-riscv64-gnu.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-riscv64-gnu')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ }
+ break
+ case 's390x':
+ localFileExisted = existsSync(
+ join(__dirname, 'rs-compiler.linux-s390x-gnu.node')
+ )
+ try {
+ if (localFileExisted) {
+ nativeBinding = require('./rs-compiler.linux-s390x-gnu.node')
+ } else {
+ nativeBinding = require('@stylexswc/rs-compiler-linux-s390x-gnu')
+ }
+ } catch (e) {
+ loadError = e
+ }
+ break
+ default:
+ throw new Error(`Unsupported architecture on Linux: ${arch}`)
+ }
+ break
+ default:
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
+}
+
+if (!nativeBinding) {
+ if (loadError) {
+ throw loadError
+ }
+ throw new Error(`Failed to load native binding`)
+}
+
+const { transform } = nativeBinding
+
+module.exports.transform = transform
diff --git a/crates/stylex-rs-compiler/npm/darwin-arm64/README.md b/crates/stylex-rs-compiler/npm/darwin-arm64/README.md
new file mode 100644
index 00000000..78ef2794
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/darwin-arm64/README.md
@@ -0,0 +1,3 @@
+# `@stylexswc/rs-compiler-darwin-arm64`
+
+This is the **aarch64-apple-darwin** binary for `@stylexswc/rs-compiler`
diff --git a/crates/stylex-rs-compiler/npm/darwin-arm64/package.json b/crates/stylex-rs-compiler/npm/darwin-arm64/package.json
new file mode 100644
index 00000000..10fb8ede
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/darwin-arm64/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@stylexswc/rs-compiler-darwin-arm64",
+ "version": "0.2.4",
+ "private": true,
+ "os": [
+ "darwin"
+ ],
+ "cpu": [
+ "arm64"
+ ],
+ "main": "@stylexswc/rs-compiler.darwin-arm64.node",
+ "files": [
+ "@stylexswc/rs-compiler.darwin-arm64.node"
+ ],
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin"
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/npm/darwin-x64/README.md b/crates/stylex-rs-compiler/npm/darwin-x64/README.md
new file mode 100644
index 00000000..070c905f
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/darwin-x64/README.md
@@ -0,0 +1,3 @@
+# `@stylexswc/rs-compiler-darwin-x64`
+
+This is the **x86_64-apple-darwin** binary for `@stylexswc/rs-compiler`
diff --git a/crates/stylex-rs-compiler/npm/darwin-x64/package.json b/crates/stylex-rs-compiler/npm/darwin-x64/package.json
new file mode 100644
index 00000000..59fef56c
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/darwin-x64/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@stylexswc/rs-compiler-darwin-x64",
+ "version": "0.2.4",
+ "private": true,
+ "os": [
+ "darwin"
+ ],
+ "cpu": [
+ "x64"
+ ],
+ "main": "@stylexswc/rs-compiler.darwin-x64.node",
+ "files": [
+ "@stylexswc/rs-compiler.darwin-x64.node"
+ ],
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin"
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/npm/linux-arm64-gnu/README.md b/crates/stylex-rs-compiler/npm/linux-arm64-gnu/README.md
new file mode 100644
index 00000000..069a14e2
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/linux-arm64-gnu/README.md
@@ -0,0 +1,3 @@
+# `@stylexswc/rs-compiler-linux-arm64-gnu`
+
+This is the **aarch64-unknown-linux-gnu** binary for `@stylexswc/rs-compiler`
diff --git a/crates/stylex-rs-compiler/npm/linux-arm64-gnu/package.json b/crates/stylex-rs-compiler/npm/linux-arm64-gnu/package.json
new file mode 100644
index 00000000..d712f56c
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/linux-arm64-gnu/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@stylexswc/rs-compiler-linux-arm64-gnu",
+ "version": "0.2.4",
+ "private": true,
+ "os": [
+ "linux"
+ ],
+ "cpu": [
+ "arm64"
+ ],
+ "main": "@stylexswc/rs-compiler.linux-arm64-gnu.node",
+ "files": [
+ "@stylexswc/rs-compiler.linux-arm64-gnu.node"
+ ],
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin",
+ "libc": [
+ "glibc"
+ ]
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/npm/linux-x64-gnu/README.md b/crates/stylex-rs-compiler/npm/linux-x64-gnu/README.md
new file mode 100644
index 00000000..d8e569ba
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/linux-x64-gnu/README.md
@@ -0,0 +1,3 @@
+# `@stylexswc/rs-compiler-linux-x64-gnu`
+
+This is the **x86_64-unknown-linux-gnu** binary for `@stylexswc/rs-compiler`
diff --git a/crates/stylex-rs-compiler/npm/linux-x64-gnu/package.json b/crates/stylex-rs-compiler/npm/linux-x64-gnu/package.json
new file mode 100644
index 00000000..d07abc89
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/linux-x64-gnu/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@stylexswc/rs-compiler-linux-x64-gnu",
+ "version": "0.2.4",
+ "private": true,
+ "os": [
+ "linux"
+ ],
+ "cpu": [
+ "x64"
+ ],
+ "main": "@stylexswc/rs-compiler.linux-x64-gnu.node",
+ "files": [
+ "@stylexswc/rs-compiler.linux-x64-gnu.node"
+ ],
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin",
+ "libc": [
+ "glibc"
+ ]
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/npm/linux-x64-musl/README.md b/crates/stylex-rs-compiler/npm/linux-x64-musl/README.md
new file mode 100644
index 00000000..d8e569ba
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/linux-x64-musl/README.md
@@ -0,0 +1,3 @@
+# `@stylexswc/rs-compiler-linux-x64-gnu`
+
+This is the **x86_64-unknown-linux-gnu** binary for `@stylexswc/rs-compiler`
diff --git a/crates/stylex-rs-compiler/npm/linux-x64-musl/package.json b/crates/stylex-rs-compiler/npm/linux-x64-musl/package.json
new file mode 100644
index 00000000..e4ad0da2
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/linux-x64-musl/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@stylexswc/rs-compiler-linux-x64-musl",
+ "version": "0.2.4",
+ "private": true,
+ "os": [
+ "linux"
+ ],
+ "cpu": [
+ "x64"
+ ],
+ "main": "@stylexswc/rs-compiler.linux-x64-musl.node",
+ "files": [
+ "@stylexswc/rs-compiler.linux-x64-musl.node"
+ ],
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin",
+ "libc": [
+ "glibc"
+ ]
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/npm/win32-x64-msvc/README.md b/crates/stylex-rs-compiler/npm/win32-x64-msvc/README.md
new file mode 100644
index 00000000..d7b683a6
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/win32-x64-msvc/README.md
@@ -0,0 +1,3 @@
+# `@stylexswc/rs-compiler-win32-x64-msvc`
+
+This is the **x86_64-pc-windows-msvc** binary for `@stylexswc/rs-compiler`
diff --git a/crates/stylex-rs-compiler/npm/win32-x64-msvc/package.json b/crates/stylex-rs-compiler/npm/win32-x64-msvc/package.json
new file mode 100644
index 00000000..3c4fabe7
--- /dev/null
+++ b/crates/stylex-rs-compiler/npm/win32-x64-msvc/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "@stylexswc/rs-compiler-win32-x64-msvc",
+ "version": "0.2.4",
+ "private": true,
+ "os": [
+ "win32"
+ ],
+ "cpu": [
+ "x64"
+ ],
+ "main": "@stylexswc/rs-compiler.win32-x64-msvc.node",
+ "files": [
+ "@stylexswc/rs-compiler.win32-x64-msvc.node"
+ ],
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin"
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/package.json b/crates/stylex-rs-compiler/package.json
new file mode 100644
index 00000000..f956f720
--- /dev/null
+++ b/crates/stylex-rs-compiler/package.json
@@ -0,0 +1,92 @@
+{
+ "name": "@stylexswc/rs-compiler",
+ "version": "0.2.4",
+ "description": "NAPI-RS compiler for transform StyleX code",
+ "main": "dist/index.js",
+ "repository": "https://github.com/Dwlad90/stylex-swc-plugin",
+ "license": "MIT",
+ "private": false,
+ "keywords": [
+ "napi-rs",
+ "NAPI",
+ "N-API",
+ "Rust",
+ "node-addon",
+ "node-addon-api",
+ "StyleX",
+ "SWC"
+ ],
+ "files": [
+ "dist/index.d.ts",
+ "dist/index.js"
+ ],
+ "napi": {
+ "name": "rs-compiler",
+ "triples": {
+ "defaults": true,
+ "additional": [
+ "aarch64-apple-darwin",
+ "aarch64-unknown-linux-gnu",
+ "x86_64-apple-darwin",
+ "x86_64-pc-windows-msvc",
+ "x86_64-unknown-linux-gnu",
+ "x86_64-unknown-linux-musl"
+ ]
+ }
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "scripts": {
+ "artifacts": "napi artifacts",
+ "bench": "node --import @swc-node/register/esm-register benchmark/bench.ts",
+ "build": "napi build --platform --release dist",
+ "build:debug": "napi build --platform",
+ "format": "run-p format:prettier format:rs format:toml",
+ "format:prettier": "prettier . -w",
+ "format:toml": "taplo format",
+ "format:rs": "cargo fmt",
+ "lint": "oxlint .",
+ "prepublishOnly": "napi prepublish -t npm",
+ "test": "ava",
+ "version": "napi version"
+ },
+ "devDependencies": {
+ "benchmark": "^2.1.2",
+ "@stylexjs/open-props": "^0.7.5",
+ "@stylexjs/stylex": "^0.7.5",
+ "@napi-rs/cli": "^2.18.4",
+ "@swc-node/register": "^1.10.6",
+ "@swc/core": "^1.6.13",
+ "@taplo/cli": "^0.7.0",
+ "ava": "^6.1.3",
+ "chalk": "^5.3.0",
+ "husky": "^9.0.11",
+ "lint-staged": "^15.2.7",
+ "npm-run-all2": "^6.2.2",
+ "oxlint": "^0.9.0",
+ "prettier": "^3.3.3",
+ "tinybench": "^2.8.0",
+ "typescript": "^5.5.3",
+ "@types/node": "^20"
+ },
+ "ava": {
+ "extensions": {
+ "ts": "module"
+ },
+ "timeout": "2m",
+ "workerThreads": false,
+ "environmentVariables": {
+ "TS_NODE_PROJECT": "./tsconfig.json"
+ },
+ "nodeArguments": [
+ "--import",
+ "@swc-node/register/esm-register"
+ ]
+ },
+ "packageManager": "pnpm@9.9.0"
+}
\ No newline at end of file
diff --git a/crates/stylex-rs-compiler/src/lib.rs b/crates/stylex-rs-compiler/src/lib.rs
new file mode 100644
index 00000000..4c648f2a
--- /dev/null
+++ b/crates/stylex-rs-compiler/src/lib.rs
@@ -0,0 +1,82 @@
+mod structs;
+mod utils;
+use napi::{Env, Result};
+use std::env;
+use structs::{StyleXMetadata, StyleXOptions, StyleXTransformResult};
+use swc_compiler_base::{print, PrintArgs, SourceMapsConfig};
+
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
+use swc_ecma_parser::{lexer::Lexer, Parser, StringInput, Syntax, TsSyntax};
+
+use swc_core::{
+ common::{sync::Lrc, FileName, SourceMap},
+ ecma::{ast::EsVersion, transforms::base::fixer::fixer, visit::FoldWith},
+ plugin::proxies::PluginCommentsProxy,
+};
+
+use napi_derive::napi;
+use utils::extract_stylex_metadata;
+
+#[napi]
+pub fn transform(
+ env: Env,
+ filename: String,
+ code: String,
+ options: StyleXOptions,
+) -> Result {
+ color_backtrace::install();
+
+ let cm: Lrc = Default::default();
+ let filename = FileName::Real(filename.into());
+
+ let fm = cm.new_source_file(filename.clone(), code);
+
+ let cwd = env::current_dir()?;
+
+ let plugin_pass = Box::new(PluginPass {
+ cwd: Some(cwd),
+ filename,
+ });
+
+ let mut config = options.into();
+
+ let mut stylex: StyleXTransform =
+ StyleXTransform::new(PluginCommentsProxy, plugin_pass, &mut config);
+
+ let mut parser = Parser::new_from(Lexer::new(
+ Syntax::Typescript(TsSyntax {
+ tsx: true,
+ ..Default::default()
+ }),
+ EsVersion::latest(),
+ StringInput::from(&*fm),
+ None,
+ ));
+
+ let program = parser.parse_program().unwrap();
+
+ let program = program.fold_with(&mut stylex).fold_with(&mut fixer(None));
+
+ let transformed_code = print(
+ cm,
+ &program,
+ PrintArgs {
+ source_map: SourceMapsConfig::Bool(true),
+ ..Default::default()
+ },
+ );
+
+ let result = transformed_code.unwrap();
+
+ let stylex_metadata = extract_stylex_metadata(env, &stylex)?;
+
+ let js_result = StyleXTransformResult {
+ code: result.code,
+ metadata: StyleXMetadata {
+ stylex: stylex_metadata,
+ },
+ map: result.map,
+ };
+
+ Ok(js_result)
+}
diff --git a/crates/stylex-rs-compiler/src/structs/mod.rs b/crates/stylex-rs-compiler/src/structs/mod.rs
new file mode 100644
index 00000000..16185d86
--- /dev/null
+++ b/crates/stylex-rs-compiler/src/structs/mod.rs
@@ -0,0 +1,82 @@
+use std::collections::HashMap;
+
+use napi::JsObject;
+use napi_derive::napi;
+use stylex_shared::shared::structures::{
+ named_import_source::ImportSources,
+ stylex_options::{ModuleResolution, StyleResolution, StyleXOptionsParams},
+};
+
+#[napi(object)]
+pub struct StyleXModuleResolution {
+ pub r#type: String,
+ pub root_dir: Option,
+ pub theme_file_extension: Option,
+}
+
+#[napi(object)]
+pub struct StyleXOptions {
+ pub style_resolution: Option,
+ pub use_rem_for_font_size: Option,
+ pub runtime_injection: Option,
+ pub class_name_prefix: Option,
+ pub defined_stylex_css_variables: Option>,
+ pub import_sources: Option>,
+ pub treeshake_compensation: Option,
+ pub gen_conditional_classes: Option,
+ pub dev: Option,
+ pub test: Option,
+ pub aliases: Option>>,
+ #[napi(js_name = "unstable_moduleResolution")]
+ pub unstable_module_resolution: Option,
+}
+
+#[napi(object)]
+pub struct StyleXMetadata {
+ #[napi(ts_type = "Array<[string, { ltr: string; rtl?: null | string }, number]>")]
+ pub stylex: Vec,
+}
+
+#[napi(object)]
+pub struct StyleXTransformResult {
+ pub code: String,
+ pub metadata: StyleXMetadata,
+ pub map: Option,
+}
+
+impl From for StyleXOptionsParams {
+ fn from(val: StyleXOptions) -> Self {
+ let style_resolution: Option = match val.style_resolution {
+ Some(style_resolution) => serde_json::from_str(&style_resolution).ok(),
+ None => None,
+ };
+
+ let import_sources: Option> = val.import_sources.map(|import_sources| {
+ import_sources
+ .into_iter()
+ .filter_map(|s| serde_json::from_str(&s).ok())
+ .collect()
+ });
+
+ let unstable_module_resolution = val.unstable_module_resolution.map(|res| ModuleResolution {
+ r#type: res.r#type,
+ root_dir: res.root_dir,
+ theme_file_extension: res.theme_file_extension,
+ });
+
+ StyleXOptionsParams {
+ style_resolution,
+ use_rem_for_font_size: val.use_rem_for_font_size,
+ runtime_injection: val.runtime_injection,
+ class_name_prefix: val.class_name_prefix,
+ defined_stylex_css_variables: val.defined_stylex_css_variables,
+ import_sources,
+ treeshake_compensation: val.treeshake_compensation,
+ gen_conditional_classes: val.gen_conditional_classes,
+ dev: val.dev,
+ test: val.test,
+ aliases: val.aliases,
+ unstable_module_resolution,
+ }
+ }
+}
diff --git a/crates/stylex-rs-compiler/src/utils/mod.rs b/crates/stylex-rs-compiler/src/utils/mod.rs
new file mode 100644
index 00000000..d38cc1a0
--- /dev/null
+++ b/crates/stylex-rs-compiler/src/utils/mod.rs
@@ -0,0 +1,33 @@
+use napi::{Env, Error, JsObject};
+use stylex_shared::StyleXTransform;
+use swc_core::plugin::proxies::PluginCommentsProxy;
+
+pub(crate) fn extract_stylex_metadata(
+ env: Env,
+ stylex: &StyleXTransform,
+) -> Result, Error> {
+ let mut stylex_metadata: Vec = vec![];
+
+ for (_, value) in &stylex.state.metadata {
+ for meta in value.iter() {
+ let mut metadata_value = env.create_array_with_length(3)?;
+
+ metadata_value.set_element(0, env.create_string(meta.get_class_name())?)?;
+
+ let mut style_value = env.create_object()?;
+
+ let styles = meta.get_style();
+
+ style_value.set_named_property("ltr", styles.ltr.clone())?;
+ style_value.set_named_property("rtl", styles.rtl.clone())?;
+
+ metadata_value.set_element(1, style_value)?;
+
+ metadata_value.set_element(2, env.create_double(*meta.get_priority())?)?;
+
+ stylex_metadata.push(metadata_value);
+ }
+ }
+
+ Ok(stylex_metadata)
+}
diff --git a/crates/stylex-rs-compiler/tsconfig.json b/crates/stylex-rs-compiler/tsconfig.json
new file mode 100644
index 00000000..c0b93474
--- /dev/null
+++ b/crates/stylex-rs-compiler/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "strict": true,
+ "moduleResolution": "node",
+ "module": "CommonJS",
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["."],
+ "exclude": ["node_modules", "benchmark", "__test__"]
+}
\ No newline at end of file
diff --git a/crates/stylex-shared/.editorconfig b/crates/stylex-shared/.editorconfig
new file mode 100644
index 00000000..75169182
--- /dev/null
+++ b/crates/stylex-shared/.editorconfig
@@ -0,0 +1,19 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = false
+
+# Unix-style newlines with a newline ending every file
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+# Matches multiple files with brace expansion notation
+# Set default charset
+[*.{js,py,rust,md}]
+charset = utf-8
+
+# 2 space indentation
+[*.rs]
+indent_style = space
+indent_size = 2
diff --git a/crates/stylex-shared/.eslintignore b/crates/stylex-shared/.eslintignore
new file mode 120000
index 00000000..23ecdcc5
--- /dev/null
+++ b/crates/stylex-shared/.eslintignore
@@ -0,0 +1 @@
+../../../.eslintignore
\ No newline at end of file
diff --git a/crates/stylex-shared/.gitignore b/crates/stylex-shared/.gitignore
new file mode 100644
index 00000000..dc35598a
--- /dev/null
+++ b/crates/stylex-shared/.gitignore
@@ -0,0 +1,11 @@
+# Generated by Cargo
+# will have compiled files and executables
+debug/
+target/
+
+
+# These are backup files generated by rustfmt
+**/*.rs.bk
+
+# MSVC Windows builds of rustc generate these, which store debugging information
+*.pdb
diff --git a/crates/stylex-shared/.lintstagedrc.js b/crates/stylex-shared/.lintstagedrc.js
new file mode 100644
index 00000000..3a0a186e
--- /dev/null
+++ b/crates/stylex-shared/.lintstagedrc.js
@@ -0,0 +1,5 @@
+module.exports = {
+ '*.mdx': ['eslint --color --fix'],
+ '*.json': 'eslint --color --fix',
+ 'package.json': ['syncpack format', 'eslint --color --fix'],
+};
diff --git a/crates/stylex-shared/.prettierignore b/crates/stylex-shared/.prettierignore
new file mode 120000
index 00000000..40e03dbe
--- /dev/null
+++ b/crates/stylex-shared/.prettierignore
@@ -0,0 +1 @@
+../../../.prettierignore
\ No newline at end of file
diff --git a/crates/stylex-shared/Cargo.lock b/crates/stylex-shared/Cargo.lock
new file mode 100644
index 00000000..97a2f401
--- /dev/null
+++ b/crates/stylex-shared/Cargo.lock
@@ -0,0 +1,2614 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "Inflector"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
+dependencies = [
+ "lazy_static",
+ "regex",
+]
+
+[[package]]
+name = "ahash"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "allocator-api2"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
+
+[[package]]
+name = "ast_node"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9184f2b369b3e8625712493c89b785881f27eedc6cde480a81883cef78868b2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "swc_macros_common",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "auto_impl"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64-simd"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5"
+dependencies = [
+ "simd-abstraction",
+]
+
+[[package]]
+name = "better_scoped_tls"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de"
+dependencies = [
+ "scoped-tls",
+]
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+dependencies = [
+ "allocator-api2",
+]
+
+[[package]]
+name = "bytecheck"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
+dependencies = [
+ "bytecheck_derive",
+ "ptr_meta",
+ "simdutf8",
+]
+
+[[package]]
+name = "bytecheck_derive"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bytes"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952"
+
+[[package]]
+name = "camino"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver 1.0.23",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver 1.0.23",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "colored"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
+dependencies = [
+ "lazy_static",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "console"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "convert_case"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "cssparser"
+version = "0.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c66d1cd8ed61bf80b38432613a7a2f09401ab8d0501110655f8b341484a3e3"
+dependencies = [
+ "cssparser-macros",
+ "dtoa-short",
+ "itoa",
+ "phf",
+ "smallvec",
+]
+
+[[package]]
+name = "cssparser-macros"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
+dependencies = [
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "darling"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown 0.14.5",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "dashmap"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
+
+[[package]]
+name = "debugid"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"
+dependencies = [
+ "serde",
+ "uuid",
+]
+
+[[package]]
+name = "derive_builder"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
+dependencies = [
+ "derive_builder_macro",
+]
+
+[[package]]
+name = "derive_builder_core"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "derive_builder_macro"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
+dependencies = [
+ "derive_builder_core",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "derive_more"
+version = "0.99.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce"
+dependencies = [
+ "convert_case 0.4.0",
+ "proc-macro2",
+ "quote",
+ "rustc_version 0.4.0",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "diff"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
+
+[[package]]
+name = "difference"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "dtoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
+
+[[package]]
+name = "dtoa-short"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87"
+dependencies = [
+ "dtoa",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "from_variant"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32016f1242eb82af5474752d00fd8ebcd9004bd69b462b1c91de833972d08ed4"
+dependencies = [
+ "proc-macro2",
+ "swc_macros_common",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash 0.7.8",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash 0.8.11",
+ "allocator-api2",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hstr"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96274be293b8877e61974a607105d09c84caebe9620b47774aa8a6b942042dd4"
+dependencies = [
+ "hashbrown 0.14.5",
+ "new_debug_unreachable",
+ "once_cell",
+ "phf",
+ "rustc-hash",
+ "triomphe",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "if_chain"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed"
+
+[[package]]
+name = "indexmap"
+version = "2.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.5",
+]
+
+[[package]]
+name = "insta"
+version = "1.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5"
+dependencies = [
+ "console",
+ "lazy_static",
+ "linked-hash-map",
+ "serde",
+ "similar",
+]
+
+[[package]]
+name = "is-macro"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59a85abdc13717906baccb5a1e435556ce0df215f242892f721dff62bf25288f"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lexical"
+version = "6.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6"
+dependencies = [
+ "lexical-core",
+]
+
+[[package]]
+name = "lexical-core"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46"
+dependencies = [
+ "lexical-parse-float",
+ "lexical-parse-integer",
+ "lexical-util",
+ "lexical-write-float",
+ "lexical-write-integer",
+]
+
+[[package]]
+name = "lexical-parse-float"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f"
+dependencies = [
+ "lexical-parse-integer",
+ "lexical-util",
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-parse-integer"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9"
+dependencies = [
+ "lexical-util",
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-util"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc"
+dependencies = [
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-write-float"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862"
+dependencies = [
+ "lexical-util",
+ "lexical-write-integer",
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-write-integer"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446"
+dependencies = [
+ "lexical-util",
+ "static_assertions",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.155"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "lock_api"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "miette"
+version = "7.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4edc8853320c2a0dab800fbda86253c8938f6ea88510dc92c5f1ed20e794afc1"
+dependencies = [
+ "cfg-if",
+ "miette-derive",
+ "owo-colors",
+ "textwrap",
+ "thiserror",
+ "unicode-width",
+]
+
+[[package]]
+name = "miette-derive"
+version = "7.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "murmur2"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb585ade2549a017db2e35978b77c319214fa4b37cede841e27954dd6e8f3ca8"
+
+[[package]]
+name = "new_debug_unreachable"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
+
+[[package]]
+name = "node-builtins"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "237ad7a9faa3cd869e4bb27d19c2c8a3127d66401cdc4c724640cac9be340761"
+
+[[package]]
+name = "node-resolve"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6a90e3b24b73097866f78daad37dba3bc693222b3b59fbdc4dd5adb3c8e2399"
+dependencies = [
+ "node-builtins",
+ "serde_json",
+]
+
+[[package]]
+name = "normpath"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a9da8c9922c35a1033d76f7272dfc2e7ee20392083d75aeea6ced23c6266578"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
+dependencies = [
+ "num-integer",
+ "num-traits",
+ "serde",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi 0.3.9",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "outref"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "owo-colors"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
+
+[[package]]
+name = "package-json"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30346ca495e6afb794c27661280cb5e9c91d18f5f63b45171bd0e32662650922"
+dependencies = [
+ "anyhow",
+ "derive_builder",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "path-clean"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd"
+
+[[package]]
+name = "path-clean"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17359afc20d7ab31fdb42bb844c8b3bb1dabd7dcf7e68428492da7f16966fcef"
+
+[[package]]
+name = "pathdiff"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_macros",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+
+[[package]]
+name = "pretty_assertions"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
+dependencies = [
+ "diff",
+ "yansi",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "psm"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "ptr_meta"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_fmt"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.7",
+ "regex-syntax 0.8.4",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.4",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
+
+[[package]]
+name = "relative-path"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2"
+
+[[package]]
+name = "rend"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
+dependencies = [
+ "bytecheck",
+]
+
+[[package]]
+name = "rkyv"
+version = "0.7.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
+dependencies = [
+ "bitvec",
+ "bytecheck",
+ "bytes",
+ "hashbrown 0.12.3",
+ "ptr_meta",
+ "rend",
+ "rkyv_derive",
+ "seahash",
+ "tinyvec",
+ "uuid",
+]
+
+[[package]]
+name = "rkyv_derive"
+version = "0.7.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver 0.9.0",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver 1.0.23",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
+dependencies = [
+ "bitflags",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[package]]
+name = "ryu-js"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5"
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.204"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.204"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.120"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "simd-abstraction"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987"
+dependencies = [
+ "outref",
+]
+
+[[package]]
+name = "simdutf8"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+
+[[package]]
+name = "similar"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "smartstring"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29"
+dependencies = [
+ "autocfg",
+ "static_assertions",
+ "version_check",
+]
+
+[[package]]
+name = "smawk"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
+
+[[package]]
+name = "sourcemap"
+version = "8.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "208d40b9e8cad9f93613778ea295ed8f3c2b1824217c6cfc7219d3f6f45b96d4"
+dependencies = [
+ "base64-simd",
+ "bitvec",
+ "data-encoding",
+ "debugid",
+ "if_chain",
+ "rustc-hash",
+ "rustc_version 0.2.3",
+ "serde",
+ "serde_json",
+ "unicode-id-start",
+ "url",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "stacker"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce"
+dependencies = [
+ "cc",
+ "cfg-if",
+ "libc",
+ "psm",
+ "winapi",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "string_enum"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05e383308aebc257e7d7920224fa055c632478d92744eca77f99be8fa1545b90"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "swc_macros_common",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "stylex_path_resolver"
+version = "0.1.0"
+dependencies = [
+ "package-json",
+ "path-clean 1.0.1",
+ "pathdiff",
+ "regex",
+ "serde",
+ "serde_json",
+ "swc_core",
+]
+
+[[package]]
+name = "stylex_swc_plugin"
+version = "0.2.1"
+dependencies = [
+ "colored",
+ "convert_case 0.6.0",
+ "cssparser",
+ "dashmap 6.0.1",
+ "derive_more",
+ "indexmap",
+ "insta",
+ "lazy_static",
+ "murmur2",
+ "node-resolve",
+ "once_cell",
+ "path-clean 1.0.1",
+ "phf",
+ "radix_fmt",
+ "regex",
+ "serde",
+ "serde_json",
+ "stylex_path_resolver",
+ "swc_core",
+ "swc_ecma_parser",
+ "testing 0.38.1",
+]
+
+[[package]]
+name = "swc_allocator"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adc8bd3075d1c6964010333fae9ddcd91ad422a4f8eb8b3206a9b2b6afb4209e"
+dependencies = [
+ "bumpalo",
+ "hashbrown 0.14.5",
+ "ptr_meta",
+ "rustc-hash",
+ "triomphe",
+]
+
+[[package]]
+name = "swc_atoms"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb6567e4e67485b3e7662b486f1565bdae54bd5b9d6b16b2ba1a9babb1e42125"
+dependencies = [
+ "bytecheck",
+ "hstr",
+ "once_cell",
+ "rkyv",
+ "rustc-hash",
+ "serde",
+]
+
+[[package]]
+name = "swc_common"
+version = "0.34.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9087befec6b63911f9d2f239e4f91c9b21589c169b86ed2d616944d23cf4a243"
+dependencies = [
+ "anyhow",
+ "ast_node",
+ "atty",
+ "better_scoped_tls",
+ "bytecheck",
+ "cfg-if",
+ "either",
+ "from_variant",
+ "new_debug_unreachable",
+ "num-bigint",
+ "once_cell",
+ "parking_lot",
+ "rkyv",
+ "rustc-hash",
+ "serde",
+ "siphasher",
+ "sourcemap",
+ "swc_atoms",
+ "swc_eq_ignore_macros",
+ "swc_visit 0.5.14",
+ "termcolor",
+ "tracing",
+ "unicode-width",
+ "url",
+]
+
+[[package]]
+name = "swc_common"
+version = "0.36.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1802b1642488aec58597dc55ea88992c165660d6e44e9838d4d93f7b78ab95f3"
+dependencies = [
+ "ast_node",
+ "better_scoped_tls",
+ "cfg-if",
+ "either",
+ "from_variant",
+ "new_debug_unreachable",
+ "num-bigint",
+ "once_cell",
+ "parking_lot",
+ "rustc-hash",
+ "serde",
+ "siphasher",
+ "swc_allocator",
+ "swc_atoms",
+ "swc_eq_ignore_macros",
+ "swc_visit 0.6.1",
+ "termcolor",
+ "tracing",
+ "unicode-width",
+ "url",
+]
+
+[[package]]
+name = "swc_core"
+version = "0.96.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de60918c09a10e55b659b4e70029d283da815e3107b22f79ec9fac280d4d8843"
+dependencies = [
+ "once_cell",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_css_ast",
+ "swc_css_codegen",
+ "swc_css_parser",
+ "swc_css_visit",
+ "swc_ecma_ast",
+ "swc_ecma_codegen",
+ "swc_ecma_loader",
+ "swc_ecma_parser",
+ "swc_ecma_transforms_base",
+ "swc_ecma_transforms_testing",
+ "swc_ecma_utils",
+ "swc_ecma_visit",
+ "swc_plugin",
+ "swc_plugin_macro",
+ "swc_plugin_proxy",
+ "vergen",
+]
+
+[[package]]
+name = "swc_css_ast"
+version = "0.141.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89a5f28ff625a89de2a269bde3ed3b99be74bb9d3dc78dea6f3b071991b2cbf4"
+dependencies = [
+ "is-macro",
+ "string_enum",
+ "swc_atoms",
+ "swc_common 0.34.4",
+]
+
+[[package]]
+name = "swc_css_codegen"
+version = "0.152.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "894275a04a693db249903c29b31dfc71fae0bde68c49d4c4a935243f9eeba691"
+dependencies = [
+ "auto_impl",
+ "bitflags",
+ "rustc-hash",
+ "serde",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_css_ast",
+ "swc_css_codegen_macros",
+ "swc_css_utils",
+]
+
+[[package]]
+name = "swc_css_codegen_macros"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de2ece8c7dbdde85aa1bcc9764c5f41f7450d8bf1312eac2375b8dc0ecbc13d7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "swc_macros_common",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "swc_css_parser"
+version = "0.151.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ee5dbaaea0df38195d137bcfc68149906bba9c9dffebf5e846234e286f82992"
+dependencies = [
+ "lexical",
+ "serde",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_css_ast",
+]
+
+[[package]]
+name = "swc_css_utils"
+version = "0.138.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b135df778449825f38d54664bb179c839b3285f9a553ec10dd3cc3eafb751599"
+dependencies = [
+ "once_cell",
+ "serde",
+ "serde_json",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_css_ast",
+ "swc_css_visit",
+]
+
+[[package]]
+name = "swc_css_visit"
+version = "0.140.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c97dceaa18c8ae7f5a4c991e15efc5c333e5880b58ee6d61e42fd1365748ff05"
+dependencies = [
+ "serde",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_css_ast",
+ "swc_visit 0.5.14",
+]
+
+[[package]]
+name = "swc_ecma_ast"
+version = "0.115.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7be1306930c235435a892104c00c2b5e16231043c085d5a10bd3e7537b15659b"
+dependencies = [
+ "bitflags",
+ "bytecheck",
+ "is-macro",
+ "num-bigint",
+ "phf",
+ "rkyv",
+ "scoped-tls",
+ "string_enum",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "unicode-id-start",
+]
+
+[[package]]
+name = "swc_ecma_codegen"
+version = "0.151.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5141a8cb4eb69e090e6aea5d49061b46919be5210f3d084f9d9ad63d30f5cff"
+dependencies = [
+ "memchr",
+ "num-bigint",
+ "once_cell",
+ "rustc-hash",
+ "serde",
+ "sourcemap",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_ecma_codegen_macros",
+ "tracing",
+]
+
+[[package]]
+name = "swc_ecma_codegen_macros"
+version = "0.7.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "859fabde36db38634f3fad548dd5e3410c1aebba1b67a3c63e67018fa57a0bca"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "swc_macros_common",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "swc_ecma_loader"
+version = "0.46.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a9febebf047d1286e7b723fa2758f3229da2c103834f3eaee69833f46692612"
+dependencies = [
+ "anyhow",
+ "dashmap 5.5.3",
+ "normpath",
+ "once_cell",
+ "path-clean 0.1.0",
+ "pathdiff",
+ "serde",
+ "serde_json",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "tracing",
+]
+
+[[package]]
+name = "swc_ecma_parser"
+version = "0.146.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a4e0c2e85f12c63b85c805e923079b04d1fb3e25edd069d638eed5f2098de74"
+dependencies = [
+ "either",
+ "new_debug_unreachable",
+ "num-bigint",
+ "num-traits",
+ "phf",
+ "serde",
+ "smallvec",
+ "smartstring",
+ "stacker",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_ecma_visit",
+ "tracing",
+ "typed-arena",
+]
+
+[[package]]
+name = "swc_ecma_testing"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f495dae76f1ef3f5be46993b050c3c7f9bf534bcdacf1e40789d32255040776"
+dependencies = [
+ "anyhow",
+ "hex",
+ "sha2",
+ "testing 0.36.0",
+ "tracing",
+]
+
+[[package]]
+name = "swc_ecma_transforms_base"
+version = "0.140.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d37dc505c92af56d0f77cf6f31a6ccd37ac40cad1e01ff77277e0b1c70e8f8ff"
+dependencies = [
+ "better_scoped_tls",
+ "bitflags",
+ "indexmap",
+ "once_cell",
+ "phf",
+ "rustc-hash",
+ "serde",
+ "smallvec",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_ecma_parser",
+ "swc_ecma_utils",
+ "swc_ecma_visit",
+ "tracing",
+]
+
+[[package]]
+name = "swc_ecma_transforms_testing"
+version = "0.143.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20932deae5f94d2c2d722ed2ed70a140e1e9f19d105414c02572bd49e83fb29a"
+dependencies = [
+ "ansi_term",
+ "anyhow",
+ "base64",
+ "hex",
+ "serde",
+ "serde_json",
+ "sha2",
+ "sourcemap",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_ecma_codegen",
+ "swc_ecma_parser",
+ "swc_ecma_testing",
+ "swc_ecma_transforms_base",
+ "swc_ecma_utils",
+ "swc_ecma_visit",
+ "tempfile",
+ "testing 0.36.0",
+]
+
+[[package]]
+name = "swc_ecma_utils"
+version = "0.130.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13e62b199454a576c5fdbd7e1bef8ab88a395427456d8a713d994b7d469833aa"
+dependencies = [
+ "indexmap",
+ "num_cpus",
+ "once_cell",
+ "rustc-hash",
+ "ryu-js",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_ecma_visit",
+ "tracing",
+ "unicode-id",
+]
+
+[[package]]
+name = "swc_ecma_visit"
+version = "0.101.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce0d997f0c9b4e181225f603d161f6757c2a97022258170982cfe005ec69ec92"
+dependencies = [
+ "num-bigint",
+ "swc_atoms",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_visit 0.5.14",
+ "tracing",
+]
+
+[[package]]
+name = "swc_eq_ignore_macros"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "swc_error_reporters"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4689d9bb6092b5e6a0b79c0152336a8bd7f0acaf70dcf4133f86deb01775baa0"
+dependencies = [
+ "anyhow",
+ "miette",
+ "once_cell",
+ "parking_lot",
+ "swc_common 0.34.4",
+]
+
+[[package]]
+name = "swc_error_reporters"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e02c81943772dc4fb0a6228360552d353fedc1a368ee6d80a5172ecb376b1796"
+dependencies = [
+ "anyhow",
+ "miette",
+ "once_cell",
+ "parking_lot",
+ "swc_common 0.36.2",
+]
+
+[[package]]
+name = "swc_macros_common"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "swc_plugin"
+version = "0.90.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dd2ab83a683ee8cdd8be4ce3f363d760a9977d4539aeaee5dbed179ec49fcc7"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "swc_plugin_macro"
+version = "0.9.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3232db481484070637b20a155c064096c0ea1ba04fa2247b89b618661b3574f4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "swc_plugin_proxy"
+version = "0.44.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d5460f8f89905a6d698d8d9a965f6c99888c8ebcbb5a0266556d06ad39f09f7"
+dependencies = [
+ "better_scoped_tls",
+ "rkyv",
+ "swc_common 0.34.4",
+ "swc_ecma_ast",
+ "swc_trace_macro",
+ "tracing",
+]
+
+[[package]]
+name = "swc_trace_macro"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff9719b6085dd2824fd61938a881937be14b08f95e2d27c64c825a9f65e052ba"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "swc_visit"
+version = "0.5.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "043d11fe683dcb934583ead49405c0896a5af5face522e4682c16971ef7871b9"
+dependencies = [
+ "either",
+ "swc_visit_macros",
+]
+
+[[package]]
+name = "swc_visit"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e194d14f94121fd08b823d3379eedb3ce455785d9e0c3d2742c59377e283207"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "swc_visit_macros"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92807d840959f39c60ce8a774a3f83e8193c658068e6d270dbe0a05e40e90b41"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "swc_macros_common",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.72"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tempfile"
+version = "3.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "testing"
+version = "0.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27d395aa823f3ad1ad845ed74b96188f493b469794cfbe9ef82f03196064086f"
+dependencies = [
+ "ansi_term",
+ "cargo_metadata 0.15.4",
+ "difference",
+ "once_cell",
+ "pretty_assertions",
+ "regex",
+ "serde",
+ "serde_json",
+ "swc_common 0.34.4",
+ "swc_error_reporters 0.18.1",
+ "testing_macros",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "testing"
+version = "0.38.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dda7450d6e429db582ca8a2cf698f3bc63bc04dae8d857936e810180e510c86"
+dependencies = [
+ "ansi_term",
+ "cargo_metadata 0.18.1",
+ "difference",
+ "once_cell",
+ "pretty_assertions",
+ "regex",
+ "serde",
+ "serde_json",
+ "swc_common 0.36.2",
+ "swc_error_reporters 0.20.0",
+ "testing_macros",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "testing_macros"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a39660370116afe46d5ff8bcb01b7afe2140dda3137ef5cb1914681e37a4ee06"
+dependencies = [
+ "anyhow",
+ "glob",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "relative-path",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
+dependencies = [
+ "smawk",
+ "unicode-linebreak",
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "triomphe"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369"
+dependencies = [
+ "serde",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "typed-arena"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-id"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f"
+
+[[package]]
+name = "unicode-id-start"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02aebfa694eccbbbffdd92922c7de136b9fe764396d2f10e21bce1681477cfc1"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-linebreak"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
+
+[[package]]
+name = "url"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "uuid"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "regex",
+ "rustversion",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "yansi"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.72",
+]
diff --git a/crates/stylex-shared/Cargo.toml b/crates/stylex-shared/Cargo.toml
new file mode 100644
index 00000000..75f231da
--- /dev/null
+++ b/crates/stylex-shared/Cargo.toml
@@ -0,0 +1,68 @@
+[package]
+name = "stylex_shared"
+version = "0.2.4"
+edition = "2021"
+rust-version = "1.80.0"
+description = "Shared SWC tranformer for StyleX"
+license = "MIT"
+repository = "https://github.com/Dwlad90/stylex-swc-plugin.git"
+
+[lib]
+crate-type = ["cdylib", "rlib"]
+doctest = false
+
+[features]
+wasm = []
+
+[dependencies]
+serde.workspace = true
+swc_core = { workspace = true, features = [
+ "common",
+ "ecma_plugin_transform",
+ "ecma_utils",
+ "ecma_parser",
+ "ecma_codegen",
+ "css_codegen",
+ "css_visit",
+ "css_parser",
+ "css_ast",
+] }
+
+lazy_static.workspace = true
+serde_json.workspace = true
+regex.workspace = true
+dashmap.workspace = true
+indexmap.workspace = true
+derive_more.workspace = true
+convert_case.workspace = true
+murmur2.workspace = true
+radix_fmt.workspace = true
+phf = { workspace = true, features = ["macros"] }
+once_cell.workspace = true
+colored.workspace = true
+node-resolve.workspace = true
+path-clean.workspace = true
+cssparser.workspace = true
+anyhow.workspace = true
+log.workspace = true
+pretty_env_logger.workspace = true
+color-backtrace.workspace = true
+ctor.workspace = true
+env_logger.workspace = true
+
+swc_ecma_parser = { version = "*", features = ["verify"] }
+
+stylex_path_resolver = { path = "../stylex-path-resolver" }
+
+
+[dev-dependencies]
+swc_core = { workspace = true, features = ["testing_transform", "ecma_parser"] }
+testing.workspace = true
+insta = { workspace = true, features = ["yaml"] }
+
+
+# .cargo/config defines few alias to build plugin.
+# cargo build-wasi generates wasm-wasi32 binary
+# cargo build-wasm32 generates wasm32-unknown-unknown binary.
+
+# wasm-pack build --target web --dev -d dist --out-name index
diff --git a/crates/stylex-shared/LICENSE b/crates/stylex-shared/LICENSE
new file mode 100644
index 00000000..afae8f0e
--- /dev/null
+++ b/crates/stylex-shared/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Vladislav Buinovski
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/crates/stylex-shared/README.md b/crates/stylex-shared/README.md
new file mode 100644
index 00000000..31033617
--- /dev/null
+++ b/crates/stylex-shared/README.md
@@ -0,0 +1,12 @@
+# Shared SWC transformation utilities and configurations for StyleX
+
+## Overview
+
+This package provides a collection of reusable utilities and configurations for
+SWC transformations specifically tailored for the StyleX NAPI-RS compiler and
+SWC plugin. These shared components enhance the efficiency and maintainability
+of your StyleX-related build processes.
+
+## License
+
+StyleX is MIT licensed. Stylex SWC plugin is also MIT licensed.
diff --git a/crates/stylex-shared/package.json b/crates/stylex-shared/package.json
new file mode 100644
index 00000000..7826db04
--- /dev/null
+++ b/crates/stylex-shared/package.json
@@ -0,0 +1,44 @@
+{
+ "name": "@stylexswc/shared",
+ "description": "Shared code for stylex-swc-plugin and stylex-rs-compiler",
+ "version": "0.2.4",
+ "config": {
+ "scripty": {
+ "path": "../../scripts/packages"
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "keywords": [
+ "stylex",
+ "swc",
+ "swc-plugin",
+ "napi-rs",
+ "napi"
+ ],
+ "license": "MIT",
+ "private": true,
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": "dwlad90/stylex-swc-plugin",
+ "scripts": {
+ "build": "scripty --rust",
+ "check:artifacts": "[ -f ./dist/stylex_swc_plugin.wasm ] || { echo 'Artifacts does not exist'; exit 1; }",
+ "clean": "del-cli dist",
+ "docs": "scripty --rust",
+ "docs:open": "pnpm run docs --open",
+ "format": "cargo fmt --all",
+ "format:check": "cargo fmt -- --check",
+ "lint:check": " cargo clippy --all-targets --all-features -- -D warnings",
+ "precommit": "lint-staged",
+ "prepublishOnly": "pnpm run build",
+ "prepush": "lint-prepush",
+ "test:rs": "NODE_ENV=test cargo test --lib --bins --tests fixture_",
+ "test:wasm": "NODE_ENV=test cargo test --lib --bins --tests --features wasm",
+ "test": "pnpm run test:rs && pnpm run test:wasm",
+ "test:profile": "NODE_ENV=test cargo flamegraph --root --test"
+ },
+ "sideEffects": false
+}
diff --git a/crates/stylex-shared/src/lib.rs b/crates/stylex-shared/src/lib.rs
new file mode 100644
index 00000000..a2780a54
--- /dev/null
+++ b/crates/stylex-shared/src/lib.rs
@@ -0,0 +1,16 @@
+pub mod shared;
+pub mod transform;
+
+use shared::structures::stylex_options::StyleXOptionsParams;
+pub use transform::StyleXTransform;
+
+#[cfg(test)]
+mod tests {
+ use ctor::ctor;
+
+ #[ctor]
+ fn init_color_backtrace() {
+ pretty_env_logger::formatted_builder().init();
+ color_backtrace::install();
+ }
+}
diff --git a/crates/stylex-swc-plugin/src/shared/constants/application_order.rs b/crates/stylex-shared/src/shared/constants/application_order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/application_order.rs
rename to crates/stylex-shared/src/shared/constants/application_order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/common.rs b/crates/stylex-shared/src/shared/constants/common.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/common.rs
rename to crates/stylex-shared/src/shared/constants/common.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/cursor_flip.rs b/crates/stylex-shared/src/shared/constants/cursor_flip.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/cursor_flip.rs
rename to crates/stylex-shared/src/shared/constants/cursor_flip.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/expansions.rs b/crates/stylex-shared/src/shared/constants/expansions.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/expansions.rs
rename to crates/stylex-shared/src/shared/constants/expansions.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/legacy_expand_shorthands_order.rs b/crates/stylex-shared/src/shared/constants/legacy_expand_shorthands_order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/legacy_expand_shorthands_order.rs
rename to crates/stylex-shared/src/shared/constants/legacy_expand_shorthands_order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/length_units.rs b/crates/stylex-shared/src/shared/constants/length_units.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/length_units.rs
rename to crates/stylex-shared/src/shared/constants/length_units.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/long_hand_logical.rs b/crates/stylex-shared/src/shared/constants/long_hand_logical.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/long_hand_logical.rs
rename to crates/stylex-shared/src/shared/constants/long_hand_logical.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/long_hand_physical.rs b/crates/stylex-shared/src/shared/constants/long_hand_physical.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/long_hand_physical.rs
rename to crates/stylex-shared/src/shared/constants/long_hand_physical.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/messages.rs b/crates/stylex-shared/src/shared/constants/messages.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/messages.rs
rename to crates/stylex-shared/src/shared/constants/messages.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/mod.rs b/crates/stylex-shared/src/shared/constants/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/mod.rs
rename to crates/stylex-shared/src/shared/constants/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/number_properties.rs b/crates/stylex-shared/src/shared/constants/number_properties.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/number_properties.rs
rename to crates/stylex-shared/src/shared/constants/number_properties.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/priorities.rs b/crates/stylex-shared/src/shared/constants/priorities.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/priorities.rs
rename to crates/stylex-shared/src/shared/constants/priorities.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/property_specificity_order.rs b/crates/stylex-shared/src/shared/constants/property_specificity_order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/property_specificity_order.rs
rename to crates/stylex-shared/src/shared/constants/property_specificity_order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/shorthands_of_longhands.rs b/crates/stylex-shared/src/shared/constants/shorthands_of_longhands.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/shorthands_of_longhands.rs
rename to crates/stylex-shared/src/shared/constants/shorthands_of_longhands.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/shorthands_of_shorthands.rs b/crates/stylex-shared/src/shared/constants/shorthands_of_shorthands.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/shorthands_of_shorthands.rs
rename to crates/stylex-shared/src/shared/constants/shorthands_of_shorthands.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/time_units.rs b/crates/stylex-shared/src/shared/constants/time_units.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/time_units.rs
rename to crates/stylex-shared/src/shared/constants/time_units.rs
diff --git a/crates/stylex-swc-plugin/src/shared/constants/unitless_number_properties.rs b/crates/stylex-shared/src/shared/constants/unitless_number_properties.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/constants/unitless_number_properties.rs
rename to crates/stylex-shared/src/shared/constants/unitless_number_properties.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/core.rs b/crates/stylex-shared/src/shared/enums/core.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/core.rs
rename to crates/stylex-shared/src/shared/enums/core.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/css_syntax.rs b/crates/stylex-shared/src/shared/enums/data_structures/css_syntax.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/css_syntax.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/css_syntax.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/evaluate_result_value.rs b/crates/stylex-shared/src/shared/enums/data_structures/evaluate_result_value.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/evaluate_result_value.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/evaluate_result_value.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/flat_compiled_styles_value.rs b/crates/stylex-shared/src/shared/enums/data_structures/flat_compiled_styles_value.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/flat_compiled_styles_value.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/flat_compiled_styles_value.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/fn_result.rs b/crates/stylex-shared/src/shared/enums/data_structures/fn_result.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/fn_result.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/fn_result.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/import_path_resolution.rs b/crates/stylex-shared/src/shared/enums/data_structures/import_path_resolution.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/import_path_resolution.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/import_path_resolution.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/mod.rs b/crates/stylex-shared/src/shared/enums/data_structures/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/mod.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/obj_map_type.rs b/crates/stylex-shared/src/shared/enums/data_structures/obj_map_type.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/obj_map_type.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/obj_map_type.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/style_vars_to_keep.rs b/crates/stylex-shared/src/shared/enums/data_structures/style_vars_to_keep.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/style_vars_to_keep.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/style_vars_to_keep.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/top_level_expression.rs b/crates/stylex-shared/src/shared/enums/data_structures/top_level_expression.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/top_level_expression.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/top_level_expression.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/data_structures/value_with_default.rs b/crates/stylex-shared/src/shared/enums/data_structures/value_with_default.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/data_structures/value_with_default.rs
rename to crates/stylex-shared/src/shared/enums/data_structures/value_with_default.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/js.rs b/crates/stylex-shared/src/shared/enums/js.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/js.rs
rename to crates/stylex-shared/src/shared/enums/js.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/misc.rs b/crates/stylex-shared/src/shared/enums/misc.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/misc.rs
rename to crates/stylex-shared/src/shared/enums/misc.rs
diff --git a/crates/stylex-swc-plugin/src/shared/enums/mod.rs b/crates/stylex-shared/src/shared/enums/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/enums/mod.rs
rename to crates/stylex-shared/src/shared/enums/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/mod.rs b/crates/stylex-shared/src/shared/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/mod.rs
rename to crates/stylex-shared/src/shared/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/regex.rs b/crates/stylex-shared/src/shared/regex.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/regex.rs
rename to crates/stylex-shared/src/shared/regex.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/application_order.rs b/crates/stylex-shared/src/shared/structures/application_order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/application_order.rs
rename to crates/stylex-shared/src/shared/structures/application_order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/base_css_type.rs b/crates/stylex-shared/src/shared/structures/base_css_type.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/base_css_type.rs
rename to crates/stylex-shared/src/shared/structures/base_css_type.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/evaluate_result.rs b/crates/stylex-shared/src/shared/structures/evaluate_result.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/evaluate_result.rs
rename to crates/stylex-shared/src/shared/structures/evaluate_result.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/functions.rs b/crates/stylex-shared/src/shared/structures/functions.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/functions.rs
rename to crates/stylex-shared/src/shared/structures/functions.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/included_style.rs b/crates/stylex-shared/src/shared/structures/included_style.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/included_style.rs
rename to crates/stylex-shared/src/shared/structures/included_style.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/injectable_style.rs b/crates/stylex-shared/src/shared/structures/injectable_style.rs
similarity index 90%
rename from crates/stylex-swc-plugin/src/shared/structures/injectable_style.rs
rename to crates/stylex-shared/src/shared/structures/injectable_style.rs
index 31cdc9ee..633d0a06 100644
--- a/crates/stylex-swc-plugin/src/shared/structures/injectable_style.rs
+++ b/crates/stylex-shared/src/shared/structures/injectable_style.rs
@@ -5,9 +5,9 @@ use serde::{Deserialize, Serialize};
use crate::shared::utils::common::hash_f64;
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
-pub(crate) struct InjectableStyleBase {
- pub(crate) rtl: Option,
- pub(crate) ltr: String,
+pub struct InjectableStyleBase {
+ pub rtl: Option,
+ pub ltr: String,
}
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
diff --git a/crates/stylex-swc-plugin/src/shared/structures/legacy_expand_shorthands_order.rs b/crates/stylex-shared/src/shared/structures/legacy_expand_shorthands_order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/legacy_expand_shorthands_order.rs
rename to crates/stylex-shared/src/shared/structures/legacy_expand_shorthands_order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/member_transform.rs b/crates/stylex-shared/src/shared/structures/member_transform.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/member_transform.rs
rename to crates/stylex-shared/src/shared/structures/member_transform.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/meta_data.rs b/crates/stylex-shared/src/shared/structures/meta_data.rs
similarity index 86%
rename from crates/stylex-swc-plugin/src/shared/structures/meta_data.rs
rename to crates/stylex-shared/src/shared/structures/meta_data.rs
index a7a39084..05cb430d 100644
--- a/crates/stylex-swc-plugin/src/shared/structures/meta_data.rs
+++ b/crates/stylex-shared/src/shared/structures/meta_data.rs
@@ -18,7 +18,7 @@ where
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
-pub(crate) struct MetaData {
+pub struct MetaData {
class_name: String,
style: InjectableStyleBase,
#[serde(serialize_with = "f64_to_int")]
@@ -33,11 +33,11 @@ impl MetaData {
style: InjectableStyleBase::from(injectable_style),
}
}
- pub(crate) fn _get_style(&self) -> &InjectableStyleBase {
+ pub fn get_style(&self) -> &InjectableStyleBase {
&self.style
}
- pub(crate) fn get_css(&self) -> &str {
+ pub fn get_css(&self) -> &str {
self.style.ltr.as_str()
}
@@ -45,11 +45,11 @@ impl MetaData {
self.style.rtl.as_ref()
}
- pub(crate) fn get_class_name(&self) -> &str {
+ pub fn get_class_name(&self) -> &str {
&self.class_name
}
- pub(crate) fn get_priority(&self) -> &f64 {
+ pub fn get_priority(&self) -> &f64 {
&self.priority
}
diff --git a/crates/stylex-swc-plugin/src/shared/structures/mod.rs b/crates/stylex-shared/src/shared/structures/mod.rs
similarity index 97%
rename from crates/stylex-swc-plugin/src/shared/structures/mod.rs
rename to crates/stylex-shared/src/shared/structures/mod.rs
index ad419b5e..0f4b7d03 100644
--- a/crates/stylex-swc-plugin/src/shared/structures/mod.rs
+++ b/crates/stylex-shared/src/shared/structures/mod.rs
@@ -6,7 +6,7 @@ pub(crate) mod included_style;
pub(crate) mod injectable_style;
pub(crate) mod legacy_expand_shorthands_order;
pub(crate) mod member_transform;
-pub(crate) mod meta_data;
+pub mod meta_data;
pub mod named_import_source;
pub(crate) mod null_pre_rule;
pub(crate) mod order;
diff --git a/crates/stylex-swc-plugin/src/shared/structures/named_import_source.rs b/crates/stylex-shared/src/shared/structures/named_import_source.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/named_import_source.rs
rename to crates/stylex-shared/src/shared/structures/named_import_source.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/null_pre_rule.rs b/crates/stylex-shared/src/shared/structures/null_pre_rule.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/null_pre_rule.rs
rename to crates/stylex-shared/src/shared/structures/null_pre_rule.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/order.rs b/crates/stylex-shared/src/shared/structures/order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/order.rs
rename to crates/stylex-shared/src/shared/structures/order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/order_pair.rs b/crates/stylex-shared/src/shared/structures/order_pair.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/order_pair.rs
rename to crates/stylex-shared/src/shared/structures/order_pair.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/pair.rs b/crates/stylex-shared/src/shared/structures/pair.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/pair.rs
rename to crates/stylex-shared/src/shared/structures/pair.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/plugin_pass.rs b/crates/stylex-shared/src/shared/structures/plugin_pass.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/plugin_pass.rs
rename to crates/stylex-shared/src/shared/structures/plugin_pass.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/pre_included_styles_rule.rs b/crates/stylex-shared/src/shared/structures/pre_included_styles_rule.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/pre_included_styles_rule.rs
rename to crates/stylex-shared/src/shared/structures/pre_included_styles_rule.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/pre_rule.rs b/crates/stylex-shared/src/shared/structures/pre_rule.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/pre_rule.rs
rename to crates/stylex-shared/src/shared/structures/pre_rule.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/pre_rule_set.rs b/crates/stylex-shared/src/shared/structures/pre_rule_set.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/pre_rule_set.rs
rename to crates/stylex-shared/src/shared/structures/pre_rule_set.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/property_specificity.rs b/crates/stylex-shared/src/shared/structures/property_specificity.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/property_specificity.rs
rename to crates/stylex-shared/src/shared/structures/property_specificity.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/property_specificity_order.rs b/crates/stylex-shared/src/shared/structures/property_specificity_order.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/property_specificity_order.rs
rename to crates/stylex-shared/src/shared/structures/property_specificity_order.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/seen_value.rs b/crates/stylex-shared/src/shared/structures/seen_value.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/seen_value.rs
rename to crates/stylex-shared/src/shared/structures/seen_value.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/shorthands_of_shorthands.rs b/crates/stylex-shared/src/shared/structures/shorthands_of_shorthands.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/shorthands_of_shorthands.rs
rename to crates/stylex-shared/src/shared/structures/shorthands_of_shorthands.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/state.rs b/crates/stylex-shared/src/shared/structures/state.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/state.rs
rename to crates/stylex-shared/src/shared/structures/state.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/state_manager.rs b/crates/stylex-shared/src/shared/structures/state_manager.rs
similarity index 98%
rename from crates/stylex-swc-plugin/src/shared/structures/state_manager.rs
rename to crates/stylex-shared/src/shared/structures/state_manager.rs
index 736cfa71..85fc8f2f 100644
--- a/crates/stylex-swc-plugin/src/shared/structures/state_manager.rs
+++ b/crates/stylex-shared/src/shared/structures/state_manager.rs
@@ -89,7 +89,7 @@ pub struct StateManager {
pub(crate) in_stylex_create: bool,
pub(crate) options: Box,
- pub(crate) metadata: IndexMap>,
+ pub metadata: IndexMap>,
pub(crate) styles_to_inject: IndexMap, Vec>,
pub(crate) prepend_include_module_items: Vec,
pub(crate) prepend_import_module_items: Vec,
@@ -340,7 +340,6 @@ impl StateManager {
call: &CallExpr,
style: &IndexMap>,
ast: &Expr,
- var_name: &Option,
) {
if style.is_empty() {
return;
@@ -395,10 +394,7 @@ impl StateManager {
}
for metadata in metadatas {
- self.add_style(
- var_name.clone().unwrap_or("default".to_string()),
- metadata.clone(),
- );
+ self.add_style(metadata.clone());
self.add_style_to_inject(&metadata, &inject_var_ident, ast);
}
@@ -450,7 +446,8 @@ impl StateManager {
}
}
- fn add_style(&mut self, var_name: String, metadata: MetaData) {
+ fn add_style(&mut self, metadata: MetaData) {
+ let var_name = String::from("stylex");
let value = self.metadata.entry(var_name).or_default();
let class_name = metadata.get_class_name(); // Cache the class name
diff --git a/crates/stylex-swc-plugin/src/shared/structures/stylex_options.rs b/crates/stylex-shared/src/shared/structures/stylex_options.rs
similarity index 97%
rename from crates/stylex-swc-plugin/src/shared/structures/stylex_options.rs
rename to crates/stylex-shared/src/shared/structures/stylex_options.rs
index ab252e08..f1ed8e6e 100644
--- a/crates/stylex-swc-plugin/src/shared/structures/stylex_options.rs
+++ b/crates/stylex-shared/src/shared/structures/stylex_options.rs
@@ -62,9 +62,9 @@ pub enum Aliases {
#[derive(Deserialize, Debug, Clone)]
#[serde(rename_all(deserialize = "camelCase", serialize = "PascalCase"))]
pub struct ModuleResolution {
- pub(crate) r#type: String,
- pub(crate) root_dir: Option,
- pub(crate) theme_file_extension: Option,
+ pub r#type: String,
+ pub root_dir: Option,
+ pub theme_file_extension: Option,
}
#[derive(Deserialize, Debug, Clone)]
diff --git a/crates/stylex-swc-plugin/src/shared/structures/stylex_state_options.rs b/crates/stylex-shared/src/shared/structures/stylex_state_options.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/stylex_state_options.rs
rename to crates/stylex-shared/src/shared/structures/stylex_state_options.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/tests/flatten_raw_style_objects_test.rs b/crates/stylex-shared/src/shared/structures/tests/flatten_raw_style_objects_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/tests/flatten_raw_style_objects_test.rs
rename to crates/stylex-shared/src/shared/structures/tests/flatten_raw_style_objects_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/tests/gen_css_test.rs b/crates/stylex-shared/src/shared/structures/tests/gen_css_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/tests/gen_css_test.rs
rename to crates/stylex-shared/src/shared/structures/tests/gen_css_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/tests/mod.rs b/crates/stylex-shared/src/shared/structures/tests/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/tests/mod.rs
rename to crates/stylex-shared/src/shared/structures/tests/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/theme_ref.rs b/crates/stylex-shared/src/shared/structures/theme_ref.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/theme_ref.rs
rename to crates/stylex-shared/src/shared/structures/theme_ref.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/types.rs b/crates/stylex-shared/src/shared/structures/types.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/types.rs
rename to crates/stylex-shared/src/shared/structures/types.rs
diff --git a/crates/stylex-swc-plugin/src/shared/structures/uid_generator.rs b/crates/stylex-shared/src/shared/structures/uid_generator.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/structures/uid_generator.rs
rename to crates/stylex-shared/src/shared/structures/uid_generator.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/mod.rs b/crates/stylex-shared/src/shared/transformers/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/mod.rs
rename to crates/stylex-shared/src/shared/transformers/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_create.rs b/crates/stylex-shared/src/shared/transformers/stylex_create.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_create.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_create.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_create_theme.rs b/crates/stylex-shared/src/shared/transformers/stylex_create_theme.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_create_theme.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_create_theme.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_define_vars.rs b/crates/stylex-shared/src/shared/transformers/stylex_define_vars.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_define_vars.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_define_vars.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_first_that_works.rs b/crates/stylex-shared/src/shared/transformers/stylex_first_that_works.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_first_that_works.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_first_that_works.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_include.rs b/crates/stylex-shared/src/shared/transformers/stylex_include.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_include.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_include.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_keyframes.rs b/crates/stylex-shared/src/shared/transformers/stylex_keyframes.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_keyframes.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_keyframes.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/stylex_types.rs b/crates/stylex-shared/src/shared/transformers/stylex_types.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/stylex_types.rs
rename to crates/stylex-shared/src/shared/transformers/stylex_types.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/mod.rs b/crates/stylex-shared/src/shared/transformers/tests/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/mod.rs
rename to crates/stylex-shared/src/shared/transformers/tests/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_create_test.rs b/crates/stylex-shared/src/shared/transformers/tests/stylex_create_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_create_test.rs
rename to crates/stylex-shared/src/shared/transformers/tests/stylex_create_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_create_theme_test.rs b/crates/stylex-shared/src/shared/transformers/tests/stylex_create_theme_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_create_theme_test.rs
rename to crates/stylex-shared/src/shared/transformers/tests/stylex_create_theme_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_define_vars_test.rs b/crates/stylex-shared/src/shared/transformers/tests/stylex_define_vars_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_define_vars_test.rs
rename to crates/stylex-shared/src/shared/transformers/tests/stylex_define_vars_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_first_that_works_test.rs b/crates/stylex-shared/src/shared/transformers/tests/stylex_first_that_works_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_first_that_works_test.rs
rename to crates/stylex-shared/src/shared/transformers/tests/stylex_first_that_works_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_keyframes_test.rs b/crates/stylex-shared/src/shared/transformers/tests/stylex_keyframes_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_keyframes_test.rs
rename to crates/stylex-shared/src/shared/transformers/tests/stylex_keyframes_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_types_test_test.rs b/crates/stylex-shared/src/shared/transformers/tests/stylex_types_test_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/transformers/tests/stylex_types_test_test.rs
rename to crates/stylex-shared/src/shared/transformers/tests/stylex_types_test_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/ast/convertors.rs b/crates/stylex-shared/src/shared/utils/ast/convertors.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/ast/convertors.rs
rename to crates/stylex-shared/src/shared/utils/ast/convertors.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/ast/factories.rs b/crates/stylex-shared/src/shared/utils/ast/factories.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/ast/factories.rs
rename to crates/stylex-shared/src/shared/utils/ast/factories.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/ast/mod.rs b/crates/stylex-shared/src/shared/utils/ast/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/ast/mod.rs
rename to crates/stylex-shared/src/shared/utils/ast/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/ast/tests/convertors_tests.rs b/crates/stylex-shared/src/shared/utils/ast/tests/convertors_tests.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/ast/tests/convertors_tests.rs
rename to crates/stylex-shared/src/shared/utils/ast/tests/convertors_tests.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/ast/tests/mod.rs b/crates/stylex-shared/src/shared/utils/ast/tests/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/ast/tests/mod.rs
rename to crates/stylex-shared/src/shared/utils/ast/tests/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/common.rs b/crates/stylex-shared/src/shared/utils/common.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/common.rs
rename to crates/stylex-shared/src/shared/utils/common.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/attrs.rs b/crates/stylex-shared/src/shared/utils/core/attrs.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/attrs.rs
rename to crates/stylex-shared/src/shared/utils/core/attrs.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/convert_style_to_class_name.rs b/crates/stylex-shared/src/shared/utils/core/convert_style_to_class_name.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/convert_style_to_class_name.rs
rename to crates/stylex-shared/src/shared/utils/core/convert_style_to_class_name.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/define_vars_utils.rs b/crates/stylex-shared/src/shared/utils/core/define_vars_utils.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/define_vars_utils.rs
rename to crates/stylex-shared/src/shared/utils/core/define_vars_utils.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/dev_class_name.rs b/crates/stylex-shared/src/shared/utils/core/dev_class_name.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/dev_class_name.rs
rename to crates/stylex-shared/src/shared/utils/core/dev_class_name.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/evaluate_stylex_create_arg.rs b/crates/stylex-shared/src/shared/utils/core/evaluate_stylex_create_arg.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/evaluate_stylex_create_arg.rs
rename to crates/stylex-shared/src/shared/utils/core/evaluate_stylex_create_arg.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/flat_map_expanded_shorthands.rs b/crates/stylex-shared/src/shared/utils/core/flat_map_expanded_shorthands.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/flat_map_expanded_shorthands.rs
rename to crates/stylex-shared/src/shared/utils/core/flat_map_expanded_shorthands.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/flatten_raw_style_object.rs b/crates/stylex-shared/src/shared/utils/core/flatten_raw_style_object.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/flatten_raw_style_object.rs
rename to crates/stylex-shared/src/shared/utils/core/flatten_raw_style_object.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/js_to_expr.rs b/crates/stylex-shared/src/shared/utils/core/js_to_expr.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/js_to_expr.rs
rename to crates/stylex-shared/src/shared/utils/core/js_to_expr.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/make_string_expression.rs b/crates/stylex-shared/src/shared/utils/core/make_string_expression.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/make_string_expression.rs
rename to crates/stylex-shared/src/shared/utils/core/make_string_expression.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/member_expression.rs b/crates/stylex-shared/src/shared/utils/core/member_expression.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/member_expression.rs
rename to crates/stylex-shared/src/shared/utils/core/member_expression.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/mod.rs b/crates/stylex-shared/src/shared/utils/core/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/mod.rs
rename to crates/stylex-shared/src/shared/utils/core/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/parse_nullable_style.rs b/crates/stylex-shared/src/shared/utils/core/parse_nullable_style.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/parse_nullable_style.rs
rename to crates/stylex-shared/src/shared/utils/core/parse_nullable_style.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/props.rs b/crates/stylex-shared/src/shared/utils/core/props.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/props.rs
rename to crates/stylex-shared/src/shared/utils/core/props.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/stylex.rs b/crates/stylex-shared/src/shared/utils/core/stylex.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/stylex.rs
rename to crates/stylex-shared/src/shared/utils/core/stylex.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/stylex_merge.rs b/crates/stylex-shared/src/shared/utils/core/stylex_merge.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/stylex_merge.rs
rename to crates/stylex-shared/src/shared/utils/core/stylex_merge.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/tests/convert_to_class_name_test.rs b/crates/stylex-shared/src/shared/utils/core/tests/convert_to_class_name_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/tests/convert_to_class_name_test.rs
rename to crates/stylex-shared/src/shared/utils/core/tests/convert_to_class_name_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/tests/mod.rs b/crates/stylex-shared/src/shared/utils/core/tests/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/tests/mod.rs
rename to crates/stylex-shared/src/shared/utils/core/tests/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/core/tests/stylex_tests.rs b/crates/stylex-shared/src/shared/utils/core/tests/stylex_tests.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/core/tests/stylex_tests.rs
rename to crates/stylex-shared/src/shared/utils/core/tests/stylex_tests.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/common.rs b/crates/stylex-shared/src/shared/utils/css/common.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/common.rs
rename to crates/stylex-shared/src/shared/utils/css/common.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/mod.rs b/crates/stylex-shared/src/shared/utils/css/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/mod.rs
rename to crates/stylex-shared/src/shared/utils/css/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/normalizers/base.rs b/crates/stylex-shared/src/shared/utils/css/normalizers/base.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/normalizers/base.rs
rename to crates/stylex-shared/src/shared/utils/css/normalizers/base.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/normalizers/mod.rs b/crates/stylex-shared/src/shared/utils/css/normalizers/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/normalizers/mod.rs
rename to crates/stylex-shared/src/shared/utils/css/normalizers/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/normalizers/tests/base.rs b/crates/stylex-shared/src/shared/utils/css/normalizers/tests/base.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/normalizers/tests/base.rs
rename to crates/stylex-shared/src/shared/utils/css/normalizers/tests/base.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/normalizers/tests/mod.rs b/crates/stylex-shared/src/shared/utils/css/normalizers/tests/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/normalizers/tests/mod.rs
rename to crates/stylex-shared/src/shared/utils/css/normalizers/tests/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/normalizers/whitespace_normalizer.rs b/crates/stylex-shared/src/shared/utils/css/normalizers/whitespace_normalizer.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/normalizers/whitespace_normalizer.rs
rename to crates/stylex-shared/src/shared/utils/css/normalizers/whitespace_normalizer.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/parser.rs b/crates/stylex-shared/src/shared/utils/css/parser.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/parser.rs
rename to crates/stylex-shared/src/shared/utils/css/parser.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/tests/css_custom_properties_validation_test.rs b/crates/stylex-shared/src/shared/utils/css/tests/css_custom_properties_validation_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/tests/css_custom_properties_validation_test.rs
rename to crates/stylex-shared/src/shared/utils/css/tests/css_custom_properties_validation_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/tests/css_tests.rs b/crates/stylex-shared/src/shared/utils/css/tests/css_tests.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/tests/css_tests.rs
rename to crates/stylex-shared/src/shared/utils/css/tests/css_tests.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/tests/mod.rs b/crates/stylex-shared/src/shared/utils/css/tests/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/tests/mod.rs
rename to crates/stylex-shared/src/shared/utils/css/tests/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/tests/split_value_test.rs b/crates/stylex-shared/src/shared/utils/css/tests/split_value_test.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/tests/split_value_test.rs
rename to crates/stylex-shared/src/shared/utils/css/tests/split_value_test.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/validators/mod.rs b/crates/stylex-shared/src/shared/utils/css/validators/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/validators/mod.rs
rename to crates/stylex-shared/src/shared/utils/css/validators/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/css/validators/unprefixed_custom_properties.rs b/crates/stylex-shared/src/shared/utils/css/validators/unprefixed_custom_properties.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/css/validators/unprefixed_custom_properties.rs
rename to crates/stylex-shared/src/shared/utils/css/validators/unprefixed_custom_properties.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/factories/expression.rs b/crates/stylex-shared/src/shared/utils/factories/expression.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/factories/expression.rs
rename to crates/stylex-shared/src/shared/utils/factories/expression.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/factories/mod.rs b/crates/stylex-shared/src/shared/utils/factories/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/factories/mod.rs
rename to crates/stylex-shared/src/shared/utils/factories/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/js/evaluate.rs b/crates/stylex-shared/src/shared/utils/js/evaluate.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/js/evaluate.rs
rename to crates/stylex-shared/src/shared/utils/js/evaluate.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/js/mod.rs b/crates/stylex-shared/src/shared/utils/js/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/js/mod.rs
rename to crates/stylex-shared/src/shared/utils/js/mod.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/js/native_functions.rs b/crates/stylex-shared/src/shared/utils/js/native_functions.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/js/native_functions.rs
rename to crates/stylex-shared/src/shared/utils/js/native_functions.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/log/mod.rs b/crates/stylex-shared/src/shared/utils/log/mod.rs
similarity index 91%
rename from crates/stylex-swc-plugin/src/shared/utils/log/mod.rs
rename to crates/stylex-shared/src/shared/utils/log/mod.rs
index cf8c1277..6e9e52a9 100644
--- a/crates/stylex-swc-plugin/src/shared/utils/log/mod.rs
+++ b/crates/stylex-shared/src/shared/utils/log/mod.rs
@@ -15,7 +15,7 @@ fn max_target_width(target: &str) -> usize {
}
}
-pub(crate) fn log_formatter(f: &mut Formatter, record: &log::Record) -> std::io::Result<()> {
+pub fn log_formatter(f: &mut Formatter, record: &log::Record) -> std::io::Result<()> {
use std::io::Write;
let target = record.target();
diff --git a/crates/stylex-swc-plugin/src/shared/utils/mod.rs b/crates/stylex-shared/src/shared/utils/mod.rs
similarity index 84%
rename from crates/stylex-swc-plugin/src/shared/utils/mod.rs
rename to crates/stylex-shared/src/shared/utils/mod.rs
index cb078e61..18058e45 100644
--- a/crates/stylex-swc-plugin/src/shared/utils/mod.rs
+++ b/crates/stylex-shared/src/shared/utils/mod.rs
@@ -3,6 +3,6 @@ pub mod common;
pub mod core;
pub mod css;
pub mod js;
-pub(crate) mod log;
+pub mod log;
pub mod object;
pub(crate) mod validators;
diff --git a/crates/stylex-swc-plugin/src/shared/utils/object.rs b/crates/stylex-shared/src/shared/utils/object.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/object.rs
rename to crates/stylex-shared/src/shared/utils/object.rs
diff --git a/crates/stylex-swc-plugin/src/shared/utils/validators.rs b/crates/stylex-shared/src/shared/utils/validators.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/shared/utils/validators.rs
rename to crates/stylex-shared/src/shared/utils/validators.rs
diff --git a/crates/stylex-swc-plugin/src/transform/fold.rs b/crates/stylex-shared/src/transform/fold.rs
similarity index 96%
rename from crates/stylex-swc-plugin/src/transform/fold.rs
rename to crates/stylex-shared/src/transform/fold.rs
index 7a423bc9..5314d8f3 100644
--- a/crates/stylex-swc-plugin/src/transform/fold.rs
+++ b/crates/stylex-shared/src/transform/fold.rs
@@ -14,6 +14,7 @@ mod fold_stmts;
mod fold_var_declarator;
mod fold_var_declarators;
+use super::StyleXTransform;
use swc_core::{
common::comments::Comments,
ecma::{
@@ -25,9 +26,7 @@ use swc_core::{
},
};
-use crate::ModuleTransformVisitor;
-
-impl Fold for ModuleTransformVisitor
+impl Fold for StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_computed_prop_name_impl.rs b/crates/stylex-shared/src/transform/fold/fold_computed_prop_name_impl.rs
similarity index 93%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_computed_prop_name_impl.rs
rename to crates/stylex-shared/src/transform/fold/fold_computed_prop_name_impl.rs
index e65d5487..cae216d9 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_computed_prop_name_impl.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_computed_prop_name_impl.rs
@@ -11,10 +11,10 @@ use crate::{
enums::core::TransformationCycle,
utils::{ast::convertors::expr_to_str, common::increase_ident_count},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_export_decl.rs b/crates/stylex-shared/src/transform/fold/fold_export_decl.rs
similarity index 93%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_export_decl.rs
rename to crates/stylex-shared/src/transform/fold/fold_export_decl.rs
index 83926e93..ee0081eb 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_export_decl.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_export_decl.rs
@@ -8,10 +8,10 @@ use swc_core::{
use crate::{
shared::{enums::core::TransformationCycle, utils::common::increase_ident_count_by_count},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_export_default_expr.rs b/crates/stylex-shared/src/transform/fold/fold_export_default_expr.rs
similarity index 94%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_export_default_expr.rs
rename to crates/stylex-shared/src/transform/fold/fold_export_default_expr.rs
index bca1ca0e..ac662c6a 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_export_default_expr.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_export_default_expr.rs
@@ -5,10 +5,10 @@ use swc_core::{
use crate::{
shared::{enums::core::TransformationCycle, utils::common::normalize_expr},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_expr.rs b/crates/stylex-shared/src/transform/fold/fold_expr.rs
similarity index 86%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_expr.rs
rename to crates/stylex-shared/src/transform/fold/fold_expr.rs
index 91050adc..06d00878 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_expr.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_expr.rs
@@ -3,9 +3,9 @@ use swc_core::{
ecma::{ast::Expr, visit::FoldWith},
};
-use crate::{shared::enums::core::TransformationCycle, ModuleTransformVisitor};
+use crate::{shared::enums::core::TransformationCycle, StyleXTransform};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_ident.rs b/crates/stylex-shared/src/transform/fold/fold_ident.rs
similarity index 90%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_ident.rs
rename to crates/stylex-shared/src/transform/fold/fold_ident.rs
index a9ee9708..bd710078 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_ident.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_ident.rs
@@ -5,10 +5,10 @@ use crate::{
enums::core::TransformationCycle,
utils::common::{increase_ident_count, reduce_ident_count},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_import_decl.rs b/crates/stylex-shared/src/transform/fold/fold_import_decl.rs
similarity index 98%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_import_decl.rs
rename to crates/stylex-shared/src/transform/fold/fold_import_decl.rs
index 446d47f8..d108088d 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_import_decl.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_import_decl.rs
@@ -8,10 +8,10 @@ use crate::{
constants::messages::MUST_BE_DEFAULT_IMPORT, enums::core::TransformationCycle,
structures::named_import_source::ImportSources,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_member_expression.rs b/crates/stylex-shared/src/transform/fold/fold_member_expression.rs
similarity index 97%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_member_expression.rs
rename to crates/stylex-shared/src/transform/fold/fold_member_expression.rs
index 2de06802..51742e9b 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_member_expression.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_member_expression.rs
@@ -14,10 +14,10 @@ use crate::{
},
utils::common::{increase_ident_count, increase_member_ident_count, reduce_member_ident_count},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_member_prop.rs b/crates/stylex-shared/src/transform/fold/fold_member_prop.rs
similarity index 81%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_member_prop.rs
rename to crates/stylex-shared/src/transform/fold/fold_member_prop.rs
index 6164328c..2fc6b9cd 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_member_prop.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_member_prop.rs
@@ -3,9 +3,9 @@ use swc_core::{
ecma::{ast::MemberProp, visit::FoldWith},
};
-use crate::{shared::enums::core::TransformationCycle, ModuleTransformVisitor};
+use crate::{shared::enums::core::TransformationCycle, StyleXTransform};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_module.rs b/crates/stylex-shared/src/transform/fold/fold_module.rs
similarity index 56%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_module.rs
rename to crates/stylex-shared/src/transform/fold/fold_module.rs
index ca3c408d..876ebf26 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_module.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_module.rs
@@ -1,17 +1,19 @@
use swc_core::{
- common::comments::{Comment, CommentKind, Comments},
+ common::comments::Comments,
ecma::{ast::Module, visit::FoldWith},
};
use crate::{
- shared::{
- enums::core::TransformationCycle, structures::meta_data::MetaData,
- utils::common::fill_top_level_expressions,
- },
- ModuleTransformVisitor,
+ shared::{enums::core::TransformationCycle, utils::common::fill_top_level_expressions},
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+#[cfg(feature = "wasm")]
+use crate::shared::structures::meta_data::MetaData;
+#[cfg(feature = "wasm")]
+use swc_core::common::comments::{Comment, CommentKind};
+
+impl StyleXTransform
where
C: Comments,
{
@@ -30,32 +32,35 @@ where
self.state.cycle = TransformationCycle::TransformExit;
module = module.fold_children_with(self);
- if !&self.state.metadata.is_empty() {
- if self.comments.has_leading(module.span.lo) {
- self.comments.take_leading(module.span.lo);
- }
+ #[cfg(feature = "wasm")]
+ {
+ if !&self.state.metadata.is_empty() {
+ if self.comments.has_leading(module.span.lo) {
+ self.comments.take_leading(module.span.lo);
+ }
- // Preparing stylex metadata for css extraction
- self.comments.add_leading(
- module.span.lo,
- Comment {
- kind: CommentKind::Line,
- text: format!(
- "__stylex_metadata_start__{}__stylex_metadata_end__",
- serde_json::to_string(
- &self
- .state
- .metadata
- .iter()
- .flat_map(|v| v.1.clone())
- .collect::>()
+ // Preparing stylex metadata for css extraction
+ self.comments.add_leading(
+ module.span.lo,
+ Comment {
+ kind: CommentKind::Line,
+ text: format!(
+ "__stylex_metadata_start__{}__stylex_metadata_end__",
+ serde_json::to_string(
+ &self
+ .state
+ .metadata
+ .iter()
+ .flat_map(|v| v.1.clone())
+ .collect::>()
+ )
+ .unwrap()
)
- .unwrap()
- )
- .into(),
- span: module.span,
- },
- );
+ .into(),
+ span: module.span,
+ },
+ );
+ }
}
if self.state.options.runtime_injection.is_some() {
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_module_items.rs b/crates/stylex-shared/src/transform/fold/fold_module_items.rs
similarity index 98%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_module_items.rs
rename to crates/stylex-shared/src/transform/fold/fold_module_items.rs
index 48d83f6d..01ef4405 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_module_items.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_module_items.rs
@@ -9,10 +9,10 @@ use swc_core::{
use crate::{
shared::{enums::core::TransformationCycle, utils::ast::factories::binding_ident_factory},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_prop_name.rs b/crates/stylex-shared/src/transform/fold/fold_prop_name.rs
similarity index 80%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_prop_name.rs
rename to crates/stylex-shared/src/transform/fold/fold_prop_name.rs
index 6440e4b5..6c99f5e4 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_prop_name.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_prop_name.rs
@@ -3,9 +3,9 @@ use swc_core::{
ecma::{ast::PropName, visit::FoldWith},
};
-use crate::{shared::enums::core::TransformationCycle, ModuleTransformVisitor};
+use crate::{shared::enums::core::TransformationCycle, StyleXTransform};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_stmt.rs b/crates/stylex-shared/src/transform/fold/fold_stmt.rs
similarity index 87%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_stmt.rs
rename to crates/stylex-shared/src/transform/fold/fold_stmt.rs
index 22be675c..455792c9 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_stmt.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_stmt.rs
@@ -7,9 +7,9 @@ use swc_core::{
},
};
-use crate::{shared::enums::core::TransformationCycle, ModuleTransformVisitor};
+use crate::{shared::enums::core::TransformationCycle, StyleXTransform};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_stmts.rs b/crates/stylex-shared/src/transform/fold/fold_stmts.rs
similarity index 82%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_stmts.rs
rename to crates/stylex-shared/src/transform/fold/fold_stmts.rs
index 1732b169..e81e8714 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_stmts.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_stmts.rs
@@ -3,9 +3,9 @@ use swc_core::{
ecma::{ast::Stmt, visit::FoldWith},
};
-use crate::{shared::enums::core::TransformationCycle, ModuleTransformVisitor};
+use crate::{shared::enums::core::TransformationCycle, StyleXTransform};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_var_declarator.rs b/crates/stylex-shared/src/transform/fold/fold_var_declarator.rs
similarity index 99%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_var_declarator.rs
rename to crates/stylex-shared/src/transform/fold/fold_var_declarator.rs
index 0cfc110d..19d46b25 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_var_declarator.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_var_declarator.rs
@@ -20,10 +20,10 @@ use crate::{
},
utils::ast::convertors::transform_shorthand_to_key_values,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/fold/fold_var_declarators.rs b/crates/stylex-shared/src/transform/fold/fold_var_declarators.rs
similarity index 91%
rename from crates/stylex-swc-plugin/src/transform/fold/fold_var_declarators.rs
rename to crates/stylex-shared/src/transform/fold/fold_var_declarators.rs
index df3a4ec9..d62afb24 100644
--- a/crates/stylex-swc-plugin/src/transform/fold/fold_var_declarators.rs
+++ b/crates/stylex-shared/src/transform/fold/fold_var_declarators.rs
@@ -6,9 +6,9 @@ use swc_core::{
},
};
-use crate::{shared::enums::core::TransformationCycle, ModuleTransformVisitor};
+use crate::{shared::enums::core::TransformationCycle, StyleXTransform};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/mod.rs b/crates/stylex-shared/src/transform/mod.rs
similarity index 95%
rename from crates/stylex-swc-plugin/src/transform/mod.rs
rename to crates/stylex-shared/src/transform/mod.rs
index 29e0eb89..e87b22a5 100644
--- a/crates/stylex-swc-plugin/src/transform/mod.rs
+++ b/crates/stylex-shared/src/transform/mod.rs
@@ -23,24 +23,20 @@ mod fold;
pub(crate) mod styleq;
pub(crate) mod stylex;
-pub struct ModuleTransformVisitor
+pub struct StyleXTransform
where
C: Comments,
{
- comments: C,
+ pub comments: C,
props_declaration: Option,
- pub(crate) state: Box,
+ pub state: Box,
}
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
- pub(crate) fn new(
- comments: C,
- plugin_pass: Box,
- config: &mut StyleXOptionsParams,
- ) -> Self {
+ pub fn new(comments: C, plugin_pass: Box, config: &mut StyleXOptionsParams) -> Self {
let stylex_imports = fill_stylex_imports(&Some(config));
let mut state = Box::new(StateManager::new(config.clone().into()));
@@ -51,7 +47,7 @@ where
state._state = plugin_pass;
- ModuleTransformVisitor {
+ StyleXTransform {
comments,
props_declaration: None,
state,
@@ -89,7 +85,7 @@ where
state._state = plugin_pass;
- ModuleTransformVisitor {
+ StyleXTransform {
comments,
props_declaration: None,
state,
@@ -123,7 +119,7 @@ where
state._state = Box::new(plugin_pass);
- ModuleTransformVisitor {
+ StyleXTransform {
comments,
props_declaration: None,
state,
diff --git a/crates/stylex-swc-plugin/src/transform/styleq/common.rs b/crates/stylex-shared/src/transform/styleq/common.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/transform/styleq/common.rs
rename to crates/stylex-shared/src/transform/styleq/common.rs
diff --git a/crates/stylex-swc-plugin/src/transform/styleq/mod.rs b/crates/stylex-shared/src/transform/styleq/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/transform/styleq/mod.rs
rename to crates/stylex-shared/src/transform/styleq/mod.rs
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/mod.rs b/crates/stylex-shared/src/transform/stylex/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/src/transform/stylex/mod.rs
rename to crates/stylex-shared/src/transform/stylex/mod.rs
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_attrs_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_attrs_call.rs
similarity index 88%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_attrs_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_attrs_call.rs
index e0ff420c..f9607aa1 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_attrs_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_attrs_call.rs
@@ -8,10 +8,10 @@ use crate::{
core::{attrs::attrs, stylex_merge::stylex_merge},
validators::is_attrs_call,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_call.rs
similarity index 93%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_call.rs
index c281a22f..fcd44a7a 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_call.rs
@@ -8,10 +8,10 @@ use crate::{
structures::named_import_source::ImportSources,
utils::core::{stylex::stylex, stylex_merge::stylex_merge},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_calls.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_calls.rs
similarity index 97%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_calls.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_calls.rs
index 991f54b7..47780237 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_calls.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_calls.rs
@@ -5,9 +5,9 @@ use swc_core::{
};
use crate::shared::enums::core::TransformationCycle;
-use crate::ModuleTransformVisitor;
+use crate::StyleXTransform;
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_create_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_create_call.rs
similarity index 98%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_create_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_create_call.rs
index 47af27a3..1311e9b7 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_create_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_create_call.rs
@@ -36,9 +36,9 @@ use crate::shared::{
structures::{functions::FunctionConfigType, types::FunctionMapIdentifiers},
utils::ast::factories::prop_or_spread_expression_factory,
};
-use crate::ModuleTransformVisitor;
+use crate::StyleXTransform;
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
@@ -238,7 +238,7 @@ where
self
.state
- .register_styles(call, &injected_styles, &result_ast, var_name);
+ .register_styles(call, &injected_styles, &result_ast);
Some(result_ast)
} else {
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_create_theme_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_create_theme_call.rs
similarity index 97%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_create_theme_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_create_theme_call.rs
index 38de4211..841700f2 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_create_theme_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_create_theme_call.rs
@@ -32,9 +32,9 @@ use crate::shared::{
transformers::stylex_create_theme::stylex_create_theme,
utils::core::dev_class_name::convert_theme_to_test_styles,
};
-use crate::ModuleTransformVisitor;
+use crate::StyleXTransform;
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
@@ -158,7 +158,7 @@ where
self
.state
- .register_styles(call, &inject_styles, &result_ast, &var_name);
+ .register_styles(call, &inject_styles, &result_ast);
return Some(result_ast);
} else {
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_define_vars_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_define_vars_call.rs
similarity index 95%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_define_vars_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_define_vars_call.rs
index dbb819cc..70422b5b 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_define_vars_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_define_vars_call.rs
@@ -27,9 +27,9 @@ use crate::shared::{
},
};
-use crate::ModuleTransformVisitor;
+use crate::StyleXTransform;
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
@@ -130,14 +130,12 @@ where
let mut injected_styles = self.state.injected_keyframes.clone();
injected_styles.extend(injected_styles_sans_keyframes);
- let (var_name, _) = self.get_call_var_name(call);
-
let result_ast =
convert_object_to_ast(&NestedStringObject::FlatCompiledStylesValues(variables_obj));
self
.state
- .register_styles(call, &injected_styles, &result_ast, &var_name);
+ .register_styles(call, &injected_styles, &result_ast);
return Some(result_ast);
} else {
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_keyframes_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_keyframes_call.rs
similarity index 95%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_keyframes_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_keyframes_call.rs
index b53f633e..5ab054a2 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_keyframes_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_keyframes_call.rs
@@ -23,9 +23,9 @@ use crate::shared::{
use crate::shared::{
transformers::stylex_keyframes::stylex_keyframes, utils::js::evaluate::evaluate,
};
-use crate::ModuleTransformVisitor;
+use crate::StyleXTransform;
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
@@ -126,8 +126,6 @@ where
let (animation_name, injectable_style) = stylex_keyframes(&plain_object, &mut self.state);
- let (var_name, _) = &self.get_call_var_name(call);
-
let mut injected_styles = IndexMap::new();
injected_styles.insert(animation_name.clone(), Box::new(injectable_style));
@@ -136,7 +134,7 @@ where
self
.state
- .register_styles(call, &injected_styles, &result_ast, var_name);
+ .register_styles(call, &injected_styles, &result_ast);
Some(result_ast)
} else {
diff --git a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_props_call.rs b/crates/stylex-shared/src/transform/stylex/transform_stylex_props_call.rs
similarity index 88%
rename from crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_props_call.rs
rename to crates/stylex-shared/src/transform/stylex/transform_stylex_props_call.rs
index d5257687..b287d19a 100644
--- a/crates/stylex-swc-plugin/src/transform/stylex/transform_stylex_props_call.rs
+++ b/crates/stylex-shared/src/transform/stylex/transform_stylex_props_call.rs
@@ -8,10 +8,10 @@ use crate::{
core::{props::props, stylex_merge::stylex_merge},
validators::is_props_call,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
-impl ModuleTransformVisitor
+impl StyleXTransform
where
C: Comments,
{
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_metadata_test/stylex_metadata_common_test.rs/stylex_metadata_is_correctly_set.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_metadata_test/stylex_metadata_common_test.rs/stylex_metadata_is_correctly_set.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_metadata_test/stylex_metadata_common_test.rs/stylex_metadata_is_correctly_set.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_metadata_test/stylex_metadata_common_test.rs/stylex_metadata_is_correctly_set.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex_props.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex_props.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex_props.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/trying_to_use_an_unknown_style_in_stylex_props.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_in_a_for_loop.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_in_a_for_loop.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_in_a_for_loop.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_in_a_for_loop.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_props_in_a_loop.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_props_in_a_loop.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_props_in_a_loop.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/accounts_for_edge_cases.rs/using_stylex_props_in_a_loop.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_border_shorthands_with_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_border_shorthands_with_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_border_shorthands_with_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_border_shorthands_with_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_export_default.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_export_default.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_export_default.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_export_default.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_export_default.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_export_default.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_export_default.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_export_default.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_named_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_named_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_named_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_inline_named_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_named_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_named_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_named_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access_named_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries_within_props.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries_within_props.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries_within_props.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries_within_props.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_export_default.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_export_default.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_export_default.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_export_default.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_export_default.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_export_default.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_export_default.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_export_default.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_named_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_named_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_named_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_inline_named_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_named_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_named_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_named_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_call_with_named_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_keeps_spaces_around_operators.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_keeps_spaces_around_operators.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_keeps_spaces_around_operators.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs/stylex_keeps_spaces_around_operators.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_from_custom_source.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_from_custom_source.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_from_custom_source.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_from_custom_source.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_with_other_name_from_custom_source.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_with_other_name_from_custom_source.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_with_other_name_from_custom_source.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/setting_custom_import_paths.rs/named_import_with_other_name_from_custom_source.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_exported_stylex_create_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_exported_stylex_create_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_exported_stylex_create_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_exported_stylex_create_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_extended.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_extended.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_extended.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_extended.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/specific_edge_case_bugs.rs/basic_stylex_call_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/empty_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/empty_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/empty_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/empty_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed_second.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed_second.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed_second.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_nulls_that_are_needed_second.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_styles_that_are_needed.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_styles_that_are_needed.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_styles_that_are_needed.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_keeps_only_the_styles_that_are_needed.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_media_queries_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number_without_declaration.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number_without_declaration.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number_without_declaration.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_computed_number_without_declaration.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_exported_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_exported_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_exported_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_exported_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_multiple_namespaces.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_multiple_namespaces.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_multiple_namespaces.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_multiple_namespaces.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_number.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_number.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_number.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_number.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_styles_variable_assignment.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_styles_variable_assignment.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_styles_variable_assignment.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_with_styles_variable_assignment.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_within_variable_declarations.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_within_variable_declarations.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_within_variable_declarations.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_call_within_variable_declarations.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_keeps_all_null_when_applied_after_unknown.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_keeps_all_null_when_applied_after_unknown.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_keeps_all_null_when_applied_after_unknown.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs/stylex_keeps_all_null_when_applied_after_unknown.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_call_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/adds_null_for_constituent_properties_of_shorthands.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/adds_null_for_constituent_properties_of_shorthands.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/adds_null_for_constituent_properties_of_shorthands.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/adds_null_for_constituent_properties_of_shorthands.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/auto_expands_shorthands.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/auto_expands_shorthands.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/auto_expands_shorthands.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/auto_expands_shorthands.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/can_leave_shorthands_as_is_when_configured.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/can_leave_shorthands_as_is_when_configured.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/can_leave_shorthands_as_is_when_configured.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/can_leave_shorthands_as_is_when_configured.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/does_not_transform_attr_fn_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/does_not_transform_attr_fn_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/does_not_transform_attr_fn_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/does_not_transform_attr_fn_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/last_property_wins_even_if_shorthand.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/last_property_wins_even_if_shorthand.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/last_property_wins_even_if_shorthand.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/last_property_wins_even_if_shorthand.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/leaves_transition_properties_of_custom_properties_alone.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/leaves_transition_properties_of_custom_properties_alone.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/leaves_transition_properties_of_custom_properties_alone.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/leaves_transition_properties_of_custom_properties_alone.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks_within_media_query.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks_within_media_query.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks_within_media_query.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_array_values_as_fallbacks_within_media_query.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_complex_property_values_containing_custom_properties_variables.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_complex_property_values_containing_custom_properties_variables.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_complex_property_values_containing_custom_properties_variables.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_complex_property_values_containing_custom_properties_variables.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_multiple_namespaces.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_multiple_namespaces.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_multiple_namespaces.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_multiple_namespaces.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_to_css.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_to_css.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_to_css.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_to_css.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_within_properties_to_css.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_within_properties_to_css.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_within_properties_to_css.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_nested_pseudo_class_within_properties_to_css.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_properties_requiring_vendor_prefixes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_properties_requiring_vendor_prefixes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_properties_requiring_vendor_prefixes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_properties_requiring_vendor_prefixes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property_as_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property_as_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property_as_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_custom_property_as_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_gradient.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_gradient.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_gradient.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_gradient.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_import_wildcard.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_import_wildcard.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_import_wildcard.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_import_wildcard.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_key_containing_differend_types.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_key_containing_differend_types.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_key_containing_differend_types.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_key_containing_differend_types.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_named_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_named_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_named_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_object_with_named_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_when_have_unassigned_variable.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_when_have_unassigned_variable.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_when_have_unassigned_variable.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_style_when_have_unassigned_variable.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_valid_shorthands.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_valid_shorthands.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_valid_shorthands.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/transforms_valid_shorthands.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_first_that_works_correctly.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_first_that_works_correctly.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_first_that_works_correctly.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_first_that_works_correctly.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_include_correctly_with_member_expressions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_include_correctly_with_member_expressions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_include_correctly_with_member_expressions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/uses_stylex_include_correctly_with_member_expressions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/using_stylex_include_keeps_the_compiled_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/using_stylex_include_keeps_the_compiled_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/using_stylex_include_keeps_the_compiled_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call.rs/using_stylex_include_keeps_the_compiled_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_invalid_pseudo_class.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_invalid_pseudo_class.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_invalid_pseudo_class.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_invalid_pseudo_class.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_valid_pseudo_classes_in_order.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_valid_pseudo_classes_in_order.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_valid_pseudo_classes_in_order.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs/transforms_valid_pseudo_classes_in_order.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_invalid_pseudo_class.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_invalid_pseudo_class.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_invalid_pseudo_class.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_invalid_pseudo_class.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_pseudo_class_with_array_value_as_fallbacks.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_valid_pseudo_classes_in_order.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_valid_pseudo_classes_in_order.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_valid_pseudo_classes_in_order.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs/transforms_valid_pseudo_classes_in_order.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_before_and_after.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_before_and_after.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_before_and_after.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_before_and_after.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_placeholder.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_placeholder.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_placeholder.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_placeholder.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_thumb.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_thumb.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_thumb.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs/transforms_thumb.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_media_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_media_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_media_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_media_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_supports_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_supports_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_supports_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries.rs/transforms_supports_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/adds_units_for_numbers_in_style_object_with_function.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/adds_units_for_numbers_in_style_object_with_function.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/adds_units_for_numbers_in_style_object_with_function.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/adds_units_for_numbers_in_style_object_with_function.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_functions_with_nested_dynamic_values.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_functions_with_nested_dynamic_values.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_functions_with_nested_dynamic_values.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_functions_with_nested_dynamic_values.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_mix_of_objects_and_functions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_mix_of_objects_and_functions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_mix_of_objects_and_functions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_mix_of_objects_and_functions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_style_object_with_function.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_style_object_with_function.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_style_object_with_function.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_style_object_with_function.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_styles_that_set_css_vars.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_styles_that_set_css_vars.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_styles_that_set_css_vars.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs/transforms_styles_that_set_css_vars.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_media_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_media_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_media_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_media_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_supports_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_supports_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_supports_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs/transforms_supports_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_pure_complex_expressions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_pure_complex_expressions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_pure_complex_expressions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_pure_complex_expressions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_references_to_local_variables_with_static_values.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_references_to_local_variables_with_static_values.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_references_to_local_variables_with_static_values.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_references_to_local_variables_with_static_values.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_template_literal_references.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_template_literal_references.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_template_literal_references.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/allows_template_literal_references.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_referenced_local_variables_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_referenced_local_variables_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_referenced_local_variables_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_referenced_local_variables_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path_and_extended_options.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path_and_extended_options.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path_and_extended_options.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_commonjs_with_nested_file_path_and_extended_options.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_dev_env.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_dev_env.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_dev_env.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_dev_env.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_env.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_env.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_env.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_in_non_haste_env.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_variables_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_variables_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_variables_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_variables_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_import_asterisk.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_import_asterisk.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_import_asterisk.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_import_asterisk.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_symbols.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_symbols.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_symbols.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_symbols.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_types.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_types.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_types.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_key_containing_differend_types.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_named_import.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_named_import.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_named_import.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_named_import.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_calls.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_calls.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_calls.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_nested_defined_vars_calls.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_stylex_types_wrapper.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_stylex_types_wrapper.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_stylex_types_wrapper.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_object_with_stylex_types_wrapper.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_objects_with_references_to_local_variables.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_objects_with_references_to_local_variables.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_objects_with_references_to_local_variables.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs/transforms_variables_objects_with_references_to_local_variables.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export_with_parenthesis.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export_with_parenthesis.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export_with_parenthesis.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/default_export_with_parenthesis.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/does_nothing_when_stylex_not_imported.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/does_nothing_when_stylex_not_imported.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/does_nothing_when_stylex_not_imported.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/does_nothing_when_stylex_not_imported.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_requires.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_requires.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_requires.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/ignores_valid_requires.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/module_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/module_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/module_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/module_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_declaration_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_declaration_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_declaration_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_declaration_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_property_export.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_property_export.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_property_export.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/stylex_validation_import_test.rs/named_property_export.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create_with_alias.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create_with_alias.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create_with_alias.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_just_create_with_alias.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_wildcard.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_wildcard.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_wildcard.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_wildcard.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_with_a_different_name.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_with_a_different_name.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_with_a_different_name.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/can_import_with_a_different_name.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/transform_import_aliases.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/transform_import_aliases.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/transform_import_aliases.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_import_aliases.rs/transform_import_aliases.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_as_all_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_as_all_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_as_all_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_as_all_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_default_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_default_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_default_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_default_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports_with_other_named_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports_with_other_named_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports_with_other_named_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_import_test/transform_with_custom_imports.rs/handles_custom_named_imports_with_other_named_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_exported_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_exported_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_exported_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_exported_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions_with_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions_with_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions_with_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs/stylex_call_with_short_form_property_collisions_with_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_exported_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_exported_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_exported_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_exported_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions_with_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions_with_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions_with_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs/stylex_call_with_short_form_property_collisions_with_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_color.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_color.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_color.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_color.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_color.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_color.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_color.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_color.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_style.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_style.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_style.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_style.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_end_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_color.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_color.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_color.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_color.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_style.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_style.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_style.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_style.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_start_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_style.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_style.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_style.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_style.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_block_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_style.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_style.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_style.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_style.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_end_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_style.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_style.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_style.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_style.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_start_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_style.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_style.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_style.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_style.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/border_inline_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_block_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/inset_inline_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/legacy_short_form_property_value_flipping.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/legacy_short_form_property_value_flipping.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/legacy_short_form_property_value_flipping.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/legacy_short_form_property_value_flipping.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_block_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/margin_inline_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_end_aka_inset_inline_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_end_aka_inset_inline_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_end_aka_inset_inline_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_end_aka_inset_inline_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_end_aka_margin_inline_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_end_aka_margin_inline_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_end_aka_margin_inline_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_end_aka_margin_inline_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_horizontal_aka_margin_inline.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_horizontal_aka_margin_inline.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_horizontal_aka_margin_inline.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_horizontal_aka_margin_inline.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_vertical_aka_margin_block.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_vertical_aka_margin_block.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_vertical_aka_margin_block.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_margin_vertical_aka_margin_block.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_end_aka_padding_inline_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_end_aka_padding_inline_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_end_aka_padding_inline_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_end_aka_padding_inline_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_horizontal_aka_padding_inline.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_horizontal_aka_padding_inline.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_horizontal_aka_padding_inline.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_horizontal_aka_padding_inline.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_start_aka_padding_inline_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_start_aka_padding_inline_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_start_aka_padding_inline_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_start_aka_padding_inline_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_vertical_aka_padding_block.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_vertical_aka_padding_block.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_vertical_aka_padding_block.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_padding_vertical_aka_padding_block.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_start_aka_inset_inline_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_start_aka_inset_inline_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_start_aka_inset_inline_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/non_standard_start_aka_inset_inline_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_block_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_properties_test/css_logical_properties.rs/padding_inline_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_e_resize_for_cursor_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_e_resize_for_cursor_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_e_resize_for_cursor_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_e_resize_for_cursor_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_ne_resize_for_cursor_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_ne_resize_for_cursor_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_ne_resize_for_cursor_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_ne_resize_for_cursor_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_nw_resize_for_cursor_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_nw_resize_for_cursor_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_nw_resize_for_cursor_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_nw_resize_for_cursor_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_animation_name_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_animation_name_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_animation_name_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_animation_name_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_end.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_end.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_end.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_end.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_start.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_start.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_start.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_background_position_property_top_start.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_full_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_full_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_full_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_full_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value_double.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value_double.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value_double.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_full_positive_value_double.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_short_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_short_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_short_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_inset_short_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_negative_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_negative_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_negative_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_negative_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_none.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_none.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_none.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_none.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_box_shadow_property_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_full_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_full_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_full_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_full_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value_double.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value_double.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value_double.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_inset_full_positive_value_double.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_negative_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_negative_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_negative_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_negative_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_none.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_none.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_none.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_none.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_short_positive_value.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_short_positive_value.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_short_positive_value.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_of_text_shadow_property_short_positive_value.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_se_resize_for_cursor_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_se_resize_for_cursor_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_se_resize_for_cursor_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_se_resize_for_cursor_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_sw_resize_for_cursor_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_sw_resize_for_cursor_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_sw_resize_for_cursor_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_sw_resize_for_cursor_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_w_resize_for_cursor_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_w_resize_for_cursor_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_w_resize_for_cursor_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/legacy_value_w_resize_for_cursor_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_clear_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_clear_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_clear_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_clear_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_float_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_float_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_float_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_end_aka_inline_end_for_float_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_clear_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_clear_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_clear_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_clear_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_float_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_float_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_float_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/non_standard_value_start_aka_inline_start_for_float_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_end_for_text_align_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_end_for_text_align_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_end_for_text_align_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_end_for_text_align_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_clear_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_clear_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_clear_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_clear_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_float_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_float_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_float_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_end_for_float_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_clear_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_clear_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_clear_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_clear_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_float_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_float_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_float_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_inline_start_for_float_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_start_for_text_align_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_start_for_text_align_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_start_for_text_align_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_logical_values_test/css_logical_values.rs/value_start_for_text_align_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_pure_complex_expressions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_pure_complex_expressions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_pure_complex_expressions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_pure_complex_expressions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_references_to_local_variables_with_static_values.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_references_to_local_variables_with_static_values.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_references_to_local_variables_with_static_values.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_references_to_local_variables_with_static_values.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_template_literal_references.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_template_literal_references.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_template_literal_references.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/allows_template_literal_references.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_multiple_variables_objects_in_a_single_file_in_dev_mode.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_typed_object_overrides.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_typed_object_overrides.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_typed_object_overrides.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_typed_object_overrides.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_and_add_stylex_inject_in_dev_mode.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_common_js_with_nested_file_path.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_common_js_with_nested_file_path.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_common_js_with_nested_file_path.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_common_js_with_nested_file_path.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_dev_env.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_dev_env.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_dev_env.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_dev_env.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_env.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_env.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_env.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_object_in_non_haste_env.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_objects_with_references_to_local_variables.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_objects_with_references_to_local_variables.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_objects_with_references_to_local_variables.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme.rs/transforms_variables_objects_with_references_to_local_variables.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs/transforms_variables_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs/transforms_variables_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs/transforms_variables_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs/transforms_variables_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars_with_literals.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars_with_literals.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars_with_literals.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_override_vars_test/define_vars.rs/output_of_stylex_define_vars_with_literals.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/line_clamp.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/line_clamp.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/line_clamp.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/line_clamp.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/pointer_events.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/pointer_events.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/pointer_events.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/pointer_events.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/scrollbar_width.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/scrollbar_width.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/scrollbar_width.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_polyfills_test/stylex_polyfills.rs/scrollbar_width.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/empty_stylex_props_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/empty_stylex_props_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/empty_stylex_props_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/empty_stylex_props_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_media_queries_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_using_styles_with_support_queries_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_number.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_number.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_number.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_number.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_string.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_string.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_string.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_computed_string.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_exported_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_exported_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_exported_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_exported_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_multiple_namespaces.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_multiple_namespaces.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_multiple_namespaces.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_multiple_namespaces.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_number.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_number.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_number.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_number.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_styles_variable_assignment.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_styles_variable_assignment.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_styles_variable_assignment.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_with_styles_variable_assignment.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_export_declarations.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_export_declarations.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_export_declarations.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_export_declarations.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_variable_declarations.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_variable_declarations.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_variable_declarations.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs/stylex_call_within_variable_declarations.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs/stylex_create_theme_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs/stylex_create_theme_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs/stylex_create_theme_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs/stylex_create_theme_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_inline_references_to_keyframes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_inline_references_to_keyframes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_inline_references_to_keyframes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_inline_references_to_keyframes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_template_literal_references_to_keyframes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_template_literal_references_to_keyframes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_template_literal_references_to_keyframes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/allows_template_literal_references_to_keyframes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_no_add_inject_if_exit.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_no_add_inject_if_exit.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_no_add_inject_if_exit.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_no_add_inject_if_exit.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_import_wildcard.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_import_wildcard.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_import_wildcard.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_import_wildcard.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_named_import.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_named_import.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_named_import.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/converts_keyframes_to_css_with_named_import.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/empty_stylex_props_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/empty_stylex_props_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/empty_stylex_props_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/empty_stylex_props_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/generates_rtl_specific_keyframes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/generates_rtl_specific_keyframes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/generates_rtl_specific_keyframes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs/generates_rtl_specific_keyframes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_composition_of_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_computed_key_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs/stylex_call_with_mixed_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_using_exported_styles_with_pseudo_selectors_and_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_composition_of_external_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs/stylex_call_with_computed_key_access.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs/basic_stylex_call_exported.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/basic_stylex_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/basic_stylex_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/basic_stylex_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/basic_stylex_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/empty_stylex_props_call.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/empty_stylex_props_call.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/empty_stylex_props_call.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/empty_stylex_props_call.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_media_queries_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_pseudo_selectors_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries_within_property.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries_within_property.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries_within_property.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_using_styles_with_support_queries_within_property.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_number.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_number.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_number.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_number.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_string.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_string.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_string.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_computed_string.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_exported_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_exported_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_exported_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_exported_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_multiple_namespaces.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_multiple_namespaces.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_multiple_namespaces.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_multiple_namespaces.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_number.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_number.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_number.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_number.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_short_form_properties.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_short_form_properties.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_short_form_properties.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_short_form_properties.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_styles_variable_assignment.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_styles_variable_assignment.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_styles_variable_assignment.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_with_styles_variable_assignment.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_export_declarations.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_export_declarations.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_export_declarations.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_export_declarations.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_variable_declarations.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_variable_declarations.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_variable_declarations.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/stylex_props_call.rs/stylex_call_within_variable_declarations.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_and_null_collisions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_conditions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_reverting_by_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs/stylex_call_with_short_form_property_collisions_with_null.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_collisions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_name_with_conditions_skip_conditional.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_stylex_props_test/with_plugin_options.rs/stylex_call_produces_dev_class_names.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/calc_preserves_spaces_around_plus_and_minus.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/calc_preserves_spaces_around_plus_and_minus.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/calc_preserves_spaces_around_plus_and_minus.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/calc_preserves_spaces_around_plus_and_minus.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/content_property_values_are_wrapped_in_quotes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/content_property_values_are_wrapped_in_quotes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/content_property_values_are_wrapped_in_quotes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/content_property_values_are_wrapped_in_quotes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/legacy_no_space_before_bang_important.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/legacy_no_space_before_bang_important.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/legacy_no_space_before_bang_important.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/legacy_no_space_before_bang_important.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/no_dimensions_for_zero_values.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/no_dimensions_for_zero_values.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/no_dimensions_for_zero_values.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/no_dimensions_for_zero_values.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_color.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_color.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_color.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_color.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_transform.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_transform.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_transform.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/normalize_whitespace_in_css_values_transform.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/number_values_rounded_down_to_four_decimal_points.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/number_values_rounded_down_to_four_decimal_points.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/number_values_rounded_down_to_four_decimal_points.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/number_values_rounded_down_to_four_decimal_points.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/strip_leading_zeros.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/strip_leading_zeros.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/strip_leading_zeros.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/strip_leading_zeros.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/timing_values_are_converted_to_seconds_unless_than_ten_ms.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/timing_values_are_converted_to_seconds_unless_than_ten_ms.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/timing_values_are_converted_to_seconds_unless_than_ten_ms.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/timing_values_are_converted_to_seconds_unless_than_ten_ms.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/transforms_non_unitless_property_values.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/transforms_non_unitless_property_values.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/transforms_non_unitless_property_values.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/transforms_non_unitless_property_values.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/use_double_quotes_in_empty_strings.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/use_double_quotes_in_empty_strings.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/use_double_quotes_in_empty_strings.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/use_double_quotes_in_empty_strings.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_angles_are_all_zero_deg.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_angles_are_all_zero_deg.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_angles_are_all_zero_deg.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_angles_are_all_zero_deg.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_timings_are_all_zero_s.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_timings_are_all_zero_s.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_timings_are_all_zero_s.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/css_value_normalization.rs/zero_timings_are_all_zero_s.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size_with_calc.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size_with_calc.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size_with_calc.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs/ignores_px_font_size_with_calc.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem_even_with_calc.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem_even_with_calc.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem_even_with_calc.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs/transforms_font_size_from_px_to_rem_even_with_calc.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/keeps_used_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/keeps_used_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/keeps_used_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/keeps_used_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/removes_unused_styles.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/removes_unused_styles.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/removes_unused_styles.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs/removes_unused_styles.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/its_only_argument_must_be_a_single_object_correct_argument_length.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/its_only_argument_must_be_a_single_object_correct_argument_length.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/its_only_argument_must_be_a_single_object_correct_argument_length.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/its_only_argument_must_be_a_single_object_correct_argument_length.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/namespace_values_can_be_an_empty_object.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/namespace_values_can_be_an_empty_object.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/namespace_values_can_be_an_empty_object.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/namespace_values_can_be_an_empty_object.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_cannot_be_nested.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_cannot_be_nested.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_cannot_be_nested.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_cannot_be_nested.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_invalid_pseudo.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_invalid_pseudo.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_invalid_pseudo.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_invalid_pseudo.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_must_start_with_colon_character.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_must_start_with_colon_character.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_must_start_with_colon_character.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/pseudo_classes_must_start_with_colon_character.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_pure_complex_expressions_in_stylex_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_pure_complex_expressions_in_stylex_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_pure_complex_expressions_in_stylex_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_pure_complex_expressions_in_stylex_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_static_arrays_of_number_or_string_in_stylex_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_static_arrays_of_number_or_string_in_stylex_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_static_arrays_of_number_or_string_in_stylex_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_static_arrays_of_number_or_string_in_stylex_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_template_literal_expressions_in_stylex_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_template_literal_expressions_in_stylex_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_template_literal_expressions_in_stylex_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_be_template_literal_expressions_in_stylex_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_reference_local_bindings_in_stylex_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_reference_local_bindings_in_stylex_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_reference_local_bindings_in_stylex_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create.rs/values_can_reference_local_bindings_in_stylex_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs/dynamic_style_function_only_accepts_named_parameters_valid.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs/dynamic_style_function_only_accepts_named_parameters_valid.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs/dynamic_style_function_only_accepts_named_parameters_valid.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs/dynamic_style_function_only_accepts_named_parameters_valid.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/it_must_have_two_arguments_valid.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/it_must_have_two_arguments_valid.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/it_must_have_two_arguments_valid.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/it_must_have_two_arguments_valid.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v1.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v1.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v1.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v1.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v2.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v2.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v2.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs/values_must_be_static_number_or_string_in_stylex_create_theme_v2.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_double.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_double.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_double.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_double.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_simple.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_simple.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_simple.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_defined_custom_properties_simple.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_double_not_defined.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_double_not_defined.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_double_not_defined.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_double_not_defined.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_not_defined.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_not_defined.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_not_defined.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_not_defined.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_regular.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_regular.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_regular.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs/allow_undefined_custom_properties_regular.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/its_only_argument_must_be_a_single_object_valid.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/its_only_argument_must_be_a_single_object_valid.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/its_only_argument_must_be_a_single_object_valid.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/its_only_argument_must_be_a_single_object_valid.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/values_must_be_static_number_or_string_or_keyframes_in_stylex_define_vars.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/values_must_be_static_number_or_string_or_keyframes_in_stylex_define_vars.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/values_must_be_static_number_or_string_or_keyframes_in_stylex_define_vars.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs/values_must_be_static_number_or_string_or_keyframes_in_stylex_define_vars.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/ignore_non_stylex_imports.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/ignore_non_stylex_imports.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/ignore_non_stylex_imports.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/ignore_non_stylex_imports.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_default_export_of_stylex_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_default_export_of_stylex_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_default_export_of_stylex_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_default_export_of_stylex_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_named_export_of_stylex_create.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_named_export_of_stylex_create.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_named_export_of_stylex_create.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_import_test/stylex_imports.rs/support_named_export_of_stylex_create.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/allow_defined_css_variables_in_keyframes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/allow_defined_css_variables_in_keyframes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/allow_defined_css_variables_in_keyframes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/allow_defined_css_variables_in_keyframes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid_filled.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid_filled.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid_filled.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs/only_argument_must_be_an_object_of_objects_valid_filled.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes_and_inject_to_react_component.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes_and_inject_to_react_component.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes_and_inject_to_react_component.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_multiple_simple_css_classes_and_inject_to_react_component.js
diff --git a/crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_simple_css_class.js b/crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_simple_css_class.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_simple_css_class.js
rename to crates/stylex-shared/tests/__swc_snapshots__/tests/stylex_validation_regular_css.rs/transform_simple_css_class.js
diff --git a/crates/stylex-swc-plugin/tests/evaluation/args_module_transform.rs b/crates/stylex-shared/tests/evaluation/args_module_transform.rs
similarity index 94%
rename from crates/stylex-swc-plugin/tests/evaluation/args_module_transform.rs
rename to crates/stylex-shared/tests/evaluation/args_module_transform.rs
index 1067cb7d..5047866b 100644
--- a/crates/stylex-swc-plugin/tests/evaluation/args_module_transform.rs
+++ b/crates/stylex-shared/tests/evaluation/args_module_transform.rs
@@ -1,6 +1,6 @@
use std::collections::HashMap;
-use stylex_swc_plugin::shared::{
+use stylex_shared::shared::{
enums::data_structures::evaluate_result_value::EvaluateResultValue,
structures::{functions::FunctionMap, state_manager::StateManager},
utils::{
@@ -20,15 +20,15 @@ use swc_core::{
visit::{Fold, FoldWith},
},
};
-pub(crate) struct ArgsModuleTransformVisitor {
+pub(crate) struct ArgsStyleXTransform {
pub(crate) functions: FunctionMap,
pub(crate) declarations: Vec,
pub(crate) state: StateManager,
}
-impl Default for ArgsModuleTransformVisitor {
+impl Default for ArgsStyleXTransform {
fn default() -> Self {
- ArgsModuleTransformVisitor {
+ ArgsStyleXTransform {
functions: FunctionMap {
identifiers: HashMap::new(),
member_expressions: HashMap::new(),
@@ -39,7 +39,7 @@ impl Default for ArgsModuleTransformVisitor {
}
}
-impl Fold for ArgsModuleTransformVisitor {
+impl Fold for ArgsStyleXTransform {
fn fold_var_declarators(&mut self, var_declarators: Vec) -> Vec {
var_declarators.iter().for_each(|decl| {
if let Pat::Ident(_) = &decl.name {
diff --git a/crates/stylex-swc-plugin/tests/evaluation/evaluation_module_transform.rs b/crates/stylex-shared/tests/evaluation/evaluation_module_transform.rs
similarity index 92%
rename from crates/stylex-swc-plugin/tests/evaluation/evaluation_module_transform.rs
rename to crates/stylex-shared/tests/evaluation/evaluation_module_transform.rs
index 2cc4292c..3d02c9d4 100644
--- a/crates/stylex-swc-plugin/tests/evaluation/evaluation_module_transform.rs
+++ b/crates/stylex-shared/tests/evaluation/evaluation_module_transform.rs
@@ -1,6 +1,6 @@
use std::collections::HashMap;
-use stylex_swc_plugin::shared::{
+use stylex_shared::shared::{
enums::data_structures::evaluate_result_value::EvaluateResultValue,
structures::{functions::FunctionMap, state_manager::StateManager},
utils::{ast::convertors::number_to_expression, js::evaluate::evaluate},
@@ -12,15 +12,15 @@ use swc_core::{
visit::{Fold, FoldWith},
},
};
-pub(crate) struct EvaluationModuleTransformVisitor {
+pub(crate) struct EvaluationStyleXTransform {
pub(crate) functions: FunctionMap,
pub(crate) declarations: Vec,
pub(crate) state: StateManager,
}
-impl Default for EvaluationModuleTransformVisitor {
+impl Default for EvaluationStyleXTransform {
fn default() -> Self {
- EvaluationModuleTransformVisitor {
+ EvaluationStyleXTransform {
functions: FunctionMap {
identifiers: HashMap::new(),
member_expressions: HashMap::new(),
@@ -31,7 +31,7 @@ impl Default for EvaluationModuleTransformVisitor {
}
}
-impl Fold for EvaluationModuleTransformVisitor {
+impl Fold for EvaluationStyleXTransform {
fn fold_var_declarators(&mut self, var_declarators: Vec) -> Vec {
var_declarators.iter().for_each(|decl| {
if let Pat::Ident(_) = &decl.name {
diff --git a/crates/stylex-swc-plugin/tests/evaluation/mod.rs b/crates/stylex-shared/tests/evaluation/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/mod.rs
rename to crates/stylex-shared/tests/evaluation/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/evaluating_function_expressions.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/evaluating_function_expressions.rs
similarity index 87%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/evaluating_function_expressions.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/evaluating_function_expressions.rs
index f83fa3ed..66808dd2 100644
--- a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/evaluating_function_expressions.rs
+++ b/crates/stylex-shared/tests/evaluation/stylex_evaluation/evaluating_function_expressions.rs
@@ -5,7 +5,7 @@ use swc_core::ecma::{
transforms::testing::test_transform,
};
-use crate::evaluation::evaluation_module_transform::EvaluationModuleTransformVisitor;
+use crate::evaluation::evaluation_module_transform::EvaluationStyleXTransform;
#[test]
fn function_with_a_single_params() {
@@ -14,7 +14,7 @@ fn function_with_a_single_params() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const double = x => x * 2;
"#,
@@ -32,7 +32,7 @@ fn function_with_a_two_params() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const double = (a, b) => a + b;
"#,
@@ -50,7 +50,7 @@ fn array_map() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = [1, 2, 3].map(x => x * 2);
"#,
@@ -68,7 +68,7 @@ fn array_filter() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = [1, 2, 3].filter(x => x % 2 === 0);
"#,
@@ -86,7 +86,7 @@ fn array_join() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = [1, 2, 3].join(", ");
const x = ['a', 'b', 'c'].join(":");
@@ -106,7 +106,7 @@ fn array_map_and_filter() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = [1, 2, 3].map(x => x * 2).filter(x => x % 2 === 0);
const y = [1, 2, 3].map(x => x ** 2).filter(x => x % 3 !== 0).map(x => x * 3);
@@ -128,7 +128,7 @@ fn array_methods() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const a = [1, 2, 3, 4, 5, 6, 7, 8, 9].map(x => x * 2);
const b = [1, 2, 3, 4, 5, 6, 7, 8, 9].filter(x => x % 3 !== 0);
@@ -150,7 +150,7 @@ fn object_methods() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const a = Object.keys({a: 1, b: 2, c: 3});
const b = Object.values({a: 1, b: 2, c: 3});
@@ -178,7 +178,7 @@ fn object_entries() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Object.entries({a: 1, b: 2, c: 4}).filter((entry) => entry[1] % 2 === 0);
const x = Object.fromEntries(Object.entries({a: 1, b: 2, c: 4}).filter((entry) => entry[1] % 2 === 0));
@@ -205,7 +205,7 @@ fn methods_called_by_string_should_be_bind() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = "".concat("10px"," ").concat("10px");
const x = "abc".charCodeAt(0);
@@ -228,7 +228,7 @@ fn math_pow() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.pow(2, 3);
const x = Math.pow(8, 4);
@@ -248,7 +248,7 @@ fn math_round() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.round(2);
const x = Math.round(2.5);
@@ -272,7 +272,7 @@ fn math_ceil() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.ceil(2);
const x = Math.ceil(2.5);
@@ -296,7 +296,7 @@ fn math_floor() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.floor(2);
const x = Math.floor(2.5);
@@ -324,7 +324,7 @@ fn math_min() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.min(2);
const x = Math.min(3,1,2);
@@ -348,7 +348,7 @@ fn math_max() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.max(2);
const x = Math.max(2,3,1);
@@ -374,7 +374,7 @@ fn math_complicated() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Math.min(Math.round(16 / Math.pow(1.2, 3) / 0.16) / 100);
const x = Math.round(100 * (Math.round(16 / Math.pow(1.2, 3) / 0.16) / 100 - (16 * (Math.round(20 / Math.pow(1.333, 3) / 0.16) / 100 - Math.round(15 / Math.pow(1.2, 2) / 0.16) / 10016)) / (1240 - 320) * (320 / 16))) / 100
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/mod.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/mod.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_evaluation_common.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_evaluation_common.rs
similarity index 92%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_evaluation_common.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_evaluation_common.rs
index e33ba42c..993a9d71 100644
--- a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_evaluation_common.rs
+++ b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_evaluation_common.rs
@@ -1,6 +1,6 @@
use std::collections::HashMap;
-use stylex_swc_plugin::shared::{
+use stylex_shared::shared::{
structures::{
functions::{FunctionConfig, FunctionConfigType, FunctionMap, FunctionType},
named_import_source::ImportSources,
@@ -21,7 +21,7 @@ use swc_core::{
},
};
-use crate::evaluation::evaluation_module_transform::EvaluationModuleTransformVisitor;
+use crate::evaluation::evaluation_module_transform::EvaluationStyleXTransform;
#[test]
fn evaluates_primitive_value_expressions() {
@@ -30,7 +30,7 @@ fn evaluates_primitive_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
1 + 2;
1 - 2;
@@ -84,7 +84,7 @@ fn evaluates_simple_arrays_and_objects() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = {};
const x = {name: "Name", age: 43};
@@ -110,7 +110,7 @@ fn evaluates_objects_with_spreads() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = {name: "Name", ...({hero: true}), age: 43};
const x = {name: "Name", ...({name: "StyleXToOverride", age: 1, name: "StyleX"}), age: 43};
@@ -133,7 +133,7 @@ fn evaluates_built_in_functions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
const x = Object.getOwnPropertyNames({a: 2});
"#,
@@ -184,7 +184,7 @@ fn evaluates_customs_functions() {
Box::new(identifiers.clone()),
);
- EvaluationModuleTransformVisitor {
+ EvaluationStyleXTransform {
functions: FunctionMap {
identifiers,
member_expressions,
@@ -237,7 +237,7 @@ fn evaluates_custom_functions_that_return_non_static_values() {
Box::new(FunctionConfigType::Regular(make_class)),
);
- EvaluationModuleTransformVisitor {
+ EvaluationStyleXTransform {
functions: FunctionMap {
identifiers,
member_expressions: HashMap::new(),
@@ -286,7 +286,7 @@ fn evaluates_custom_functions_used_as_spread_values() {
Box::new(FunctionConfigType::Regular(make_obj)),
);
- EvaluationModuleTransformVisitor {
+ EvaluationStyleXTransform {
functions: FunctionMap {
identifiers,
member_expressions: HashMap::new(),
@@ -341,7 +341,7 @@ fn evaluates_custom_functions_that_take_paths() {
Box::new(FunctionConfigType::Regular(get_node)),
);
- EvaluationModuleTransformVisitor {
+ EvaluationStyleXTransform {
functions: FunctionMap {
identifiers,
member_expressions: HashMap::new(),
@@ -367,7 +367,7 @@ fn evaluates_unary_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
!1;
!0;
@@ -418,7 +418,7 @@ fn evaluates_void_unary_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
void 1;
@@ -436,7 +436,7 @@ fn evaluates_delete_unary_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
delete a.b;
@@ -453,7 +453,7 @@ fn evaluates_sequence_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
(1,2,3);
(1,2,3,4,5);
@@ -481,7 +481,7 @@ fn evaluates_ts_as_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
(3 as number) * (4 as number);
"#,
@@ -499,7 +499,7 @@ fn evaluates_ts_satisfies_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
(3 satisfies number) * (4 satisfies number);
"#,
@@ -517,7 +517,7 @@ fn evaluates_condition_value_expressions() {
tsx: true,
..Default::default()
}),
- |_| EvaluationModuleTransformVisitor::default(),
+ |_| EvaluationStyleXTransform::default(),
r#"
2 > 1 ? 1 : 0
2 < 1 ? 1 : 0
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_fn_obj_evaluation.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_fn_obj_evaluation.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_fn_obj_evaluation.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_fn_obj_evaluation.rs
index 82c09df0..56443ce5 100644
--- a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_fn_obj_evaluation.rs
+++ b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_fn_obj_evaluation.rs
@@ -3,7 +3,7 @@ use swc_core::ecma::{
transforms::testing::test_transform,
};
-use crate::evaluation::args_module_transform::ArgsModuleTransformVisitor;
+use crate::evaluation::args_module_transform::ArgsStyleXTransform;
#[test]
fn evaluates_empty_object() {
@@ -12,7 +12,7 @@ fn evaluates_empty_object() {
tsx: true,
..Default::default()
}),
- |_| ArgsModuleTransformVisitor::default(),
+ |_| ArgsStyleXTransform::default(),
r#"
const x = {};
"#,
@@ -30,7 +30,7 @@ fn evaluates_static_style_object() {
tsx: true,
..Default::default()
}),
- |_| ArgsModuleTransformVisitor::default(),
+ |_| ArgsStyleXTransform::default(),
r#"
const x = {
default: {
@@ -60,7 +60,7 @@ fn evaluates_object_with_function_styles_identifier() {
tsx: true,
..Default::default()
}),
- |_| ArgsModuleTransformVisitor::default(),
+ |_| ArgsStyleXTransform::default(),
r#"
const x = {
default: (width) => ({
@@ -90,7 +90,7 @@ fn evaluates_object_with_function_styles_binary_expression() {
tsx: true,
..Default::default()
}),
- |_| ArgsModuleTransformVisitor::default(),
+ |_| ArgsStyleXTransform::default(),
r#"
const x = {
default: (width) => ({
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/mod.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/mod.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys_dynamically.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys_dynamically.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys_dynamically.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__imported_vars_with_stylex_suffix_can_be_used_as_style_keys_dynamically.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_suffix_works.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_suffix_works.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_suffix_works.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_suffix_works.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_with_an_alias_suffix_works.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_with_an_alias_suffix_works.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_with_an_alias_suffix_works.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_js_with_an_alias_suffix_works.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works_with_keyframes.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works_with_keyframes.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works_with_keyframes.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__importing_file_with_stylex_suffix_works_with_keyframes.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__maintains_variable_names_that_start_with_double_dash_from_stylex_files.snap b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__maintains_variable_names_that_start_with_double_dash_from_stylex_files.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__maintains_variable_names_that_start_with_double_dash_from_stylex_files.snap
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/snapshots/fold__evaluation__stylex_evaluation__stylex_import_evaluation__evaluation_of_imported_values_works_based_on_configuration__theme_name_hashing_based_on_filename_alone_works__maintains_variable_names_that_start_with_double_dash_from_stylex_files.snap
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/theme_name_hashing_based_on_filename_alone_works.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/theme_name_hashing_based_on_filename_alone_works.rs
similarity index 94%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/theme_name_hashing_based_on_filename_alone_works.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/theme_name_hashing_based_on_filename_alone_works.rs
index 2b861658..5790370e 100644
--- a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/theme_name_hashing_based_on_filename_alone_works.rs
+++ b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/evaluation_of_imported_values_works_based_on_configuration/theme_name_hashing_based_on_filename_alone_works.rs
@@ -1,9 +1,9 @@
use std::env;
use insta::assert_snapshot;
-use stylex_swc_plugin::shared::structures::stylex_options::{StyleXOptions, StyleXOptionsParams};
-use stylex_swc_plugin::shared::utils::common::create_hash;
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::shared::structures::stylex_options::{StyleXOptions, StyleXOptionsParams};
+use stylex_shared::shared::utils::common::create_hash;
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::common::FileName;
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -36,7 +36,7 @@ fn tranform(input: &str) -> String {
..Default::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
filename: FileName::Real(
diff --git a/crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/mod.rs b/crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/evaluation/stylex_evaluation/stylex_import_evaluation/mod.rs
rename to crates/stylex-shared/tests/evaluation/stylex_evaluation/stylex_import_evaluation/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/fixture/buttons-demo/input.js b/crates/stylex-shared/tests/fixture/buttons-demo/input.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/buttons-demo/input.js
rename to crates/stylex-shared/tests/fixture/buttons-demo/input.js
diff --git a/crates/stylex-shared/tests/fixture/buttons-demo/rs_output.js b/crates/stylex-shared/tests/fixture/buttons-demo/rs_output.js
new file mode 100644
index 00000000..d3c070ef
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/buttons-demo/rs_output.js
@@ -0,0 +1,100 @@
+"use client";
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import "./ButtonTokens.stylex";
+import * as stylex from "@stylexjs/stylex";
+import { buttonTokens } from "./ButtonTokens.stylex";
+import ThemeableButton from "./ThemeableButton";
+export default function ButtonsDemo(_props) {
+ const onClick = ()=>{
+ console.log("click");
+ };
+ return
+
Vanilla Button
+
+
+ Bordered Button
+
+
+
+ Red Button
+
+
+
+
+ Red Button By inheritance
+
+
+
+
+ Red - Bordered Button
+
+
;
+}
+_inject2(".x8j0i83, .x8j0i83:root{--x1tvn83n:red;--xlb9c25:4px;--xk30bbq:4px;--xkhjxis:8px;--xte9ugm:white;}", 0.5);
+const redTheme = {
+ Page__redTheme: "Page__redTheme",
+ $$css: true,
+ "var(--x1p0kudt)": "x8j0i83"
+};
+_inject2(".x78zum5{display:flex}", 3000);
+_inject2(".xdt5ytf{flex-direction:column}", 3000);
+_inject2(".x6s0dn4{align-items:center}", 3000);
+_inject2(".xl56j7k{justify-content:center}", 3000);
+_inject2(".xou54vl{gap:16px}", 2000);
+_inject2(".xzk7aed{padding-bottom:64px}", 4000);
+_inject2(".xdh2fpr{border-width:2px}", 2000);
+_inject2(".x1y0btm7{border-style:solid}", 2000);
+_inject2(".x71xlcl{border-color:red}", 2000);
+_inject2(".x1bg2uv5{border-color:green}", 2000);
+const styles = {
+ bordered: {
+ "Page__styles.bordered": "Page__styles.bordered",
+ borderWidth: "xdh2fpr",
+ borderInlineWidth: null,
+ borderInlineStartWidth: null,
+ borderLeftWidth: null,
+ borderInlineEndWidth: null,
+ borderRightWidth: null,
+ borderBlockWidth: null,
+ borderTopWidth: null,
+ borderBottomWidth: null,
+ borderStyle: "x1y0btm7",
+ borderInlineStyle: null,
+ borderInlineStartStyle: null,
+ borderLeftStyle: null,
+ borderInlineEndStyle: null,
+ borderRightStyle: null,
+ borderBlockStyle: null,
+ borderTopStyle: null,
+ borderBottomStyle: null,
+ borderColor: "x71xlcl",
+ borderInlineColor: null,
+ borderInlineStartColor: null,
+ borderLeftColor: null,
+ borderInlineEndColor: null,
+ borderRightColor: null,
+ borderBlockColor: null,
+ borderTopColor: null,
+ borderBottomColor: null,
+ $$css: true
+ },
+ greenBorder: {
+ "Page__styles.greenBorder": "Page__styles.greenBorder",
+ borderColor: "x1bg2uv5",
+ borderInlineColor: null,
+ borderInlineStartColor: null,
+ borderLeftColor: null,
+ borderInlineEndColor: null,
+ borderRightColor: null,
+ borderBlockColor: null,
+ borderTopColor: null,
+ borderBottomColor: null,
+ $$css: true
+ }
+};
diff --git a/crates/stylex-shared/tests/fixture/buttons-demo/rs_output_prod.js b/crates/stylex-shared/tests/fixture/buttons-demo/rs_output_prod.js
new file mode 100644
index 00000000..6945cc2a
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/buttons-demo/rs_output_prod.js
@@ -0,0 +1,83 @@
+"use client";
+import * as stylex from "@stylexjs/stylex";
+import { buttonTokens } from "./ButtonTokens.stylex";
+import ThemeableButton from "./ThemeableButton";
+export default function ButtonsDemo(_props) {
+ const onClick = ()=>{
+ console.log("click");
+ };
+ return
+
Vanilla Button
+
+
+ Bordered Button
+
+
+
+ Red Button
+
+
+
+
+ Red Button By inheritance
+
+
+
+
+ Red - Bordered Button
+
+
;
+}
+const redTheme = {
+ $$css: true,
+ "var(--x1p0kudt)": "x8j0i83"
+};
+const styles = {
+ bordered: {
+ borderWidth: "xdh2fpr",
+ borderInlineWidth: null,
+ borderInlineStartWidth: null,
+ borderLeftWidth: null,
+ borderInlineEndWidth: null,
+ borderRightWidth: null,
+ borderBlockWidth: null,
+ borderTopWidth: null,
+ borderBottomWidth: null,
+ borderStyle: "x1y0btm7",
+ borderInlineStyle: null,
+ borderInlineStartStyle: null,
+ borderLeftStyle: null,
+ borderInlineEndStyle: null,
+ borderRightStyle: null,
+ borderBlockStyle: null,
+ borderTopStyle: null,
+ borderBottomStyle: null,
+ borderColor: "x71xlcl",
+ borderInlineColor: null,
+ borderInlineStartColor: null,
+ borderLeftColor: null,
+ borderInlineEndColor: null,
+ borderRightColor: null,
+ borderBlockColor: null,
+ borderTopColor: null,
+ borderBottomColor: null,
+ $$css: true
+ },
+ greenBorder: {
+ borderColor: "x1bg2uv5",
+ borderInlineColor: null,
+ borderInlineStartColor: null,
+ borderLeftColor: null,
+ borderInlineEndColor: null,
+ borderRightColor: null,
+ borderBlockColor: null,
+ borderTopColor: null,
+ borderBottomColor: null,
+ $$css: true
+ }
+};
diff --git a/crates/stylex-swc-plugin/tests/fixture/buttons-demo/output.js b/crates/stylex-shared/tests/fixture/buttons-demo/wasm_output.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/buttons-demo/output.js
rename to crates/stylex-shared/tests/fixture/buttons-demo/wasm_output.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/buttons-demo/output_prod.js b/crates/stylex-shared/tests/fixture/buttons-demo/wasm_output_prod.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/buttons-demo/output_prod.js
rename to crates/stylex-shared/tests/fixture/buttons-demo/wasm_output_prod.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/card/input.js b/crates/stylex-shared/tests/fixture/card/input.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/card/input.js
rename to crates/stylex-shared/tests/fixture/card/input.js
diff --git a/crates/stylex-shared/tests/fixture/card/rs_output.js b/crates/stylex-shared/tests/fixture/card/rs_output.js
new file mode 100644
index 00000000..8b705a7c
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/card/rs_output.js
@@ -0,0 +1,14 @@
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import style from "@stylexjs/stylex";
+_inject2(".x1e2nbdu{color:red}", 3000);
+_inject2(".x1118g2m{border-color:blue}", 2000);
+_inject2(".x15hxx75{border-color:pink}", 2000);
+_inject2(".x7z7khe{padding:10px}", 1000);
+_inject2(".x16ydxro{margin-left:10px}", 4000);
+export default function Card() {
+ const { className, style } = {
+ className: "Page__c.base x1e2nbdu Page__c.test x15hxx75 x7z7khe"
+ };
+ return Card;
+}
diff --git a/crates/stylex-shared/tests/fixture/card/rs_output_prod.js b/crates/stylex-shared/tests/fixture/card/rs_output_prod.js
new file mode 100644
index 00000000..11578e3f
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/card/rs_output_prod.js
@@ -0,0 +1,7 @@
+import style from "@stylexjs/stylex";
+export default function Card() {
+ const { className, style } = {
+ className: "x1e2nbdu x15hxx75 x7z7khe"
+ };
+ return Card;
+}
diff --git a/crates/stylex-swc-plugin/tests/fixture/card/output.js b/crates/stylex-shared/tests/fixture/card/wasm_output.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/card/output.js
rename to crates/stylex-shared/tests/fixture/card/wasm_output.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/card/output_prod.js b/crates/stylex-shared/tests/fixture/card/wasm_output_prod.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/card/output_prod.js
rename to crates/stylex-shared/tests/fixture/card/wasm_output_prod.js
diff --git a/crates/stylex-shared/tests/fixture/counter/input.js b/crates/stylex-shared/tests/fixture/counter/input.js
new file mode 100644
index 00000000..a9a64d63
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/counter/input.js
@@ -0,0 +1,92 @@
+'use client';
+
+import * as stylex from '@stylexjs/stylex';
+import { spacing, text, globalTokens as $ } from './globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { useState } from 'react';
+
+export default function Counter() {
+ const [count, setCount] = useState(0);
+
+ return (
+
+
+
99 && styles.largeNumber,
+ )}
+ >
+ {count}
+
+
+
+ );
+}
+
+const DARK = '@media (prefers-color-scheme: dark)';
+
+const styles = stylex.create({
+ container: {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ flexDirection: 'row',
+ borderRadius: spacing.md,
+ borderWidth: 1,
+ borderStyle: 'solid',
+ borderColor: colors.blue7,
+ padding: spacing.xxxs,
+ fontFamily: $.fontSans,
+ gap: spacing.xs,
+ },
+ button: {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ height: '6rem',
+ aspectRatio: 1,
+ color: colors.blue7,
+ backgroundColor: {
+ default: colors.gray3,
+ ':hover': colors.gray4,
+ [DARK]: {
+ default: colors.gray9,
+ ':hover': colors.gray8,
+ },
+ },
+ borderWidth: 0,
+ borderStyle: 'none',
+ borderRadius: spacing.xs,
+ padding: spacing.xs,
+ margin: spacing.xs,
+ cursor: 'pointer',
+ fontSize: text.h2,
+ transform: {
+ default: null,
+ ':hover': 'scale(1.025)',
+ ':active': 'scale(0.975)',
+ },
+ },
+ count: {
+ fontSize: text.h2,
+ fontWeight: 100,
+ color: colors.lime7,
+ minWidth: '6rem',
+ textAlign: 'center',
+ fontFamily: $.fontMono,
+ },
+ largeNumber: {
+ fontSize: text.h3,
+ },
+});
diff --git a/crates/stylex-shared/tests/fixture/counter/rs_output.js b/crates/stylex-shared/tests/fixture/counter/rs_output.js
new file mode 100644
index 00000000..2dfcb1f5
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/counter/rs_output.js
@@ -0,0 +1,70 @@
+'use client';
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import "@stylexjs/open-props/lib/colors.stylex";
+import "./globalTokens.stylex";
+import * as stylex from '@stylexjs/stylex';
+import { spacing, text, globalTokens as $ } from './globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { useState } from 'react';
+export default function Counter() {
+ const [count, setCount] = useState(0);
+ return
+
+
99) << 0]}>
+ {count}
+
+
+
;
+}
+const DARK = '@media (prefers-color-scheme: dark)';
+_inject2(".x78zum5{display:flex}", 3000);
+_inject2(".x6s0dn4{align-items:center}", 3000);
+_inject2(".xl56j7k{justify-content:center}", 3000);
+_inject2(".x1q0g3np{flex-direction:row}", 3000);
+_inject2(".xkorlav{border-radius:var(--x120tmbh)}", 2000);
+_inject2(".xmkeg23{border-width:1px}", 2000);
+_inject2(".x1y0btm7{border-style:solid}", 2000);
+_inject2(".xzj82u7{border-color:var(--x1g16e7s)}", 2000);
+_inject2(".xhcr65l{padding:var(--xk88l2w)}", 1000);
+_inject2(".x1byiw6p{font-family:var(--x6ywdb8)}", 3000);
+_inject2(".x1l7lfc5{gap:var(--xvp50ho)}", 2000);
+_inject2(".x17frcva{height:6rem}", 4000);
+_inject2(".x1plog1{aspect-ratio:1}", 3000);
+_inject2(".x1ynku2j{color:var(--x1g16e7s)}", 3000);
+_inject2(".xij5jp{background-color:var(--x1wnl0mb)}", 3000);
+_inject2(".x6lnu34:hover{background-color:var(--x1987uwy)}", 3130);
+_inject2("@media (prefers-color-scheme: dark){.xd84qqf.xd84qqf{background-color:var(--xv11w9p)}}", 3200);
+_inject2("@media (prefers-color-scheme: dark){.x1ap9xfb.x1ap9xfb:hover{background-color:var(--xd0alct)}}", 3330);
+_inject2(".xc342km{border-width:0}", 2000);
+_inject2(".xng3xce{border-style:none}", 2000);
+_inject2(".x12ugs8o{border-radius:var(--xvp50ho)}", 2000);
+_inject2(".x1kopudh{padding:var(--xvp50ho)}", 1000);
+_inject2(".xp822f4{margin:var(--xvp50ho)}", 1000);
+_inject2(".x1ypdohk{cursor:pointer}", 3000);
+_inject2(".xf8wwq{font-size:var(--x1nryaqe)}", 3000);
+_inject2(".x1u4xmye:hover{transform:scale(1.025)}", 3130);
+_inject2(".xglsxx3:active{transform:scale(.975)}", 3170);
+_inject2(".x3stwaq{font-weight:100}", 3000);
+_inject2(".x1fk3gbn{color:var(--x146xnew)}", 3000);
+_inject2(".x1843ork{min-width:6rem}", 4000);
+_inject2(".x2b8uid{text-align:center}", 3000);
+_inject2(".x1nlbcxq{font-family:var(--xur0yta)}", 3000);
+_inject2(".x8c9cfh{font-size:var(--x1yfd0fu)}", 3000);
diff --git a/crates/stylex-shared/tests/fixture/counter/rs_output_prod.js b/crates/stylex-shared/tests/fixture/counter/rs_output_prod.js
new file mode 100644
index 00000000..95008bd3
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/counter/rs_output_prod.js
@@ -0,0 +1,33 @@
+'use client';
+import * as stylex from '@stylexjs/stylex';
+import { spacing, text, globalTokens as $ } from './globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { useState } from 'react';
+export default function Counter() {
+ const [count, setCount] = useState(0);
+ return
+
+
99) << 0]}>
+ {count}
+
+
+
;
+}
+const DARK = '@media (prefers-color-scheme: dark)';
diff --git a/crates/stylex-shared/tests/fixture/counter/wasm_output.js b/crates/stylex-shared/tests/fixture/counter/wasm_output.js
new file mode 100644
index 00000000..7c39658d
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/counter/wasm_output.js
@@ -0,0 +1,71 @@
+//__stylex_metadata_start__[{"class_name":"x78zum5","style":{"rtl":null,"ltr":".x78zum5{display:flex}"},"priority":3000},{"class_name":"x6s0dn4","style":{"rtl":null,"ltr":".x6s0dn4{align-items:center}"},"priority":3000},{"class_name":"xl56j7k","style":{"rtl":null,"ltr":".xl56j7k{justify-content:center}"},"priority":3000},{"class_name":"x1q0g3np","style":{"rtl":null,"ltr":".x1q0g3np{flex-direction:row}"},"priority":3000},{"class_name":"xkorlav","style":{"rtl":null,"ltr":".xkorlav{border-radius:var(--x120tmbh)}"},"priority":2000},{"class_name":"xmkeg23","style":{"rtl":null,"ltr":".xmkeg23{border-width:1px}"},"priority":2000},{"class_name":"x1y0btm7","style":{"rtl":null,"ltr":".x1y0btm7{border-style:solid}"},"priority":2000},{"class_name":"xzj82u7","style":{"rtl":null,"ltr":".xzj82u7{border-color:var(--x1g16e7s)}"},"priority":2000},{"class_name":"xhcr65l","style":{"rtl":null,"ltr":".xhcr65l{padding:var(--xk88l2w)}"},"priority":1000},{"class_name":"x1byiw6p","style":{"rtl":null,"ltr":".x1byiw6p{font-family:var(--x6ywdb8)}"},"priority":3000},{"class_name":"x1l7lfc5","style":{"rtl":null,"ltr":".x1l7lfc5{gap:var(--xvp50ho)}"},"priority":2000},{"class_name":"x17frcva","style":{"rtl":null,"ltr":".x17frcva{height:6rem}"},"priority":4000},{"class_name":"x1plog1","style":{"rtl":null,"ltr":".x1plog1{aspect-ratio:1}"},"priority":3000},{"class_name":"x1ynku2j","style":{"rtl":null,"ltr":".x1ynku2j{color:var(--x1g16e7s)}"},"priority":3000},{"class_name":"xij5jp","style":{"rtl":null,"ltr":".xij5jp{background-color:var(--x1wnl0mb)}"},"priority":3000},{"class_name":"x6lnu34","style":{"rtl":null,"ltr":".x6lnu34:hover{background-color:var(--x1987uwy)}"},"priority":3130},{"class_name":"xd84qqf","style":{"rtl":null,"ltr":"@media (prefers-color-scheme: dark){.xd84qqf.xd84qqf{background-color:var(--xv11w9p)}}"},"priority":3200},{"class_name":"x1ap9xfb","style":{"rtl":null,"ltr":"@media (prefers-color-scheme: dark){.x1ap9xfb.x1ap9xfb:hover{background-color:var(--xd0alct)}}"},"priority":3330},{"class_name":"xc342km","style":{"rtl":null,"ltr":".xc342km{border-width:0}"},"priority":2000},{"class_name":"xng3xce","style":{"rtl":null,"ltr":".xng3xce{border-style:none}"},"priority":2000},{"class_name":"x12ugs8o","style":{"rtl":null,"ltr":".x12ugs8o{border-radius:var(--xvp50ho)}"},"priority":2000},{"class_name":"x1kopudh","style":{"rtl":null,"ltr":".x1kopudh{padding:var(--xvp50ho)}"},"priority":1000},{"class_name":"xp822f4","style":{"rtl":null,"ltr":".xp822f4{margin:var(--xvp50ho)}"},"priority":1000},{"class_name":"x1ypdohk","style":{"rtl":null,"ltr":".x1ypdohk{cursor:pointer}"},"priority":3000},{"class_name":"xf8wwq","style":{"rtl":null,"ltr":".xf8wwq{font-size:var(--x1nryaqe)}"},"priority":3000},{"class_name":"x1u4xmye","style":{"rtl":null,"ltr":".x1u4xmye:hover{transform:scale(1.025)}"},"priority":3130},{"class_name":"xglsxx3","style":{"rtl":null,"ltr":".xglsxx3:active{transform:scale(.975)}"},"priority":3170},{"class_name":"x3stwaq","style":{"rtl":null,"ltr":".x3stwaq{font-weight:100}"},"priority":3000},{"class_name":"x1fk3gbn","style":{"rtl":null,"ltr":".x1fk3gbn{color:var(--x146xnew)}"},"priority":3000},{"class_name":"x1843ork","style":{"rtl":null,"ltr":".x1843ork{min-width:6rem}"},"priority":4000},{"class_name":"x2b8uid","style":{"rtl":null,"ltr":".x2b8uid{text-align:center}"},"priority":3000},{"class_name":"x1nlbcxq","style":{"rtl":null,"ltr":".x1nlbcxq{font-family:var(--xur0yta)}"},"priority":3000},{"class_name":"x8c9cfh","style":{"rtl":null,"ltr":".x8c9cfh{font-size:var(--x1yfd0fu)}"},"priority":3000}]__stylex_metadata_end__
+'use client';
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import "@stylexjs/open-props/lib/colors.stylex";
+import "./globalTokens.stylex";
+import * as stylex from '@stylexjs/stylex';
+import { spacing, text, globalTokens as $ } from './globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { useState } from 'react';
+export default function Counter() {
+ const [count, setCount] = useState(0);
+ return
+
+
99) << 0]}>
+ {count}
+
+
+
;
+}
+const DARK = '@media (prefers-color-scheme: dark)';
+_inject2(".x78zum5{display:flex}", 3000);
+_inject2(".x6s0dn4{align-items:center}", 3000);
+_inject2(".xl56j7k{justify-content:center}", 3000);
+_inject2(".x1q0g3np{flex-direction:row}", 3000);
+_inject2(".xkorlav{border-radius:var(--x120tmbh)}", 2000);
+_inject2(".xmkeg23{border-width:1px}", 2000);
+_inject2(".x1y0btm7{border-style:solid}", 2000);
+_inject2(".xzj82u7{border-color:var(--x1g16e7s)}", 2000);
+_inject2(".xhcr65l{padding:var(--xk88l2w)}", 1000);
+_inject2(".x1byiw6p{font-family:var(--x6ywdb8)}", 3000);
+_inject2(".x1l7lfc5{gap:var(--xvp50ho)}", 2000);
+_inject2(".x17frcva{height:6rem}", 4000);
+_inject2(".x1plog1{aspect-ratio:1}", 3000);
+_inject2(".x1ynku2j{color:var(--x1g16e7s)}", 3000);
+_inject2(".xij5jp{background-color:var(--x1wnl0mb)}", 3000);
+_inject2(".x6lnu34:hover{background-color:var(--x1987uwy)}", 3130);
+_inject2("@media (prefers-color-scheme: dark){.xd84qqf.xd84qqf{background-color:var(--xv11w9p)}}", 3200);
+_inject2("@media (prefers-color-scheme: dark){.x1ap9xfb.x1ap9xfb:hover{background-color:var(--xd0alct)}}", 3330);
+_inject2(".xc342km{border-width:0}", 2000);
+_inject2(".xng3xce{border-style:none}", 2000);
+_inject2(".x12ugs8o{border-radius:var(--xvp50ho)}", 2000);
+_inject2(".x1kopudh{padding:var(--xvp50ho)}", 1000);
+_inject2(".xp822f4{margin:var(--xvp50ho)}", 1000);
+_inject2(".x1ypdohk{cursor:pointer}", 3000);
+_inject2(".xf8wwq{font-size:var(--x1nryaqe)}", 3000);
+_inject2(".x1u4xmye:hover{transform:scale(1.025)}", 3130);
+_inject2(".xglsxx3:active{transform:scale(.975)}", 3170);
+_inject2(".x3stwaq{font-weight:100}", 3000);
+_inject2(".x1fk3gbn{color:var(--x146xnew)}", 3000);
+_inject2(".x1843ork{min-width:6rem}", 4000);
+_inject2(".x2b8uid{text-align:center}", 3000);
+_inject2(".x1nlbcxq{font-family:var(--xur0yta)}", 3000);
+_inject2(".x8c9cfh{font-size:var(--x1yfd0fu)}", 3000);
diff --git a/crates/stylex-shared/tests/fixture/counter/wasm_output_prod.js b/crates/stylex-shared/tests/fixture/counter/wasm_output_prod.js
new file mode 100644
index 00000000..ab8d5e9c
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/counter/wasm_output_prod.js
@@ -0,0 +1,34 @@
+//__stylex_metadata_start__[{"class_name":"x78zum5","style":{"rtl":null,"ltr":".x78zum5{display:flex}"},"priority":3000},{"class_name":"x6s0dn4","style":{"rtl":null,"ltr":".x6s0dn4{align-items:center}"},"priority":3000},{"class_name":"xl56j7k","style":{"rtl":null,"ltr":".xl56j7k{justify-content:center}"},"priority":3000},{"class_name":"x1q0g3np","style":{"rtl":null,"ltr":".x1q0g3np{flex-direction:row}"},"priority":3000},{"class_name":"xkorlav","style":{"rtl":null,"ltr":".xkorlav{border-radius:var(--x120tmbh)}"},"priority":2000},{"class_name":"xmkeg23","style":{"rtl":null,"ltr":".xmkeg23{border-width:1px}"},"priority":2000},{"class_name":"x1y0btm7","style":{"rtl":null,"ltr":".x1y0btm7{border-style:solid}"},"priority":2000},{"class_name":"xzj82u7","style":{"rtl":null,"ltr":".xzj82u7{border-color:var(--x1g16e7s)}"},"priority":2000},{"class_name":"xhcr65l","style":{"rtl":null,"ltr":".xhcr65l{padding:var(--xk88l2w)}"},"priority":1000},{"class_name":"x1byiw6p","style":{"rtl":null,"ltr":".x1byiw6p{font-family:var(--x6ywdb8)}"},"priority":3000},{"class_name":"x1l7lfc5","style":{"rtl":null,"ltr":".x1l7lfc5{gap:var(--xvp50ho)}"},"priority":2000},{"class_name":"x17frcva","style":{"rtl":null,"ltr":".x17frcva{height:6rem}"},"priority":4000},{"class_name":"x1plog1","style":{"rtl":null,"ltr":".x1plog1{aspect-ratio:1}"},"priority":3000},{"class_name":"x1ynku2j","style":{"rtl":null,"ltr":".x1ynku2j{color:var(--x1g16e7s)}"},"priority":3000},{"class_name":"xij5jp","style":{"rtl":null,"ltr":".xij5jp{background-color:var(--x1wnl0mb)}"},"priority":3000},{"class_name":"x6lnu34","style":{"rtl":null,"ltr":".x6lnu34:hover{background-color:var(--x1987uwy)}"},"priority":3130},{"class_name":"xd84qqf","style":{"rtl":null,"ltr":"@media (prefers-color-scheme: dark){.xd84qqf.xd84qqf{background-color:var(--xv11w9p)}}"},"priority":3200},{"class_name":"x1ap9xfb","style":{"rtl":null,"ltr":"@media (prefers-color-scheme: dark){.x1ap9xfb.x1ap9xfb:hover{background-color:var(--xd0alct)}}"},"priority":3330},{"class_name":"xc342km","style":{"rtl":null,"ltr":".xc342km{border-width:0}"},"priority":2000},{"class_name":"xng3xce","style":{"rtl":null,"ltr":".xng3xce{border-style:none}"},"priority":2000},{"class_name":"x12ugs8o","style":{"rtl":null,"ltr":".x12ugs8o{border-radius:var(--xvp50ho)}"},"priority":2000},{"class_name":"x1kopudh","style":{"rtl":null,"ltr":".x1kopudh{padding:var(--xvp50ho)}"},"priority":1000},{"class_name":"xp822f4","style":{"rtl":null,"ltr":".xp822f4{margin:var(--xvp50ho)}"},"priority":1000},{"class_name":"x1ypdohk","style":{"rtl":null,"ltr":".x1ypdohk{cursor:pointer}"},"priority":3000},{"class_name":"xf8wwq","style":{"rtl":null,"ltr":".xf8wwq{font-size:var(--x1nryaqe)}"},"priority":3000},{"class_name":"x1u4xmye","style":{"rtl":null,"ltr":".x1u4xmye:hover{transform:scale(1.025)}"},"priority":3130},{"class_name":"xglsxx3","style":{"rtl":null,"ltr":".xglsxx3:active{transform:scale(.975)}"},"priority":3170},{"class_name":"x3stwaq","style":{"rtl":null,"ltr":".x3stwaq{font-weight:100}"},"priority":3000},{"class_name":"x1fk3gbn","style":{"rtl":null,"ltr":".x1fk3gbn{color:var(--x146xnew)}"},"priority":3000},{"class_name":"x1843ork","style":{"rtl":null,"ltr":".x1843ork{min-width:6rem}"},"priority":4000},{"class_name":"x2b8uid","style":{"rtl":null,"ltr":".x2b8uid{text-align:center}"},"priority":3000},{"class_name":"x1nlbcxq","style":{"rtl":null,"ltr":".x1nlbcxq{font-family:var(--xur0yta)}"},"priority":3000},{"class_name":"x8c9cfh","style":{"rtl":null,"ltr":".x8c9cfh{font-size:var(--x1yfd0fu)}"},"priority":3000}]__stylex_metadata_end__
+'use client';
+import * as stylex from '@stylexjs/stylex';
+import { spacing, text, globalTokens as $ } from './globalTokens.stylex';
+import { colors } from '@stylexjs/open-props/lib/colors.stylex';
+import { useState } from 'react';
+export default function Counter() {
+ const [count, setCount] = useState(0);
+ return
+
+
99) << 0]}>
+ {count}
+
+
+
;
+}
+const DARK = '@media (prefers-color-scheme: dark)';
diff --git a/crates/stylex-swc-plugin/tests/fixture/global-tokens-xs/input.js b/crates/stylex-shared/tests/fixture/global-tokens-xs/input.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/global-tokens-xs/input.js
rename to crates/stylex-shared/tests/fixture/global-tokens-xs/input.js
diff --git a/crates/stylex-shared/tests/fixture/global-tokens-xs/rs_output.js b/crates/stylex-shared/tests/fixture/global-tokens-xs/rs_output.js
new file mode 100644
index 00000000..ccec8b0d
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/global-tokens-xs/rs_output.js
@@ -0,0 +1,33 @@
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import stylex from "@stylexjs/stylex";
+_inject2(":root{--x1ogzt1a:0.69rem;}", 0);
+export const text = {
+ xs: "var(--x1ogzt1a)",
+ __themeName__: "x1lzvrc9"
+};
+_inject2(":root{--x9q2m40:0;--xpzz690:0;--x16lcx6o:0;--xjk46kt:rgb(214, 219, 220);--x19cfreg:255;--x5f91dp:255;--xtrkg9t:255;--xrj4b28:rgb(238, 240, 241);--x13ytpr0:rgba(238, 240, 241, 0.5);--xjray:172;--x1ats3qd:175;--x12b45e3:176;--x1efhglm:180;--x1w81gmp:185;--x13v9q97:188;--x14edl43:131;--xdi7wre:134;--x1livm2j:135;--x1r7qzpr:conic-gradient(from 180deg at 50% 50%, #16abff33 0deg, #0885ff33 55deg, #54d6ff33 120deg, #0071ff33 160deg, transparent 360deg);--x1xmdc3p:radial-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));}", 0);
+_inject2("@media (prefers-color-scheme: dark){:root{--x9q2m40:255;--xpzz690:255;--x16lcx6o:255;--xjk46kt:rgb(0, 0, 0);--x19cfreg:0;--x5f91dp:0;--xtrkg9t:0;--xrj4b28:rgb(20, 20, 20);--x13ytpr0:rgba(20, 20, 20, 0.5);--xjray:108;--x1ats3qd:108;--x12b45e3:108;--x1efhglm:100;--x1w81gmp:100;--x13v9q97:100;--x14edl43:200;--xdi7wre:200;--x1livm2j:200;--x1r7qzpr:radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));--x1xmdc3p:linear-gradient(to bottom right, rgba(1, 65, 255, 0), rgba(1, 65, 255, 0), rgba(1, 65, 255, 0.3));}}", 0.1);
+export const globalTokens = {
+ foregroundR: "var(--x9q2m40)",
+ foregroundG: "var(--xpzz690)",
+ foregroundB: "var(--x16lcx6o)",
+ bgStartRGB: "var(--xjk46kt)",
+ bgEndR: "var(--x19cfreg)",
+ bgEndG: "var(--x5f91dp)",
+ bgEndB: "var(--xtrkg9t)",
+ calloutRGB: "var(--xrj4b28)",
+ calloutRGB50: "var(--x13ytpr0)",
+ calloutBorderR: "var(--xjray)",
+ calloutBorderG: "var(--x1ats3qd)",
+ calloutBorderB: "var(--x12b45e3)",
+ cardR: "var(--x1efhglm)",
+ cardG: "var(--x1w81gmp)",
+ cardB: "var(--x13v9q97)",
+ cardBorderR: "var(--x14edl43)",
+ cardBorderG: "var(--xdi7wre)",
+ cardBorderB: "var(--x1livm2j)",
+ primaryGlow: "var(--x1r7qzpr)",
+ secondaryGlow: "var(--x1xmdc3p)",
+ __themeName__: "xsbqktv"
+};
diff --git a/crates/stylex-shared/tests/fixture/global-tokens-xs/rs_output_prod.js b/crates/stylex-shared/tests/fixture/global-tokens-xs/rs_output_prod.js
new file mode 100644
index 00000000..82f6e579
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/global-tokens-xs/rs_output_prod.js
@@ -0,0 +1,28 @@
+import stylex from "@stylexjs/stylex";
+export const text = {
+ xs: "var(--x1ogzt1a)",
+ __themeName__: "x1lzvrc9"
+};
+export const globalTokens = {
+ foregroundR: "var(--x9q2m40)",
+ foregroundG: "var(--xpzz690)",
+ foregroundB: "var(--x16lcx6o)",
+ bgStartRGB: "var(--xjk46kt)",
+ bgEndR: "var(--x19cfreg)",
+ bgEndG: "var(--x5f91dp)",
+ bgEndB: "var(--xtrkg9t)",
+ calloutRGB: "var(--xrj4b28)",
+ calloutRGB50: "var(--x13ytpr0)",
+ calloutBorderR: "var(--xjray)",
+ calloutBorderG: "var(--x1ats3qd)",
+ calloutBorderB: "var(--x12b45e3)",
+ cardR: "var(--x1efhglm)",
+ cardG: "var(--x1w81gmp)",
+ cardB: "var(--x13v9q97)",
+ cardBorderR: "var(--x14edl43)",
+ cardBorderG: "var(--xdi7wre)",
+ cardBorderB: "var(--x1livm2j)",
+ primaryGlow: "var(--x1r7qzpr)",
+ secondaryGlow: "var(--x1xmdc3p)",
+ __themeName__: "xsbqktv"
+};
diff --git a/crates/stylex-swc-plugin/tests/fixture/global-tokens-xs/output.js b/crates/stylex-shared/tests/fixture/global-tokens-xs/wasm_output.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/global-tokens-xs/output.js
rename to crates/stylex-shared/tests/fixture/global-tokens-xs/wasm_output.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/global-tokens-xs/output_prod.js b/crates/stylex-shared/tests/fixture/global-tokens-xs/wasm_output_prod.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/global-tokens-xs/output_prod.js
rename to crates/stylex-shared/tests/fixture/global-tokens-xs/wasm_output_prod.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/global-tokens/input.js b/crates/stylex-shared/tests/fixture/global-tokens/input.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/global-tokens/input.js
rename to crates/stylex-shared/tests/fixture/global-tokens/input.js
diff --git a/crates/stylex-shared/tests/fixture/global-tokens/rs_output.js b/crates/stylex-shared/tests/fixture/global-tokens/rs_output.js
new file mode 100644
index 00000000..59321328
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/global-tokens/rs_output.js
@@ -0,0 +1,58 @@
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import stylex from "@stylexjs/stylex";
+_inject2(":root{--x1ql1w94:clamp(0.58rem, calc(0.6rem + -0.09vw), 0.53rem);--x1ogzt1a:clamp(0.69rem, calc(0.69rem + 0.02vw), 0.7rem);--x16zehmx:clamp(0.83rem, calc(0.79rem + 0.19vw), 0.94rem);--xhk4hdt:clamp(1rem, calc(0.91rem + 0.43vw), 1.25rem);--xwuz3e6:clamp(1.2rem, calc(1.04rem + 0.82vw), 1.67rem);--xcuma3z:clamp(1.44rem, calc(1.17rem + 1.36vw), 2.22rem);--x1d2707x:clamp(1.73rem, calc(1.3rem + 2.14vw), 2.96rem);--xvxqfsp:clamp(2.07rem, calc(1.42rem + 3.27vw), 3.95rem);--x1cypdqd:clamp(2.49rem, calc(1.53rem + 4.82vw), 5.26rem);}", 0);
+export const text = {
+ xxs: "var(--x1ql1w94)",
+ xs: "var(--x1ogzt1a)",
+ sm: "var(--x16zehmx)",
+ p: "var(--xhk4hdt)",
+ h5: "var(--xwuz3e6)",
+ h4: "var(--xcuma3z)",
+ h3: "var(--x1d2707x)",
+ h2: "var(--xvxqfsp)",
+ h1: "var(--x1cypdqd)",
+ __themeName__: "x1lzvrc9"
+};
+_inject2(":root{--xe27369:clamp(4px, calc(3.75px - 0.11vw), 5px);--xbjetdn:clamp(8px, calc(7.25px - 0.22vw), 10px);--x1ixl80x:clamp(12px, calc(11px - 0.33vw), 15px);--x1kvcwuq:clamp(16px, calc(14.5px - 0.43vw), 20px);--xmdt6tw:clamp(24px, calc(22px - 0.65vw), 30px);--x1wksnfy:clamp(32px, calc(29.25px - 0.87vw), 40px);--xoxmq3b:clamp(48px, calc(43.75px - 1.3vw), 60px);--xdo4ik8:clamp(64px, calc(58.5px - 1.74vw), 80px);--x2u3u4d:clamp(96px, calc(87.75px - 2.61vw), 120px);--xmk1p5w:clamp(128px, calc(116.75px - 3.48vw), 160px);}", 0);
+export const spacing = {
+ xxxs: "var(--xe27369)",
+ xxs: "var(--xbjetdn)",
+ xs: "var(--x1ixl80x)",
+ sm: "var(--x1kvcwuq)",
+ md: "var(--xmdt6tw)",
+ lg: "var(--x1wksnfy)",
+ xl: "var(--xoxmq3b)",
+ xxl: "var(--xdo4ik8)",
+ xxxl: "var(--x2u3u4d)",
+ xxxxl: "var(--xmk1p5w)",
+ __themeName__: "x14ijk3f"
+};
+_inject2(':root{--xdkvadk:1240px;--x1v9y61d:ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;--xu8xumw:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x9q2m40:0;--xpzz690:0;--x16lcx6o:0;--xjk46kt:rgb(214, 219, 220);--x19cfreg:255;--x5f91dp:255;--xtrkg9t:255;--xrj4b28:rgb(238, 240, 241);--x13ytpr0:rgba(238, 240, 241, 0.5);--xjray:172;--x1ats3qd:175;--x12b45e3:176;--x1efhglm:180;--x1w81gmp:185;--x13v9q97:188;--x14edl43:131;--xdi7wre:134;--x1livm2j:135;--x1r7qzpr:conic-gradient(from 180deg at 50% 50%, #16abff33 0deg, #0885ff33 55deg, #54d6ff33 120deg, #0071ff33 160deg, transparent 360deg);--x1xmdc3p:radial-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));}', 0);
+_inject2("@media (prefers-color-scheme: dark){:root{--x9q2m40:255;--xpzz690:255;--x16lcx6o:255;--xjk46kt:rgb(0, 0, 0);--x19cfreg:0;--x5f91dp:0;--xtrkg9t:0;--xrj4b28:rgb(20, 20, 20);--x13ytpr0:rgba(20, 20, 20, 0.5);--xjray:108;--x1ats3qd:108;--x12b45e3:108;--x1efhglm:100;--x1w81gmp:100;--x13v9q97:100;--x14edl43:200;--xdi7wre:200;--x1livm2j:200;--x1r7qzpr:radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));--x1xmdc3p:linear-gradient(to bottom right, rgba(1, 65, 255, 0), rgba(1, 65, 255, 0), rgba(1, 65, 255, 0.3));}}", 0.1);
+export const globalTokens = {
+ maxWidth: "var(--xdkvadk)",
+ fontMono: "var(--x1v9y61d)",
+ fontSans: "var(--xu8xumw)",
+ foregroundR: "var(--x9q2m40)",
+ foregroundG: "var(--xpzz690)",
+ foregroundB: "var(--x16lcx6o)",
+ bgStartRGB: "var(--xjk46kt)",
+ bgEndR: "var(--x19cfreg)",
+ bgEndG: "var(--x5f91dp)",
+ bgEndB: "var(--xtrkg9t)",
+ calloutRGB: "var(--xrj4b28)",
+ calloutRGB50: "var(--x13ytpr0)",
+ calloutBorderR: "var(--xjray)",
+ calloutBorderG: "var(--x1ats3qd)",
+ calloutBorderB: "var(--x12b45e3)",
+ cardR: "var(--x1efhglm)",
+ cardG: "var(--x1w81gmp)",
+ cardB: "var(--x13v9q97)",
+ cardBorderR: "var(--x14edl43)",
+ cardBorderG: "var(--xdi7wre)",
+ cardBorderB: "var(--x1livm2j)",
+ primaryGlow: "var(--x1r7qzpr)",
+ secondaryGlow: "var(--x1xmdc3p)",
+ __themeName__: "xsbqktv"
+};
diff --git a/crates/stylex-shared/tests/fixture/global-tokens/rs_output_prod.js b/crates/stylex-shared/tests/fixture/global-tokens/rs_output_prod.js
new file mode 100644
index 00000000..930b45da
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/global-tokens/rs_output_prod.js
@@ -0,0 +1,52 @@
+import stylex from "@stylexjs/stylex";
+export const text = {
+ xxs: "var(--x1ql1w94)",
+ xs: "var(--x1ogzt1a)",
+ sm: "var(--x16zehmx)",
+ p: "var(--xhk4hdt)",
+ h5: "var(--xwuz3e6)",
+ h4: "var(--xcuma3z)",
+ h3: "var(--x1d2707x)",
+ h2: "var(--xvxqfsp)",
+ h1: "var(--x1cypdqd)",
+ __themeName__: "x1lzvrc9"
+};
+export const spacing = {
+ xxxs: "var(--xe27369)",
+ xxs: "var(--xbjetdn)",
+ xs: "var(--x1ixl80x)",
+ sm: "var(--x1kvcwuq)",
+ md: "var(--xmdt6tw)",
+ lg: "var(--x1wksnfy)",
+ xl: "var(--xoxmq3b)",
+ xxl: "var(--xdo4ik8)",
+ xxxl: "var(--x2u3u4d)",
+ xxxxl: "var(--xmk1p5w)",
+ __themeName__: "x14ijk3f"
+};
+export const globalTokens = {
+ maxWidth: "var(--xdkvadk)",
+ fontMono: "var(--x1v9y61d)",
+ fontSans: "var(--xu8xumw)",
+ foregroundR: "var(--x9q2m40)",
+ foregroundG: "var(--xpzz690)",
+ foregroundB: "var(--x16lcx6o)",
+ bgStartRGB: "var(--xjk46kt)",
+ bgEndR: "var(--x19cfreg)",
+ bgEndG: "var(--x5f91dp)",
+ bgEndB: "var(--xtrkg9t)",
+ calloutRGB: "var(--xrj4b28)",
+ calloutRGB50: "var(--x13ytpr0)",
+ calloutBorderR: "var(--xjray)",
+ calloutBorderG: "var(--x1ats3qd)",
+ calloutBorderB: "var(--x12b45e3)",
+ cardR: "var(--x1efhglm)",
+ cardG: "var(--x1w81gmp)",
+ cardB: "var(--x13v9q97)",
+ cardBorderR: "var(--x14edl43)",
+ cardBorderG: "var(--xdi7wre)",
+ cardBorderB: "var(--x1livm2j)",
+ primaryGlow: "var(--x1r7qzpr)",
+ secondaryGlow: "var(--x1xmdc3p)",
+ __themeName__: "xsbqktv"
+};
diff --git a/crates/stylex-swc-plugin/tests/fixture/global-tokens/output.js b/crates/stylex-shared/tests/fixture/global-tokens/wasm_output.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/global-tokens/output.js
rename to crates/stylex-shared/tests/fixture/global-tokens/wasm_output.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/global-tokens/output_prod.js b/crates/stylex-shared/tests/fixture/global-tokens/wasm_output_prod.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/global-tokens/output_prod.js
rename to crates/stylex-shared/tests/fixture/global-tokens/wasm_output_prod.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/page-with-keyframes/input.js b/crates/stylex-shared/tests/fixture/page-with-keyframes/input.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/page-with-keyframes/input.js
rename to crates/stylex-shared/tests/fixture/page-with-keyframes/input.js
diff --git a/crates/stylex-shared/tests/fixture/page-with-keyframes/rs_output.js b/crates/stylex-shared/tests/fixture/page-with-keyframes/rs_output.js
new file mode 100644
index 00000000..1aedbdea
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/page-with-keyframes/rs_output.js
@@ -0,0 +1,117 @@
+/**
+ * Lead Comment
+ */ import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import "./globalTokens.stylex";
+import React from 'react';
+import stylex from '@stylexjs/stylex';
+import Card from '@/components/Card';
+import { globalTokens as $, spacing, text, scales } from './globalTokens.stylex';
+import Counter from './Counter';
+const HOMEPAGE = 'https://stylexjs.com';
+export default function Home() {
+ return
+
+
+ Get started by editing
+ app/page.tsx
+
+
+
+
+ Next.js App Dir♥️️StyleX
+
+
+
+
+
+
+
+
+
+
+ ;
+}
+const MEDIA_MOBILE = '@media (max-width: 700px)';
+_inject2("@keyframes x1b14oj3-B{0%{transform:var(--x8qjy7n);}10%{transform:var(--x16qhacm);}20%{transform:var(--x8qjy7n);}30%{transform:var(--x16qhacm);}40%{transform:var(--x8qjy7n);}90%{transform:var(--xg58vmv);}100%{transform:var(--x8qjy7n);}}", 1);
+_inject2(".x78zum5{display:flex}", 3000);
+_inject2(".xdt5ytf{flex-direction:column}", 3000);
+_inject2(".x6s0dn4{align-items:center}", 3000);
+_inject2(".x1qughib{justify-content:space-between}", 3000);
+_inject2(".xg6iff7{min-height:100vh}", 4000);
+_inject2(".xey12qk{padding-top:var(--xrreorb)}", 4000);
+_inject2(".xpywc49{padding-bottom:var(--xrreorb)}", 4000);
+_inject2("@media (max-width: 700px){.x14kqxm4.x14kqxm4{padding-bottom:var(--x120tmbh)}}", 4200);
+_inject2(".x1iyjqo2{flex-grow:1}", 3000);
+_inject2(".xl56j7k{justify-content:center}", 3000);
+_inject2(".xod9s3o{gap:var(--xqbuwcu)}", 2000);
+_inject2(".xn39edi{font-size:var(--x1fnzu0q)}", 3000);
+_inject2(".xo5v014{line-height:1}", 3000);
+_inject2(".x1byiw6p{font-family:var(--x6ywdb8)}", 3000);
+_inject2(".xo1l8bm{font-weight:400}", 3000);
+_inject2(".x2b8uid{text-align:center}", 3000);
+_inject2(".xmju1pe{gap:var(--x120tmbh)}", 2000);
+_inject2(".xuxw1ft{white-space:nowrap}", 3000);
+_inject2(".x1q0g3np{flex-direction:row}", 3000);
+_inject2("@media (max-width: 700px){.xwlf911.xwlf911{flex-direction:column}}", 3200);
+_inject2(".x1n2onr6{position:relative}", 3000);
+_inject2(".x6icuqf{font-family:sans-serif}", 3000);
+_inject2(".x13vifvy{top:0}", 4000);
+_inject2("@media (max-width: 700px){.x1e1ljn3.x1e1ljn3{top:var(--xk88l2w)}}", 4200);
+_inject2(".x1c74tu6{animation-duration:2s}", 3000);
+_inject2(".xa4qsjk{animation-iteration-count:infinite}", 3000);
+_inject2(".x1esw782{animation-timing-function:linear}", 3000);
+_inject2(".x1jfb8zj{display:inherit}", 3000);
+_inject2(".xarpa2k{justify-content:inherit}", 3000);
+_inject2(".x1h91t0o{align-items:inherit}", 3000);
+_inject2(".xv4mccy{max-width:var(--xt7qi6)}", 4000);
+_inject2(".xh8yej3{width:100%}", 4000);
+_inject2(".xhtitgo{z-index:2}", 3000);
+_inject2(".x1nlbcxq{font-family:var(--xur0yta)}", 3000);
+_inject2(".xnp4naa{gap:var(--xmf2usz)}", 2000);
+_inject2("@media (max-width: 700px){.x1ivusqq.x1ivusqq{padding:var(--x1bfynh1)}}", 1200);
+_inject2("@media (max-width: 700px){.xjg0vao.xjg0vao{display:flex}}", 3200);
+_inject2("@media (max-width: 700px){.x15f3dyk.x15f3dyk{position:fixed}}", 3200);
+_inject2("@media (max-width: 700px){.xo5s888.xo5s888{justify-content:center}}", 3200);
+_inject2("@media (max-width: 700px){.xu8adaz.xu8adaz{align-items:center}}", 3200);
+_inject2("@media (max-width: 700px){.x1v68ji2.x1v68ji2{width:100%}}", 4200);
+_inject2(".x1ghz6dp{margin:0}", 1000);
+_inject2(".x13ekbdn{padding-inline:var(--x1bfynh1)}", 2000);
+_inject2(".xqxyaa3{padding-top:var(--x1bfynh1)}", 4000);
+_inject2("@media (max-width: 700px){.x12h1x1l.x12h1x1l{padding-top:var(--x83l8dq)}}", 4200);
+_inject2(".x5b8z1{padding-bottom:var(--x1bfynh1)}", 4000);
+_inject2(".x19g2c9c{background-color:var(--x1xmsgwt)}", 3000);
+_inject2("@media (max-width: 700px){.xa7o7q9.xa7o7q9{background-image:linear-gradient(to bottom,var(--x1i5pq9l),var(--x1xmsgwt))}}", 3200);
+_inject2(".xmkeg23{border-width:1px}", 2000);
+_inject2("@media (max-width: 700px){.x1m60m6i.x1m60m6i{border-width:0}}", 2200);
+_inject2(".x1y0btm7{border-style:solid}", 2000);
+_inject2(".x15t7hjr{border-color:rgba(var(--xodl1w7),var(--x2p453m),var(--x140pla3),.3)}", 2000);
+_inject2("@media (max-width: 700px){.xgepp9j.xgepp9j{border-bottom-color:rgba(var(--xodl1w7),var(--x2p453m),var(--x140pla3),.25)}}", 4200);
+_inject2(".x12ugs8o{border-radius:var(--xvp50ho)}", 2000);
+_inject2("@media (max-width: 700px){.xd22jv.xd22jv{border-radius:0}}", 2200);
+_inject2("@media (max-width: 700px){.x1los6se.x1los6se{inset:0 0 auto}}", 1200);
+_inject2(".x1xlr1w8{font-weight:700}", 3000);
+_inject2(".xrvj5dj{display:grid}", 3000);
+_inject2(".xtp8ymz{grid-template-columns:repeat(4,minmax(25%,auto))}", 3000);
+_inject2("@media (max-width: 700px){.xx3cr9d.xx3cr9d{grid-template-columns:1fr}}", 3200);
+_inject2("@media (min-width: 701px) and (max-width: 1120px){.xtffbmy.xtffbmy{grid-template-columns:repeat(2,50%)}}", 3200);
+_inject2(".x15jn8ho{width:var(--xt7qi6)}", 4000);
+_inject2(".x193iq5w{max-width:100%}", 4000);
+_inject2("@media (max-width: 700px){.xl858mc.xl858mc{max-width:320px}}", 4200);
+_inject2("@media (max-width: 700px){.x15hltav.x15hltav{text-align:center}}", 3200);
diff --git a/crates/stylex-shared/tests/fixture/page-with-keyframes/rs_output_prod.js b/crates/stylex-shared/tests/fixture/page-with-keyframes/rs_output_prod.js
new file mode 100644
index 00000000..21acad82
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/page-with-keyframes/rs_output_prod.js
@@ -0,0 +1,48 @@
+/**
+ * Lead Comment
+ */ import React from 'react';
+import stylex from '@stylexjs/stylex';
+import Card from '@/components/Card';
+import { globalTokens as $, spacing, text, scales } from './globalTokens.stylex';
+import Counter from './Counter';
+const HOMEPAGE = 'https://stylexjs.com';
+export default function Home() {
+ return
+
+
+ Get started by editing
+ app/page.tsx
+
+
+
+
+ Next.js App Dir♥️️StyleX
+
+
+
+
+
+
+
+
+
+
+ ;
+}
+const MEDIA_MOBILE = '@media (max-width: 700px)';
diff --git a/crates/stylex-swc-plugin/tests/fixture/page-with-keyframes/output.js b/crates/stylex-shared/tests/fixture/page-with-keyframes/wasm_output.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/page-with-keyframes/output.js
rename to crates/stylex-shared/tests/fixture/page-with-keyframes/wasm_output.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/page-with-keyframes/output_prod.js b/crates/stylex-shared/tests/fixture/page-with-keyframes/wasm_output_prod.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/page-with-keyframes/output_prod.js
rename to crates/stylex-shared/tests/fixture/page-with-keyframes/wasm_output_prod.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/page/input.js b/crates/stylex-shared/tests/fixture/page/input.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/page/input.js
rename to crates/stylex-shared/tests/fixture/page/input.js
diff --git a/crates/stylex-shared/tests/fixture/page/rs_output.js b/crates/stylex-shared/tests/fixture/page/rs_output.js
new file mode 100644
index 00000000..7adb7806
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/page/rs_output.js
@@ -0,0 +1,30 @@
+import _inject from "@stylexjs/stylex/lib/stylex-inject";
+var _inject2 = _inject;
+import * as stylex from "@stylexjs/stylex";
+import React from "react";
+_inject2(".x1e2nbdu{color:red}", 3000);
+_inject2(".x78zum5{display:flex}", 3000);
+_inject2(".xdt5ytf{flex-direction:column}", 3000);
+_inject2(".x6s0dn4{align-items:center}", 3000);
+_inject2(".x1qughib{justify-content:space-between}", 3000);
+_inject2(".xg6iff7{min-height:100vh}", 4000);
+_inject2(".x1lmef92{padding:calc((100% - 50px) * .5) var(--rightpadding,20px)}", 1000);
+_inject2(".x1swossr{line-height:1.3em}", 3000);
+_inject2(".xif65rj{font-size:14px}", 3000);
+function getStaticProps() {
+ return {
+ props: {}
+ };
+}
+const { foo, ...a } = {
+ foo: "bar",
+ baz: "qux"
+};
+export default function Home() {
+ const { className, style } = {
+ className: "Page__s.main x1e2nbdu x78zum5 xdt5ytf x6s0dn4 x1qughib xg6iff7 x1lmef92 Page__s.title x1swossr xif65rj"
+ };
+ return
+ Main
+ ;
+}
diff --git a/crates/stylex-shared/tests/fixture/page/rs_output_prod.js b/crates/stylex-shared/tests/fixture/page/rs_output_prod.js
new file mode 100644
index 00000000..c062c25b
--- /dev/null
+++ b/crates/stylex-shared/tests/fixture/page/rs_output_prod.js
@@ -0,0 +1,19 @@
+import * as stylex from "@stylexjs/stylex";
+import React from "react";
+function getStaticProps() {
+ return {
+ props: {}
+ };
+}
+const { foo, ...a } = {
+ foo: "bar",
+ baz: "qux"
+};
+export default function Home() {
+ const { className, style } = {
+ className: "x1e2nbdu x78zum5 xdt5ytf x6s0dn4 x1qughib xg6iff7 x1lmef92 x1swossr xif65rj"
+ };
+ return
+ Main
+ ;
+}
diff --git a/crates/stylex-swc-plugin/tests/fixture/page/output.js b/crates/stylex-shared/tests/fixture/page/wasm_output.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/page/output.js
rename to crates/stylex-shared/tests/fixture/page/wasm_output.js
diff --git a/crates/stylex-swc-plugin/tests/fixture/page/output_prod.js b/crates/stylex-shared/tests/fixture/page/wasm_output_prod.js
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fixture/page/output_prod.js
rename to crates/stylex-shared/tests/fixture/page/wasm_output_prod.js
diff --git a/crates/stylex-swc-plugin/tests/fixtures.rs b/crates/stylex-shared/tests/fixtures.rs
similarity index 80%
rename from crates/stylex-swc-plugin/tests/fixtures.rs
rename to crates/stylex-shared/tests/fixtures.rs
index 244013bf..a1b965a3 100644
--- a/crates/stylex-swc-plugin/tests/fixtures.rs
+++ b/crates/stylex-shared/tests/fixtures.rs
@@ -1,11 +1,11 @@
use std::path::PathBuf;
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleXOptions, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::{chain, FileName, Mark},
@@ -17,8 +17,20 @@ use swc_core::{
#[testing::fixture("tests/fixture/**/input.js")]
fn fixture(input: PathBuf) {
- let output = input.parent().unwrap().join("output.js");
- let output_prod = input.parent().unwrap().join("output_prod.js");
+ let output: PathBuf;
+ let output_prod: PathBuf;
+
+ #[cfg(feature = "wasm")]
+ {
+ output = input.parent().unwrap().join("wasm_output.js");
+ output_prod = input.parent().unwrap().join("wasm_output_prod.js");
+ }
+
+ #[cfg(not(feature = "wasm"))]
+ {
+ output = input.parent().unwrap().join("rs_output.js");
+ output_prod = input.parent().unwrap().join("rs_output_prod.js");
+ }
test_fixture(
Syntax::Typescript(TsSyntax {
@@ -39,7 +51,7 @@ fn fixture(input: PathBuf) {
chain!(
resolver(unresolved_mark, top_level_mark, false),
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -74,7 +86,7 @@ fn fixture(input: PathBuf) {
chain!(
resolver(unresolved_mark, top_level_mark, false),
- ModuleTransformVisitor::new_test(
+ StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/fold.rs b/crates/stylex-shared/tests/fold.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/fold.rs
rename to crates/stylex-shared/tests/fold.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_metadata_test/mod.rs b/crates/stylex-shared/tests/stylex_metadata_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_metadata_test/mod.rs
rename to crates/stylex-shared/tests/stylex_metadata_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_metadata_test/stylex_metadata_common_test.rs b/crates/stylex-shared/tests/stylex_metadata_test/stylex_metadata_common_test.rs
similarity index 79%
rename from crates/stylex-swc-plugin/tests/stylex_metadata_test/stylex_metadata_common_test.rs
rename to crates/stylex-shared/tests/stylex_metadata_test/stylex_metadata_common_test.rs
index cb6d2051..85e83930 100644
--- a/crates/stylex-swc-plugin/tests/stylex_metadata_test/stylex_metadata_common_test.rs
+++ b/crates/stylex-shared/tests/stylex_metadata_test/stylex_metadata_common_test.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| { ModuleTransformVisitor::new_test(tr.comments.clone(), &PluginPass::default(), None) },
+ |tr| { StyleXTransform::new_test(tr.comments.clone(), &PluginPass::default(), None) },
stylex_metadata_is_correctly_set,
r#"
import stylex from 'stylex';
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/accounts_for_edge_cases.rs b/crates/stylex-shared/tests/stylex_transform_call_test/accounts_for_edge_cases.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/accounts_for_edge_cases.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/accounts_for_edge_cases.rs
index 3d6788d4..fad257f3 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/accounts_for_edge_cases.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/accounts_for_edge_cases.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -37,7 +37,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -62,7 +62,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -88,7 +88,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs b/crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs
similarity index 89%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs
index 432db0f1..23887bd1 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/even_when_stylex_calls_come_first.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -70,7 +70,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -106,7 +106,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -144,7 +144,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -180,7 +180,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -218,7 +218,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -240,7 +240,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -265,7 +265,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs b/crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs
index 9c50ced9..4de3fc1f 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/keep_stylex_create_when_needed.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -56,7 +56,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -78,7 +78,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -105,7 +105,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -132,7 +132,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -170,7 +170,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -206,7 +206,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -245,7 +245,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/keep_stylex_create_when_needed_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_call_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/setting_custom_import_paths.rs b/crates/stylex-shared/tests/stylex_transform_call_test/setting_custom_import_paths.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/setting_custom_import_paths.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/setting_custom_import_paths.rs
index f389a804..d07c5f21 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/setting_custom_import_paths.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/setting_custom_import_paths.rs
@@ -1,10 +1,10 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
named_import_source::{ImportSources, NamedImportSource},
plugin_pass::PluginPass,
stylex_options::StyleXOptionsParams,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -25,7 +25,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -58,7 +58,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -91,7 +91,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/specific_edge_case_bugs.rs b/crates/stylex-shared/tests/stylex_transform_call_test/specific_edge_case_bugs.rs
similarity index 94%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/specific_edge_case_bugs.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/specific_edge_case_bugs.rs
index 7f0bea09..b3a43806 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/specific_edge_case_bugs.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/specific_edge_case_bugs.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -63,7 +63,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -114,7 +114,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -164,7 +164,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs b/crates/stylex-shared/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs
similarity index 86%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs
index c25a1e57..a06ef9b6 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/stylex_transform_call_common_test.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -26,7 +26,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -48,7 +48,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -73,7 +73,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -98,7 +98,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -123,7 +123,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -150,7 +150,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -173,7 +173,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -200,7 +200,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -222,7 +222,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -244,7 +244,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -276,7 +276,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -308,7 +308,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -340,7 +340,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -372,7 +372,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -397,7 +397,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -422,7 +422,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -450,7 +450,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs b/crates/stylex-shared/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs
index f8954bca..8ab8b14b 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/with_conditional_styles_and_collisions.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -40,7 +40,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -65,7 +65,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -91,7 +91,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -119,7 +119,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -147,7 +147,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -175,7 +175,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -200,7 +200,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -228,7 +228,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/with_plugin_options.rs b/crates/stylex-shared/tests/stylex_transform_call_test/with_plugin_options.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_call_test/with_plugin_options.rs
rename to crates/stylex-shared/tests/stylex_transform_call_test/with_plugin_options.rs
index 563c8f4e..0877a767 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_call_test/with_plugin_options.rs
+++ b/crates/stylex-shared/tests/stylex_transform_call_test/with_plugin_options.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -15,7 +15,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -43,7 +43,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -77,7 +77,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -110,7 +110,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -142,7 +142,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_create_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/snapshots/fold__stylex_transform_create_test__stylex_create_call__handles_camel_cased_transition_properties.snap b/crates/stylex-shared/tests/stylex_transform_create_test/snapshots/fold__stylex_transform_create_test__stylex_create_call__handles_camel_cased_transition_properties.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/snapshots/fold__stylex_transform_create_test__stylex_create_call__handles_camel_cased_transition_properties.snap
rename to crates/stylex-shared/tests/stylex_transform_create_test/snapshots/fold__stylex_transform_create_test__stylex_create_call__handles_camel_cased_transition_properties.snap
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call.rs
similarity index 89%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call.rs
index 707c25db..0713d8bb 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleResolution, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -17,7 +17,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -39,7 +39,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -61,7 +61,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -83,7 +83,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -110,7 +110,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -131,7 +131,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -152,7 +152,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -176,7 +176,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -197,7 +197,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -239,7 +239,7 @@ fn handles_camel_cased_transition_properties() {
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -251,7 +251,7 @@ fn handles_camel_cased_transition_properties() {
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -265,7 +265,7 @@ fn handles_camel_cased_transition_properties() {
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -278,7 +278,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -299,7 +299,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -323,7 +323,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -349,7 +349,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -370,7 +370,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -395,7 +395,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -416,7 +416,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -448,7 +448,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -469,7 +469,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -501,7 +501,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -522,7 +522,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -543,7 +543,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -588,7 +588,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -618,7 +618,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| { ModuleTransformVisitor::new_test(tr.comments.clone(), &PluginPass::default(), None) },
+ |tr| { StyleXTransform::new_test(tr.comments.clone(), &PluginPass::default(), None) },
adds_null_for_constituent_properties_of_shorthands,
r#"
import stylex from 'stylex';
@@ -669,7 +669,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test(
+ StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -724,7 +724,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs
similarity index 85%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs
index aed46a6f..1055d61c 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -33,7 +33,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -65,7 +65,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs
similarity index 84%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs
index e576aedf..bd4ee550 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_classes_within_properties.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -31,7 +31,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -57,7 +57,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs
similarity index 82%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs
index 183ab1c4..8bb303aa 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_pseudo_elements.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -35,7 +35,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -58,7 +58,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries.rs
similarity index 84%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries.rs
index 527279d9..472ad8bd 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -36,7 +36,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs
similarity index 83%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs
index 03762d24..2678080a 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries_with_functions.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -31,7 +31,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -53,7 +53,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -78,7 +78,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -99,7 +99,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs
similarity index 83%
rename from crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs
rename to crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs
index 4eebaa96..7ee59b2d 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs
+++ b/crates/stylex-shared/tests/stylex_transform_create_test/stylex_create_call_queries_with_properties.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_define_vars_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_define_vars_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_define_vars_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_define_vars_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs b/crates/stylex-shared/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs
similarity index 95%
rename from crates/stylex-swc-plugin/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs
rename to crates/stylex-shared/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs
index 2b9ae682..60f286fd 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs
+++ b/crates/stylex-shared/tests/stylex_transform_define_vars_test/stylex_transform_define_vars.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleXOptions, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -20,7 +20,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -58,7 +58,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -96,7 +96,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -134,7 +134,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -172,7 +172,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -211,7 +211,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -249,7 +249,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -289,7 +289,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -330,7 +330,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -378,7 +378,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -425,7 +425,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -464,7 +464,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -503,7 +503,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -542,7 +542,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -581,7 +581,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -621,7 +621,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -661,7 +661,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -697,7 +697,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -728,7 +728,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -763,7 +763,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test(
+ StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -796,7 +796,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test(
+ StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_import_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_import_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_import_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/stylex_validation_import_test.rs b/crates/stylex-shared/tests/stylex_transform_import_test/stylex_validation_import_test.rs
similarity index 83%
rename from crates/stylex-swc-plugin/tests/stylex_transform_import_test/stylex_validation_import_test.rs
rename to crates/stylex-shared/tests/stylex_transform_import_test/stylex_validation_import_test.rs
index 87af084c..b06fe938 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/stylex_validation_import_test.rs
+++ b/crates/stylex-shared/tests/stylex_transform_import_test/stylex_validation_import_test.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -32,7 +32,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -55,7 +55,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -76,7 +76,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -96,7 +96,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -118,7 +118,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -139,7 +139,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -160,7 +160,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/transform_import_aliases.rs b/crates/stylex-shared/tests/stylex_transform_import_test/transform_import_aliases.rs
similarity index 85%
rename from crates/stylex-swc-plugin/tests/stylex_transform_import_test/transform_import_aliases.rs
rename to crates/stylex-shared/tests/stylex_transform_import_test/transform_import_aliases.rs
index 29136af9..f1aa6603 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/transform_import_aliases.rs
+++ b/crates/stylex-shared/tests/stylex_transform_import_test/transform_import_aliases.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::{test, test_transform},
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -37,7 +37,7 @@ fn throw_when_named_import() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -58,7 +58,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -82,7 +82,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -107,7 +107,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -132,7 +132,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/transform_with_custom_imports.rs b/crates/stylex-shared/tests/stylex_transform_import_test/transform_with_custom_imports.rs
similarity index 91%
rename from crates/stylex-swc-plugin/tests/stylex_transform_import_test/transform_with_custom_imports.rs
rename to crates/stylex-shared/tests/stylex_transform_import_test/transform_with_custom_imports.rs
index 7149d81c..1ff145c8 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_import_test/transform_with_custom_imports.rs
+++ b/crates/stylex-shared/tests/stylex_transform_import_test/transform_with_custom_imports.rs
@@ -1,10 +1,10 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
named_import_source::{ImportSources, NamedImportSource},
plugin_pass::PluginPass,
stylex_options::StyleXOptionsParams,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -23,7 +23,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -54,7 +54,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -88,7 +88,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -122,7 +122,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/mod.rs b/crates/stylex-shared/tests/stylex_transform_legacy_shorthands/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_legacy_shorthands/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs b/crates/stylex-shared/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs
rename to crates/stylex-shared/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs
index 047c3ce5..2f518b08 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs
+++ b/crates/stylex-shared/tests/stylex_transform_legacy_shorthands/while_using_rm_non_standard_shorthands.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleResolution, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -22,7 +22,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -52,7 +52,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -88,7 +88,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs b/crates/stylex-shared/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs
rename to crates/stylex-shared/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs
index 23c32076..4ebbb03d 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs
+++ b/crates/stylex-shared/tests/stylex_transform_legacy_shorthands/while_using_standard_logical_properties.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleResolution, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -22,7 +22,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -52,7 +52,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -89,7 +89,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_logical_properties_test/css_logical_properties.rs b/crates/stylex-shared/tests/stylex_transform_logical_properties_test/css_logical_properties.rs
similarity index 85%
rename from crates/stylex-swc-plugin/tests/stylex_transform_logical_properties_test/css_logical_properties.rs
rename to crates/stylex-shared/tests/stylex_transform_logical_properties_test/css_logical_properties.rs
index 66f58e6c..fd7bfb6f 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_logical_properties_test/css_logical_properties.rs
+++ b/crates/stylex-shared/tests/stylex_transform_logical_properties_test/css_logical_properties.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -10,7 +10,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -31,7 +31,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -51,7 +51,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -73,7 +73,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -93,7 +93,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -113,7 +113,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -133,7 +133,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -153,7 +153,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -173,7 +173,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -195,7 +195,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -215,7 +215,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -235,7 +235,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -255,7 +255,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -275,7 +275,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -295,7 +295,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -317,7 +317,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -337,7 +337,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -357,7 +357,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -377,7 +377,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -397,7 +397,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -417,7 +417,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -439,7 +439,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -459,7 +459,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -479,7 +479,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -499,7 +499,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -519,7 +519,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -541,7 +541,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -561,7 +561,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -581,7 +581,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -601,7 +601,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -621,7 +621,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -641,7 +641,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -663,7 +663,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -683,7 +683,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -703,7 +703,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -723,7 +723,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -743,7 +743,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -763,7 +763,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -783,7 +783,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -803,7 +803,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -823,7 +823,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -845,7 +845,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_logical_properties_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_logical_properties_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_logical_properties_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_logical_properties_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_logical_values_test/css_logical_values.rs b/crates/stylex-shared/tests/stylex_transform_logical_values_test/css_logical_values.rs
similarity index 86%
rename from crates/stylex-swc-plugin/tests/stylex_transform_logical_values_test/css_logical_values.rs
rename to crates/stylex-shared/tests/stylex_transform_logical_values_test/css_logical_values.rs
index 6053a5d4..4c2a5a68 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_logical_values_test/css_logical_values.rs
+++ b/crates/stylex-shared/tests/stylex_transform_logical_values_test/css_logical_values.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -11,7 +11,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -31,7 +31,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -51,7 +51,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -71,7 +71,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -91,7 +91,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -111,7 +111,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -133,7 +133,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -153,7 +153,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -173,7 +173,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -193,7 +193,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -215,7 +215,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -235,7 +235,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -255,7 +255,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -275,7 +275,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -295,7 +295,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -315,7 +315,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -340,7 +340,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -360,7 +360,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -380,7 +380,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -400,7 +400,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -420,7 +420,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -440,7 +440,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -460,7 +460,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -480,7 +480,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -500,7 +500,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -520,7 +520,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -540,7 +540,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -560,7 +560,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -580,7 +580,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -600,7 +600,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -620,7 +620,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -640,7 +640,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -660,7 +660,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_logical_values_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_logical_values_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_logical_values_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_logical_values_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/create_theme.rs b/crates/stylex-shared/tests/stylex_transform_override_vars_test/create_theme.rs
similarity index 95%
rename from crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/create_theme.rs
rename to crates/stylex-shared/tests/stylex_transform_override_vars_test/create_theme.rs
index 98256ae2..27584a55 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/create_theme.rs
+++ b/crates/stylex-shared/tests/stylex_transform_override_vars_test/create_theme.rs
@@ -1,10 +1,10 @@
use insta::assert_snapshot;
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleXOptions, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -32,7 +32,7 @@ fn transform(input: &str) -> String {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test(
+ StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -119,7 +119,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -146,7 +146,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -173,7 +173,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -201,7 +201,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -229,7 +229,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -260,7 +260,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -293,7 +293,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -333,7 +333,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -373,7 +373,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -413,7 +413,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -453,7 +453,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -483,7 +483,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs b/crates/stylex-shared/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs
similarity index 95%
rename from crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs
rename to crates/stylex-shared/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs
index ca0f1c48..f28dbf5e 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs
+++ b/crates/stylex-shared/tests/stylex_transform_override_vars_test/create_theme_with_literals.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleXOptions, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -37,7 +37,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/define_vars.rs b/crates/stylex-shared/tests/stylex_transform_override_vars_test/define_vars.rs
similarity index 94%
rename from crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/define_vars.rs
rename to crates/stylex-shared/tests/stylex_transform_override_vars_test/define_vars.rs
index 9c35cd95..1ceb96e5 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/define_vars.rs
+++ b/crates/stylex-shared/tests/stylex_transform_override_vars_test/define_vars.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
plugin_pass::PluginPass,
stylex_options::{StyleXOptions, StyleXOptionsParams},
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -26,7 +26,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -63,7 +63,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_override_vars_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_override_vars_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash-2.snap b/crates/stylex-shared/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash-2.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash-2.snap
rename to crates/stylex-shared/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash-2.snap
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash.snap b/crates/stylex-shared/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash.snap
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash.snap
rename to crates/stylex-shared/tests/stylex_transform_override_vars_test/snapshots/fold__stylex_transform_override_vars_test__create_theme__variables_order_does_not_change_the_class_name_hash.snap
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_polyfills_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_polyfills_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_polyfills_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_polyfills_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_polyfills_test/stylex_polyfills.rs b/crates/stylex-shared/tests/stylex_transform_polyfills_test/stylex_polyfills.rs
similarity index 80%
rename from crates/stylex-swc-plugin/tests/stylex_transform_polyfills_test/stylex_polyfills.rs
rename to crates/stylex-shared/tests/stylex_transform_polyfills_test/stylex_polyfills.rs
index 3dfd3b18..500d0113 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_polyfills_test/stylex_polyfills.rs
+++ b/crates/stylex-shared/tests/stylex_transform_polyfills_test/stylex_polyfills.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -10,7 +10,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -29,7 +29,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -53,7 +53,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs
similarity index 87%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs
index c0141de7..edcb04fb 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/even_when_stylex_calls_come_first.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -70,7 +70,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -92,7 +92,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs
similarity index 84%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs
index 5a10d1cc..57de92d4 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/keep_stylex_create_when_needed.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -56,7 +56,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs
index 3a47920d..ce4b5122 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/setting_custom_import_paths.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
named_import_source::ImportSources, plugin_pass::PluginPass,
stylex_options::StyleXOptionsParams,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -24,7 +24,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs
similarity index 94%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs
index d75b4eb1..9b5f25f8 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/specific_edge_case_bugs.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -63,7 +63,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs
similarity index 87%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs
index 4e9700a8..10c9555b 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/stylex_attrs_call.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -26,7 +26,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -48,7 +48,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -73,7 +73,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -98,7 +98,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -120,7 +120,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -147,7 +147,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -169,7 +169,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -195,7 +195,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -220,7 +220,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -242,7 +242,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -264,7 +264,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -289,7 +289,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -314,7 +314,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -342,7 +342,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -368,7 +368,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -396,7 +396,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs
similarity index 89%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs
index 257995be..ebab0dc9 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/with_conditional_styles_and_collisions.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -40,7 +40,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -65,7 +65,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -91,7 +91,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -117,7 +117,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -145,7 +145,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -173,7 +173,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -201,7 +201,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -226,7 +226,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -254,7 +254,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs
index 627e5350..14d86a56 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_attrs_test/with_plugin_options.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -15,7 +15,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -43,7 +43,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -77,7 +77,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -110,7 +110,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_create_theme_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_stylex_create_theme_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_create_theme_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_create_theme_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs b/crates/stylex-shared/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs
similarity index 86%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs
index 92f2c440..078aa364 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_create_theme_test/stylex_create_theme_call.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_keyframes_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_stylex_keyframes_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_keyframes_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_keyframes_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs b/crates/stylex-shared/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs
similarity index 86%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs
index 95057392..c44f2bb5 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_keyframes_test/stylex_keyframes_call.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -26,7 +26,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -50,7 +50,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -75,7 +75,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -100,7 +100,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -130,7 +130,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -159,7 +159,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs
similarity index 87%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs
index c400fc4a..329124c9 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/even_when_stylex_calls_come_first.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -70,7 +70,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -92,7 +92,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs
similarity index 84%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs
index 741e8522..48009ff4 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/keep_stylex_create_when_needed.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -34,7 +34,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -56,7 +56,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs
index 2512e593..03b4aa03 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/setting_custom_import_paths.rs
@@ -1,9 +1,9 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{
named_import_source::ImportSources, plugin_pass::PluginPass,
stylex_options::StyleXOptionsParams,
},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -24,7 +24,7 @@ test!(
..StyleXOptionsParams::default()
};
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs
similarity index 94%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs
index c12c1502..312c6ed2 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/specific_edge_case_bugs.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -63,7 +63,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/stylex_props_call.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/stylex_props_call.rs
similarity index 87%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/stylex_props_call.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/stylex_props_call.rs
index d7eb3a6b..5fce68ba 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/stylex_props_call.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/stylex_props_call.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -9,7 +9,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -26,7 +26,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -48,7 +48,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -73,7 +73,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -98,7 +98,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -120,7 +120,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -147,7 +147,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -169,7 +169,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -195,7 +195,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -220,7 +220,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -242,7 +242,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -264,7 +264,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -289,7 +289,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -314,7 +314,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -342,7 +342,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -368,7 +368,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -396,7 +396,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs
similarity index 89%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs
index 8c7b9535..ebe3c0b6 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/with_conditional_styles_and_collisions.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -40,7 +40,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -65,7 +65,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -91,7 +91,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -117,7 +117,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -145,7 +145,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -173,7 +173,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -201,7 +201,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -226,7 +226,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -254,7 +254,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/with_plugin_options.rs b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/with_plugin_options.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/with_plugin_options.rs
rename to crates/stylex-shared/tests/stylex_transform_stylex_props_test/with_plugin_options.rs
index dd4b12a6..70150105 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_stylex_props_test/with_plugin_options.rs
+++ b/crates/stylex-shared/tests/stylex_transform_stylex_props_test/with_plugin_options.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::{
common::FileName,
@@ -15,7 +15,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -43,7 +43,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -77,7 +77,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -110,7 +110,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/css_value_normalization.rs b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/css_value_normalization.rs
similarity index 92%
rename from crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/css_value_normalization.rs
rename to crates/stylex-shared/tests/stylex_transform_value_normalize_test/css_value_normalization.rs
index 4ec443c7..3989191f 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/css_value_normalization.rs
+++ b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/css_value_normalization.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -37,7 +37,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -58,7 +58,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -82,7 +82,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -103,7 +103,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -128,7 +128,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -149,7 +149,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -173,7 +173,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -194,7 +194,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -219,7 +219,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -251,7 +251,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -272,7 +272,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -303,7 +303,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_value_normalize_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/mod.rs b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs
rename to crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs
index 0a41a0a3..10f27d9e 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs
+++ b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_false.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -46,7 +46,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs
similarity index 91%
rename from crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs
rename to crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs
index d50f8280..ab5225e0 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs
+++ b/crates/stylex-shared/tests/stylex_transform_value_normalize_test/transform_font_size_with/use_rem_for_font_size_true.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -46,7 +46,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_variable_removal_test/mod.rs b/crates/stylex-shared/tests/stylex_transform_variable_removal_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_transform_variable_removal_test/mod.rs
rename to crates/stylex-shared/tests/stylex_transform_variable_removal_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs b/crates/stylex-shared/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs
similarity index 89%
rename from crates/stylex-swc-plugin/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs
rename to crates/stylex-shared/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs
index c7aa238c..555331f2 100644
--- a/crates/stylex-swc-plugin/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs
+++ b/crates/stylex-shared/tests/stylex_transform_variable_removal_test/optimization_removes_styles_variable_when_not_needed.rs
@@ -1,6 +1,6 @@
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -12,7 +12,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
@@ -38,7 +38,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut StyleXOptionsParams {
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_create_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_create_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_create_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_create_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_create_test/stylex_validation_create.rs b/crates/stylex-shared/tests/stylex_validation_create_test/stylex_validation_create.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_validation_create_test/stylex_validation_create.rs
rename to crates/stylex-shared/tests/stylex_validation_create_test/stylex_validation_create.rs
index d7890c7e..70540ceb 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_create_test/stylex_validation_create.rs
+++ b/crates/stylex-shared/tests/stylex_validation_create_test/stylex_validation_create.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::{test, test_transform},
@@ -13,7 +13,7 @@ fn must_be_bound_to_a_variable() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -38,7 +38,7 @@ fn must_be_called_at_top_level() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -65,7 +65,7 @@ fn its_only_argument_must_be_a_single_object_non_object() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -90,7 +90,7 @@ fn its_only_argument_must_be_a_single_object_argument() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -115,7 +115,7 @@ fn its_only_argument_must_be_a_single_object_illegal_argument_length() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -134,7 +134,7 @@ fn its_only_argument_must_be_a_single_object_illegal_argument_length() {
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -161,7 +161,7 @@ fn namespace_values_must_be_an_object() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -188,7 +188,7 @@ fn namespace_keys_must_be_a_static_value() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -217,7 +217,7 @@ fn properties_must_be_a_static_value() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -240,7 +240,7 @@ fn properties_must_be_a_static_value() {
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -259,7 +259,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -295,7 +295,7 @@ fn values_must_be_static_arrays_of_number_or_string_in_stylex_create() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -324,7 +324,7 @@ fn values_must_be_static_arrays_of_number_or_string_in_stylex_create_illegal_pro
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -353,7 +353,7 @@ fn values_must_be_static_arrays_of_number_or_string_in_stylex_create_non_static_
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -382,7 +382,7 @@ fn values_must_be_static_arrays_of_number_or_string_in_stylex_create_non_static_
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -405,7 +405,7 @@ fn values_must_be_static_arrays_of_number_or_string_in_stylex_create_non_static_
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -432,7 +432,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -455,7 +455,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -478,7 +478,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -501,7 +501,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -531,7 +531,7 @@ fn pseudo_classes_throw_invalid_pseudo() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -557,7 +557,7 @@ fn pseudo_classes_throw_invalid_pseudo() {
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs b/crates/stylex-shared/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs
rename to crates/stylex-shared/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs
index dd775116..cff2ba67 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs
+++ b/crates/stylex-shared/tests/stylex_validation_create_test/stylex_validation_create_dynamic_test.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::{test, test_transform},
@@ -15,7 +15,7 @@ fn dynamic_style_function_only_accepts_named_parameters_default_value() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -45,7 +45,7 @@ fn dynamic_style_function_only_accepts_named_parameters_default_string_value() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -75,7 +75,7 @@ fn dynamic_style_function_only_accepts_named_parameters_object_arg() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -105,7 +105,7 @@ fn dynamic_style_function_only_accepts_named_parameters_rest_arg() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -127,7 +127,7 @@ fn dynamic_style_function_only_accepts_named_parameters_rest_arg() {
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_create_theme_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_create_theme_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_create_theme_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_create_theme_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs b/crates/stylex-shared/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs
similarity index 87%
rename from crates/stylex-swc-plugin/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs
rename to crates/stylex-shared/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs
index 82d4bf27..fa9fa235 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs
+++ b/crates/stylex-shared/tests/stylex_validation_create_theme_test/stylex_validation_create_theme.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::{test, test_transform},
@@ -13,7 +13,7 @@ fn must_be_bound_to_a_variable() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -37,7 +37,7 @@ fn it_must_have_two_arguments_no_args() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -61,7 +61,7 @@ fn it_must_have_two_arguments_one_args() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -85,7 +85,7 @@ fn it_must_have_two_arguments_fn_args() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -109,7 +109,7 @@ fn it_must_have_two_arguments_empty_object_args() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -127,7 +127,7 @@ fn it_must_have_two_arguments_empty_object_args() {
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -152,7 +152,7 @@ fn variable_keys_must_be_a_static_value() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -173,7 +173,7 @@ fn variable_keys_must_be_a_static_value() {
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -192,7 +192,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -217,7 +217,7 @@ fn values_must_be_static_number_or_string_in_stylex_create_theme_var() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -244,7 +244,7 @@ fn values_must_be_static_number_or_string_in_stylex_create_theme_fn() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_custom_properties_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_custom_properties_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_custom_properties_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_custom_properties_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs b/crates/stylex-shared/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs
rename to crates/stylex-shared/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs
index 961632f0..da40b099 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs
+++ b/crates/stylex-shared/tests/stylex_validation_custom_properties_test/validation_css_custom_properties.rs
@@ -1,8 +1,8 @@
use std::collections::HashMap;
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -26,7 +26,7 @@ fn disallow_unclosed_style_value_functions() {
config.defined_stylex_css_variables = Some(defined_stylex_css_variables);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -58,7 +58,7 @@ fn disallow_unprefixed_custom_properties() {
config.defined_stylex_css_variables = Some(defined_stylex_css_variables);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -87,7 +87,7 @@ test!(
config.defined_stylex_css_variables = Some(defined_stylex_css_variables);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -115,7 +115,7 @@ test!(
config.defined_stylex_css_variables = Some(defined_stylex_css_variables);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -133,7 +133,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -157,7 +157,7 @@ test!(
config.defined_stylex_css_variables = Some(defined_stylex_css_variables);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
@@ -185,7 +185,7 @@ test!(
config.defined_stylex_css_variables = Some(defined_stylex_css_variables);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_declarations_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_declarations_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_declarations_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_declarations_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_declarations_test/stylex_validation_declarations.rs b/crates/stylex-shared/tests/stylex_validation_declarations_test/stylex_validation_declarations.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/stylex_validation_declarations_test/stylex_validation_declarations.rs
rename to crates/stylex-shared/tests/stylex_validation_declarations_test/stylex_validation_declarations.rs
index da239e7e..7669dcce 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_declarations_test/stylex_validation_declarations.rs
+++ b/crates/stylex-shared/tests/stylex_validation_declarations_test/stylex_validation_declarations.rs
@@ -1,8 +1,8 @@
use std::panic;
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::{constants::messages, structures::plugin_pass::PluginPass},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -31,7 +31,7 @@ fn validation_stylex_invalid_properties() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -65,7 +65,7 @@ fn stylex_invalid_property_values() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_define_vars_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_define_vars_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_define_vars_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_define_vars_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs b/crates/stylex-shared/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs
rename to crates/stylex-shared/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs
index 934bbb8b..1815f18b 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs
+++ b/crates/stylex-shared/tests/stylex_validation_define_vars_test/stylex_validation_define_vars.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::{
common::FileName,
ecma::{
@@ -18,7 +18,7 @@ fn must_be_bound_to_a_named_export_const() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -42,7 +42,7 @@ fn must_be_bound_to_a_named_export() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -66,7 +66,7 @@ fn its_only_argument_must_be_a_single_object_fn() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -90,7 +90,7 @@ fn its_only_argument_must_be_a_single_object_number() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -114,7 +114,7 @@ fn its_only_argument_must_be_a_single_object_empty() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -138,7 +138,7 @@ fn its_only_argument_must_be_a_single_object_two_args() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -158,7 +158,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -182,7 +182,7 @@ fn variable_keys_must_be_a_static_value() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -204,7 +204,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test(
+ |tr| StyleXTransform::new_test(
tr.comments.clone(),
&PluginPass {
cwd: None,
@@ -241,7 +241,7 @@ fn values_must_be_static_number_or_string_or_keyframes_in_stylex_define_vars_var
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -267,7 +267,7 @@ fn values_must_be_static_number_or_string_or_keyframes_in_stylex_define_vars_fn(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_import_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_import_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_import_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_import_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_import_test/stylex_imports.rs b/crates/stylex-shared/tests/stylex_validation_import_test/stylex_imports.rs
similarity index 77%
rename from crates/stylex-swc-plugin/tests/stylex_validation_import_test/stylex_imports.rs
rename to crates/stylex-shared/tests/stylex_validation_import_test/stylex_imports.rs
index 7d3db48a..d13744b3 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_import_test/stylex_imports.rs
+++ b/crates/stylex-shared/tests/stylex_validation_import_test/stylex_imports.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -10,7 +10,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -28,7 +28,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -47,7 +47,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_keyframes_test/mod.rs b/crates/stylex-shared/tests/stylex_validation_keyframes_test/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/stylex_validation_keyframes_test/mod.rs
rename to crates/stylex-shared/tests/stylex_validation_keyframes_test/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs b/crates/stylex-shared/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs
similarity index 88%
rename from crates/stylex-swc-plugin/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs
rename to crates/stylex-shared/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs
index dce146e3..dbc0d1a5 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs
+++ b/crates/stylex-shared/tests/stylex_validation_keyframes_test/stylex_validation_keyframes.rs
@@ -1,8 +1,8 @@
use std::collections::HashMap;
-use stylex_swc_plugin::{
+use stylex_shared::{
shared::structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- ModuleTransformVisitor,
+ StyleXTransform,
};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
@@ -19,7 +19,7 @@ fn only_argument_must_be_an_object_of_objects_null() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -43,7 +43,7 @@ fn only_argument_must_be_an_object_of_objects_non_keyframe() {
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -65,7 +65,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -85,7 +85,7 @@ test!(
tsx: true,
..Default::default()
}),
- |tr| ModuleTransformVisitor::new_test_force_runtime_injection(
+ |tr| StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None
@@ -120,7 +120,7 @@ test!(
config.runtime_injection = Some(true);
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
Some(&mut config),
diff --git a/crates/stylex-swc-plugin/tests/stylex_validation_regular_css.rs b/crates/stylex-shared/tests/stylex_validation_regular_css.rs
similarity index 86%
rename from crates/stylex-swc-plugin/tests/stylex_validation_regular_css.rs
rename to crates/stylex-shared/tests/stylex_validation_regular_css.rs
index f08cc488..77e6c0e0 100644
--- a/crates/stylex-swc-plugin/tests/stylex_validation_regular_css.rs
+++ b/crates/stylex-shared/tests/stylex_validation_regular_css.rs
@@ -1,4 +1,4 @@
-use stylex_swc_plugin::{shared::structures::plugin_pass::PluginPass, ModuleTransformVisitor};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::ecma::{
parser::{Syntax, TsSyntax},
transforms::testing::test,
@@ -7,7 +7,7 @@ use swc_core::ecma::{
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -29,7 +29,7 @@ test!(
test!(
Default::default(),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
@@ -66,7 +66,7 @@ test!(
..Default::default()
}),
|tr| {
- ModuleTransformVisitor::new_test_force_runtime_injection(
+ StyleXTransform::new_test_force_runtime_injection(
tr.comments.clone(),
&PluginPass::default(),
None,
diff --git a/crates/stylex-swc-plugin/tests/utils/mod.rs b/crates/stylex-shared/tests/utils/mod.rs
similarity index 100%
rename from crates/stylex-swc-plugin/tests/utils/mod.rs
rename to crates/stylex-shared/tests/utils/mod.rs
diff --git a/crates/stylex-swc-plugin/tests/utils/transform.rs b/crates/stylex-shared/tests/utils/transform.rs
similarity index 90%
rename from crates/stylex-swc-plugin/tests/utils/transform.rs
rename to crates/stylex-shared/tests/utils/transform.rs
index 9a62253c..ed922054 100644
--- a/crates/stylex-swc-plugin/tests/utils/transform.rs
+++ b/crates/stylex-shared/tests/utils/transform.rs
@@ -1,8 +1,6 @@
use std::{rc::Rc, sync::Arc};
-use stylex_swc_plugin::shared::structures::plugin_pass::PluginPass;
-use stylex_swc_plugin::ModuleTransformVisitor;
-// use swc_ecma_codegen::{text_writer::JsWriter, Emitter};
+use stylex_shared::{shared::structures::plugin_pass::PluginPass, StyleXTransform};
use swc_core::common::{chain, comments::SingleThreadedComments, DUMMY_SP};
use swc_core::ecma::ast::{
@@ -49,13 +47,11 @@ pub(crate) fn _parse_js(source_code: &str) -> Module {
match parser.parse_module() {
Ok(module) => {
// Do something with the parsed module.
- module.fold_with(
- &mut ModuleTransformVisitor::new_test_force_runtime_injection(
- Rc::new(SingleThreadedComments::default()),
- &PluginPass::default(),
- None,
- ),
- )
+ module.fold_with(&mut StyleXTransform::new_test_force_runtime_injection(
+ Rc::new(SingleThreadedComments::default()),
+ &PluginPass::default(),
+ None,
+ ))
}
Err(err) => {
handler
diff --git a/crates/stylex-swc-plugin/CHANGELOG.md b/crates/stylex-swc-plugin/CHANGELOG.md
deleted file mode 100644
index 10146510..00000000
--- a/crates/stylex-swc-plugin/CHANGELOG.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# @stylexswc/swc-plugin
-
-## 0.2.2
-
-### Patch Changes
-
-- a9e1961: create: transform different argument types
-
-## 0.2.1
-
-### Patch Changes
-
-- 44258b3: implement logic of sequence evaluation
-- b9dccff: allow nested definedVars calls
-- 87d581d: add new cycle to prevent filing state for non application's files
-- c5a79ec: implement logic of TsSatisfies evaluation
-- 3cf61ba: count export default reference
-- 75a20fb: wrap object key in quotes when starting with a number
-- 557b0e8: implement logic of TsAs evaluation
-- 2e899b8: implement logic of unary evaluation
-- 7514d69: add expression type to error message
-
-## 0.2.0
-
-### Minor Changes
-
-- a223705: added @stylexswc/path-resolver
-
-## 0.1.0
-
-### Minor Changes
-
-- 32b70a2: add changeset
-- 8077255: bump swc_core to 0.96.9
-- f7e0e79: replace Id with Atom
diff --git a/crates/stylex-swc-plugin/Cargo.toml b/crates/stylex-swc-plugin/Cargo.toml
index 92cb2996..2330dee6 100644
--- a/crates/stylex-swc-plugin/Cargo.toml
+++ b/crates/stylex-swc-plugin/Cargo.toml
@@ -13,6 +13,7 @@ doctest = false
[dependencies]
serde.workspace = true
+serde_json.workspace = true
swc_core = { workspace = true, features = [
"common",
"ecma_plugin_transform",
@@ -25,22 +26,6 @@ swc_core = { workspace = true, features = [
"css_ast",
] }
-lazy_static.workspace = true
-serde_json.workspace = true
-regex.workspace = true
-dashmap.workspace = true
-indexmap.workspace = true
-derive_more.workspace = true
-convert_case.workspace = true
-murmur2.workspace = true
-radix_fmt.workspace = true
-phf = { workspace = true, features = ["macros"] }
-once_cell.workspace = true
-colored.workspace = true
-node-resolve.workspace = true
-path-clean.workspace = true
-cssparser.workspace = true
-anyhow.workspace = true
log.workspace = true
pretty_env_logger.workspace = true
color-backtrace.workspace = true
@@ -49,13 +34,8 @@ env_logger.workspace = true
swc_ecma_parser = { version = "*", features = ["verify"] }
-stylex_path_resolver = { path = "../stylex-path-resolver" }
-
-
-[dev-dependencies]
-swc_core = { workspace = true, features = ["testing_transform", "ecma_parser"] }
-testing.workspace = true
-insta = { workspace = true, features = ["yaml"] }
+stylex_path_resolver = { path = "../stylex-path-resolver", features = ["wasm"] }
+stylex_shared = { path = "../stylex-shared", features = ["wasm"] }
# .cargo/config defines few alias to build plugin.
diff --git a/crates/stylex-swc-plugin/README.md b/crates/stylex-swc-plugin/README.md
index c179a262..ef768935 100644
--- a/crates/stylex-swc-plugin/README.md
+++ b/crates/stylex-swc-plugin/README.md
@@ -1,34 +1,36 @@
# SWC plugin for StyleX (\*\*unofficial)
-StyleX is a JavaScript library for defining styles for optimized user
-interfaces, developed by Meta. The official repo is
-[here](https://www.github.com/facebook/stylex).
+> [!WARNING]
+> **Deprecated**: This package is deprecated as of version `0.3.0` and may be removed in the future. Please use the [`rs-compiler`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/rs-compiler) instead.
+
+## Overview
+
+StyleX is a JavaScript library developed by Meta for defining styles optimized for user interfaces. You can find the official repository [here](https://www.github.com/facebook/stylex).
>**This is an unofficial plugin** for StyleX. It uses SWC instead of Babel for
build step, which allows us to completely ditch Babel and make StyleX faster.
-This plugin passes almost 100% of tests of the official StyleX library. It is
-intended as a drop-in replacement for the official StyleX babel plugin.
+This plugin successfully passes almost all tests from the official StyleX library and is designed to be a drop-in replacement for the official StyleX Babel plugin.
+
**The usage of StyleX does not change**, all changes are internal.
-This is specifically useful for Next.js projets as it allows us to use
-[SWC Next.js Compiler](https://nextjs.org/docs/architecture/nextjs-compiler).
+This plugin is particularly beneficial for Next.js projets as it allows the use of the [SWC Next.js Compiler](https://nextjs.org/docs/architecture/nextjs-compiler).
-- [Next.js plugin](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin)
-- [StyleX Documentation](https://stylexjs.com)
+* [Next.js plugin](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin)
+* [StyleX Documentation](https://stylexjs.com)
## Installation
-Install the package by using:
+To install the package, run the following command:
```bash
-npm install --save-dev @stylexswc/nextjs-plugin
+npm install --save-dev @stylexswc/swc-plugin
```
## Example
-Here is a simple example of StyleX use:
+Below is a simple example of using StyleX:
```ts
import * as stylex from '@stylexjs/stylex';
@@ -45,8 +47,7 @@ const styles = stylex.create({
const styleProps = stylex.props(styles.root, styles.element);
```
-> **Warning**
->
+> [!IMPORTANT]
> The current resolution of the `exports` field from `package. json` is only partially supported, so if you encounter problems, please open an [issue](https://github.com/Dwlad90/stylex-swc-plugin/issues/new) with an attached link to reproduce the problem.
## License
diff --git a/crates/stylex-swc-plugin/src/lib.rs b/crates/stylex-swc-plugin/src/lib.rs
index 42a7e28b..cc764106 100644
--- a/crates/stylex-swc-plugin/src/lib.rs
+++ b/crates/stylex-swc-plugin/src/lib.rs
@@ -1,14 +1,12 @@
-pub mod shared;
-pub(crate) mod transform;
-
use std::path::PathBuf;
-use shared::{
- structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
- utils::log::log_formatter,
+use stylex_shared::{
+ shared::{
+ structures::{plugin_pass::PluginPass, stylex_options::StyleXOptionsParams},
+ utils::log::log_formatter,
+ },
+ StyleXTransform,
};
-pub use transform::ModuleTransformVisitor;
-
use swc_core::{
common::FileName,
ecma::{ast::Program, visit::FoldWith},
@@ -19,17 +17,6 @@ use swc_core::{
},
};
-#[cfg(test)]
-mod tests {
- use ctor::ctor;
-
- #[ctor]
- fn init_color_backtrace() {
- pretty_env_logger::formatted_builder().init();
- color_backtrace::install();
- }
-}
-
#[plugin_transform]
pub(crate) fn process_transform(
program: Program,
@@ -59,8 +46,8 @@ pub(crate) fn process_transform(
let plugin_pass = Box::new(PluginPass { cwd, filename });
- let mut stylex: ModuleTransformVisitor =
- ModuleTransformVisitor::new(PluginCommentsProxy, plugin_pass, &mut config);
+ let mut stylex: StyleXTransform =
+ StyleXTransform::new(PluginCommentsProxy, plugin_pass, &mut config);
program.fold_with(&mut stylex)
}
diff --git a/crates/stylex-test-parser/CHANGELOG.md b/crates/stylex-test-parser/CHANGELOG.md
deleted file mode 100644
index cd0d8b18..00000000
--- a/crates/stylex-test-parser/CHANGELOG.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# @stylexswc/test-parser
-
-## 0.1.2
-
-### Patch Changes
-
-- 907c86b: parse test snapshots
-
-## 0.1.1
-
-### Patch Changes
-
-- a223705: added @stylexswc/path-resolver
-
-## 0.1.0
-
-### Minor Changes
-
-- 32b70a2: add changeset
-- 8077255: bump swc_core to 0.96.9
-- f7e0e79: replace Id with Atom
diff --git a/crates/stylex-test-parser/README.md b/crates/stylex-test-parser/README.md
index 0d0e982d..50c1749d 100644
--- a/crates/stylex-test-parser/README.md
+++ b/crates/stylex-test-parser/README.md
@@ -1,8 +1,16 @@
-# `test-parser`
+# `StyleX Test Parser`
-Small CLI application that helps parse Jest tests of official [StyleX](https://github.com/facebook/stylex) repo and keeps the project up to date.
+This project offers a command-line application (CLI) to parse Jest tests from the official [StyleX](https://github.com/facebook/stylex) repository. This tool helps maintain compatibility between the unofficial StyleX SWC plugin and the official StyleX library by detecting changes in StyleX tests.
-## Using
+## Features
+
+- Test Parsing: Extracts tests from the official StyleX repository.
+- Compatibility Checks: Assists in ensuring compatibility between StyleX SWC plugin and official StyleX tests.
+- Version Tracking: Enables you to stay updated with changes in StyleX tests and features.
+
+
+
+## Using the CLI
1. Compile release version of the CLI app by running next command: `pnpm --filter=@stylexswc/test-parser run build`
2. Clone official StyleX [repo](https://github.com/facebook/stylex), preferably next to this repository or update it if exist
@@ -10,8 +18,9 @@ Small CLI application that helps parse Jest tests of official [StyleX](https://g
4. Check `git diff` to see updates and changes to tests
5. Coding new features
-#CLI Arguments
+## CLI Arguments
*-p, --stylex-path * - Absolute or relative path to cloned [StyleX](https://github.com/facebook/stylex) repository. Default value: `../../../stylex/packages`
-**_NOTE:_** All parsed tests are saved in the [__tests__](https://github.com/Dwlad90/stylex-swc-plugin/tree/master/crates/stylex-test-parser/output/__tests__) directory separated by the source package name.
+> [!NOTE]
+> All parsed tests are saved in the [__tests__](https://github.com/Dwlad90/stylex-swc-plugin/tree/master/crates/stylex-test-parser/output/__tests__) directory separated by the source package name.
diff --git a/packages/eslint-config/CHANGELOG.md b/packages/eslint-config/CHANGELOG.md
deleted file mode 100644
index 6caf25f2..00000000
--- a/packages/eslint-config/CHANGELOG.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# @stylexswc/eslint-config
-
-## 0.1.0
-
-### Minor Changes
-
-- 32b70a2: add changeset
diff --git a/packages/nextjs-plugin/CHANGELOG.md b/packages/nextjs-plugin/CHANGELOG.md
deleted file mode 100644
index da060311..00000000
--- a/packages/nextjs-plugin/CHANGELOG.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# @stylexswc/nextjs-plugin
-
-## 0.2.2
-
-### Minor Changes
-
-- a9e1961: create: transform different argument types
-
-## 0.1.0
-
-### Minor Changes
-
-- 32b70a2: add changeset
diff --git a/packages/nextjs-plugin/README.md b/packages/nextjs-plugin/README.md
index bf3ce210..2d5dc074 100644
--- a/packages/nextjs-plugin/README.md
+++ b/packages/nextjs-plugin/README.md
@@ -1,35 +1,41 @@
-# SWC Stylex plugin for Next.js
+# Next.js plugin with NAPI-RS StyleX compiler integration
Next.js plugin for an unofficial
-[`StyleX SWC`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-swc-plugin)
-plugin.
+[`napi-rs`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-rs-compiler)
+compiler that includes the StyleX SWC code transformation under the hood.
-## Why SWC instead of Babel
+## Overview
-Since version 12, Next.js uses SWC Compiler by default.
-[According to Vercel](https://nextjs.org/docs/architecture/nextjs-compiler),
-compilation using the SWC Compiler is 17x faster than Babel.
+This package combines two solutions to enhance your Next.js development experience with StyleX:
-However, if you have a Babel config, the application will out put of SWC
-Compiler and continue to use Babel.
+### StyleX SWC Plugin
-This plugin allows us to use StyleX and take advantage of SWC Compiler.
+* Integrates StyleX with the SWC compiler, potentially leading to faster build times compared to using Babel.
+* Maintains high compatibility with official StyleX tests, ensuring a reliable experience.
+* Integrates seamlessly with Next.js SWC Compiler for a streamlined workflow.
-**The usage of StyleX does not change**, all changes are internal. All you need
-to do, is install SWC StyleX plugin and update Next.js config.
+### Stylex NAPI-RS Compiler
+
+* Utilizes NAPI-RS to compile StyleX code, offering advantages over the SWC plugin approach.
+* Provides access to StyleX metadata and source maps, enabling advanced plugin and tool development.
+
+## Why choose this approach?
+
+* Leverage SWC's speed: Benefit from Next.js's default SWC compiler for potentially faster build times.
+* Maintain StyleX familiarity: The usage of StyleX remains unchanged for developers.
## Installation
-Install the package and SWC plugin by using:
+To install the package, run the following command:
```bash
npm install --save-dev @stylexswc/nextjs-plugin
```
-Please install `@stylexswc/swc-plugin` if you haven't done so already:
+Please install `@stylexswc/rs-compiler` if you haven't done so already:
```bash
-npm install --save-dev @stylexswc/swc-plugin
+npm install --save-dev @stylexswc/rs-compiler
```
## Usage
@@ -46,34 +52,28 @@ const nextConfig = {
transpilePackages: ['@stylexjs/open-props'],
// Optionally, add any other Next.js config below
swcMinify: true,
- experimental: {
- swcPlugins: [
- '@stylexswc/swc-plugin',
- {
- dev: false,
- runtimeInjection: false,
- genConditionalClasses: true,
- treeshakeCompensation: true,
- unstable_moduleResolution: {
- type: 'commonJS',
- rootDir: __dirname,
- },
- },
- ],
- },
};
module.exports = stylexPlugin({
rootDir: __dirname,
+ // Stylex RS compiler options
+ dev: false,
+ runtimeInjection: false,
+ genConditionalClasses: true,
+ treeshakeCompensation: true,
+ unstable_moduleResolution: {
+ type: 'commonJS',
+ rootDir: __dirname,
+ },
})(nextConfig);
```
## Examples
-- [Example repo](https://github.com/Dwlad90/nextjs-app-dir-stylex)
-- [CodeSandbox with example repo](https://codesandbox.io/p/github/Dwlad90/nextjs-app-dir-stylex/main)
+* [Example repo](https://github.com/Dwlad90/nextjs-app-dir-stylex)
+* [CodeSandbox with example repo](https://codesandbox.io/p/github/Dwlad90/nextjs-app-dir-stylex/main)
## Documentation
-- [StyleX Documentation](https://stylexjs.com)
-- [SWC plugin for StyleX](https://github.com/Dwlad90/stylex-swc-plugin/tree/master/packages/swc-plugin)
+* [StyleX Documentation](https://stylexjs.com)
+* [SWC plugin for StyleX](https://github.com/Dwlad90/stylex-swc-plugin/tree/master/packages/swc-plugin)
diff --git a/packages/nextjs-plugin/package.json b/packages/nextjs-plugin/package.json
index 3ba3457e..b9237165 100644
--- a/packages/nextjs-plugin/package.json
+++ b/packages/nextjs-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@stylexswc/nextjs-plugin",
- "description": "Stylex NextJS plugin with swc plugin",
+ "description": "Stylex NextJS plugin with NAPI-RS compiler",
"version": "0.2.4",
"config": {
"scripty": {
@@ -9,6 +9,7 @@
},
"devDependencies": {
"@babel/types": "^7.23.9",
+ "@stylexswc/rs-compiler": "workspace:*",
"@stylexswc/eslint-config": "workspace:*",
"@stylexswc/typescript-config": "workspace:*",
"@types/babel__core": "^7.20.5",
diff --git a/packages/nextjs-plugin/src/custom-webpack-plugin.ts b/packages/nextjs-plugin/src/custom-webpack-plugin.ts
index 3c7576ab..d7d0cf39 100644
--- a/packages/nextjs-plugin/src/custom-webpack-plugin.ts
+++ b/packages/nextjs-plugin/src/custom-webpack-plugin.ts
@@ -1,18 +1,19 @@
import path from 'path';
import stylexBabelPlugin from '@stylexjs/babel-plugin';
+import { transform } from '@stylexswc/rs-compiler';
import webpack from 'webpack';
import fs from 'fs/promises';
-import { PluginRule } from './types';
import type { Rule } from '@stylexjs/babel-plugin';
import type { Compiler, WebpackError } from 'webpack';
+import type { StyleXOptions } from '@stylexswc/rs-compiler';
+
const { NormalModule, Compilation } = webpack;
const PLUGIN_NAME = 'stylex';
-const IS_DEV_ENV =
- process.env.NODE_ENV === 'development' || process.env.BABEL_ENV === 'development';
+const IS_DEV_ENV = process.env.NODE_ENV === 'development';
const { RawSource, ConcatSource } = webpack.sources;
@@ -22,14 +23,13 @@ const compilers = new Set();
class StylexPlugin {
filesInLastRun: any = null;
- filePath: any = null;
- dev: any;
+ filePath?: string | null = null;
+ dev: boolean;
appendTo: any;
- filename: any;
- babelConfig: any;
+ filename?: string;
stylexImports: any[];
- babelPlugin: any;
useCSSLayers: any;
+ rsOptions: StyleXOptions;
constructor({
dev = IS_DEV_ENV,
@@ -37,6 +37,7 @@ class StylexPlugin {
filename = appendTo == null ? 'stylex.css' : undefined,
stylexImports = ['stylex', '@stylexjs/stylex'],
useCSSLayers = false,
+ rsOptions = {},
}: any = {}) {
this.dev = dev;
this.appendTo = appendTo;
@@ -44,6 +45,7 @@ class StylexPlugin {
this.stylexImports = stylexImports;
this.useCSSLayers = useCSSLayers;
+ this.rsOptions = rsOptions;
}
apply(compiler: Compiler) {
@@ -56,9 +58,8 @@ class StylexPlugin {
// TypeScript modules
/\.tsx?/.test(path.extname(module.resource))
) {
- // We use .push() here instead of .unshift()
- // Webpack usually runs loaders in reverse order and we want to ideally run
- // our loader before anything else.
+ // We use .unshift() and not .push() like original babel plugin
+ // because we want to run other transformations first, e.g. custom SWC plugins.
module.loaders.unshift({
loader: path.resolve(__dirname, 'custom-webpack-loader.js'),
options: { stylexPlugin: this },
@@ -82,8 +83,8 @@ class StylexPlugin {
// Take styles for the modules that were included in the last compilation.
const allRules = Object.keys(stylexRules)
.map(filename => stylexRules[filename])
- .filter(Boolean)
- .flat() as unknown as Rule[];
+ .flat()
+ .filter((rule): rule is Rule => !!rule);
return stylexBabelPlugin.processStylexRules(allRules, this.useCSSLayers);
};
@@ -105,17 +106,13 @@ class StylexPlugin {
if (cssFileName && stylexCSS != null) {
this.filePath = path.join(process.cwd(), '.next', cssFileName);
- const source = assets?.[cssFileName]?.source();
-
- if (source) {
- const updatedSource = new ConcatSource(
- new RawSource(source),
- new RawSource(stylexCSS)
- );
+ const updatedSource = new ConcatSource(
+ new RawSource(assets[cssFileName]?.source() || ''),
+ new RawSource(stylexCSS)
+ );
- compilation.updateAsset(cssFileName, updatedSource);
- compilers.add(compiler);
- }
+ compilation.updateAsset(cssFileName, updatedSource);
+ compilers.add(compiler);
}
}
);
@@ -124,7 +121,7 @@ class StylexPlugin {
compilation.hooks.additionalAssets.tap(PLUGIN_NAME, () => {
try {
const collectedCSS = getStyleXRules();
- if (collectedCSS) {
+ if (collectedCSS && this.filename) {
console.log('emitting asset', this.filename, collectedCSS);
compilation.emitAsset(this.filename, new RawSource(collectedCSS));
fs.writeFile(this.filename, collectedCSS).then(() =>
@@ -144,37 +141,20 @@ class StylexPlugin {
// for JS modules. The loader than calls this function.
async transformCode(inputCode: string, filename: string, logger: any) {
const originalSource = inputCode;
+
if (inputCode.includes('Welcome to my MDX page'))
console.log('originalSource: ', originalSource);
if (this.stylexImports.some(importName => originalSource.includes(importName))) {
- let metadataStr = '[]';
-
- const code = originalSource.replace(
- /\/\/*__stylex_metadata_start__(?.+)__stylex_metadata_end__/,
- (...args) => {
- metadataStr = args.at(-1)?.metadata.split('"__stylex_metadata_end__')[0];
-
- return '';
- }
- );
+ let result = transform(filename, inputCode, this.rsOptions);
- const metadata = { stylex: [] };
-
- try {
- metadata.stylex = JSON.parse(metadataStr);
- } catch (e) {
- console.error('error parsing metadata', e);
- }
- const map = null;
+ const metadata = result?.metadata;
+ const code = result.code;
+ const map = result.map;
if (metadata.stylex != null && metadata.stylex.length > 0) {
const oldRules = stylexRules[filename] || [];
-
- stylexRules[filename] = metadata.stylex?.map(
- (rule: PluginRule) => [rule.class_name, rule.style, rule.priority] as Rule
- );
-
+ stylexRules[filename] = metadata.stylex;
logger.debug(`Read stylex styles from ${filename}:`, metadata.stylex);
const oldClassNames = new Set(oldRules.map(rule => rule[0]));
@@ -195,9 +175,9 @@ class StylexPlugin {
});
});
}
-
- return { code, map };
}
+
+ return { code, map };
}
return { code: inputCode };
}
diff --git a/packages/nextjs-plugin/src/index.ts b/packages/nextjs-plugin/src/index.ts
index da53c5a2..6d8cc473 100644
--- a/packages/nextjs-plugin/src/index.ts
+++ b/packages/nextjs-plugin/src/index.ts
@@ -4,9 +4,20 @@ import type { Configuration } from 'webpack';
import type { NextConfig } from 'next';
import type { ConfigurationContext } from 'next/dist/build/webpack/config/utils';
import type { WebpackConfigContext } from 'next/dist/server/config-shared';
+import type { StyleXOptions } from '@stylexswc/rs-compiler';
let count = 0;
-function StylexNextJSPlugin({ rootDir, filename = 'stylex-bundle.css', ...pluginOptions }: any) {
+
+interface StylexNextJSPluginOptions extends StyleXOptions {
+ rootDir: string;
+ filename?: string;
+}
+
+function StylexNextJSPlugin({
+ rootDir,
+ filename = 'stylex-bundle.css',
+ ...pluginOptions
+}: StylexNextJSPluginOptions) {
return (nextConfig: NextConfig = {}) => {
return {
...nextConfig,
@@ -47,7 +58,7 @@ function StylexNextJSPlugin({ rootDir, filename = 'stylex-bundle.css', ...plugin
appendTo: (name: string) => name.endsWith('.css'),
filename,
dev,
- ...pluginOptions,
+ rsOptions: pluginOptions,
};
const stylexPlugin = new WebpackPluginStylex(webpackPluginOptions);
diff --git a/packages/nextjs-swc-plugin/.lintstagedrc.js b/packages/nextjs-swc-plugin/.lintstagedrc.js
new file mode 100644
index 00000000..21fa2ec9
--- /dev/null
+++ b/packages/nextjs-swc-plugin/.lintstagedrc.js
@@ -0,0 +1,6 @@
+module.exports = {
+ '*.{j,t}s?(x)': ['eslint --color --fix'],
+ '*.mdx': ['eslint --color --fix'],
+ '*.json': 'eslint --color --fix',
+ 'package.json': ['syncpack format', 'eslint --color --fix'],
+};
diff --git a/packages/nextjs-swc-plugin/README.md b/packages/nextjs-swc-plugin/README.md
new file mode 100644
index 00000000..599721b6
--- /dev/null
+++ b/packages/nextjs-swc-plugin/README.md
@@ -0,0 +1,83 @@
+# SWC Stylex plugin for Next.js
+
+> [!WARNING]
+> **Deprecated**: This package is deprecated as of version `0.3.0` and may be removed in the future. Please use the [`nextjs-plugin`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/packages/nextjs-plugin) instead.
+
+
+Next.js plugin for an unofficial
+[`StyleX SWC`](https://github.com/dwlad90/stylex-swc-plugin/tree/master/crates/stylex-swc-plugin)
+plugin.
+
+## Why SWC instead of Babel
+
+Since version 12, Next.js uses SWC Compiler by default.
+[According to Vercel](https://nextjs.org/docs/architecture/nextjs-compiler),
+compilation using the SWC Compiler is 17x faster than Babel.
+
+However, if you have a Babel config, the application will out put of SWC
+Compiler and continue to use Babel.
+
+This plugin allows us to use StyleX and take advantage of SWC Compiler.
+
+**The usage of StyleX does not change**, all changes are internal. All you need
+to do, is install SWC StyleX plugin and update Next.js config.
+
+## Installation
+
+Install the package and SWC plugin by using:
+
+```bash
+npm install --save-dev @stylexswc/nextjs-plugin
+```
+
+Please install `@stylexswc/swc-plugin` if you haven't done so already:
+
+```bash
+npm install --save-dev @stylexswc/swc-plugin
+```
+
+## Usage
+
+Modify Next.js config. For example:
+
+```js
+/** @type {import('next').NextConfig} */
+const stylexPlugin = require('@stylexswc/nextjs-plugin');
+
+const nextConfig = {
+ // Configure `pageExtensions` to include MDX files
+ pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'],
+ transpilePackages: ['@stylexjs/open-props'],
+ // Optionally, add any other Next.js config below
+ swcMinify: true,
+ experimental: {
+ swcPlugins: [
+ '@stylexswc/swc-plugin',
+ {
+ dev: false,
+ runtimeInjection: false,
+ genConditionalClasses: true,
+ treeshakeCompensation: true,
+ unstable_moduleResolution: {
+ type: 'commonJS',
+ rootDir: __dirname,
+ },
+ },
+ ],
+ },
+};
+
+module.exports = stylexPlugin({
+ rootDir: __dirname,
+})(nextConfig);
+```
+
+## Examples
+
+- [Example repo](https://github.com/Dwlad90/nextjs-app-dir-stylex)
+- [CodeSandbox with example repo](https://codesandbox.io/p/github/Dwlad90/nextjs-app-dir-stylex/main)
+
+## Documentation
+
+- [StyleX Documentation](https://stylexjs.com)
+- [SWC plugin for StyleX](https://github.com/Dwlad90/stylex-swc-plugin/tree/master/packages/swc-plugin)
diff --git a/packages/nextjs-swc-plugin/package.json b/packages/nextjs-swc-plugin/package.json
new file mode 100644
index 00000000..af8a251f
--- /dev/null
+++ b/packages/nextjs-swc-plugin/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "@stylexswc/nextjs-swc-plugin",
+ "description": "Stylex NextJS plugin with swc plugin",
+ "version": "0.2.4",
+ "config": {
+ "scripty": {
+ "path": "../../scripts/packages"
+ }
+ },
+ "devDependencies": {
+ "@babel/types": "^7.23.9",
+ "@stylexswc/eslint-config": "workspace:*",
+ "@stylexswc/typescript-config": "workspace:*",
+ "@types/babel__core": "^7.20.5",
+ "@types/node": "^20.12.11",
+ "next": "^14.0.1",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "webpack": "^5.88.2"
+ },
+ "files": [
+ "dist"
+ ],
+ "keywords": [
+ "next",
+ "nextjs",
+ "nextjs-plugin",
+ "stylex"
+ ],
+ "license": "MIT",
+ "main": "dist/index.js",
+ "peerDependencies": {
+ "@stylexjs/babel-plugin": "^0.7.5",
+ "next": ">=14.0.1"
+ },
+ "private": false,
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": "dwlad90/stylex-swc-plugin",
+ "scripts": {
+ "build": "scripty --ts",
+ "clean": "del-cli dist",
+ "precommit": "lint-staged",
+ "prepublishOnly": "pnpm run build",
+ "prepush": "lint-prepush",
+ "test": "echo \"Error: no test specified\" && exit 0"
+ },
+ "sideEffects": false
+}
diff --git a/packages/nextjs-swc-plugin/src/constants.ts b/packages/nextjs-swc-plugin/src/constants.ts
new file mode 100644
index 00000000..27e65cbb
--- /dev/null
+++ b/packages/nextjs-swc-plugin/src/constants.ts
@@ -0,0 +1,7 @@
+import type { LoaderContext } from 'webpack';
+
+export const PLUGIN_NAME = 'stylex';
+
+export type SupplementedLoaderContext = LoaderContext & {
+ // NOTE: Add any additional properties here
+};
diff --git a/packages/nextjs-swc-plugin/src/custom-webpack-loader.ts b/packages/nextjs-swc-plugin/src/custom-webpack-loader.ts
new file mode 100644
index 00000000..dfe9a8ee
--- /dev/null
+++ b/packages/nextjs-swc-plugin/src/custom-webpack-loader.ts
@@ -0,0 +1,37 @@
+import type * as webpack from 'webpack';
+
+import { PLUGIN_NAME, type SupplementedLoaderContext } from './constants';
+
+export type WebpackLoaderOptions = {
+ /**
+ * Please never use this feature, it will be removed without further notice.
+ */
+ stylexPlugin?: {
+ transformCode: (
+ code: string,
+ filePath: string,
+ logger?: ReturnType
+ ) => Promise<{ code: string; map: string }>;
+ };
+};
+
+type WebpackLoaderParams = Parameters>;
+
+function stylexLoader(this: SupplementedLoaderContext, inputCode: string) {
+ const callback = this.async();
+
+ const { stylexPlugin } = this.getOptions();
+ const logger = this._compiler?.getInfrastructureLogger(PLUGIN_NAME);
+
+ stylexPlugin?.transformCode(inputCode, this.resourcePath, logger).then(
+ ({ code, map }: { code: string; map: string }) => {
+ callback(null, code, map);
+ },
+ (error: Error) => {
+ callback(error);
+ }
+ );
+}
+
+export default stylexLoader;
+module.exports = stylexLoader;
diff --git a/packages/nextjs-swc-plugin/src/custom-webpack-plugin.ts b/packages/nextjs-swc-plugin/src/custom-webpack-plugin.ts
new file mode 100644
index 00000000..4b0dc400
--- /dev/null
+++ b/packages/nextjs-swc-plugin/src/custom-webpack-plugin.ts
@@ -0,0 +1,205 @@
+import path from 'path';
+import stylexBabelPlugin from '@stylexjs/babel-plugin';
+import webpack from 'webpack';
+import fs from 'fs/promises';
+import { PluginRule } from './types';
+
+import type { Rule } from '@stylexjs/babel-plugin';
+import type { Compiler, WebpackError } from 'webpack';
+
+const { NormalModule, Compilation } = webpack;
+
+const PLUGIN_NAME = 'stylex';
+
+const IS_DEV_ENV =
+ process.env.NODE_ENV === 'development' || process.env.BABEL_ENV === 'development';
+
+const { RawSource, ConcatSource } = webpack.sources;
+
+const stylexRules: Record = {};
+const cssFiles = new Set();
+const compilers = new Set();
+
+class StylexPlugin {
+ filesInLastRun: any = null;
+ filePath: any = null;
+ dev: any;
+ appendTo: any;
+ filename: any;
+ stylexImports: any[];
+ useCSSLayers: any;
+
+ constructor({
+ dev = IS_DEV_ENV,
+ appendTo,
+ filename = appendTo == null ? 'stylex.css' : undefined,
+ stylexImports = ['stylex', '@stylexjs/stylex'],
+ useCSSLayers = false,
+ }: any = {}) {
+ this.dev = dev;
+ this.appendTo = appendTo;
+ this.filename = filename;
+ this.stylexImports = stylexImports;
+
+ this.useCSSLayers = useCSSLayers;
+ }
+
+ apply(compiler: Compiler) {
+ compiler.hooks.make.tap(PLUGIN_NAME, compilation => {
+ // Apply loader to JS modules.
+ NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (_, module) => {
+ if (
+ // JavaScript (and Flow) modules
+ /\.jsx?/.test(path.extname(module.resource)) ||
+ // TypeScript modules
+ /\.tsx?/.test(path.extname(module.resource))
+ ) {
+ // We use .push() here instead of .unshift()
+ // Webpack usually runs loaders in reverse order and we want to ideally run
+ // our loader before anything else.
+ module.loaders.unshift({
+ loader: path.resolve(__dirname, 'custom-webpack-loader.js'),
+ options: { stylexPlugin: this },
+ ident: null,
+ type: null,
+ });
+ }
+
+ if (
+ // JavaScript (and Flow) modules
+ /\.css/.test(path.extname(module.resource))
+ ) {
+ cssFiles.add(module.resource);
+ }
+ });
+
+ const getStyleXRules = () => {
+ if (Object.keys(stylexRules).length === 0) {
+ return null;
+ }
+ // Take styles for the modules that were included in the last compilation.
+ const allRules = Object.keys(stylexRules)
+ .map(filename => stylexRules[filename])
+ .filter(Boolean)
+ .flat() as unknown as Rule[];
+
+ return stylexBabelPlugin.processStylexRules(allRules, this.useCSSLayers);
+ };
+
+ if (this.appendTo) {
+ compilation.hooks.processAssets.tap(
+ {
+ name: PLUGIN_NAME,
+ stage: Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS, // see below for more stages
+ },
+ assets => {
+ const cssFileName = Object.keys(assets).find(
+ typeof this.appendTo === 'function'
+ ? this.appendTo
+ : filename => filename.endsWith(this.appendTo)
+ );
+ const stylexCSS = getStyleXRules();
+
+ if (cssFileName && stylexCSS != null) {
+ this.filePath = path.join(process.cwd(), '.next', cssFileName);
+
+ const source = assets?.[cssFileName]?.source();
+
+ if (source) {
+ const updatedSource = new ConcatSource(
+ new RawSource(source),
+ new RawSource(stylexCSS)
+ );
+
+ compilation.updateAsset(cssFileName, updatedSource);
+ compilers.add(compiler);
+ }
+ }
+ }
+ );
+ } else {
+ // Consume collected rules and emit the stylex CSS asset
+ compilation.hooks.additionalAssets.tap(PLUGIN_NAME, () => {
+ try {
+ const collectedCSS = getStyleXRules();
+ if (collectedCSS) {
+ console.log('emitting asset', this.filename, collectedCSS);
+ compilation.emitAsset(this.filename, new RawSource(collectedCSS));
+ fs.writeFile(this.filename, collectedCSS).then(() =>
+ console.log('wrote file', this.filename)
+ );
+ }
+ } catch (e) {
+ compilation.errors.push(e as WebpackError);
+ }
+ });
+ }
+ });
+ }
+
+ // This function is not called by Webpack directly.
+ // Instead, `NormalModule.getCompilationHooks` is used to inject a loader
+ // for JS modules. The loader than calls this function.
+ async transformCode(inputCode: string, filename: string, logger: any) {
+ const originalSource = inputCode;
+ if (inputCode.includes('Welcome to my MDX page'))
+ console.log('originalSource: ', originalSource);
+
+ if (this.stylexImports.some(importName => originalSource.includes(importName))) {
+ let metadataStr = '[]';
+
+ const code = originalSource.replace(
+ /\/\/*__stylex_metadata_start__(?.+)__stylex_metadata_end__/,
+ (...args) => {
+ metadataStr = args.at(-1)?.metadata.split('"__stylex_metadata_end__')[0];
+
+ return '';
+ }
+ );
+
+ const metadata = { stylex: [] };
+
+ try {
+ metadata.stylex = JSON.parse(metadataStr);
+ } catch (e) {
+ console.error('error parsing metadata', e);
+ }
+ const map = null;
+
+ if (metadata.stylex != null && metadata.stylex.length > 0) {
+ const oldRules = stylexRules[filename] || [];
+
+ stylexRules[filename] = metadata.stylex?.map(
+ (rule: PluginRule) => [rule.class_name, rule.style, rule.priority] as Rule
+ );
+
+ logger.debug(`Read stylex styles from ${filename}:`, metadata.stylex);
+
+ const oldClassNames = new Set(oldRules.map(rule => rule[0]));
+ const newClassNames = new Set(metadata.stylex.map(rule => rule[0]));
+
+ // If there are any new classNames in the output we need to recompile
+ // the CSS bundle.
+ if (
+ oldClassNames.size !== newClassNames.size ||
+ [...newClassNames].some(className => !oldClassNames.has(className)) ||
+ filename.endsWith('.stylex.ts') ||
+ filename.endsWith('.stylex.tsx') ||
+ filename.endsWith('.stylex.js')
+ ) {
+ compilers.forEach(compiler => {
+ cssFiles.forEach(cssFile => {
+ compiler.watchFileSystem.watcher.fileWatchers.get(cssFile).watcher.emit('change');
+ });
+ });
+ }
+
+ return { code, map };
+ }
+ }
+ return { code: inputCode };
+ }
+}
+export default StylexPlugin;
+
+module.exports = StylexPlugin;
diff --git a/packages/nextjs-swc-plugin/src/index.ts b/packages/nextjs-swc-plugin/src/index.ts
new file mode 100644
index 00000000..da53c5a2
--- /dev/null
+++ b/packages/nextjs-swc-plugin/src/index.ts
@@ -0,0 +1,63 @@
+import WebpackPluginStylex from './custom-webpack-plugin';
+
+import type { Configuration } from 'webpack';
+import type { NextConfig } from 'next';
+import type { ConfigurationContext } from 'next/dist/build/webpack/config/utils';
+import type { WebpackConfigContext } from 'next/dist/server/config-shared';
+
+let count = 0;
+function StylexNextJSPlugin({ rootDir, filename = 'stylex-bundle.css', ...pluginOptions }: any) {
+ return (nextConfig: NextConfig = {}) => {
+ return {
+ ...nextConfig,
+ transpilePackages: [...(nextConfig.transpilePackages || []), '@stylexjs/open-props'],
+ webpack(config: Configuration & ConfigurationContext, options: WebpackConfigContext) {
+ if (typeof nextConfig.webpack === 'function') {
+ config = nextConfig.webpack(config, options);
+ }
+
+ const { buildId, dev, isServer } = options;
+
+ console.log(
+ [
+ '!!!GETTING WEBPACK CONFIG!!!',
+ '======================',
+ `Count: ${++count}`,
+ `Build ID: ${buildId}`,
+ `Server: ${isServer}`,
+ `Env: ${dev ? 'dev' : 'prod'}`,
+ ].join('\n')
+ );
+
+ if (config.optimization?.splitChunks) {
+ config.optimization.splitChunks ||= { cacheGroups: {} };
+
+ if (config.optimization.splitChunks.cacheGroups) {
+ config.optimization.splitChunks.cacheGroups.stylex = {
+ name: 'stylex',
+ chunks: 'all',
+ test: /\.css$/,
+ enforce: true,
+ };
+ }
+ }
+
+ const webpackPluginOptions = {
+ rootDir,
+ appendTo: (name: string) => name.endsWith('.css'),
+ filename,
+ dev,
+ ...pluginOptions,
+ };
+
+ const stylexPlugin = new WebpackPluginStylex(webpackPluginOptions);
+ config.plugins?.push(stylexPlugin);
+
+ return config;
+ },
+ };
+ };
+}
+
+export default StylexNextJSPlugin;
+module.exports = StylexNextJSPlugin;
diff --git a/packages/nextjs-swc-plugin/src/types.ts b/packages/nextjs-swc-plugin/src/types.ts
new file mode 100644
index 00000000..49c2c8d5
--- /dev/null
+++ b/packages/nextjs-swc-plugin/src/types.ts
@@ -0,0 +1,5 @@
+export type PluginRule = {
+ class_name: string;
+ style: { ltr: string; rtl?: null | string };
+ priority: number;
+};
diff --git a/packages/nextjs-swc-plugin/tsconfig.json b/packages/nextjs-swc-plugin/tsconfig.json
new file mode 100644
index 00000000..4c473706
--- /dev/null
+++ b/packages/nextjs-swc-plugin/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "extends": "@stylexswc/typescript-config/base.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "moduleResolution": "Node",
+ "module": "CommonJS",
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ]
+ },
+ "include": [
+ "next-env.d.ts",
+ "next.config.js",
+ "src/**/*.ts",
+ "src/**/*.tsx",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
+}
\ No newline at end of file
diff --git a/packages/typescript-config/CHANGELOG.md b/packages/typescript-config/CHANGELOG.md
deleted file mode 100644
index 4796b728..00000000
--- a/packages/typescript-config/CHANGELOG.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# @stylexswc/typescript-config
-
-## 0.1.0
-
-### Minor Changes
-
-- 32b70a2: add changeset
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 79a420d6..79d874b4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -85,9 +85,9 @@ importers:
'@stylexswc/nextjs-plugin':
specifier: 0.2.4
version: link:../../packages/nextjs-plugin
- '@stylexswc/swc-plugin':
+ '@stylexswc/rs-compiler':
specifier: 0.2.4
- version: link:../../crates/stylex-swc-plugin
+ version: link:../../crates/stylex-rs-compiler
'@types/node':
specifier: ^20.10.4
version: 20.12.11
@@ -113,8 +113,119 @@ importers:
specifier: ^5.3.3
version: 5.4.5
+ apps/nextjs-swc-example:
+ dependencies:
+ '@stylexjs/open-props':
+ specifier: ^0.7.5
+ version: 0.7.5
+ '@stylexjs/stylex':
+ specifier: ^0.7.5
+ version: 0.7.5
+ bright:
+ specifier: ^0.8.4
+ version: 0.8.5(react@18.3.1)
+ next:
+ specifier: 14.2.3
+ version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react:
+ specifier: ^18
+ version: 18.3.1
+ react-dom:
+ specifier: ^18
+ version: 18.3.1(react@18.3.1)
+ devDependencies:
+ '@stylexjs/eslint-plugin':
+ specifier: ^0.7.5
+ version: 0.7.5
+ '@stylexswc/nextjs-swc-plugin':
+ specifier: 0.2.4
+ version: link:../../packages/nextjs-swc-plugin
+ '@stylexswc/swc-plugin':
+ specifier: 0.2.4
+ version: link:../../crates/stylex-swc-plugin
+ '@types/node':
+ specifier: ^20.10.4
+ version: 20.12.11
+ '@types/react':
+ specifier: ^18.2.45
+ version: 18.3.6
+ '@types/react-dom':
+ specifier: ^18.2.18
+ version: 18.3.0
+ '@typescript-eslint/parser':
+ specifier: ^6.14.0
+ version: 6.21.0(eslint@8.57.0)(typescript@5.6.2)
+ eslint:
+ specifier: ^8.56.0
+ version: 8.57.0
+ eslint-config-next:
+ specifier: 14.0.1
+ version: 14.0.1(eslint@8.57.0)(typescript@5.6.2)
+ rimraf:
+ specifier: ^5.0.5
+ version: 5.0.10
+ typescript:
+ specifier: ^5.3.3
+ version: 5.6.2
+
crates/stylex-path-resolver: {}
+ crates/stylex-rs-compiler:
+ devDependencies:
+ '@napi-rs/cli':
+ specifier: ^2.18.4
+ version: 2.18.4
+ '@stylexjs/open-props':
+ specifier: ^0.7.5
+ version: 0.7.5
+ '@stylexjs/stylex':
+ specifier: ^0.7.5
+ version: 0.7.5
+ '@swc-node/register':
+ specifier: ^1.10.6
+ version: 1.10.9(@swc/core@1.7.26(@swc/helpers@0.5.5))(@swc/types@0.1.12)(typescript@5.6.2)
+ '@swc/core':
+ specifier: ^1.6.13
+ version: 1.7.26(@swc/helpers@0.5.5)
+ '@taplo/cli':
+ specifier: ^0.7.0
+ version: 0.7.0
+ '@types/node':
+ specifier: ^20
+ version: 20.12.11
+ ava:
+ specifier: ^6.1.3
+ version: 6.1.3
+ benchmark:
+ specifier: ^2.1.2
+ version: 2.1.4
+ chalk:
+ specifier: ^5.3.0
+ version: 5.3.0
+ husky:
+ specifier: ^9.0.11
+ version: 9.1.2
+ lint-staged:
+ specifier: ^15.2.7
+ version: 15.2.7
+ npm-run-all2:
+ specifier: ^6.2.2
+ version: 6.2.3
+ oxlint:
+ specifier: ^0.9.0
+ version: 0.9.6
+ prettier:
+ specifier: ^3.3.3
+ version: 3.3.3
+ tinybench:
+ specifier: ^2.8.0
+ version: 2.9.0
+ typescript:
+ specifier: ^5.5.3
+ version: 5.6.2
+
+ crates/stylex-shared: {}
+
crates/stylex-swc-plugin: {}
crates/stylex-test-parser: {}
@@ -133,7 +244,7 @@ importers:
version: 7.7.1(eslint@8.57.0)(typescript@5.4.5)
'@vercel/style-guide':
specifier: ^6.0.0
- version: 6.0.0(@next/eslint-plugin-next@14.2.3)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5)
+ version: 6.0.0(@next/eslint-plugin-next@14.2.3)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.4.5)
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
@@ -148,6 +259,43 @@ importers:
version: 5.4.5
packages/nextjs-plugin:
+ dependencies:
+ '@stylexjs/babel-plugin':
+ specifier: ^0.7.5
+ version: 0.7.5
+ devDependencies:
+ '@babel/types':
+ specifier: ^7.23.9
+ version: 7.24.0
+ '@stylexswc/eslint-config':
+ specifier: workspace:*
+ version: link:../eslint-config
+ '@stylexswc/rs-compiler':
+ specifier: workspace:*
+ version: link:../../crates/stylex-rs-compiler
+ '@stylexswc/typescript-config':
+ specifier: workspace:*
+ version: link:../typescript-config
+ '@types/babel__core':
+ specifier: ^7.20.5
+ version: 7.20.5
+ '@types/node':
+ specifier: ^20.12.11
+ version: 20.12.11
+ next:
+ specifier: ^14.0.1
+ version: 14.2.3(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react:
+ specifier: ^18.2.0
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.3.1(react@18.3.1)
+ webpack:
+ specifier: ^5.88.2
+ version: 5.91.0
+
+ packages/nextjs-swc-plugin:
dependencies:
'@stylexjs/babel-plugin':
specifier: ^0.7.5
@@ -415,6 +563,15 @@ packages:
peerDependencies:
effect: ^3.5.7
+ '@emnapi/core@1.2.0':
+ resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==}
+
+ '@emnapi/runtime@1.2.0':
+ resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
+
+ '@emnapi/wasi-threads@1.0.1':
+ resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
+
'@eslint-community/eslint-utils@4.4.0':
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -477,12 +634,24 @@ packages:
'@manypkg/get-packages@1.1.3':
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+ '@mapbox/node-pre-gyp@1.0.11':
+ resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
+ hasBin: true
+
'@microsoft/tsdoc-config@0.16.2':
resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
'@microsoft/tsdoc@0.14.2':
resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
+ '@napi-rs/cli@2.18.4':
+ resolution: {integrity: sha512-SgJeA4df9DE2iAEpr3M2H0OKl/yjtg1BnRI5/JyowS71tUWhrfSu2LT0V3vlHET+g1hBVlrO60PmEXwUEKp8Mg==}
+ engines: {node: '>= 10'}
+ hasBin: true
+
+ '@napi-rs/wasm-runtime@0.2.4':
+ resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==}
+
'@next/env@14.2.3':
resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==}
@@ -561,6 +730,101 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@oxc-resolver/binding-darwin-arm64@1.11.0':
+ resolution: {integrity: sha512-jjhTgaTMhJ5lpE/OiqF5eX7Nhy5gPZBjZNqwmZstbHmqujfVs1MGiTEXHWgKUrcFdLnENWtuoIR3Kmdp3/vuqw==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-darwin-x64@1.11.0':
+ resolution: {integrity: sha512-w/svTRKnuRinojYAVsWRozVoPar7XUPlJhpfnsYlReRjls6A53/ziTzHfpmcKjdBrP/AXPcDVJDnM4pOSsvWvA==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-freebsd-x64@1.11.0':
+ resolution: {integrity: sha512-thGp8g8maYUx7vYJqD0vSsuUO95vWNJwKS2AXchq212J5dQ0Dybq4gjt2O2N9iU+lxj1QzmIDXGw7q5HCagOiw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-resolver/binding-linux-arm-gnueabihf@1.11.0':
+ resolution: {integrity: sha512-8G99bs4cnwpJRjRK2cEJXiJVyLogzPJq4JgLlcMEKSGhdkoMV1Ia0dghLk9lAFog33U4lWIwKmPgqQzTO6JM8g==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-gnu@1.11.0':
+ resolution: {integrity: sha512-hNcB/wbuCFbsspg4h9+Nz5gSL8PbRW7zG/eVvmEpzGhmVubzDFuNmlYtmaUaZ6b9jzOrrqTkYCt9t7Q2TDHnBA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-musl@1.11.0':
+ resolution: {integrity: sha512-H9rjqCcNQT9aip1VLrtsiyj9So0DEKUoutMNu1oL9UuD3H5lWIaxhDlHTAFsobWeUHCnuaCbizhGb9wyLRHSuA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-x64-gnu@1.11.0':
+ resolution: {integrity: sha512-6hdv/kmaGysK3/hUaGTYG07yX+nvk6hGoWombmOuc0vBnGLRtSjqvvgDBdAs9/iIcOSQI2YNUEiJvTyy6eb5GA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-x64-musl@1.11.0':
+ resolution: {integrity: sha512-AYUvI4VwQkBq0rcYI3Z7a9+BpllbllbxQCD30ZRgHghvqXvDECWfP8r98iynz7u0oKGO8ZPf15d/l9VrkRtiuQ==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-resolver/binding-wasm32-wasi@1.11.0':
+ resolution: {integrity: sha512-vhXnOs34q8p7QhqQ04bIGy7ZzLEHBaBTsqh2wpAzSBCmjL7MmTpM8KWwXFPFB+Wj0P7/parjGDHzbZG20pEePg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-resolver/binding-win32-arm64-msvc@1.11.0':
+ resolution: {integrity: sha512-5XMm8EELDkAVQoMGv4QKqi+SjWnhcU1aq5B9q59iqiXIBNAs72f0d3LAldLrqE2XomP2QweorpsoxuGuIk2Cnw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-resolver/binding-win32-x64-msvc@1.11.0':
+ resolution: {integrity: sha512-rVKiZSTgao4SBWyqWvStxDhKmwbKEN/E8+H3CJzIP4FcsL7MQtWH2HT86bmoefkyRe1yO+m2/mG7j3TfADh/Fg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxlint/darwin-arm64@0.9.6':
+ resolution: {integrity: sha512-dw0JMjgymvvYQE38D2sexcV+SNER2PL2TrUyYiy1YuhHSPeH8UX/c+iJstl02K03RRiNJIAmEdYv3a98+t/x5Q==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxlint/darwin-x64@0.9.6':
+ resolution: {integrity: sha512-fvXgv9eI6U1uRXUmdpWbcX1Tkv2VeYiIwrwBDARuYqI+YbxiuCsBx8RbRrw1C6SrKuZnihAPZIhebH/YRz/ZkQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxlint/linux-arm64-gnu@0.9.6':
+ resolution: {integrity: sha512-9PIH+6ebuLlPFPguzpusnS0n0MbilvSdQ5CpHIFa9lA5qXAIX1UrKUwRz8MwXY9JZYY9YEHOqnHLQvJtY4r2Ag==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxlint/linux-arm64-musl@0.9.6':
+ resolution: {integrity: sha512-2TQ0Ln0GzW0U8UZJqhgXWr5yncZraDqx8ylSCE6o6VYiO5CkFUSqLnornH+OYQwOLyIgnxneITnFI7mCWC3/Yw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxlint/linux-x64-gnu@0.9.6':
+ resolution: {integrity: sha512-jlZSjZ1Qu7EQmGFZn1+HKqlQvgW5L+qkF5r1W4g03/b35I1XwaGaij5bw07cRsy70oIQOvUE+5wWGqqIxwtpDA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxlint/linux-x64-musl@0.9.6':
+ resolution: {integrity: sha512-mPwnz8PTZTv7Swc3KPl2MdTjGxBLN8R1gjSWaWd8PAR8zQ9TFiz48hpI1m0MJV5KY9oOSUGFt8MmknD2BOqZ6A==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxlint/win32-arm64@0.9.6':
+ resolution: {integrity: sha512-gLS/kJh4TsbynN71O6moaXbdS7hfilmLAbMy3itanxta1+oW+W1b5yMn3XnYQKXZ4z48ERi2qf0Khe21VFXCZw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxlint/win32-x64@0.9.6':
+ resolution: {integrity: sha512-z8m0EiG4UtVr58b/7HenBSyaEo2dZNUVW57nx1DMO+XXQF/jg+SqYPbuDzMOD8Ygwjo1nhf8up5WiUcl/8ELAw==}
+ cpu: [x64]
+ os: [win32]
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -569,6 +833,10 @@ packages:
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ '@rollup/pluginutils@4.2.1':
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+
'@rushstack/eslint-patch@1.10.2':
resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==}
@@ -591,12 +859,107 @@ packages:
'@stylexjs/stylex@0.7.5':
resolution: {integrity: sha512-e4bryU2AoKBeAlloea7sJZrYrjiqJYViw8AWL6eanTVdk7qJ0CduNoiRQxtCP1dOhqGAPG74kaWT7slLzZnqKg==}
+ '@swc-node/core@1.13.3':
+ resolution: {integrity: sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ '@swc/core': '>= 1.4.13'
+ '@swc/types': '>= 0.1'
+
+ '@swc-node/register@1.10.9':
+ resolution: {integrity: sha512-iXy2sjP0phPEpK2yivjRC3PAgoLaT4sjSk0LDWCTdcTBJmR4waEog0E6eJbvoOkLkOtWw37SB8vCkl/bbh4+8A==}
+ peerDependencies:
+ '@swc/core': '>= 1.4.13'
+ typescript: '>= 4.3'
+
+ '@swc-node/sourcemap-support@0.5.1':
+ resolution: {integrity: sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==}
+
+ '@swc/core-darwin-arm64@1.7.26':
+ resolution: {integrity: sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@swc/core-darwin-x64@1.7.26':
+ resolution: {integrity: sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@swc/core-linux-arm-gnueabihf@1.7.26':
+ resolution: {integrity: sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@swc/core-linux-arm64-gnu@1.7.26':
+ resolution: {integrity: sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@swc/core-linux-arm64-musl@1.7.26':
+ resolution: {integrity: sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@swc/core-linux-x64-gnu@1.7.26':
+ resolution: {integrity: sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@swc/core-linux-x64-musl@1.7.26':
+ resolution: {integrity: sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@swc/core-win32-arm64-msvc@1.7.26':
+ resolution: {integrity: sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@swc/core-win32-ia32-msvc@1.7.26':
+ resolution: {integrity: sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@swc/core-win32-x64-msvc@1.7.26':
+ resolution: {integrity: sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@swc/core@1.7.26':
+ resolution: {integrity: sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@swc/helpers': '*'
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
+ '@swc/types@0.1.12':
+ resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==}
+
+ '@taplo/cli@0.7.0':
+ resolution: {integrity: sha512-Ck3zFhQhIhi02Hl6T4ZmJsXdnJE+wXcJz5f8klxd4keRYgenMnip3JDPMGDRLbnC/2iGd8P0sBIQqI3KxfVjBg==}
+ hasBin: true
+
+ '@tybys/wasm-util@0.9.0':
+ resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
+
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@@ -770,6 +1133,11 @@ packages:
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@vercel/nft@0.26.5':
+ resolution: {integrity: sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
'@vercel/style-guide@6.0.0':
resolution: {integrity: sha512-tu0wFINGz91EPwaT5VjSqUwbvCY9pvLach7SPG4XyfJKPU9Vku2TFa6+AyzJ4oroGbo9fK+TQhIFHrnFl0nCdg==}
engines: {node: '>=18.18'}
@@ -843,21 +1211,37 @@ packages:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
+ abbrev@1.1.1:
+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+
acorn-import-assertions@1.9.0:
resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
peerDependencies:
acorn: ^8
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+ peerDependencies:
+ acorn: ^8
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ engines: {node: '>=0.4.0'}
+
acorn@8.11.3:
resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
hasBin: true
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
aggregate-error@4.0.1:
resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
engines: {node: '>=12'}
@@ -905,6 +1289,14 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
+ aproba@2.0.0:
+ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+
+ are-we-there-yet@2.0.0:
+ resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
+ engines: {node: '>=10'}
+ deprecated: This package is no longer supported.
+
argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
@@ -918,6 +1310,10 @@ packages:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
+ array-find-index@1.0.2:
+ resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==}
+ engines: {node: '>=0.10.0'}
+
array-ify@1.0.0:
resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
@@ -955,13 +1351,24 @@ packages:
resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
engines: {node: '>= 0.4'}
+ arrgv@1.0.2:
+ resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==}
+ engines: {node: '>=8.0.0'}
+
arrify@1.0.1:
resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
engines: {node: '>=0.10.0'}
+ arrify@3.0.0:
+ resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==}
+ engines: {node: '>=12'}
+
ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
async@2.6.4:
resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==}
@@ -969,6 +1376,16 @@ packages:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'}
+ ava@6.1.3:
+ resolution: {integrity: sha512-tkKbpF1pIiC+q09wNU9OfyTDYZa8yuWvU2up3+lFJ3lr1RmnYh2GBpPwzYUEB0wvTPIUysGjcZLNZr7STDviRA==}
+ engines: {node: ^18.18 || ^20.8 || ^21 || ^22}
+ hasBin: true
+ peerDependencies:
+ '@ava/typescript': '*'
+ peerDependenciesMeta:
+ '@ava/typescript':
+ optional: true
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -986,16 +1403,25 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ benchmark@2.1.4:
+ resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==}
+
better-path-resolve@1.0.0:
resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
engines: {node: '>=4'}
+ bindings@1.5.0:
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+
bl@1.2.3:
resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ blueimp-md5@2.19.0:
+ resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
+
boolean@3.2.0:
resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
@@ -1057,6 +1483,10 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
+ callsites@4.2.0:
+ resolution: {integrity: sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==}
+ engines: {node: '>=12.20'}
+
camelcase-keys@7.0.2:
resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
engines: {node: '>=12'}
@@ -1068,6 +1498,10 @@ packages:
caniuse-lite@1.0.30001612:
resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==}
+ cbor@9.0.2:
+ resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==}
+ engines: {node: '>=16'}
+
chalk-template@1.1.0:
resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==}
engines: {node: '>=14.16'}
@@ -1087,10 +1521,17 @@ packages:
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+ chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+
chrome-trace-event@1.0.3:
resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
engines: {node: '>=6.0'}
+ chunkd@2.0.1:
+ resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==}
+
ci-info@3.9.0:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
@@ -1099,6 +1540,9 @@ packages:
resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
+ ci-parallel-vars@1.0.1:
+ resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==}
+
clean-regexp@1.0.0:
resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
engines: {node: '>=4'}
@@ -1142,6 +1586,10 @@ packages:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
+ code-excerpt@4.0.0:
+ resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -1155,6 +1603,10 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ color-support@1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -1170,12 +1622,22 @@ packages:
engines: {node: '>= 12'}
hasBin: true
+ common-path-prefix@3.0.0:
+ resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+
compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ concordance@5.0.4:
+ resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==}
+ engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'}
+
+ console-control-strings@1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
+
conventional-changelog-angular@7.0.0:
resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
engines: {node: '>=16'}
@@ -1191,6 +1653,10 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ convert-to-spaces@2.0.1:
+ resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
core-js-compat@3.37.0:
resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
@@ -1227,6 +1693,10 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ currently-unhandled@0.4.1:
+ resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==}
+ engines: {node: '>=0.10.0'}
+
cz-conventional-changelog@3.3.0:
resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==}
engines: {node: '>= 10'}
@@ -1250,6 +1720,10 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
+ date-time@3.1.0:
+ resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==}
+ engines: {node: '>=6'}
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -1267,6 +1741,15 @@ packages:
supports-color:
optional: true
+ debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
decamelize-keys@1.1.1:
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
engines: {node: '>=0.10.0'}
@@ -1325,6 +1808,9 @@ packages:
resolution: {integrity: sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==}
engines: {node: '>=14.16'}
+ delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -1341,6 +1827,10 @@ packages:
resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==}
engines: {node: '>=12.20'}
+ detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
+
detect-newline@4.0.1:
resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -1377,6 +1867,10 @@ packages:
electron-to-chromium@1.4.750:
resolution: {integrity: sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==}
+ emittery@1.0.3:
+ resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==}
+ engines: {node: '>=14.16'}
+
emoji-regex@10.3.0:
resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
@@ -1457,6 +1951,10 @@ packages:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -1662,6 +2160,9 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -1695,6 +2196,9 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -1718,6 +2222,10 @@ packages:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
+ figures@6.1.0:
+ resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==}
+ engines: {node: '>=18'}
+
file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -1734,6 +2242,9 @@ packages:
resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==}
engines: {node: '>=4'}
+ file-uri-to-path@1.0.0:
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
+
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -1744,6 +2255,10 @@ packages:
find-root@1.1.0:
resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ find-up-simple@1.0.0:
+ resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
+ engines: {node: '>=18'}
+
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -1792,6 +2307,10 @@ packages:
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
engines: {node: '>=10'}
+ fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -1805,6 +2324,11 @@ packages:
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ gauge@3.0.2:
+ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
+ deprecated: This package is no longer supported.
+
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
@@ -1951,6 +2475,9 @@ packages:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
+ has-unicode@2.0.1:
+ resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
+
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -1970,6 +2497,10 @@ packages:
resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
engines: {node: ^16.14.0 || >=18.0.0}
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
human-id@1.0.2:
resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==}
@@ -1989,6 +2520,10 @@ packages:
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ ignore-by-default@2.1.0:
+ resolution: {integrity: sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw==}
+ engines: {node: '>=10 <11 || >=12 <13 || >=14'}
+
ignore@5.3.1:
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
@@ -2037,6 +2572,10 @@ packages:
invariant@2.2.4:
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ irregular-plurals@3.5.0:
+ resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==}
+ engines: {node: '>=8'}
+
is-array-buffer@3.0.4:
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
engines: {node: '>= 0.4'}
@@ -2152,6 +2691,13 @@ packages:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
+ is-plain-object@5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+
+ is-promise@4.0.0:
+ resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
+
is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
@@ -2249,6 +2795,10 @@ packages:
jju@1.4.0:
resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
+ js-string-escape@1.0.1:
+ resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==}
+ engines: {node: '>= 0.8'}
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -2280,6 +2830,10 @@ packages:
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ json-parse-even-better-errors@3.0.2:
+ resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -2353,6 +2907,10 @@ packages:
resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==}
engines: {node: '>=18.0.0'}
+ load-json-file@7.0.1:
+ resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
load-yaml-file@0.2.0:
resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
engines: {node: '>=6'}
@@ -2443,6 +3001,10 @@ packages:
resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==}
engines: {node: '>=4'}
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+
map-obj@1.0.1:
resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
engines: {node: '>=0.10.0'}
@@ -2455,6 +3017,22 @@ packages:
resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==}
engines: {node: '>=10'}
+ matcher@5.0.0:
+ resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ md5-hex@3.0.1:
+ resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==}
+ engines: {node: '>=8'}
+
+ memoize@10.0.0:
+ resolution: {integrity: sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==}
+ engines: {node: '>=18'}
+
+ memorystream@0.3.1:
+ resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
+ engines: {node: '>= 0.10.0'}
+
meow@10.1.5:
resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2526,10 +3104,27 @@ packages:
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+
minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
@@ -2572,9 +3167,31 @@ packages:
sass:
optional: true
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-gyp-build@4.8.2:
+ resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==}
+ hasBin: true
+
node-releases@2.0.14:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ nofilter@3.1.0:
+ resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==}
+ engines: {node: '>=12.19'}
+
+ nopt@5.0.0:
+ resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
+ engines: {node: '>=6'}
+ hasBin: true
+
normalize-package-data@2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
@@ -2582,14 +3199,27 @@ packages:
resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
engines: {node: '>=10'}
+ npm-normalize-package-bin@3.0.1:
+ resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
npm-package-arg@11.0.3:
resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==}
engines: {node: ^16.14.0 || >=18.0.0}
+ npm-run-all2@6.2.3:
+ resolution: {integrity: sha512-5RsxC7jEc/RjxOYBVdEfrJf5FsJ0pHA7jr2/OxrThXknajETCTYjigOCG3iaGjdYIKEQlDuCG0ir0T1HTva8pg==}
+ engines: {node: ^14.18.0 || ^16.13.0 || >=18.0.0, npm: '>= 8'}
+ hasBin: true
+
npm-run-path@5.3.0:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ npmlog@5.0.1:
+ resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+ deprecated: This package is no longer supported.
+
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -2659,6 +3289,14 @@ packages:
outdent@0.5.0:
resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
+ oxc-resolver@1.11.0:
+ resolution: {integrity: sha512-N3qMse2AM7uST8PaiUMXZkcACyGAMN073tomyvzHTICSzaOqKHvVS0IZ3vj/OqoE140QP4CyOiWmgC1Hw5Urmg==}
+
+ oxlint@0.9.6:
+ resolution: {integrity: sha512-5UeXQK7n6qIktK9JTG7Nh8mH1NM9A/jssdCMw0P02mob6DwM13ycgeZtrD7Z22J7QSJKfGnfu41S2YSJJN3zaQ==}
+ engines: {node: '>=14.*'}
+ hasBin: true
+
p-filter@2.1.0:
resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
engines: {node: '>=8'}
@@ -2695,10 +3333,18 @@ packages:
resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
engines: {node: '>=12'}
+ p-map@7.0.2:
+ resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==}
+ engines: {node: '>=18'}
+
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+ package-config@5.0.0:
+ resolution: {integrity: sha512-GYTTew2slBcYdvRHqjhwaaydVMvn/qrGC323+nKclYioNSLTDUM/lGgtGTgyHVtYcozb+XkE8CNhwcraOmZ9Mg==}
+ engines: {node: '>=18'}
+
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -2707,6 +3353,10 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
+ parse-ms@4.0.0:
+ resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
+ engines: {node: '>=18'}
+
parse-passwd@1.0.0:
resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
engines: {node: '>=0.10.0'}
@@ -2756,6 +3406,10 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
+ picomatch@3.0.1:
+ resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==}
+ engines: {node: '>=10'}
+
pidtree@0.6.0:
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
engines: {node: '>=0.10'}
@@ -2781,10 +3435,21 @@ packages:
resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
engines: {node: '>=0.10.0'}
+ pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+
pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
+ platform@1.3.6:
+ resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
+
+ plur@5.1.0:
+ resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
pluralize@8.0.0:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
@@ -2826,6 +3491,15 @@ packages:
engines: {node: '>=14'}
hasBin: true
+ prettier@3.3.3:
+ resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ pretty-ms@9.1.0:
+ resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==}
+ engines: {node: '>=18'}
+
proc-log@4.2.0:
resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -2872,6 +3546,10 @@ packages:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
+ read-package-json-fast@3.0.2:
+ resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
read-pkg-up@7.0.1:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
@@ -2934,6 +3612,10 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
+ resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+
resolve-dir@1.0.1:
resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
engines: {node: '>=0.10.0'}
@@ -3073,6 +3755,9 @@ packages:
server-only@0.0.1:
resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
+ set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -3097,6 +3782,9 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shell-quote@1.8.1:
+ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+
shellcheck@3.0.0:
resolution: {integrity: sha512-pCG1++KHj1ZpkZWokMvyIFNk7oLnZ6hxJtJ3p+EFvYuEPWTqubuuaa2TP1BtgMk34Z9g1xe3b7gI2R97Fr2iqQ==}
engines: {node: '>=18.12.0'}
@@ -3179,6 +3867,10 @@ packages:
sprintf-js@1.1.3:
resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+
stdin-discarder@0.2.2:
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
engines: {node: '>=18'}
@@ -3275,6 +3967,10 @@ packages:
styleq@0.1.3:
resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==}
+ supertap@3.0.1:
+ resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -3308,6 +4004,14 @@ packages:
resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
engines: {node: '>= 0.8.0'}
+ tar@6.2.1:
+ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
+ engines: {node: '>=10'}
+
+ temp-dir@3.0.0:
+ resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==}
+ engines: {node: '>=14.16'}
+
term-size@2.2.1:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'}
@@ -3347,6 +4051,13 @@ packages:
resolution: {integrity: sha512-Kw36UHxJEELq2VUqdaSGR2/8cAsPgMtvX8uGVU6Jk26O66PhXec0A5ZnRYs47btbtwPDpXXF66+Fo3vimCM9aQ==}
engines: {node: '>=16'}
+ time-zone@1.0.0:
+ resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==}
+ engines: {node: '>=4'}
+
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
tmp@0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
@@ -3362,6 +4073,9 @@ packages:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
trim-newlines@4.1.1:
resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
engines: {node: '>=12'}
@@ -3384,6 +4098,9 @@ packages:
tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+ tslib@2.7.0:
+ resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+
tsutils@3.21.0:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
@@ -3473,6 +4190,11 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ typescript@5.6.2:
+ resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
@@ -3520,6 +4242,9 @@ packages:
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
@@ -3534,6 +4259,13 @@ packages:
webpack-cli:
optional: true
+ well-known-symbols@2.0.0:
+ resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==}
+ engines: {node: '>=6'}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -3562,6 +4294,9 @@ packages:
engines: {node: '>= 8'}
hasBin: true
+ wide-align@1.1.5:
+ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+
word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
@@ -3581,6 +4316,10 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ write-file-atomic@5.0.1:
+ resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
@@ -4040,6 +4779,22 @@ snapshots:
effect: 3.5.7
fast-check: 3.20.0
+ '@emnapi/core@1.2.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.0.1
+ tslib: 2.7.0
+ optional: true
+
+ '@emnapi/runtime@1.2.0':
+ dependencies:
+ tslib: 2.7.0
+ optional: true
+
+ '@emnapi/wasi-threads@1.0.1':
+ dependencies:
+ tslib: 2.7.0
+ optional: true
+
'@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
dependencies:
eslint: 8.57.0
@@ -4122,6 +4877,21 @@ snapshots:
globby: 11.1.0
read-yaml-file: 1.1.0
+ '@mapbox/node-pre-gyp@1.0.11':
+ dependencies:
+ detect-libc: 2.0.3
+ https-proxy-agent: 5.0.1
+ make-dir: 3.1.0
+ node-fetch: 2.7.0
+ nopt: 5.0.0
+ npmlog: 5.0.1
+ rimraf: 3.0.2
+ semver: 7.6.3
+ tar: 6.2.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
'@microsoft/tsdoc-config@0.16.2':
dependencies:
'@microsoft/tsdoc': 0.14.2
@@ -4131,6 +4901,15 @@ snapshots:
'@microsoft/tsdoc@0.14.2': {}
+ '@napi-rs/cli@2.18.4': {}
+
+ '@napi-rs/wasm-runtime@0.2.4':
+ dependencies:
+ '@emnapi/core': 1.2.0
+ '@emnapi/runtime': 1.2.0
+ '@tybys/wasm-util': 0.9.0
+ optional: true
+
'@next/env@14.2.3': {}
'@next/eslint-plugin-next@14.0.1':
@@ -4185,11 +4964,75 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
+ '@oxc-resolver/binding-darwin-arm64@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-darwin-x64@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-freebsd-x64@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm-gnueabihf@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm64-gnu@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm64-musl@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-x64-gnu@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-x64-musl@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-wasm32-wasi@1.11.0':
+ dependencies:
+ '@napi-rs/wasm-runtime': 0.2.4
+ optional: true
+
+ '@oxc-resolver/binding-win32-arm64-msvc@1.11.0':
+ optional: true
+
+ '@oxc-resolver/binding-win32-x64-msvc@1.11.0':
+ optional: true
+
+ '@oxlint/darwin-arm64@0.9.6':
+ optional: true
+
+ '@oxlint/darwin-x64@0.9.6':
+ optional: true
+
+ '@oxlint/linux-arm64-gnu@0.9.6':
+ optional: true
+
+ '@oxlint/linux-arm64-musl@0.9.6':
+ optional: true
+
+ '@oxlint/linux-x64-gnu@0.9.6':
+ optional: true
+
+ '@oxlint/linux-x64-musl@0.9.6':
+ optional: true
+
+ '@oxlint/win32-arm64@0.9.6':
+ optional: true
+
+ '@oxlint/win32-x64@0.9.6':
+ optional: true
+
'@pkgjs/parseargs@0.11.0':
optional: true
'@pkgr/core@0.1.1': {}
+ '@rollup/pluginutils@4.2.1':
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+
'@rushstack/eslint-patch@1.10.2': {}
'@sindresorhus/merge-streams@2.3.0': {}
@@ -4223,12 +5066,95 @@ snapshots:
invariant: 2.2.4
styleq: 0.1.3
+ '@swc-node/core@1.13.3(@swc/core@1.7.26(@swc/helpers@0.5.5))(@swc/types@0.1.12)':
+ dependencies:
+ '@swc/core': 1.7.26(@swc/helpers@0.5.5)
+ '@swc/types': 0.1.12
+
+ '@swc-node/register@1.10.9(@swc/core@1.7.26(@swc/helpers@0.5.5))(@swc/types@0.1.12)(typescript@5.6.2)':
+ dependencies:
+ '@swc-node/core': 1.13.3(@swc/core@1.7.26(@swc/helpers@0.5.5))(@swc/types@0.1.12)
+ '@swc-node/sourcemap-support': 0.5.1
+ '@swc/core': 1.7.26(@swc/helpers@0.5.5)
+ colorette: 2.0.20
+ debug: 4.3.7
+ oxc-resolver: 1.11.0
+ pirates: 4.0.6
+ tslib: 2.7.0
+ typescript: 5.6.2
+ transitivePeerDependencies:
+ - '@swc/types'
+ - supports-color
+
+ '@swc-node/sourcemap-support@0.5.1':
+ dependencies:
+ source-map-support: 0.5.21
+ tslib: 2.7.0
+
+ '@swc/core-darwin-arm64@1.7.26':
+ optional: true
+
+ '@swc/core-darwin-x64@1.7.26':
+ optional: true
+
+ '@swc/core-linux-arm-gnueabihf@1.7.26':
+ optional: true
+
+ '@swc/core-linux-arm64-gnu@1.7.26':
+ optional: true
+
+ '@swc/core-linux-arm64-musl@1.7.26':
+ optional: true
+
+ '@swc/core-linux-x64-gnu@1.7.26':
+ optional: true
+
+ '@swc/core-linux-x64-musl@1.7.26':
+ optional: true
+
+ '@swc/core-win32-arm64-msvc@1.7.26':
+ optional: true
+
+ '@swc/core-win32-ia32-msvc@1.7.26':
+ optional: true
+
+ '@swc/core-win32-x64-msvc@1.7.26':
+ optional: true
+
+ '@swc/core@1.7.26(@swc/helpers@0.5.5)':
+ dependencies:
+ '@swc/counter': 0.1.3
+ '@swc/types': 0.1.12
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.7.26
+ '@swc/core-darwin-x64': 1.7.26
+ '@swc/core-linux-arm-gnueabihf': 1.7.26
+ '@swc/core-linux-arm64-gnu': 1.7.26
+ '@swc/core-linux-arm64-musl': 1.7.26
+ '@swc/core-linux-x64-gnu': 1.7.26
+ '@swc/core-linux-x64-musl': 1.7.26
+ '@swc/core-win32-arm64-msvc': 1.7.26
+ '@swc/core-win32-ia32-msvc': 1.7.26
+ '@swc/core-win32-x64-msvc': 1.7.26
+ '@swc/helpers': 0.5.5
+
'@swc/counter@0.1.3': {}
'@swc/helpers@0.5.5':
dependencies:
'@swc/counter': 0.1.3
- tslib: 2.6.2
+ tslib: 2.7.0
+
+ '@swc/types@0.1.12':
+ dependencies:
+ '@swc/counter': 0.1.3
+
+ '@taplo/cli@0.7.0': {}
+
+ '@tybys/wasm-util@0.9.0':
+ dependencies:
+ tslib: 2.7.0
+ optional: true
'@types/babel__core@7.20.5':
dependencies:
@@ -4327,6 +5253,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2)
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.4
+ eslint: 8.57.0
+ optionalDependencies:
+ typescript: 5.6.2
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@typescript-eslint/scope-manager': 7.7.1
@@ -4377,17 +5316,32 @@ snapshots:
dependencies:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/visitor-keys': 5.62.0
+ debug: 4.3.7
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.6.3
+ tsutils: 3.21.0(typescript@5.4.5)
+ optionalDependencies:
+ typescript: 5.4.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)':
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
+ minimatch: 9.0.3
semver: 7.6.3
- tsutils: 3.21.0(typescript@5.4.5)
+ ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)':
+ '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.2)':
dependencies:
'@typescript-eslint/types': 6.21.0
'@typescript-eslint/visitor-keys': 6.21.0
@@ -4396,9 +5350,9 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.3
semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.4.5)
+ ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
- typescript: 5.4.5
+ typescript: 5.6.2
transitivePeerDependencies:
- supports-color
@@ -4463,7 +5417,25 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
- '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@14.2.3)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5)':
+ '@vercel/nft@0.26.5':
+ dependencies:
+ '@mapbox/node-pre-gyp': 1.0.11
+ '@rollup/pluginutils': 4.2.1
+ acorn: 8.11.3
+ acorn-import-attributes: 1.9.5(acorn@8.11.3)
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ micromatch: 4.0.7
+ node-gyp-build: 4.8.2
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+ '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@14.2.3)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.4.5)':
dependencies:
'@babel/core': 7.24.4
'@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0)
@@ -4484,11 +5456,11 @@ snapshots:
eslint-plugin-tsdoc: 0.2.17
eslint-plugin-unicorn: 51.0.1(eslint@8.57.0)
eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
- prettier-plugin-packagejson: 2.5.0(prettier@3.2.5)
+ prettier-plugin-packagejson: 2.5.0(prettier@3.3.3)
optionalDependencies:
'@next/eslint-plugin-next': 14.2.3
eslint: 8.57.0
- prettier: 3.2.5
+ prettier: 3.3.3
typescript: 5.4.5
transitivePeerDependencies:
- eslint-import-resolver-node
@@ -4582,16 +5554,32 @@ snapshots:
jsonparse: 1.3.1
through: 2.3.8
+ abbrev@1.1.1: {}
+
acorn-import-assertions@1.9.0(acorn@8.11.3):
dependencies:
acorn: 8.11.3
+ acorn-import-attributes@1.9.5(acorn@8.11.3):
+ dependencies:
+ acorn: 8.11.3
+
acorn-jsx@5.3.2(acorn@8.11.3):
dependencies:
acorn: 8.11.3
+ acorn-walk@8.3.4:
+ dependencies:
+ acorn: 8.11.3
+
acorn@8.11.3: {}
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
aggregate-error@4.0.1:
dependencies:
clean-stack: 4.2.0
@@ -4639,6 +5627,13 @@ snapshots:
ansi-styles@6.2.1: {}
+ aproba@2.0.0: {}
+
+ are-we-there-yet@2.0.0:
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+
argparse@1.0.10:
dependencies:
sprintf-js: 1.0.3
@@ -4654,6 +5649,8 @@ snapshots:
call-bind: 1.0.7
is-array-buffer: 3.0.4
+ array-find-index@1.0.2: {}
+
array-ify@1.0.0: {}
array-includes@3.1.8:
@@ -4725,16 +5722,68 @@ snapshots:
is-array-buffer: 3.0.4
is-shared-array-buffer: 1.0.3
+ arrgv@1.0.2: {}
+
arrify@1.0.1: {}
+ arrify@3.0.0: {}
+
ast-types-flow@0.0.8: {}
+ async-sema@3.1.1: {}
+
async@2.6.4:
dependencies:
lodash: 4.17.21
at-least-node@1.0.0: {}
+ ava@6.1.3:
+ dependencies:
+ '@vercel/nft': 0.26.5
+ acorn: 8.11.3
+ acorn-walk: 8.3.4
+ ansi-styles: 6.2.1
+ arrgv: 1.0.2
+ arrify: 3.0.0
+ callsites: 4.2.0
+ cbor: 9.0.2
+ chalk: 5.3.0
+ chunkd: 2.0.1
+ ci-info: 4.0.0
+ ci-parallel-vars: 1.0.1
+ cli-truncate: 4.0.0
+ code-excerpt: 4.0.0
+ common-path-prefix: 3.0.0
+ concordance: 5.0.4
+ currently-unhandled: 0.4.1
+ debug: 4.3.7
+ emittery: 1.0.3
+ figures: 6.1.0
+ globby: 14.0.2
+ ignore-by-default: 2.1.0
+ indent-string: 5.0.0
+ is-plain-object: 5.0.0
+ is-promise: 4.0.0
+ matcher: 5.0.0
+ memoize: 10.0.0
+ ms: 2.1.3
+ p-map: 7.0.2
+ package-config: 5.0.0
+ picomatch: 3.0.1
+ plur: 5.1.0
+ pretty-ms: 9.1.0
+ resolve-cwd: 3.0.0
+ stack-utils: 2.0.6
+ strip-ansi: 7.1.0
+ supertap: 3.0.1
+ temp-dir: 3.0.0
+ write-file-atomic: 5.0.1
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
@@ -4749,10 +5798,19 @@ snapshots:
base64-js@1.5.1: {}
+ benchmark@2.1.4:
+ dependencies:
+ lodash: 4.17.21
+ platform: 1.3.6
+
better-path-resolve@1.0.0:
dependencies:
is-windows: 1.0.2
+ bindings@1.5.0:
+ dependencies:
+ file-uri-to-path: 1.0.0
+
bl@1.2.3:
dependencies:
readable-stream: 2.3.8
@@ -4764,6 +5822,8 @@ snapshots:
inherits: 2.0.4
readable-stream: 3.6.2
+ blueimp-md5@2.19.0: {}
+
boolean@3.2.0: {}
brace-expansion@1.1.11:
@@ -4828,6 +5888,8 @@ snapshots:
callsites@3.1.0: {}
+ callsites@4.2.0: {}
+
camelcase-keys@7.0.2:
dependencies:
camelcase: 6.3.0
@@ -4839,6 +5901,10 @@ snapshots:
caniuse-lite@1.0.30001612: {}
+ cbor@9.0.2:
+ dependencies:
+ nofilter: 3.1.0
+
chalk-template@1.1.0:
dependencies:
chalk: 5.3.0
@@ -4858,12 +5924,18 @@ snapshots:
chardet@0.7.0: {}
+ chownr@2.0.0: {}
+
chrome-trace-event@1.0.3: {}
+ chunkd@2.0.1: {}
+
ci-info@3.9.0: {}
ci-info@4.0.0: {}
+ ci-parallel-vars@1.0.1: {}
+
clean-regexp@1.0.0:
dependencies:
escape-string-regexp: 1.0.5
@@ -4903,6 +5975,10 @@ snapshots:
clone@1.0.4: {}
+ code-excerpt@4.0.0:
+ dependencies:
+ convert-to-spaces: 2.0.1
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -4915,6 +5991,8 @@ snapshots:
color-name@1.1.4: {}
+ color-support@1.1.3: {}
+
colorette@2.0.20: {}
commander@12.1.0: {}
@@ -4941,6 +6019,8 @@ snapshots:
- '@types/node'
- typescript
+ common-path-prefix@3.0.0: {}
+
compare-func@2.0.0:
dependencies:
array-ify: 1.0.0
@@ -4948,6 +6028,19 @@ snapshots:
concat-map@0.0.1: {}
+ concordance@5.0.4:
+ dependencies:
+ date-time: 3.1.0
+ esutils: 2.0.3
+ fast-diff: 1.3.0
+ js-string-escape: 1.0.1
+ lodash: 4.17.21
+ md5-hex: 3.0.1
+ semver: 7.6.3
+ well-known-symbols: 2.0.0
+
+ console-control-strings@1.1.0: {}
+
conventional-changelog-angular@7.0.0:
dependencies:
compare-func: 2.0.0
@@ -4963,6 +6056,8 @@ snapshots:
convert-source-map@2.0.0: {}
+ convert-to-spaces@2.0.1: {}
+
core-js-compat@3.37.0:
dependencies:
browserslist: 4.23.0
@@ -5001,6 +6096,10 @@ snapshots:
csstype@3.1.3: {}
+ currently-unhandled@0.4.1:
+ dependencies:
+ array-find-index: 1.0.2
+
cz-conventional-changelog@3.3.0(@types/node@20.12.11)(typescript@5.4.5):
dependencies:
chalk: 2.4.2
@@ -5037,6 +6136,10 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
+ date-time@3.1.0:
+ dependencies:
+ time-zone: 1.0.0
+
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -5045,6 +6148,10 @@ snapshots:
dependencies:
ms: 2.1.2
+ debug@4.3.7:
+ dependencies:
+ ms: 2.1.3
+
decamelize-keys@1.1.1:
dependencies:
decamelize: 1.2.0
@@ -5128,6 +6235,8 @@ snapshots:
rimraf: 3.0.2
slash: 4.0.0
+ delegates@1.0.0: {}
+
dequal@2.0.3: {}
detect-file@1.0.0: {}
@@ -5136,6 +6245,8 @@ snapshots:
detect-indent@7.0.1: {}
+ detect-libc@2.0.3: {}
+
detect-newline@4.0.1: {}
detect-node@2.1.0: {}
@@ -5164,6 +6275,8 @@ snapshots:
electron-to-chromium@1.4.750: {}
+ emittery@1.0.3: {}
+
emoji-regex@10.3.0: {}
emoji-regex@8.0.0: {}
@@ -5296,6 +6409,8 @@ snapshots:
escape-string-regexp@1.0.5: {}
+ escape-string-regexp@2.0.0: {}
+
escape-string-regexp@4.0.0: {}
escape-string-regexp@5.0.0: {}
@@ -5318,6 +6433,24 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
+ eslint-config-next@14.0.1(eslint@8.57.0)(typescript@5.6.2):
+ dependencies:
+ '@next/eslint-plugin-next': 14.0.1
+ '@rushstack/eslint-patch': 1.10.2
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2)
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
+ eslint-plugin-react: 7.34.1(eslint@8.57.0)
+ eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
+ optionalDependencies:
+ typescript: 5.6.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - supports-color
+
eslint-config-prettier@9.1.0(eslint@8.57.0):
dependencies:
eslint: 8.57.0
@@ -5356,6 +6489,23 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
+ eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.16.0
+ eslint: 8.57.0
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.3
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0):
dependencies:
debug: 4.3.4
@@ -5384,6 +6534,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
+ dependencies:
+ debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2)
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ transitivePeerDependencies:
+ - supports-color
+
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
dependencies:
debug: 3.2.7
@@ -5428,6 +6589,33 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.findlastindex: 1.2.5
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
+ hasown: 2.0.2
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.0
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2)
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
dependencies:
array-includes: 3.1.8
@@ -5647,6 +6835,8 @@ snapshots:
estraverse@5.3.0: {}
+ estree-walker@2.0.2: {}
+
esutils@2.0.3: {}
eventemitter3@5.0.1: {}
@@ -5683,6 +6873,8 @@ snapshots:
fast-deep-equal@3.1.3: {}
+ fast-diff@1.3.0: {}
+
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -5709,6 +6901,10 @@ snapshots:
dependencies:
escape-string-regexp: 1.0.5
+ figures@6.1.0:
+ dependencies:
+ is-unicode-supported: 2.0.0
+
file-entry-cache@6.0.1:
dependencies:
flat-cache: 3.2.0
@@ -5719,6 +6915,8 @@ snapshots:
file-type@6.2.0: {}
+ file-uri-to-path@1.0.0: {}
+
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@@ -5730,6 +6928,8 @@ snapshots:
find-root@1.1.0: {}
+ find-up-simple@1.0.0: {}
+
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@@ -5796,6 +6996,10 @@ snapshots:
jsonfile: 6.1.0
universalify: 2.0.1
+ fs-minipass@2.1.0:
+ dependencies:
+ minipass: 3.3.6
+
fs.realpath@1.0.0: {}
function-bind@1.1.2: {}
@@ -5809,6 +7013,18 @@ snapshots:
functions-have-names@1.2.3: {}
+ gauge@3.0.2:
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+
gensync@1.0.0-beta.2: {}
get-caller-file@2.0.5: {}
@@ -5977,6 +7193,8 @@ snapshots:
dependencies:
has-symbols: 1.0.3
+ has-unicode@2.0.1: {}
+
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -5995,6 +7213,13 @@ snapshots:
dependencies:
lru-cache: 10.4.3
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
human-id@1.0.2: {}
human-signals@5.0.0: {}
@@ -6007,6 +7232,8 @@ snapshots:
ieee754@1.2.1: {}
+ ignore-by-default@2.1.0: {}
+
ignore@5.3.1: {}
import-fresh@3.3.0:
@@ -6061,6 +7288,8 @@ snapshots:
dependencies:
loose-envify: 1.4.0
+ irregular-plurals@3.5.0: {}
+
is-array-buffer@3.0.4:
dependencies:
call-bind: 1.0.7
@@ -6149,6 +7378,10 @@ snapshots:
is-plain-obj@4.1.0: {}
+ is-plain-object@5.0.0: {}
+
+ is-promise@4.0.0: {}
+
is-regex@1.1.4:
dependencies:
call-bind: 1.0.7
@@ -6235,6 +7468,8 @@ snapshots:
jju@1.4.0: {}
+ js-string-escape@1.0.1: {}
+
js-tokens@4.0.0: {}
js-yaml@3.14.1:
@@ -6256,6 +7491,8 @@ snapshots:
json-parse-even-better-errors@2.3.1: {}
+ json-parse-even-better-errors@3.0.2: {}
+
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
@@ -6336,6 +7573,8 @@ snapshots:
rfdc: 1.4.1
wrap-ansi: 9.0.0
+ load-json-file@7.0.1: {}
+
load-yaml-file@0.2.0:
dependencies:
graceful-fs: 4.2.11
@@ -6422,6 +7661,10 @@ snapshots:
dependencies:
pify: 3.0.0
+ make-dir@3.1.0:
+ dependencies:
+ semver: 6.3.1
+
map-obj@1.0.1: {}
map-obj@4.3.0: {}
@@ -6430,6 +7673,20 @@ snapshots:
dependencies:
escape-string-regexp: 4.0.0
+ matcher@5.0.0:
+ dependencies:
+ escape-string-regexp: 5.0.0
+
+ md5-hex@3.0.1:
+ dependencies:
+ blueimp-md5: 2.19.0
+
+ memoize@10.0.0:
+ dependencies:
+ mimic-function: 5.0.1
+
+ memorystream@0.3.1: {}
+
meow@10.1.5:
dependencies:
'@types/minimist': 1.2.5
@@ -6498,8 +7755,21 @@ snapshots:
minimist@1.2.8: {}
+ minipass@3.3.6:
+ dependencies:
+ yallist: 4.0.0
+
+ minipass@5.0.0: {}
+
minipass@7.1.2: {}
+ minizlib@2.1.2:
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+
+ mkdirp@1.0.4: {}
+
mri@1.2.0: {}
ms@2.1.2: {}
@@ -6539,8 +7809,20 @@ snapshots:
- '@babel/core'
- babel-plugin-macros
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-gyp-build@4.8.2: {}
+
node-releases@2.0.14: {}
+ nofilter@3.1.0: {}
+
+ nopt@5.0.0:
+ dependencies:
+ abbrev: 1.1.1
+
normalize-package-data@2.5.0:
dependencies:
hosted-git-info: 2.8.9
@@ -6555,6 +7837,8 @@ snapshots:
semver: 7.6.0
validate-npm-package-license: 3.0.4
+ npm-normalize-package-bin@3.0.1: {}
+
npm-package-arg@11.0.3:
dependencies:
hosted-git-info: 7.0.2
@@ -6562,10 +7846,27 @@ snapshots:
semver: 7.6.3
validate-npm-package-name: 5.0.1
+ npm-run-all2@6.2.3:
+ dependencies:
+ ansi-styles: 6.2.1
+ cross-spawn: 7.0.3
+ memorystream: 0.3.1
+ minimatch: 9.0.4
+ pidtree: 0.6.0
+ read-package-json-fast: 3.0.2
+ shell-quote: 1.8.1
+
npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
+ npmlog@5.0.1:
+ dependencies:
+ are-we-there-yet: 2.0.0
+ console-control-strings: 1.1.0
+ gauge: 3.0.2
+ set-blocking: 2.0.0
+
object-assign@4.1.1: {}
object-inspect@1.13.1: {}
@@ -6663,6 +7964,31 @@ snapshots:
outdent@0.5.0: {}
+ oxc-resolver@1.11.0:
+ optionalDependencies:
+ '@oxc-resolver/binding-darwin-arm64': 1.11.0
+ '@oxc-resolver/binding-darwin-x64': 1.11.0
+ '@oxc-resolver/binding-freebsd-x64': 1.11.0
+ '@oxc-resolver/binding-linux-arm-gnueabihf': 1.11.0
+ '@oxc-resolver/binding-linux-arm64-gnu': 1.11.0
+ '@oxc-resolver/binding-linux-arm64-musl': 1.11.0
+ '@oxc-resolver/binding-linux-x64-gnu': 1.11.0
+ '@oxc-resolver/binding-linux-x64-musl': 1.11.0
+ '@oxc-resolver/binding-wasm32-wasi': 1.11.0
+ '@oxc-resolver/binding-win32-arm64-msvc': 1.11.0
+ '@oxc-resolver/binding-win32-x64-msvc': 1.11.0
+
+ oxlint@0.9.6:
+ optionalDependencies:
+ '@oxlint/darwin-arm64': 0.9.6
+ '@oxlint/darwin-x64': 0.9.6
+ '@oxlint/linux-arm64-gnu': 0.9.6
+ '@oxlint/linux-arm64-musl': 0.9.6
+ '@oxlint/linux-x64-gnu': 0.9.6
+ '@oxlint/linux-x64-musl': 0.9.6
+ '@oxlint/win32-arm64': 0.9.6
+ '@oxlint/win32-x64': 0.9.6
+
p-filter@2.1.0:
dependencies:
p-map: 2.1.0
@@ -6697,8 +8023,15 @@ snapshots:
dependencies:
aggregate-error: 4.0.1
+ p-map@7.0.2: {}
+
p-try@2.2.0: {}
+ package-config@5.0.0:
+ dependencies:
+ find-up-simple: 1.0.0
+ load-json-file: 7.0.1
+
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -6710,6 +8043,8 @@ snapshots:
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
+ parse-ms@4.0.0: {}
+
parse-passwd@1.0.0: {}
path-exists@4.0.0: {}
@@ -6739,6 +8074,8 @@ snapshots:
picomatch@2.3.1: {}
+ picomatch@3.0.1: {}
+
pidtree@0.6.0: {}
pify@2.3.0: {}
@@ -6753,10 +8090,18 @@ snapshots:
pinkie@2.0.4: {}
+ pirates@4.0.6: {}
+
pkg-dir@4.2.0:
dependencies:
find-up: 4.1.0
+ platform@1.3.6: {}
+
+ plur@5.1.0:
+ dependencies:
+ irregular-plurals: 3.5.0
+
pluralize@8.0.0: {}
possible-typed-array-names@1.0.0: {}
@@ -6778,17 +8123,23 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-plugin-packagejson@2.5.0(prettier@3.2.5):
+ prettier-plugin-packagejson@2.5.0(prettier@3.3.3):
dependencies:
sort-package-json: 2.10.0
synckit: 0.9.0
optionalDependencies:
- prettier: 3.2.5
+ prettier: 3.3.3
prettier@2.8.8: {}
prettier@3.2.5: {}
+ prettier@3.3.3: {}
+
+ pretty-ms@9.1.0:
+ dependencies:
+ parse-ms: 4.0.0
+
proc-log@4.2.0: {}
process-nextick-args@2.0.1: {}
@@ -6830,6 +8181,11 @@ snapshots:
dependencies:
loose-envify: 1.4.0
+ read-package-json-fast@3.0.2:
+ dependencies:
+ json-parse-even-better-errors: 3.0.2
+ npm-normalize-package-bin: 3.0.1
+
read-pkg-up@7.0.1:
dependencies:
find-up: 4.1.0
@@ -6918,6 +8274,10 @@ snapshots:
require-from-string@2.0.2: {}
+ resolve-cwd@3.0.0:
+ dependencies:
+ resolve-from: 5.0.0
+
resolve-dir@1.0.1:
dependencies:
expand-tilde: 2.0.2
@@ -7060,6 +8420,8 @@ snapshots:
server-only@0.0.1: {}
+ set-blocking@2.0.0: {}
+
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -7088,6 +8450,8 @@ snapshots:
shebang-regex@3.0.0: {}
+ shell-quote@1.8.1: {}
+
shellcheck@3.0.0:
dependencies:
decompress: 4.2.1
@@ -7170,6 +8534,10 @@ snapshots:
sprintf-js@1.1.3: {}
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
+
stdin-discarder@0.2.2: {}
streamsearch@1.1.0: {}
@@ -7273,6 +8641,13 @@ snapshots:
styleq@0.1.3: {}
+ supertap@3.0.1:
+ dependencies:
+ indent-string: 5.0.0
+ js-yaml: 3.14.1
+ serialize-error: 7.0.1
+ strip-ansi: 7.1.0
+
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
@@ -7326,6 +8701,17 @@ snapshots:
to-buffer: 1.1.1
xtend: 4.0.2
+ tar@6.2.1:
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+
+ temp-dir@3.0.0: {}
+
term-size@2.2.1: {}
terser-webpack-plugin@5.3.10(webpack@5.91.0):
@@ -7352,6 +8738,10 @@ snapshots:
tightrope@0.2.0: {}
+ time-zone@1.0.0: {}
+
+ tinybench@2.9.0: {}
+
tmp@0.0.33:
dependencies:
os-tmpdir: 1.0.2
@@ -7364,12 +8754,18 @@ snapshots:
dependencies:
is-number: 7.0.0
+ tr46@0.0.3: {}
+
trim-newlines@4.1.1: {}
ts-api-utils@1.3.0(typescript@5.4.5):
dependencies:
typescript: 5.4.5
+ ts-api-utils@1.3.0(typescript@5.6.2):
+ dependencies:
+ typescript: 5.6.2
+
ts-toolbelt@9.6.0: {}
tsconfig-paths@3.15.0:
@@ -7383,6 +8779,8 @@ snapshots:
tslib@2.6.2: {}
+ tslib@2.7.0: {}
+
tsutils@3.21.0(typescript@5.4.5):
dependencies:
tslib: 1.14.1
@@ -7465,6 +8863,8 @@ snapshots:
typescript@5.4.5: {}
+ typescript@5.6.2: {}
+
unbox-primitive@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -7513,6 +8913,8 @@ snapshots:
dependencies:
defaults: 1.0.4
+ webidl-conversions@3.0.1: {}
+
webpack-sources@3.2.3: {}
webpack@5.91.0:
@@ -7546,6 +8948,13 @@ snapshots:
- esbuild
- uglify-js
+ well-known-symbols@2.0.0: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
which-boxed-primitive@1.0.2:
dependencies:
is-bigint: 1.0.4
@@ -7597,6 +9006,10 @@ snapshots:
dependencies:
isexe: 2.0.0
+ wide-align@1.1.5:
+ dependencies:
+ string-width: 4.2.3
+
word-wrap@1.2.5: {}
wrap-ansi@7.0.0:
@@ -7619,6 +9032,11 @@ snapshots:
wrappy@1.0.2: {}
+ write-file-atomic@5.0.1:
+ dependencies:
+ imurmurhash: 0.1.4
+ signal-exit: 4.1.0
+
xtend@4.0.2: {}
y18n@5.0.8: {}
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 49b85d23..4a9879e1 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,5 +1,13 @@
[toolchain]
channel = "1.80.0"
components = ["rustfmt", "clippy"]
-targets = ["wasm32-wasi"]
+targets = [
+ "wasm32-wasi",
+ "x86_64-apple-darwin",
+ "x86_64-pc-windows-msvc",
+ "x86_64-unknown-linux-gnu",
+ "x86_64-unknown-linux-musl",
+ "aarch64-apple-darwin",
+ "aarch64-unknown-linux-gnu",
+]
profile = "minimal"