diff --git a/oxide/crates/core/Cargo.toml b/oxide/crates/core/Cargo.toml index 0db8eb2b2..3b0b3d123 100644 --- a/oxide/crates/core/Cargo.toml +++ b/oxide/crates/core/Cargo.toml @@ -24,5 +24,5 @@ name = "parse_candidates" harness = false [[bench]] -name = "parse_candidate_strings_from_files" +name = "parse_candidate_strings" harness = false diff --git a/oxide/crates/core/benches/parse_candidate_strings_from_files.rs b/oxide/crates/core/benches/parse_candidate_strings.rs similarity index 85% rename from oxide/crates/core/benches/parse_candidate_strings_from_files.rs rename to oxide/crates/core/benches/parse_candidate_strings.rs index a9e5faf9d..7db451000 100644 --- a/oxide/crates/core/benches/parse_candidate_strings_from_files.rs +++ b/oxide/crates/core/benches/parse_candidate_strings.rs @@ -1,6 +1,6 @@ use criterion::{criterion_group, criterion_main, Criterion}; use std::path::PathBuf; -use tailwindcss_core::{parse_candidate_strings_from_files, ChangedContent}; +use tailwindcss_core::{parse_candidate_strings, ChangedContent, Parsing, IO}; pub fn criterion_benchmark(c: &mut Criterion) { // current_dir will be set to ./crates/core @@ -51,8 +51,13 @@ pub fn criterion_benchmark(c: &mut Criterion) { }) .collect(); - c.bench_function("parse_candidate_strings_from_files", |b| { - b.iter(|| parse_candidate_strings_from_files(changed_content.clone())) + c.bench_function("parse_candidate_strings", |b| { + b.iter(|| { + parse_candidate_strings( + changed_content.clone(), + Parsing::Parallel as u8 | IO::Parallel as u8, + ) + }) }); } diff --git a/oxide/crates/core/src/lib.rs b/oxide/crates/core/src/lib.rs index 6601267fd..6d6202895 100644 --- a/oxide/crates/core/src/lib.rs +++ b/oxide/crates/core/src/lib.rs @@ -335,11 +335,6 @@ impl From for Parsing { } } -pub fn parse_candidate_strings_from_files(changed_content: Vec) -> Vec { - init_tracing(); - parse_all_blobs(read_all_files(changed_content)) -} - pub fn parse_candidate_strings(input: Vec, options: u8) -> Vec { init_tracing(); diff --git a/oxide/crates/node/src/lib.rs b/oxide/crates/node/src/lib.rs index 343a6e367..f974de1d5 100644 --- a/oxide/crates/node/src/lib.rs +++ b/oxide/crates/node/src/lib.rs @@ -22,13 +22,6 @@ impl From for tailwindcss_core::ChangedContent { } } -#[napi] -pub fn parse_candidate_strings_from_files(changed_content: Vec) -> Vec { - tailwindcss_core::parse_candidate_strings_from_files( - changed_content.into_iter().map(Into::into).collect(), - ) -} - #[derive(Debug, Clone)] #[napi(object)] pub struct ContentPathInfo { diff --git a/src/lib/expandTailwindAtRules.js b/src/lib/expandTailwindAtRules.js index 34257e148..e93740a96 100644 --- a/src/lib/expandTailwindAtRules.js +++ b/src/lib/expandTailwindAtRules.js @@ -1,6 +1,6 @@ import fs from 'fs' import LRU from '@alloc/quick-lru' -import { parseCandidateStringsFromFiles } from '@tailwindcss/oxide' +import { parseCandidateStrings, IO, Parsing } from '@tailwindcss/oxide' import * as sharedState from './sharedState' import { generateRules } from './generateRules' import log from '../util/log' @@ -134,8 +134,9 @@ export default function expandTailwindAtRules(context) { if (flagEnabled(context.tailwindConfig, 'oxideParser')) { // TODO: Pass through or implement `extractor` - for (let candidate of parseCandidateStringsFromFiles( - context.changedContent + for (let candidate of parseCandidateStrings( + context.changedContent, + IO.Parallel | Parsing.Parallel // Object.assign({}, builtInTransformers, context.tailwindConfig.content.transform) )) { candidates.add(candidate)