diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ebe99d27c96..b0c8f483e51c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,12 +67,20 @@ jobs: uses: actions/cache@v4 with: path: | - ./target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-oxide-${{ hashFiles('./crates/**/*') }} + - name: Setup WASM target + run: rustup target add wasm32-wasip1-threads + - name: Install dependencies run: pnpm install diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index acd73ba37a07..824056b091bc 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -30,7 +30,7 @@ jobs: - vite - cli - postcss - - workers + - oxide - webpack # Exclude windows and macos from being built on feature branches @@ -76,12 +76,20 @@ jobs: uses: actions/cache@v4 with: path: | - ./target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-oxide-${{ hashFiles('./crates/**/*') }} + - name: Setup WASM target + run: rustup target add wasm32-wasip1-threads + - name: Install dependencies run: pnpm install diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index ce0ad15aa86a..be1050b03b9c 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -68,7 +68,7 @@ jobs: container: image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine - name: Build ${{ matrix.target }} (OXIDE) + name: Build ${{ matrix.target }} (oxide) runs-on: ${{ matrix.os }} container: ${{ matrix.container }} timeout-minutes: 15 @@ -82,6 +82,12 @@ jobs: node-version: ${{ env.NODE_VERSION }} cache: 'pnpm' + - name: Install gcc-arm-linux-gnueabihf + if: ${{ matrix.target == 'armv7-unknown-linux-gnueabihf' }} + run: | + sudo apt-get update + sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y + # Cargo already skips downloading dependencies if they already exist - name: Cache cargo uses: actions/cache@v4 @@ -99,10 +105,15 @@ jobs: uses: actions/cache@v4 with: path: | - ./oxide/target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }} - name: Install Node.JS @@ -122,7 +133,7 @@ jobs: run: pnpm install --ignore-scripts --filter=!./playgrounds/* - name: Build release - run: pnpm run --filter ${{ env.OXIDE_LOCATION }} build + run: pnpm run --filter ${{ env.OXIDE_LOCATION }} build:platform --target=${{ matrix.target }} env: RUST_TARGET: ${{ matrix.target }} JEMALLOC_SYS_WITH_LG_PAGE: ${{ matrix.page-size }} @@ -172,7 +183,7 @@ jobs: node -v echo "~~~~ pnpm --version ~~~~" pnpm --version - pnpm run --filter ${{ env.OXIDE_LOCATION }} build + pnpm run --filter ${{ env.OXIDE_LOCATION }} build:platform strip -x ${{ env.OXIDE_LOCATION }}/*.node ls -la ${{ env.OXIDE_LOCATION }} - name: Upload artifacts @@ -233,12 +244,20 @@ jobs: uses: actions/cache@v4 with: path: | - ./oxide/target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }} + - name: Setup WASM target + run: rustup target add wasm32-wasip1-threads + - name: Install dependencies run: pnpm --filter=!./playgrounds/* install @@ -281,12 +300,18 @@ jobs: echo "$RELEASE_NOTES" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - - name: Upload Standalone Artifacts + - name: Upload standalone artifacts uses: actions/upload-artifact@v4 with: name: tailwindcss-standalone path: packages/@tailwindcss-standalone/dist/ + - name: Upload npm package tarballs + uses: actions/upload-artifact@v4 + with: + name: npm-package-tarballs + path: dist/*.tgz + - name: Prepare GitHub Release uses: softprops/action-gh-release@v2 with: diff --git a/.github/workflows/release-insiders.yml b/.github/workflows/release-insiders.yml index 5ad182607749..234fb9a5b266 100644 --- a/.github/workflows/release-insiders.yml +++ b/.github/workflows/release-insiders.yml @@ -67,7 +67,7 @@ jobs: container: image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine - name: Build ${{ matrix.target }} (OXIDE) + name: Build ${{ matrix.target }} (oxide) runs-on: ${{ matrix.os }} container: ${{ matrix.container }} timeout-minutes: 15 @@ -81,6 +81,12 @@ jobs: node-version: ${{ env.NODE_VERSION }} cache: 'pnpm' + - name: Install gcc-arm-linux-gnueabihf + if: ${{ matrix.target == 'armv7-unknown-linux-gnueabihf' }} + run: | + sudo apt-get update + sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y + # Cargo already skips downloading dependencies if they already exist - name: Cache cargo uses: actions/cache@v4 @@ -98,10 +104,15 @@ jobs: uses: actions/cache@v4 with: path: | - ./oxide/target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }} - name: Install Node.JS @@ -121,7 +132,7 @@ jobs: run: pnpm install --ignore-scripts --filter=!./playgrounds/* - name: Build release - run: pnpm run --filter ${{ env.OXIDE_LOCATION }} build + run: pnpm run --filter ${{ env.OXIDE_LOCATION }} build:platform --target=${{ matrix.target }} env: RUST_TARGET: ${{ matrix.target }} JEMALLOC_SYS_WITH_LG_PAGE: ${{ matrix.page-size }} @@ -171,7 +182,7 @@ jobs: echo "~~~~ pnpm --version ~~~~" pnpm --version pnpm install --ignore-scripts --filter=!./playgrounds/* || true - pnpm run --filter ${{ env.OXIDE_LOCATION }} build + pnpm run --filter ${{ env.OXIDE_LOCATION }} build:platform strip -x ${{ env.OXIDE_LOCATION }}/*.node ls -la ${{ env.OXIDE_LOCATION }} - name: Upload artifacts @@ -230,12 +241,20 @@ jobs: uses: actions/cache@v4 with: path: | - ./oxide/target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }} + - name: Setup WASM target + run: rustup target add wasm32-wasip1-threads + - name: Install dependencies run: pnpm --filter=!./playgrounds/* install @@ -272,6 +291,12 @@ jobs: - name: Lock pre-release versions run: node ./scripts/lock-pre-release-versions.mjs + - name: Upload npm package tarballs + uses: actions/upload-artifact@v4 + with: + name: npm-package-tarballs + path: dist/*.tgz + - name: Publish run: pnpm --recursive publish --tag ${{ env.RELEASE_CHANNEL }} --no-git-checks env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a936e25e3035..0347e8aebfb8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,7 +67,7 @@ jobs: container: image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine - name: Build ${{ matrix.target }} (OXIDE) + name: Build ${{ matrix.target }} (oxide) runs-on: ${{ matrix.os }} container: ${{ matrix.container }} timeout-minutes: 15 @@ -81,6 +81,12 @@ jobs: node-version: ${{ env.NODE_VERSION }} cache: 'pnpm' + - name: Install gcc-arm-linux-gnueabihf + if: ${{ matrix.target == 'armv7-unknown-linux-gnueabihf' }} + run: | + sudo apt-get update + sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y + # Cargo already skips downloading dependencies if they already exist - name: Cache cargo uses: actions/cache@v4 @@ -98,10 +104,15 @@ jobs: uses: actions/cache@v4 with: path: | - ./oxide/target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }} - name: Install Node.JS @@ -121,7 +132,7 @@ jobs: run: pnpm install --ignore-scripts --filter=!./playgrounds/* - name: Build release - run: pnpm run --filter ${{ env.OXIDE_LOCATION }} build + run: pnpm run --filter ${{ env.OXIDE_LOCATION }} build:platform --target=${{ matrix.target }} env: RUST_TARGET: ${{ matrix.target }} JEMALLOC_SYS_WITH_LG_PAGE: ${{ matrix.page-size }} @@ -171,7 +182,7 @@ jobs: echo "~~~~ pnpm --version ~~~~" pnpm --version pnpm install --ignore-scripts --filter=!./playgrounds/* || true - pnpm run --filter ${{ env.OXIDE_LOCATION }} build + pnpm run --filter ${{ env.OXIDE_LOCATION }} build:platform strip -x ${{ env.OXIDE_LOCATION }}/*.node ls -la ${{ env.OXIDE_LOCATION }} - name: Upload artifacts @@ -225,12 +236,20 @@ jobs: uses: actions/cache@v4 with: path: | - ./oxide/target/ ./crates/node/*.node - ./crates/node/index.js + ./crates/node/*.wasm ./crates/node/index.d.ts + ./crates/node/index.js + ./crates/node/browser.js + ./crates/node/tailwindcss-oxide.wasi-browser.js + ./crates/node/tailwindcss-oxide.wasi.cjs + ./crates/node/wasi-worker-browser.mjs + ./crates/node/wasi-worker.mjs key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }} + - name: Setup WASM target + run: rustup target add wasm32-wasip1-threads + - name: Install dependencies run: pnpm --filter=!./playgrounds/* install diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bc26c2fa291..f76649ebec6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add experimental `@tailwindcss/oxide-wasm32-wasi` target ([#17558](https://github.com/tailwindlabs/tailwindcss/pull/17558)) + ### Fixed - Ensure `color-mix(…)` polyfills do not cause used CSS variables to be removed ([#17555](https://github.com/tailwindlabs/tailwindcss/pull/17555)) diff --git a/Cargo.lock b/Cargo.lock index 51aaf4134de3..1f2af8b554b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -300,9 +300,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "napi" -version = "2.16.16" +version = "2.16.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839ae2ee5e62c6348669c50098b187c08115bd3cced658c9c0bf945fca0fec83" +checksum = "55740c4ae1d8696773c78fdafd5d0e5fe9bc9f1b071c7ba493ba5c413a9184f3" dependencies = [ "bitflags", "ctor", @@ -313,9 +313,9 @@ dependencies = [ [[package]] name = "napi-build" -version = "2.1.4" +version = "2.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db836caddef23662b94e16bf1f26c40eceb09d6aee5d5b06a7ac199320b69b19" +checksum = "e28acfa557c083f6e254a786e01ba253fc56f18ee000afcd4f79af735f73a6da" [[package]] name = "napi-derive" diff --git a/crates/node/.gitignore b/crates/node/.gitignore index 2cb3cf980071..d2200a62e91c 100644 --- a/crates/node/.gitignore +++ b/crates/node/.gitignore @@ -121,7 +121,7 @@ dist .AppleDouble .LSOverride -# Icon must end with two +# Icon must end with two Icon @@ -194,8 +194,13 @@ Cargo.lock !.yarn/sdks !.yarn/versions -*.node - # Generated +*.node +*.wasm index.d.ts index.js +browser.js +tailwindcss-oxide.wasi-browser.js +tailwindcss-oxide.wasi.cjs +wasi-worker-browser.mjs +wasi-worker.mjs diff --git a/crates/node/Cargo.toml b/crates/node/Cargo.toml index 2222c643fd10..87fa3b559743 100644 --- a/crates/node/Cargo.toml +++ b/crates/node/Cargo.toml @@ -8,10 +8,10 @@ crate-type = ["cdylib"] [dependencies] # Default enable napi4 feature, see https://nodejs.org/api/n-api.html#node-api-version-matrix -napi = { version = "2.16.16", default-features = false, features = ["napi4"] } +napi = { version = "2.16.17", default-features = false, features = ["napi4"] } napi-derive = "2.16.13" tailwindcss-oxide = { path = "../oxide" } rayon = "1.10.0" [build-dependencies] -napi-build = "2.1.4" +napi-build = "2.1.6" diff --git a/crates/node/npm/wasm32-wasi/.gitignore b/crates/node/npm/wasm32-wasi/.gitignore new file mode 100644 index 000000000000..c2658d7d1b31 --- /dev/null +++ b/crates/node/npm/wasm32-wasi/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/crates/node/npm/wasm32-wasi/.npmrc b/crates/node/npm/wasm32-wasi/.npmrc new file mode 100644 index 000000000000..d67f3748837b --- /dev/null +++ b/crates/node/npm/wasm32-wasi/.npmrc @@ -0,0 +1 @@ +node-linker=hoisted diff --git a/crates/node/npm/wasm32-wasi/README.md b/crates/node/npm/wasm32-wasi/README.md new file mode 100644 index 000000000000..9ec3a7b3ff21 --- /dev/null +++ b/crates/node/npm/wasm32-wasi/README.md @@ -0,0 +1,3 @@ +# `@tailwindcss/oxide-wasm32-wasi` + +This is the **wasm32-wasip1-threads** binary for `@tailwindcss/oxide` diff --git a/crates/node/npm/wasm32-wasi/package.json b/crates/node/npm/wasm32-wasi/package.json new file mode 100644 index 000000000000..506cb9b33583 --- /dev/null +++ b/crates/node/npm/wasm32-wasi/package.json @@ -0,0 +1,45 @@ +{ + "name": "@tailwindcss/oxide-wasm32-wasi", + "version": "4.1.3", + "cpu": [ + "wasm32" + ], + "main": "tailwindcss-oxide.wasi.cjs", + "files": [ + "tailwindcss-oxide.wasm32-wasi.wasm", + "tailwindcss-oxide.wasi.cjs", + "tailwindcss-oxide.wasi-browser.js", + "wasi-worker.mjs", + "wasi-worker-browser.mjs" + ], + "license": "MIT", + "engines": { + "node": ">=14.0.0" + }, + "publishConfig": { + "provenance": true, + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/tailwindlabs/tailwindcss.git", + "directory": "crates/node" + }, + "browser": "tailwindcss-oxide.wasi-browser.js", + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.8", + "@emnapi/core": "^1.4.0", + "@emnapi/runtime": "^1.4.0", + "@tybys/wasm-util": "^0.9.0", + "@emnapi/wasi-threads": "^1.0.1", + "tslib": "^2.8.0" + }, + "bundledDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ] +} diff --git a/crates/node/package.json b/crates/node/package.json index 5266c94104f2..2d0445c1fe0c 100644 --- a/crates/node/package.json +++ b/crates/node/package.json @@ -9,25 +9,33 @@ "main": "index.js", "types": "index.d.ts", "napi": { - "name": "tailwindcss-oxide", - "triples": { - "additional": [ - "armv7-linux-androideabi", - "aarch64-linux-android", - "aarch64-apple-darwin", - "aarch64-unknown-linux-gnu", - "aarch64-unknown-linux-musl", - "armv7-unknown-linux-gnueabihf", - "x86_64-unknown-linux-musl", - "x86_64-unknown-freebsd", - "i686-pc-windows-msvc", - "aarch64-pc-windows-msvc" - ] + "binaryName": "tailwindcss-oxide", + "packageName": "@tailwindcss/oxide", + "targets": [ + "armv7-linux-androideabi", + "aarch64-linux-android", + "aarch64-apple-darwin", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "armv7-unknown-linux-gnueabihf", + "x86_64-unknown-linux-musl", + "x86_64-unknown-freebsd", + "i686-pc-windows-msvc", + "aarch64-pc-windows-msvc", + "wasm32-wasip1-threads" + ], + "wasm": { + "initialMemory": 16384, + "browser": { + "fs": true + } } }, "license": "MIT", "devDependencies": { - "@napi-rs/cli": "^2.18.4" + "@napi-rs/cli": "^3.0.0-alpha.77", + "@napi-rs/wasm-runtime": "^0.2.8", + "emnapi": "1.3.1" }, "engines": { "node": ">= 10" @@ -42,7 +50,11 @@ }, "scripts": { "artifacts": "napi artifacts", - "build": "napi build --platform --release --no-const-enum", + "build": "pnpm run build:platform && pnpm run build:wasm", + "build:platform": "napi build --platform --release --no-const-enum", + "postbuild:platform": "node ./scripts/move-artifacts.mjs", + "build:wasm": "napi build --release --target wasm32-wasip1-threads --no-const-enum", + "postbuild:wasm": "node ./scripts/move-artifacts.mjs", "dev": "cargo watch --quiet --shell 'npm run build'", "build:debug": "napi build --platform --no-const-enum", "version": "napi version" @@ -57,7 +69,8 @@ "@tailwindcss/oxide-linux-arm64-musl": "workspace:*", "@tailwindcss/oxide-linux-x64-gnu": "workspace:*", "@tailwindcss/oxide-linux-x64-musl": "workspace:*", - "@tailwindcss/oxide-win32-x64-msvc": "workspace:*", - "@tailwindcss/oxide-win32-arm64-msvc": "workspace:*" + "@tailwindcss/oxide-wasm32-wasi": "workspace:*", + "@tailwindcss/oxide-win32-arm64-msvc": "workspace:*", + "@tailwindcss/oxide-win32-x64-msvc": "workspace:*" } } diff --git a/crates/node/scripts/move-artifacts.mjs b/crates/node/scripts/move-artifacts.mjs new file mode 100644 index 000000000000..faf4728efc0a --- /dev/null +++ b/crates/node/scripts/move-artifacts.mjs @@ -0,0 +1,37 @@ +import fs from 'node:fs/promises' +import path from 'node:path' +import url from 'node:url' + +const __dirname = path.dirname(url.fileURLToPath(import.meta.url)) +let root = path.resolve(__dirname, '..') +const tailwindcssOxideRoot = path.join(root) + +// Move napi artifacts into sub packages +for (let file of await fs.readdir(tailwindcssOxideRoot)) { + if (file.startsWith('tailwindcss-oxide.') && file.endsWith('.node')) { + let target = file.split('.')[1] + await fs.cp( + path.join(tailwindcssOxideRoot, file), + path.join(tailwindcssOxideRoot, 'npm', target, file), + ) + console.log(`Moved ${file} to npm/${target}`) + } +} + +// Move napi wasm artifacts into sub package +let wasmArtifacts = { + 'tailwindcss-oxide.debug.wasm': 'tailwindcss-oxide.wasm32-wasi.debug.wasm', + 'tailwindcss-oxide.wasm': 'tailwindcss-oxide.wasm32-wasi.wasm', + 'tailwindcss-oxide.wasi-browser.js': 'tailwindcss-oxide.wasi-browser.js', + 'tailwindcss-oxide.wasi.cjs': 'tailwindcss-oxide.wasi.cjs', + 'wasi-worker-browser.mjs': 'wasi-worker-browser.mjs', + 'wasi-worker.mjs': 'wasi-worker.mjs', +} +for (let file of await fs.readdir(tailwindcssOxideRoot)) { + if (!wasmArtifacts[file]) continue + await fs.cp( + path.join(tailwindcssOxideRoot, file), + path.join(tailwindcssOxideRoot, 'npm', 'wasm32-wasi', wasmArtifacts[file]), + ) + console.log(`Moved ${file} to npm/wasm32-wasi`) +} diff --git a/integrations/oxide/wasm.test.ts b/integrations/oxide/wasm.test.ts new file mode 100644 index 000000000000..0c4bd06a6416 --- /dev/null +++ b/integrations/oxide/wasm.test.ts @@ -0,0 +1,59 @@ +import { css, js, json, test } from '../utils' + +// This test runs the the wasm build using the `node:wasi` runtine. +// +// There are currently a known problems that the Node WASI preview implementation does not properly +// handle FS reads on macOS and it does not implement all APIs on Windows. Beacuse of that, this +// test is only run on Linux for now. +// +// https://github.com/nodejs/node/issues/47193 +// https://github.com/nodejs/uvwasi/issues/11 + +let testFn = process.platform === 'linux' ? test : test.skip + +testFn( + '@tailwindcss/oxide-wasm32-wasi can be loaded into a Node.js process', + { + fs: { + 'package.json': json` + { + "dependencies": { + "@tailwindcss/oxide-wasm32-wasi": "workspace:^" + } + } + `, + 'src/index.css': css`@import 'tailwindcss/utilities';`, + 'src/index.js': js` + const className = "content-['src/index.js']" + module.exports = { className } + `, + 'index.mjs': js` + import { Scanner } from '@tailwindcss/oxide-wasm32-wasi' + import { join, resolve } from 'node:path' + + let scanner = new Scanner({ + sources: [ + { + base: join(process.cwd(), 'src'), + pattern: '**/*', + negated: false, + }, + ], + }) + console.log(JSON.stringify(scanner.scan())) + process.exit() + `, + }, + }, + async ({ expect, exec }) => { + let output = await exec(`node index.mjs`) + expect(JSON.parse(output)).toMatchInlineSnapshot(` + [ + "className", + "const", + "content-['src/index.js']", + "exports", + ] + `) + }, +) diff --git a/integrations/workers/index.test.ts b/integrations/oxide/workers.test.ts similarity index 100% rename from integrations/workers/index.test.ts rename to integrations/oxide/workers.test.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10749fde2979..4c72383e5890 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -115,6 +115,9 @@ importers: '@tailwindcss/oxide-linux-x64-musl': specifier: workspace:* version: link:npm/linux-x64-musl + '@tailwindcss/oxide-wasm32-wasi': + specifier: workspace:* + version: link:npm/wasm32-wasi '@tailwindcss/oxide-win32-arm64-msvc': specifier: workspace:* version: link:npm/win32-arm64-msvc @@ -123,8 +126,14 @@ importers: version: link:npm/win32-x64-msvc devDependencies: '@napi-rs/cli': - specifier: ^2.18.4 - version: 2.18.4 + specifier: ^3.0.0-alpha.77 + version: 3.0.0-alpha.77(@emnapi/runtime@1.4.0)(@types/node@20.14.13)(emnapi@1.3.1(node-addon-api@8.3.0)) + '@napi-rs/wasm-runtime': + specifier: ^0.2.8 + version: 0.2.8 + emnapi: + specifier: 1.3.1 + version: 1.3.1(node-addon-api@8.3.0) crates/node/npm/android-arm-eabi: {} @@ -146,6 +155,27 @@ importers: crates/node/npm/linux-x64-musl: {} + crates/node/npm/wasm32-wasi: + dependencies: + '@emnapi/core': + specifier: ^1.4.0 + version: 1.4.0 + '@emnapi/runtime': + specifier: ^1.4.0 + version: 1.4.0 + '@emnapi/wasi-threads': + specifier: ^1.0.1 + version: 1.0.1 + '@napi-rs/wasm-runtime': + specifier: ^0.2.8 + version: 0.2.8 + '@tybys/wasm-util': + specifier: ^0.9.0 + version: 0.9.0 + tslib: + specifier: ^2.8.0 + version: 2.8.0 + crates/node/npm/win32-arm64-msvc: {} crates/node/npm/win32-x64-msvc: {} @@ -611,8 +641,14 @@ packages: resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} - '@emnapi/runtime@1.3.1': - resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@emnapi/core@1.4.0': + resolution: {integrity: sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==} + + '@emnapi/runtime@1.4.0': + resolution: {integrity: sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==} + + '@emnapi/wasi-threads@1.0.1': + resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} @@ -1353,6 +1389,127 @@ packages: cpu: [x64] os: [win32] + '@inquirer/checkbox@4.1.5': + resolution: {integrity: sha512-swPczVU+at65xa5uPfNP9u3qx/alNwiaykiI/ExpsmMSQW55trmZcwhYWzw/7fj+n6Q8z1eENvR7vFfq9oPSAQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.9': + resolution: {integrity: sha512-NgQCnHqFTjF7Ys2fsqK2WtnA8X1kHyInyG+nMIuHowVTIgIuS10T4AznI/PvbqSpJqjCUqNBlKGh1v3bwLFL4w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.1.10': + resolution: {integrity: sha512-roDaKeY1PYY0aCqhRmXihrHjoSW2A00pV3Ke5fTpMCkzcGF64R8e0lw3dK+eLEHwS4vB5RnW1wuQmvzoRul8Mw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@4.2.10': + resolution: {integrity: sha512-5GVWJ+qeI6BzR6TIInLP9SXhWCEcvgFQYmcRG6d6RIlhFjM5TyG18paTGBgRYyEouvCmzeco47x9zX9tQEofkw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.12': + resolution: {integrity: sha512-jV8QoZE1fC0vPe6TnsOfig+qwu7Iza1pkXoUJ3SroRagrt2hxiL+RbM432YAihNR7m7XnU0HWl/WQ35RIGmXHw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.11': + resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} + engines: {node: '>=18'} + + '@inquirer/input@4.1.9': + resolution: {integrity: sha512-mshNG24Ij5KqsQtOZMgj5TwEjIf+F2HOESk6bjMwGWgcH5UBe8UoljwzNFHqdMbGYbgAf6v2wU/X9CAdKJzgOA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.12': + resolution: {integrity: sha512-7HRFHxbPCA4e4jMxTQglHJwP+v/kpFsCf2szzfBHy98Wlc3L08HL76UDiA87TOdX5fwj2HMOLWqRWv9Pnn+Z5Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.12': + resolution: {integrity: sha512-FlOB0zvuELPEbnBYiPaOdJIaDzb2PmJ7ghi/SVwIHDDSQ2K4opGBkF+5kXOg6ucrtSUQdLhVVY5tycH0j0l+0g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.4.1': + resolution: {integrity: sha512-UlmM5FVOZF0gpoe1PT/jN4vk8JmpIWBlMvTL8M+hlvPmzN89K6z03+IFmyeu/oFCenwdwHDr2gky7nIGSEVvlA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.0.12': + resolution: {integrity: sha512-wNPJZy8Oc7RyGISPxp9/MpTOqX8lr0r+lCCWm7hQra+MDtYRgINv1hxw7R+vKP71Bu/3LszabxOodfV/uTfsaA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.0.12': + resolution: {integrity: sha512-H/kDJA3kNlnNIjB8YsaXoQI0Qccgf0Na14K1h8ExWhNmUg2E941dyFPrZeugihEa9AZNW5NdsD/NcvUME83OPQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@4.1.1': + resolution: {integrity: sha512-IUXzzTKVdiVNMA+2yUvPxWsSgOG4kfX93jOM4Zb5FgujeInotv5SPIJVeXQ+fO4xu7tW8VowFhdG5JRmmCyQ1Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@3.0.6': + resolution: {integrity: sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1378,10 +1535,329 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@napi-rs/cli@2.18.4': - resolution: {integrity: sha512-SgJeA4df9DE2iAEpr3M2H0OKl/yjtg1BnRI5/JyowS71tUWhrfSu2LT0V3vlHET+g1hBVlrO60PmEXwUEKp8Mg==} - engines: {node: '>= 10'} + '@napi-rs/cli@3.0.0-alpha.77': + resolution: {integrity: sha512-aIZCn/S7/fKyE5v18Ud0HR1RsN/I4LKscrSCW+ExD12yVKF0TAdyX2fVvNEWRU8nKz2GdlyNFVskJM6xtnmIAg==} + engines: {node: '>= 16'} hasBin: true + peerDependencies: + '@emnapi/runtime': ^1.1.0 + emnapi: ^1.1.0 + peerDependenciesMeta: + '@emnapi/runtime': + optional: true + emnapi: + optional: true + + '@napi-rs/cross-toolchain@0.0.19': + resolution: {integrity: sha512-StHXqYANdTaMFqJJ3JXHqKQMylOzOJPcrOCd9Nt2NIGfvfaXK3SzpmNfkJimkOAYfTsfpfuRERsML0bUZCpHBQ==} + peerDependencies: + '@napi-rs/cross-toolchain-arm64-target-aarch64': ^0.0.19 + '@napi-rs/cross-toolchain-arm64-target-armv7': ^0.0.19 + '@napi-rs/cross-toolchain-arm64-target-x86_64': ^0.0.19 + '@napi-rs/cross-toolchain-x64-target-aarch64': ^0.0.19 + '@napi-rs/cross-toolchain-x64-target-armv7': ^0.0.19 + '@napi-rs/cross-toolchain-x64-target-x86_64': ^0.0.19 + peerDependenciesMeta: + '@napi-rs/cross-toolchain-arm64-target-aarch64': + optional: true + '@napi-rs/cross-toolchain-arm64-target-armv7': + optional: true + '@napi-rs/cross-toolchain-arm64-target-x86_64': + optional: true + '@napi-rs/cross-toolchain-x64-target-aarch64': + optional: true + '@napi-rs/cross-toolchain-x64-target-armv7': + optional: true + '@napi-rs/cross-toolchain-x64-target-x86_64': + optional: true + + '@napi-rs/lzma-android-arm-eabi@1.4.1': + resolution: {integrity: sha512-yenreSpZ9IrqppJOiWDqWMmja7XtSgio9LhtxYwgdILmy/OJTe/mlTYv+FhJBf7hIV9Razu5eBuEa3zKri81IA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/lzma-android-arm64@1.4.1': + resolution: {integrity: sha512-piutVBz5B1TNxXeEjub0n/IKI6dMaXPPRbVSXuc4gnZgzcihNDUh68vcLZgYd+IMiACZvBxvx2O3t5nthtph3A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/lzma-darwin-arm64@1.4.1': + resolution: {integrity: sha512-sDfOhQQFqV8lGbpgJN9DqNLBPR7QOfYjcWUv8FOGPaVP1LPJDnrc5uCpRWWEa2zIKmTiO8P9xzIl0TDzrYmghg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/lzma-darwin-x64@1.4.1': + resolution: {integrity: sha512-S5/RbC6EP4QkYy2xhxbfm48ZD9FkysfpWY4Slve0nj5RGGsHvcJBg2Pi69jrTPB/zLKz2SUa0i+RfUt9zvZNaw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/lzma-freebsd-x64@1.4.1': + resolution: {integrity: sha512-4AFnq6aZnclwameSBkDWu5Ftb8y4GwvVXeQXJKbN7hf7O5GG/8QpQB1R1NJw2QORUhpKwjAQUpbkTyhL2GFWWw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/lzma-linux-arm-gnueabihf@1.4.1': + resolution: {integrity: sha512-j5rL1YRIm6rWmmGAvN6DPX6QuRjvFGB93xJ7DTRB47GXW4zHekXae6ivowjJ95vT4Iz4hSWkZbuwAy95eFrWRA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/lzma-linux-arm64-gnu@1.4.1': + resolution: {integrity: sha512-1XdFGKyTS9m+VrRQYs9uz+ToHf4Jwm0ejHU48k9lT9MPl8jSqzKdVtFzZBPzronHteSynBfKmUq0+HeWmjrsOQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/lzma-linux-arm64-musl@1.4.1': + resolution: {integrity: sha512-9d09tYS0/rBwIk1QTcO2hMZEB/ZpsG2+uFW5am1RHElSWMclObirB1An7b6AMDJcRvcomkOg2GZ9COzrvHKwEA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/lzma-linux-ppc64-gnu@1.4.1': + resolution: {integrity: sha512-UzEkmsgoJ3IOGIRb6kBzNiw+ThUpiighop7dVYfSqlF5juGzwf7YewC57RGn4FoJCvadOCrSm5VikAcgrwVgAw==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + + '@napi-rs/lzma-linux-riscv64-gnu@1.4.1': + resolution: {integrity: sha512-9dUKlZ1PdwxTaFF+j3oc+xjlk9nqFwo1NWWOH30uwjl4Rm5Gkv+Fx0pHrzu4kR/iVA+oyQqa9/2uDYnGSTijBA==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@napi-rs/lzma-linux-s390x-gnu@1.4.1': + resolution: {integrity: sha512-MOVXUWJSLLCJDCCAlGa39sh7nv9XjvXzCf7QJus7rD8Ciz0mpXNXF9mg0ji7/MZ7pZlKPlXjXDnpVCfFdSEaFQ==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + + '@napi-rs/lzma-linux-x64-gnu@1.4.1': + resolution: {integrity: sha512-Sxu7aJxU1sDbUTqjqLVDV3DCOAlbsFKvmuCN/S5uXBJd1IF2wJ9jK3NbFzfqTAo5Hudx8Y7kOb6+3K+fYPI1KQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/lzma-linux-x64-musl@1.4.1': + resolution: {integrity: sha512-4I3BeKBQJSE5gF2/VTEv7wCLLjhapeutbCGpZPmDiLHZ74rm9edmNXAlKpdjADQ4YDLJ2GIBzttvwLXkJ9U+cw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/lzma-wasm32-wasi@1.4.1': + resolution: {integrity: sha512-s32HdKqQWbohf6DGWpG9YMODaBdbKJ++JpNr6Ii7821sKf4h/o+p8IRFTOaWdmdJdllEWlRirnd5crA29VivJQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@napi-rs/lzma-win32-arm64-msvc@1.4.1': + resolution: {integrity: sha512-ISz+v7ML5mKnjEZ7Kk4Z1BIn411r/fz3tDy9j5yDnwQI0MgTsUQFrIQElGUpULWYs2aYc6EZ9PhECbLBfSjh7A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/lzma-win32-ia32-msvc@1.4.1': + resolution: {integrity: sha512-3WKuCpZBrd7Jrw+h1jSu5XAsRWepMJu0sYuRoA4Y4Cwfu9gI7p5Z5Bc510nfjg7M7xvdpkI4UoW2WY7kBFRYrQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/lzma-win32-x64-msvc@1.4.1': + resolution: {integrity: sha512-0ixRo5z1zFXdh62hlrTV+QCTKHK0te5NHKaExOluhtcc6AdpMmpslvM9JhUxNHI+zM46w/DmmcvcOtqsaTmHgg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/lzma@1.4.1': + resolution: {integrity: sha512-5f8K9NHjwHjZKGm3SS+7CFxXQhz8rbg2umBm/9g0xQRXBdYEI31N5z1ACuk9bmBQOusXAq9CArGfs/ZQso2rUA==} + engines: {node: '>= 10'} + + '@napi-rs/tar-android-arm-eabi@0.1.4': + resolution: {integrity: sha512-LMSysWp5AmZj1NOCB2jshc9KCvp4gm7vm0Cra5U2crMvlj/fwGrvv6+EzSw49y8wCkNEcQ8QaGq5NBQKiLogSg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/tar-android-arm64@0.1.4': + resolution: {integrity: sha512-A/2rl8xr7F5yOtHVARROoSwjRRDNL1RlXCsg/K+RE5/V9iPBojsJsLpFPilp7InF6bi+z7aYn+yWCD6wSwfF4A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/tar-darwin-arm64@0.1.4': + resolution: {integrity: sha512-mnGBswBRtxDqUwXUZx+f9Uuy2uPssxuvcWFTYgUSZqlS2pg/XIWZdHZhbqWqKGpjpZrYcr+42roytbWlZ+epMA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/tar-darwin-x64@0.1.4': + resolution: {integrity: sha512-I81Fvl/cfnFVBET49xywNd57dXLJPO7jqrjD9Z2bKeXA0v0Zt1cwV1IOOTihFZXJv7kgu6EfNB7oumoLOTqq5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/tar-freebsd-x64@0.1.4': + resolution: {integrity: sha512-p5OFr3MqidZHkt9bHV2FgeS6k06g+s0GR2kvj/wm2mIxr7u3/sj3+RTr7GHz5DQq08T7uH85HhsrGYWN3vxmSg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/tar-linux-arm-gnueabihf@0.1.4': + resolution: {integrity: sha512-POp2zb/Yuw6taEmrTlEoQI5S+2HmgfV1VtqGQZgRmCa85NlWLDsR6vbW9euu/6NbLj3ld15cCeJC2oJkv9k/xg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/tar-linux-arm64-gnu@0.1.4': + resolution: {integrity: sha512-TV+2AppSgJx5U9nk1C9bh1afWcBVnnANJ4SmtqUF6ediHcDS2rLebeI8BGljfnX9F149qbT9gOGN+R8tofpCsg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/tar-linux-arm64-musl@0.1.4': + resolution: {integrity: sha512-UFBvKpYmuQRbgmXuSSPb8mRjq4JRZLYJhqwrWWnlfQP13xK2WB7mL2GhewBgynSH4YKDm6biKhK6U5RrSWEDgw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/tar-linux-ppc64-gnu@0.1.4': + resolution: {integrity: sha512-HT+h6Wv51SKXqks8UBF+KVuNJ09fM1GyO+SvCnDB5MF66tGiI2C6/MSX69zf1ZeqjACds1K/UwKiZCmE76/j9A==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + + '@napi-rs/tar-linux-s390x-gnu@0.1.4': + resolution: {integrity: sha512-SJ+HSr281Y6cgJrQ4nkYbXaTHAmTLv/FZm5k9ZRA6Khml//ZoWi7CiT8dnPeD4QxYwCzAFA4aYMUOQJM/mk2/w==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + + '@napi-rs/tar-linux-x64-gnu@0.1.4': + resolution: {integrity: sha512-LrF0lRFiFOkO40jfgTdF8dRTvYOLV52fdZ/YnJuBodNcxqEl9rChO3v5Uag//sy0me85FjqtobQNRQP8Nd80dA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/tar-linux-x64-musl@0.1.4': + resolution: {integrity: sha512-etGUWbs+Tk1PtzgyWrVzXa2fQrHNKSc/whHm+4x1Num8Oz+wGdjCDTUktYxAVy33PKZhdblVxxE83QXxkgjneQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/tar-wasm32-wasi@0.1.4': + resolution: {integrity: sha512-mANkm93AKy+OspkOBAC5WI64SopXT0VawdTjpeGW1OgyUSJWdUB5rhs3I7B/HW1bi5tsUoZOZQe3rVgYdfzA6g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@napi-rs/tar-win32-arm64-msvc@0.1.4': + resolution: {integrity: sha512-/5/gp6WR9b36CysJDe8AdyjNeje+NqCniYJz/AZc+UvpKwG8MG9nS6TMpJ9IgrQacJXvc4lWXxYyn6uuPQVvaQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/tar-win32-ia32-msvc@0.1.4': + resolution: {integrity: sha512-HnQi0op9BqJqPekKXhEAI1TWkLtavxKDBDGXNhUSm2//jriMeRykahUcKoUUxr1UGrmtxpc5dx0cThBt13paEw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/tar-win32-x64-msvc@0.1.4': + resolution: {integrity: sha512-vy2ebEXerblni6XOgi3a27+CnI6PdQ9Phy/ru5HM4bVd/oulAJohmynAmBAB1AmXg1NLbAEWu43nATEDp5O2hA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/tar@0.1.4': + resolution: {integrity: sha512-hDsvmMZY8tl2CcLfjnTeE1o5W1eGTSL+ZIX8YEybtcJwA+Cc8SNHb7l6JqMnGcjOrWBZbHt8tzTN+W7qHS5Wmg==} + engines: {node: '>= 10'} + + '@napi-rs/wasm-runtime@0.2.8': + resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==} + + '@napi-rs/wasm-tools-android-arm-eabi@0.0.3': + resolution: {integrity: sha512-T2tme8w5jZ/ZCjJurqNtKCxYtGoDjW9v2rn1bfI60ewCfkYXNpxrTURdkOib85sz+BcwmOfXn0enbg5W9KohoQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/wasm-tools-android-arm64@0.0.3': + resolution: {integrity: sha512-siHTjrxxBrvsVty5X2jI5waAyzJpr756GqGVUqxqS2eoTuqYRfgaFNvX8asp9LAagFtOojfD0fZfuvxK7dc4Rw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/wasm-tools-darwin-arm64@0.0.3': + resolution: {integrity: sha512-0MqsSOYJ4jXcLv/nAInS8nwU+/hL0rSEJo7JXKj3dhkT9UNSj4zfidcOaIb05O9VskJBPmV040+edtWPHXNt2Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/wasm-tools-darwin-x64@0.0.3': + resolution: {integrity: sha512-yXAK2mrlBMZZYK/59JRHZu/c683HFpr5ork1cn++fy8gqUBRLbjuq47VDjA7oyLW5SmWqNDhmhjFTDGvfIvcUg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/wasm-tools-freebsd-x64@0.0.3': + resolution: {integrity: sha512-K1rne814utBd9Zo9LCggQ5h0TSnzGPzA+sG78Qr7KfFz8XQxEGDRH5wpzXyF1KaKav2RmO6wGMXlasDgIcq7GA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/wasm-tools-linux-arm64-gnu@0.0.3': + resolution: {integrity: sha512-Yu3gtpvGc2+hcay3SU5MK7EMrGPBq/V4i8mpw/MEYUCzOb7Vd9aL8CryElzlk0SIbktG08VYMdhFFFoJAjlYtg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/wasm-tools-linux-arm64-musl@0.0.3': + resolution: {integrity: sha512-XN+sPgEwFw3P47wDvtcQyOoZNghIL8gaiRjEGzprB+kE9N21GkuMbk3kdjiBBJkjqKF25f4fbOvNAY0jQEAO3A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/wasm-tools-linux-x64-gnu@0.0.3': + resolution: {integrity: sha512-mfMvMEqn33YtEjIyLPguZ6yDsNtF5zV7mqc99620YDyj2SLa0aI35TNTc7Dm+/hlgqHRKhdudsWGfYc4dBND2Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/wasm-tools-linux-x64-musl@0.0.3': + resolution: {integrity: sha512-KXMsXWGELoN5xgPCoRHbgt5TScSx8BK2GcCHKJ9OPZ2HMfsXbLgS/SNi6vz1CbLMZMLPBY2G6HAk0gzLGyS0mQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/wasm-tools-wasm32-wasi@0.0.3': + resolution: {integrity: sha512-v3iMHnAfMteogpbqHTFeLXPeAzL5AhpDJLvZvLXbuRiMsMRL0dn8CbcEnYja2P/Ui6Xlyky6PcaUsepOUTNb7A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@napi-rs/wasm-tools-win32-arm64-msvc@0.0.3': + resolution: {integrity: sha512-HWrg9cW+u+rQKL9XCQILaGGs6mDYdwX9nwcTIvJAjrpGWu8Dp4wz6i66w6YKHqVng1suGYjjr+LH4/1e0tDaAg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/wasm-tools-win32-ia32-msvc@0.0.3': + resolution: {integrity: sha512-h99hAWvQKhcloyPfPi0IjrvKRToTE9Z4UVXoXZhcjpCGmr3o1qW+1FAupRy/TcVdMjUJNLE/aenml3UPqzQEQw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/wasm-tools-win32-x64-msvc@0.0.3': + resolution: {integrity: sha512-7/6IpzMi9VGYxLcc9SJyu9ZIdbDwyyb09glVF/2SFEgke9F5H46XzRrAdSoRnjfcq/tdLyHKJbnpCIB257qVYg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/wasm-tools@0.0.3': + resolution: {integrity: sha512-p7NT5wnOIwmP0f3KbXlMabeld5dPFsADpHMWJaBodTSmnPE8P4msguxKJLKWquqAS1FY2dsjBZ62K0/hfiqAUg==} + engines: {node: '>= 10'} '@next/env@15.2.4': resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==} @@ -1453,6 +1929,58 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} + '@octokit/auth-token@5.1.2': + resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==} + engines: {node: '>= 18'} + + '@octokit/core@6.1.4': + resolution: {integrity: sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==} + engines: {node: '>= 18'} + + '@octokit/endpoint@10.1.3': + resolution: {integrity: sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==} + engines: {node: '>= 18'} + + '@octokit/graphql@8.2.1': + resolution: {integrity: sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==} + engines: {node: '>= 18'} + + '@octokit/openapi-types@24.2.0': + resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} + + '@octokit/plugin-paginate-rest@11.6.0': + resolution: {integrity: sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-request-log@5.3.1': + resolution: {integrity: sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-rest-endpoint-methods@13.5.0': + resolution: {integrity: sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/request-error@6.1.7': + resolution: {integrity: sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==} + engines: {node: '>= 18'} + + '@octokit/request@9.2.2': + resolution: {integrity: sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==} + engines: {node: '>= 18'} + + '@octokit/rest@21.1.1': + resolution: {integrity: sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==} + engines: {node: '>= 18'} + + '@octokit/types@13.10.0': + resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} + '@oven/bun-darwin-aarch64@1.2.8': resolution: {integrity: sha512-O97RiReqBVzno5qLgoFX/dYI+xO+jSTIw0S+Cp1MRedXMZEqEgi8ql3ExWpteZyvUGBiXdvc0sQSOQwPoEwiPA==} cpu: [arm64] @@ -1813,6 +2341,9 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1951,6 +2482,10 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2045,6 +2580,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + before-after-hook@3.0.2: + resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -2118,6 +2656,9 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -2133,9 +2674,18 @@ packages: citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + clipanion@4.0.0-rc.4: + resolution: {integrity: sha512-CXkMQxU6s9GklO/1f714dkKBMu1lopS1WFF0B8o4AxPykR1hpozxSiUZ5ZUeBjfPgCWqbcNOtZVFhB8Lkfp1+Q==} + peerDependencies: + typanion: '*' + clipboardy@4.0.0: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} engines: {node: '>=18'} @@ -2154,6 +2704,9 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -2297,6 +2850,14 @@ packages: electron-to-chromium@1.5.45: resolution: {integrity: sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw==} + emnapi@1.3.1: + resolution: {integrity: sha512-8rnw2VLJmHAXBSyhtrL9O5aW1VdbXA1ovRslp0IyTwnM62Fz83jQIo+VaIObgzdo6r1A98J9AHEq4KTqIR67Aw==} + peerDependencies: + node-addon-api: '>= 6.1.0' + peerDependenciesMeta: + node-addon-api: + optional: true + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2489,6 +3050,13 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + fast-content-type-parse@2.0.1: + resolution: {integrity: sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2669,6 +3237,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -2989,6 +3561,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} @@ -3070,6 +3645,10 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -3195,6 +3774,10 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -3477,6 +4060,9 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} @@ -3489,6 +4075,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -3682,10 +4273,17 @@ packages: resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} engines: {node: '>=14.0.0'} + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -3785,10 +4383,17 @@ packages: resolution: {integrity: sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ==} hasBin: true + typanion@3.14.0: + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + type-fest@4.36.0: resolution: {integrity: sha512-3T/PUdKTCnkUmhQU6FFJEHsLwadsRegktX3TNHk+2JJB9HlA8gp1/VXblXVDI93kSnXF2rdPx0GMbHtJIV2LPg==} engines: {node: '>=16'} @@ -3835,6 +4440,9 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} + universal-user-agent@7.0.2: + resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} + untun@0.1.3: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true @@ -3955,6 +4563,9 @@ packages: jsdom: optional: true + wasm-sjlj@1.0.6: + resolution: {integrity: sha512-pjaKtLJejlWm6+okPV2X1A6nIsRDD4qeK97eCh8DP8KXi3Nzn/HY01vpHhZHlhDri12eZqipjm8HhdTVw+ATxw==} + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -3990,6 +4601,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -4010,6 +4625,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + snapshots: '@alloc/quick-lru@5.2.0': {} @@ -4129,10 +4748,18 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@emnapi/runtime@1.3.1': + '@emnapi/core@1.4.0': + dependencies: + '@emnapi/wasi-threads': 1.0.1 + tslib: 2.8.0 + + '@emnapi/runtime@1.4.0': + dependencies: + tslib: 2.8.0 + + '@emnapi/wasi-threads@1.0.1': dependencies: tslib: 2.8.0 - optional: true '@esbuild/aix-ppc64@0.21.5': optional: true @@ -4545,7 +5172,7 @@ snapshots: '@img/sharp-wasm32@0.33.5': dependencies: - '@emnapi/runtime': 1.3.1 + '@emnapi/runtime': 1.4.0 optional: true '@img/sharp-win32-ia32@0.33.5': @@ -4554,6 +5181,122 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true + '@inquirer/checkbox@4.1.5(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@20.14.13) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/confirm@5.1.9(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/core@10.1.10(@types/node@20.14.13)': + dependencies: + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@20.14.13) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/editor@4.2.10(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + external-editor: 3.1.0 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/expand@4.0.12(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/figures@1.0.11': {} + + '@inquirer/input@4.1.9(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/number@3.0.12(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/password@4.0.12(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + ansi-escapes: 4.3.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/prompts@7.4.1(@types/node@20.14.13)': + dependencies: + '@inquirer/checkbox': 4.1.5(@types/node@20.14.13) + '@inquirer/confirm': 5.1.9(@types/node@20.14.13) + '@inquirer/editor': 4.2.10(@types/node@20.14.13) + '@inquirer/expand': 4.0.12(@types/node@20.14.13) + '@inquirer/input': 4.1.9(@types/node@20.14.13) + '@inquirer/number': 3.0.12(@types/node@20.14.13) + '@inquirer/password': 4.0.12(@types/node@20.14.13) + '@inquirer/rawlist': 4.0.12(@types/node@20.14.13) + '@inquirer/search': 3.0.12(@types/node@20.14.13) + '@inquirer/select': 4.1.1(@types/node@20.14.13) + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/rawlist@4.0.12(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/type': 3.0.6(@types/node@20.14.13) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/search@3.0.12(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@20.14.13) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/select@4.1.1(@types/node@20.14.13)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.14.13) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@20.14.13) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.14.13 + + '@inquirer/type@3.0.6(@types/node@20.14.13)': + optionalDependencies: + '@types/node': 20.14.13 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -4586,7 +5329,246 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@napi-rs/cli@2.18.4': {} + '@napi-rs/cli@3.0.0-alpha.77(@emnapi/runtime@1.4.0)(@types/node@20.14.13)(emnapi@1.3.1(node-addon-api@8.3.0))': + dependencies: + '@inquirer/prompts': 7.4.1(@types/node@20.14.13) + '@napi-rs/cross-toolchain': 0.0.19 + '@napi-rs/wasm-tools': 0.0.3 + '@octokit/rest': 21.1.1 + clipanion: 4.0.0-rc.4(typanion@3.14.0) + colorette: 2.0.20 + debug: 4.4.0 + js-yaml: 4.1.0 + lodash-es: 4.17.21 + semver: 7.7.1 + toml: 3.0.0 + typanion: 3.14.0 + wasm-sjlj: 1.0.6 + optionalDependencies: + '@emnapi/runtime': 1.4.0 + emnapi: 1.3.1(node-addon-api@8.3.0) + transitivePeerDependencies: + - '@napi-rs/cross-toolchain-arm64-target-aarch64' + - '@napi-rs/cross-toolchain-arm64-target-armv7' + - '@napi-rs/cross-toolchain-arm64-target-x86_64' + - '@napi-rs/cross-toolchain-x64-target-aarch64' + - '@napi-rs/cross-toolchain-x64-target-armv7' + - '@napi-rs/cross-toolchain-x64-target-x86_64' + - '@types/node' + - supports-color + + '@napi-rs/cross-toolchain@0.0.19': + dependencies: + '@napi-rs/lzma': 1.4.1 + '@napi-rs/tar': 0.1.4 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@napi-rs/lzma-android-arm-eabi@1.4.1': + optional: true + + '@napi-rs/lzma-android-arm64@1.4.1': + optional: true + + '@napi-rs/lzma-darwin-arm64@1.4.1': + optional: true + + '@napi-rs/lzma-darwin-x64@1.4.1': + optional: true + + '@napi-rs/lzma-freebsd-x64@1.4.1': + optional: true + + '@napi-rs/lzma-linux-arm-gnueabihf@1.4.1': + optional: true + + '@napi-rs/lzma-linux-arm64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-arm64-musl@1.4.1': + optional: true + + '@napi-rs/lzma-linux-ppc64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-riscv64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-s390x-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-x64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-x64-musl@1.4.1': + optional: true + + '@napi-rs/lzma-wasm32-wasi@1.4.1': + dependencies: + '@napi-rs/wasm-runtime': 0.2.8 + optional: true + + '@napi-rs/lzma-win32-arm64-msvc@1.4.1': + optional: true + + '@napi-rs/lzma-win32-ia32-msvc@1.4.1': + optional: true + + '@napi-rs/lzma-win32-x64-msvc@1.4.1': + optional: true + + '@napi-rs/lzma@1.4.1': + optionalDependencies: + '@napi-rs/lzma-android-arm-eabi': 1.4.1 + '@napi-rs/lzma-android-arm64': 1.4.1 + '@napi-rs/lzma-darwin-arm64': 1.4.1 + '@napi-rs/lzma-darwin-x64': 1.4.1 + '@napi-rs/lzma-freebsd-x64': 1.4.1 + '@napi-rs/lzma-linux-arm-gnueabihf': 1.4.1 + '@napi-rs/lzma-linux-arm64-gnu': 1.4.1 + '@napi-rs/lzma-linux-arm64-musl': 1.4.1 + '@napi-rs/lzma-linux-ppc64-gnu': 1.4.1 + '@napi-rs/lzma-linux-riscv64-gnu': 1.4.1 + '@napi-rs/lzma-linux-s390x-gnu': 1.4.1 + '@napi-rs/lzma-linux-x64-gnu': 1.4.1 + '@napi-rs/lzma-linux-x64-musl': 1.4.1 + '@napi-rs/lzma-wasm32-wasi': 1.4.1 + '@napi-rs/lzma-win32-arm64-msvc': 1.4.1 + '@napi-rs/lzma-win32-ia32-msvc': 1.4.1 + '@napi-rs/lzma-win32-x64-msvc': 1.4.1 + + '@napi-rs/tar-android-arm-eabi@0.1.4': + optional: true + + '@napi-rs/tar-android-arm64@0.1.4': + optional: true + + '@napi-rs/tar-darwin-arm64@0.1.4': + optional: true + + '@napi-rs/tar-darwin-x64@0.1.4': + optional: true + + '@napi-rs/tar-freebsd-x64@0.1.4': + optional: true + + '@napi-rs/tar-linux-arm-gnueabihf@0.1.4': + optional: true + + '@napi-rs/tar-linux-arm64-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-arm64-musl@0.1.4': + optional: true + + '@napi-rs/tar-linux-ppc64-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-s390x-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-x64-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-x64-musl@0.1.4': + optional: true + + '@napi-rs/tar-wasm32-wasi@0.1.4': + dependencies: + '@napi-rs/wasm-runtime': 0.2.8 + optional: true + + '@napi-rs/tar-win32-arm64-msvc@0.1.4': + optional: true + + '@napi-rs/tar-win32-ia32-msvc@0.1.4': + optional: true + + '@napi-rs/tar-win32-x64-msvc@0.1.4': + optional: true + + '@napi-rs/tar@0.1.4': + optionalDependencies: + '@napi-rs/tar-android-arm-eabi': 0.1.4 + '@napi-rs/tar-android-arm64': 0.1.4 + '@napi-rs/tar-darwin-arm64': 0.1.4 + '@napi-rs/tar-darwin-x64': 0.1.4 + '@napi-rs/tar-freebsd-x64': 0.1.4 + '@napi-rs/tar-linux-arm-gnueabihf': 0.1.4 + '@napi-rs/tar-linux-arm64-gnu': 0.1.4 + '@napi-rs/tar-linux-arm64-musl': 0.1.4 + '@napi-rs/tar-linux-ppc64-gnu': 0.1.4 + '@napi-rs/tar-linux-s390x-gnu': 0.1.4 + '@napi-rs/tar-linux-x64-gnu': 0.1.4 + '@napi-rs/tar-linux-x64-musl': 0.1.4 + '@napi-rs/tar-wasm32-wasi': 0.1.4 + '@napi-rs/tar-win32-arm64-msvc': 0.1.4 + '@napi-rs/tar-win32-ia32-msvc': 0.1.4 + '@napi-rs/tar-win32-x64-msvc': 0.1.4 + + '@napi-rs/wasm-runtime@0.2.8': + dependencies: + '@emnapi/core': 1.4.0 + '@emnapi/runtime': 1.4.0 + '@tybys/wasm-util': 0.9.0 + + '@napi-rs/wasm-tools-android-arm-eabi@0.0.3': + optional: true + + '@napi-rs/wasm-tools-android-arm64@0.0.3': + optional: true + + '@napi-rs/wasm-tools-darwin-arm64@0.0.3': + optional: true + + '@napi-rs/wasm-tools-darwin-x64@0.0.3': + optional: true + + '@napi-rs/wasm-tools-freebsd-x64@0.0.3': + optional: true + + '@napi-rs/wasm-tools-linux-arm64-gnu@0.0.3': + optional: true + + '@napi-rs/wasm-tools-linux-arm64-musl@0.0.3': + optional: true + + '@napi-rs/wasm-tools-linux-x64-gnu@0.0.3': + optional: true + + '@napi-rs/wasm-tools-linux-x64-musl@0.0.3': + optional: true + + '@napi-rs/wasm-tools-wasm32-wasi@0.0.3': + dependencies: + '@napi-rs/wasm-runtime': 0.2.8 + optional: true + + '@napi-rs/wasm-tools-win32-arm64-msvc@0.0.3': + optional: true + + '@napi-rs/wasm-tools-win32-ia32-msvc@0.0.3': + optional: true + + '@napi-rs/wasm-tools-win32-x64-msvc@0.0.3': + optional: true + + '@napi-rs/wasm-tools@0.0.3': + optionalDependencies: + '@napi-rs/wasm-tools-android-arm-eabi': 0.0.3 + '@napi-rs/wasm-tools-android-arm64': 0.0.3 + '@napi-rs/wasm-tools-darwin-arm64': 0.0.3 + '@napi-rs/wasm-tools-darwin-x64': 0.0.3 + '@napi-rs/wasm-tools-freebsd-x64': 0.0.3 + '@napi-rs/wasm-tools-linux-arm64-gnu': 0.0.3 + '@napi-rs/wasm-tools-linux-arm64-musl': 0.0.3 + '@napi-rs/wasm-tools-linux-x64-gnu': 0.0.3 + '@napi-rs/wasm-tools-linux-x64-musl': 0.0.3 + '@napi-rs/wasm-tools-wasm32-wasi': 0.0.3 + '@napi-rs/wasm-tools-win32-arm64-msvc': 0.0.3 + '@napi-rs/wasm-tools-win32-ia32-msvc': 0.0.3 + '@napi-rs/wasm-tools-win32-x64-msvc': 0.0.3 '@next/env@15.2.4': {} @@ -4632,6 +5614,68 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@octokit/auth-token@5.1.2': {} + + '@octokit/core@6.1.4': + dependencies: + '@octokit/auth-token': 5.1.2 + '@octokit/graphql': 8.2.1 + '@octokit/request': 9.2.2 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 + before-after-hook: 3.0.2 + universal-user-agent: 7.0.2 + + '@octokit/endpoint@10.1.3': + dependencies: + '@octokit/types': 13.10.0 + universal-user-agent: 7.0.2 + + '@octokit/graphql@8.2.1': + dependencies: + '@octokit/request': 9.2.2 + '@octokit/types': 13.10.0 + universal-user-agent: 7.0.2 + + '@octokit/openapi-types@24.2.0': {} + + '@octokit/plugin-paginate-rest@11.6.0(@octokit/core@6.1.4)': + dependencies: + '@octokit/core': 6.1.4 + '@octokit/types': 13.10.0 + + '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.4)': + dependencies: + '@octokit/core': 6.1.4 + + '@octokit/plugin-rest-endpoint-methods@13.5.0(@octokit/core@6.1.4)': + dependencies: + '@octokit/core': 6.1.4 + '@octokit/types': 13.10.0 + + '@octokit/request-error@6.1.7': + dependencies: + '@octokit/types': 13.10.0 + + '@octokit/request@9.2.2': + dependencies: + '@octokit/endpoint': 10.1.3 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 + fast-content-type-parse: 2.0.1 + universal-user-agent: 7.0.2 + + '@octokit/rest@21.1.1': + dependencies: + '@octokit/core': 6.1.4 + '@octokit/plugin-paginate-rest': 11.6.0(@octokit/core@6.1.4) + '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.4) + '@octokit/plugin-rest-endpoint-methods': 13.5.0(@octokit/core@6.1.4) + + '@octokit/types@13.10.0': + dependencies: + '@octokit/openapi-types': 24.2.0 + '@oven/bun-darwin-aarch64@1.2.8': optional: true @@ -4876,6 +5920,10 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: link:packages/tailwindcss + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.0 + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.26.3 @@ -5136,6 +6184,10 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -5248,6 +6300,8 @@ snapshots: balanced-match@1.0.2: {} + before-after-hook@3.0.2: {} + binary-extensions@2.3.0: {} brace-expansion@1.1.11: @@ -5337,6 +6391,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chardet@0.7.0: {} + check-error@2.1.1: {} chokidar@3.6.0: @@ -5359,8 +6415,14 @@ snapshots: dependencies: consola: 3.2.3 + cli-width@4.1.0: {} + client-only@0.0.1: {} + clipanion@4.0.0-rc.4(typanion@3.14.0): + dependencies: + typanion: 3.14.0 + clipboardy@4.0.0: dependencies: execa: 8.0.1 @@ -5385,6 +6447,8 @@ snapshots: color-string: 1.9.1 optional: true + colorette@2.0.20: {} + commander@2.20.3: optional: true @@ -5492,6 +6556,10 @@ snapshots: electron-to-chromium@1.5.45: {} + emnapi@1.3.1(node-addon-api@8.3.0): + optionalDependencies: + node-addon-api: 8.3.0 + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -6003,6 +7071,14 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + fast-content-type-parse@2.0.1: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.1: @@ -6188,6 +7264,10 @@ snapshots: human-signals@5.0.0: {} + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + ignore@5.3.2: {} ignore@7.0.3: {} @@ -6467,6 +7547,8 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash-es@4.17.21: {} + lodash.castarray@4.4.0: {} lodash.isplainobject@4.0.6: {} @@ -6538,6 +7620,8 @@ snapshots: ms@2.1.3: {} + mute-stream@2.0.0: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -6655,6 +7739,8 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + os-tmpdir@1.0.2: {} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -6938,12 +8024,16 @@ snapshots: es-errors: 1.3.0 is-regex: 1.1.4 + safer-buffer@2.1.2: {} + scheduler@0.26.0: {} semver@6.3.1: {} semver@7.6.3: {} + semver@7.7.1: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -7190,10 +8280,16 @@ snapshots: tinyspy@3.0.0: {} + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + toml@3.0.0: {} + tr46@1.0.1: dependencies: punycode: 2.3.1 @@ -7301,10 +8397,14 @@ snapshots: turbo-windows-64: 2.4.4 turbo-windows-arm64: 2.4.4 + typanion@3.14.0: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 + type-fest@0.21.3: {} + type-fest@4.36.0: {} typed-array-buffer@1.0.2: @@ -7358,6 +8458,8 @@ snapshots: unicorn-magic@0.3.0: {} + universal-user-agent@7.0.2: {} + untun@0.1.3: dependencies: citty: 0.1.6 @@ -7460,6 +8562,8 @@ snapshots: - supports-color - terser + wasm-sjlj@1.0.6: {} + webidl-conversions@4.0.2: {} whatwg-url@7.1.0: @@ -7517,6 +8621,12 @@ snapshots: word-wrap@1.2.5: {} + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -7534,3 +8644,5 @@ snapshots: yaml@2.6.0: {} yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.2: {} diff --git a/scripts/pack-packages.mjs b/scripts/pack-packages.mjs index 3bcf23bec781..7bec3eda4dd2 100644 --- a/scripts/pack-packages.mjs +++ b/scripts/pack-packages.mjs @@ -24,18 +24,6 @@ for (let path of paths) { workspaces.set(pkg.name, { version: pkg.version ?? '', dir: dirname(path) }) } -// Move napi artifacts into sub packages -const tailwindcssOxideRoot = path.join(root, 'crates', 'node') -for (let file of await fs.readdir(tailwindcssOxideRoot)) { - if (file.startsWith('tailwindcss-oxide.') && file.endsWith('.node')) { - let target = file.split('.')[1] - await fs.cp( - path.join(tailwindcssOxideRoot, file), - path.join(tailwindcssOxideRoot, 'npm', target, file), - ) - } -} - // Clean dist folder await fs.rm(path.join(root, 'dist'), { recursive: true, force: true }) diff --git a/scripts/version-packages.mjs b/scripts/version-packages.mjs index 36f412cc377f..1641d540476f 100644 --- a/scripts/version-packages.mjs +++ b/scripts/version-packages.mjs @@ -28,8 +28,9 @@ const syncedWorkspaces = new Map([ 'crates/node/npm/linux-arm64-musl', 'crates/node/npm/linux-x64-gnu', 'crates/node/npm/linux-x64-musl', - 'crates/node/npm/win32-x64-msvc', + 'crates/node/npm/wasm32-wasi', 'crates/node/npm/win32-arm64-msvc', + 'crates/node/npm/win32-x64-msvc', ], ], ['@tailwindcss/cli', ['packages/@tailwindcss-standalone']],