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 · [![GitHub license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/Dwlad90/stylex-swc-plugin/blob/master/LICENSE) [![npm version](https://img.shields.io/npm/v/@stylexswc/swc-plugin.svg?style=flat)](https://www.npmjs.com/package/@stylexswc/swc-plugin) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Dwlad90/stylex-swc-plugin/validate.yml?branch=master&label=Validation) +# StyleX in Rust · [![GitHub license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/Dwlad90/stylex-swc-plugin/blob/master/LICENSE) [![npm version](https://img.shields.io/npm/v/@stylexswc/swc-plugin.svg?style=flat)](https://www.npmjs.com/package/@stylexswc/swc-plugin) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Dwlad90/stylex-swc-plugin/validate.yml?branch=master&label=Validation) - -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"