mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
Hoist oxide/crates to just crates (#13333)
* move `oxide/crates` to `crates` * ignore `target/` folder * ensure pnpm points to `crates` instead of `oxide/crates` * ensure all paths point to `crates` instead of `oxide/crates` * update `oxide/crates` -> `crates` path in workflows * use correct path in .prettierignore * rename `crates/core` to `crates/oxide` * remove oxide folder * fix test script to run `cargo test` directly
This commit is contained in:
parent
fee039d82f
commit
1c48683a23
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
@ -47,11 +47,11 @@ jobs:
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
./oxide/target/
|
||||
./oxide/crates/node/*.node
|
||||
./oxide/crates/node/index.js
|
||||
./oxide/crates/node/index.d.ts
|
||||
key: ${{ runner.os }}-oxide-${{ hashFiles('./oxide/crates/**/*') }}
|
||||
./target/
|
||||
./crates/node/*.node
|
||||
./crates/node/index.js
|
||||
./crates/node/index.d.ts
|
||||
key: ${{ runner.os }}-oxide-${{ hashFiles('./crates/**/*') }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
18
.github/workflows/release.yml
vendored
18
.github/workflows/release.yml
vendored
@ -16,7 +16,7 @@ env:
|
||||
APP_NAME: tailwindcss-oxide
|
||||
NODE_VERSION: 20
|
||||
PNPM_VERSION: ^8.15.0
|
||||
OXIDE_LOCATION: ./oxide/crates/node
|
||||
OXIDE_LOCATION: ./crates/node
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@ -104,10 +104,10 @@ jobs:
|
||||
with:
|
||||
path: |
|
||||
./oxide/target/
|
||||
./oxide/crates/node/*.node
|
||||
./oxide/crates/node/index.js
|
||||
./oxide/crates/node/index.d.ts
|
||||
key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./oxide/crates/**/*') }}
|
||||
./crates/node/*.node
|
||||
./crates/node/index.js
|
||||
./crates/node/index.d.ts
|
||||
key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }}
|
||||
|
||||
- name: Install Node.JS
|
||||
uses: actions/setup-node@v3
|
||||
@ -189,10 +189,10 @@ jobs:
|
||||
with:
|
||||
path: |
|
||||
./oxide/target/
|
||||
./oxide/crates/node/*.node
|
||||
./oxide/crates/node/index.js
|
||||
./oxide/crates/node/index.d.ts
|
||||
key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./oxide/crates/**/*') }}
|
||||
./crates/node/*.node
|
||||
./crates/node/index.js
|
||||
./crates/node/index.d.ts
|
||||
key: ${{ runner.os }}-${{ matrix.target }}-oxide-${{ hashFiles('./crates/**/*') }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --ignore-scripts --filter=!./playgrounds/*
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@ test-results/
|
||||
playwright-report/
|
||||
blob-report/
|
||||
playwright/.cache/
|
||||
target/
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
coverage/
|
||||
node_modules/
|
||||
pnpm-lock.yaml
|
||||
oxide/target/
|
||||
oxide/crates/node/index.d.ts
|
||||
oxide/crates/node/index.js
|
||||
target/
|
||||
crates/node/index.d.ts
|
||||
crates/node/index.js
|
||||
.next
|
||||
.fingerprint
|
||||
|
||||
4
oxide/Cargo.lock → Cargo.lock
generated
4
oxide/Cargo.lock → Cargo.lock
generated
@ -812,11 +812,11 @@ dependencies = [
|
||||
"napi-build",
|
||||
"napi-derive",
|
||||
"rayon",
|
||||
"tailwindcss-core",
|
||||
"tailwindcss-oxide",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tailwindcss-core"
|
||||
name = "tailwindcss-oxide"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
@ -10,7 +10,7 @@ crate-type = ["cdylib"]
|
||||
# Default enable napi4 feature, see https://nodejs.org/api/n-api.html#node-api-version-matrix
|
||||
napi = { version = "2.13.1", default-features = false, features = ["napi4"] }
|
||||
napi-derive = "2.13.0"
|
||||
tailwindcss-core = { path = "../core" }
|
||||
tailwindcss-oxide = { path = "../oxide" }
|
||||
rayon = "1.5.3"
|
||||
|
||||
[build-dependencies]
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/android-arm-eabi"
|
||||
"directory": "crates/node/npm/android-arm-eabi"
|
||||
},
|
||||
"os": [
|
||||
"android"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/android-arm64"
|
||||
"directory": "crates/node/npm/android-arm64"
|
||||
},
|
||||
"os": [
|
||||
"android"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/darwin-arm64"
|
||||
"directory": "crates/node/npm/darwin-arm64"
|
||||
},
|
||||
"os": [
|
||||
"darwin"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/darwin-x64"
|
||||
"directory": "crates/node/npm/darwin-x64"
|
||||
},
|
||||
"os": [
|
||||
"darwin"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/freebsd-x64"
|
||||
"directory": "crates/node/npm/freebsd-x64"
|
||||
},
|
||||
"os": [
|
||||
"freebsd"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/linux-arm-gnueabihf"
|
||||
"directory": "crates/node/npm/linux-arm-gnueabihf"
|
||||
},
|
||||
"os": [
|
||||
"linux"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/linux-arm64-gnu"
|
||||
"directory": "crates/node/npm/linux-arm64-gnu"
|
||||
},
|
||||
"os": [
|
||||
"linux"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/linux-arm64-musl"
|
||||
"directory": "crates/node/npm/linux-arm64-musl"
|
||||
},
|
||||
"os": [
|
||||
"linux"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/linux-x64-gnu"
|
||||
"directory": "crates/node/npm/linux-x64-gnu"
|
||||
},
|
||||
"os": [
|
||||
"linux"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/linux-x64-musl"
|
||||
"directory": "crates/node/npm/linux-x64-musl"
|
||||
},
|
||||
"os": [
|
||||
"linux"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node/npm/win32-x64-msvc"
|
||||
"directory": "crates/node/npm/win32-x64-msvc"
|
||||
},
|
||||
"os": [
|
||||
"win32"
|
||||
@ -4,7 +4,7 @@
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "oxide/crates/node"
|
||||
"directory": "crates/node"
|
||||
},
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
@ -12,9 +12,9 @@ pub struct ChangedContent {
|
||||
pub extension: String,
|
||||
}
|
||||
|
||||
impl From<ChangedContent> for tailwindcss_core::ChangedContent {
|
||||
impl From<ChangedContent> for tailwindcss_oxide::ChangedContent {
|
||||
fn from(changed_content: ChangedContent) -> Self {
|
||||
tailwindcss_core::ChangedContent {
|
||||
tailwindcss_oxide::ChangedContent {
|
||||
file: changed_content.file.map(PathBuf::from),
|
||||
content: changed_content.content,
|
||||
}
|
||||
@ -45,12 +45,12 @@ pub struct ScanOptions {
|
||||
|
||||
#[napi]
|
||||
pub fn clear_cache() {
|
||||
tailwindcss_core::clear_cache();
|
||||
tailwindcss_oxide::clear_cache();
|
||||
}
|
||||
|
||||
#[napi]
|
||||
pub fn scan_dir(args: ScanOptions) -> ScanResult {
|
||||
let result = tailwindcss_core::scan_dir(tailwindcss_core::ScanOptions {
|
||||
let result = tailwindcss_oxide::scan_dir(tailwindcss_oxide::ScanOptions {
|
||||
base: args.base,
|
||||
globs: args.globs.unwrap_or(false),
|
||||
});
|
||||
@ -85,5 +85,5 @@ pub enum Parsing {
|
||||
|
||||
#[napi]
|
||||
pub fn scan_files(input: Vec<ChangedContent>, strategy: u8) -> Vec<String> {
|
||||
tailwindcss_core::scan_files(input.into_iter().map(Into::into).collect(), strategy)
|
||||
tailwindcss_oxide::scan_files(input.into_iter().map(Into::into).collect(), strategy)
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "tailwindcss-core"
|
||||
name = "tailwindcss-oxide"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
||||
use tailwindcss_core::parser::Extractor;
|
||||
use tailwindcss_oxide::parser::Extractor;
|
||||
|
||||
pub fn criterion_benchmark(c: &mut Criterion) {
|
||||
fn parse(input: &[u8]) {
|
||||
@ -1,6 +1,6 @@
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use std::path::PathBuf;
|
||||
use tailwindcss_core::{scan_files, ChangedContent, Parsing, IO};
|
||||
use tailwindcss_oxide::{scan_files, ChangedContent, Parsing, IO};
|
||||
|
||||
pub fn criterion_benchmark(c: &mut Criterion) {
|
||||
// current_dir will be set to ./crates/core
|
||||
@ -382,7 +382,7 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tailwindcss-core"
|
||||
name = "tailwindcss-oxide"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
@ -399,11 +399,11 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tailwindcss-core-fuzz"
|
||||
name = "tailwindcss-oxide-fuzz"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"libfuzzer-sys",
|
||||
"tailwindcss-core",
|
||||
"tailwindcss-oxide",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "tailwindcss-core-fuzz"
|
||||
name = "tailwindcss-oxide-fuzz"
|
||||
version = "0.0.0"
|
||||
publish = false
|
||||
edition = "2021"
|
||||
@ -10,7 +10,7 @@ cargo-fuzz = true
|
||||
[dependencies]
|
||||
libfuzzer-sys = "0.4"
|
||||
|
||||
[dependencies.tailwindcss-core]
|
||||
[dependencies.tailwindcss-oxide]
|
||||
path = ".."
|
||||
|
||||
# Prevent this from interfering with workspaces
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
use libfuzzer_sys::fuzz_target;
|
||||
use std::path::PathBuf;
|
||||
use tailwindcss_core::candidate::scan_files;
|
||||
use tailwindcss_core::candidate::Candidate;
|
||||
use tailwindcss_core::location::Location;
|
||||
use tailwindcss_oxide::candidate::scan_files;
|
||||
use tailwindcss_oxide::candidate::Candidate;
|
||||
use tailwindcss_oxide::location::Location;
|
||||
|
||||
// fuzz_target!(|data: &[u8]| {
|
||||
// if let Ok(s) = std::str::from_utf8(data) {
|
||||
@ -3,7 +3,7 @@ mod auto_content {
|
||||
use std::fs;
|
||||
use std::process::Command;
|
||||
|
||||
use tailwindcss_core::*;
|
||||
use tailwindcss_oxide::*;
|
||||
use tempfile::tempdir;
|
||||
|
||||
fn scan(paths_with_content: &[(&str, Option<&str>)]) -> (Vec<String>, Vec<String>) {
|
||||
1
oxide/.gitignore
vendored
1
oxide/.gitignore
vendored
@ -1 +0,0 @@
|
||||
target/
|
||||
@ -1 +0,0 @@
|
||||
## Tailwind CSS Oxide
|
||||
@ -1,20 +0,0 @@
|
||||
{
|
||||
"name": "tailwindcss-oxide",
|
||||
"private": true,
|
||||
"version": "0.1.0",
|
||||
"workspaces": [
|
||||
"node"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "cargo test",
|
||||
"install:cargo": "cargo install cargo-watch cargo-fuzz",
|
||||
"build": "cargo build --release",
|
||||
"build:node": "npm --prefix ./crates/node run build",
|
||||
"dev": "cargo watch --clear --quiet -x 'run --quiet'",
|
||||
"dev:node": "cargo watch --clear --quiet --shell 'npm --prefix ./crates/node run build:debug'",
|
||||
"fuzz": "cd ./crates/core; cargo fuzz run parsing; cd -",
|
||||
"bench": "cargo bench",
|
||||
"postbench": "open ./target/criterion/report/index.html"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
@ -25,7 +25,7 @@
|
||||
"lint": "prettier --check . && turbo lint",
|
||||
"build": "turbo build --filter=!./playgrounds/*",
|
||||
"dev": "turbo dev --filter=!./playgrounds/*",
|
||||
"test": "pnpm test --prefix=oxide && vitest run",
|
||||
"test": "cargo test && vitest run",
|
||||
"test:ui": "pnpm run --filter=tailwindcss test:ui",
|
||||
"tdd": "vitest",
|
||||
"bench": "vitest bench",
|
||||
|
||||
32
pnpm-lock.yaml
generated
32
pnpm-lock.yaml
generated
@ -42,7 +42,7 @@ importers:
|
||||
specifier: ^1.1.3
|
||||
version: 1.2.2(@types/node@20.11.20)
|
||||
|
||||
oxide/crates/node:
|
||||
crates/node:
|
||||
optionalDependencies:
|
||||
'@tailwindcss/oxide-android-arm64':
|
||||
specifier: workspace:*
|
||||
@ -79,27 +79,27 @@ importers:
|
||||
specifier: ^2.17.0
|
||||
version: 2.18.0
|
||||
|
||||
oxide/crates/node/npm/android-arm-eabi: {}
|
||||
crates/node/npm/android-arm-eabi: {}
|
||||
|
||||
oxide/crates/node/npm/android-arm64: {}
|
||||
crates/node/npm/android-arm64: {}
|
||||
|
||||
oxide/crates/node/npm/darwin-arm64: {}
|
||||
crates/node/npm/darwin-arm64: {}
|
||||
|
||||
oxide/crates/node/npm/darwin-x64: {}
|
||||
crates/node/npm/darwin-x64: {}
|
||||
|
||||
oxide/crates/node/npm/freebsd-x64: {}
|
||||
crates/node/npm/freebsd-x64: {}
|
||||
|
||||
oxide/crates/node/npm/linux-arm-gnueabihf: {}
|
||||
crates/node/npm/linux-arm-gnueabihf: {}
|
||||
|
||||
oxide/crates/node/npm/linux-arm64-gnu: {}
|
||||
crates/node/npm/linux-arm64-gnu: {}
|
||||
|
||||
oxide/crates/node/npm/linux-arm64-musl: {}
|
||||
crates/node/npm/linux-arm64-musl: {}
|
||||
|
||||
oxide/crates/node/npm/linux-x64-gnu: {}
|
||||
crates/node/npm/linux-x64-gnu: {}
|
||||
|
||||
oxide/crates/node/npm/linux-x64-musl: {}
|
||||
crates/node/npm/linux-x64-musl: {}
|
||||
|
||||
oxide/crates/node/npm/win32-x64-msvc: {}
|
||||
crates/node/npm/win32-x64-msvc: {}
|
||||
|
||||
packages/@tailwindcss-cli:
|
||||
dependencies:
|
||||
@ -108,7 +108,7 @@ importers:
|
||||
version: 2.4.1
|
||||
'@tailwindcss/oxide':
|
||||
specifier: workspace:^
|
||||
version: link:../../oxide/crates/node
|
||||
version: link:../../crates/node
|
||||
lightningcss:
|
||||
specifier: ^1.24.0
|
||||
version: 1.24.0
|
||||
@ -136,7 +136,7 @@ importers:
|
||||
dependencies:
|
||||
'@tailwindcss/oxide':
|
||||
specifier: workspace:^
|
||||
version: link:../../oxide/crates/node
|
||||
version: link:../../crates/node
|
||||
lightningcss:
|
||||
specifier: ^1.24.0
|
||||
version: 1.24.0
|
||||
@ -161,7 +161,7 @@ importers:
|
||||
dependencies:
|
||||
'@tailwindcss/oxide':
|
||||
specifier: workspace:^
|
||||
version: link:../../oxide/crates/node
|
||||
version: link:../../crates/node
|
||||
lightningcss:
|
||||
specifier: ^1.24.0
|
||||
version: 1.24.0
|
||||
@ -180,7 +180,7 @@ importers:
|
||||
devDependencies:
|
||||
'@tailwindcss/oxide':
|
||||
specifier: workspace:^
|
||||
version: link:../../oxide/crates/node
|
||||
version: link:../../crates/node
|
||||
'@types/node':
|
||||
specifier: ^20.10.8
|
||||
version: 20.11.17
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
packages:
|
||||
- 'oxide/crates/node'
|
||||
- 'oxide/crates/node/npm/*'
|
||||
- 'crates/node'
|
||||
- 'crates/node/npm/*'
|
||||
- 'packages/*'
|
||||
- 'playgrounds/*'
|
||||
|
||||
@ -10,24 +10,24 @@ const __dirname = path.dirname(url.fileURLToPath(import.meta.url))
|
||||
const root = path.resolve(__dirname, '..')
|
||||
|
||||
// The known workspace is: @tailwindcss/oxide
|
||||
// All the workspaces in `oxide/crates/node/npm/*` should always be in sync with
|
||||
// All the workspaces in `crates/node/npm/*` should always be in sync with
|
||||
// `@tailwindcss/oxide`. You can think of them as one big package, but they are
|
||||
// split into multiple packages because they are OS specific.
|
||||
const syncedWorkspaces = new Map([
|
||||
[
|
||||
'@tailwindcss/oxide',
|
||||
[
|
||||
'oxide/crates/node/npm/android-arm-eabi',
|
||||
'oxide/crates/node/npm/android-arm64',
|
||||
'oxide/crates/node/npm/darwin-arm64',
|
||||
'oxide/crates/node/npm/darwin-x64',
|
||||
'oxide/crates/node/npm/freebsd-x64',
|
||||
'oxide/crates/node/npm/linux-arm-gnueabihf',
|
||||
'oxide/crates/node/npm/linux-arm64-gnu',
|
||||
'oxide/crates/node/npm/linux-arm64-musl',
|
||||
'oxide/crates/node/npm/linux-x64-gnu',
|
||||
'oxide/crates/node/npm/linux-x64-musl',
|
||||
'oxide/crates/node/npm/win32-x64-msvc',
|
||||
'crates/node/npm/android-arm-eabi',
|
||||
'crates/node/npm/android-arm64',
|
||||
'crates/node/npm/darwin-arm64',
|
||||
'crates/node/npm/darwin-x64',
|
||||
'crates/node/npm/freebsd-x64',
|
||||
'crates/node/npm/linux-arm-gnueabihf',
|
||||
'crates/node/npm/linux-arm64-gnu',
|
||||
'crates/node/npm/linux-arm64-musl',
|
||||
'crates/node/npm/linux-x64-gnu',
|
||||
'crates/node/npm/linux-x64-musl',
|
||||
'crates/node/npm/win32-x64-msvc',
|
||||
],
|
||||
],
|
||||
])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user