diff --git a/Cargo.lock b/Cargo.lock index 0df38db7d6e908..42044dcf870f3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,7 +58,7 @@ checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -69,7 +69,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -158,7 +158,7 @@ checksum = "9a8d5b11f7fa1068e5bbac8ab6c8c2c6940047f69185987446b60c995d4bf89c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -180,12 +180,6 @@ dependencies = [ "allocator-api2", ] -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" version = "1.6.0" @@ -398,7 +392,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" dependencies = [ "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -518,19 +512,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "flexbuffers" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d14128f06405808ce75bfebe11e9b0f9da18719ede6d7bdb1702d6bfe0f7e8" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "num_enum", - "serde", - "serde_derive", -] - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -596,7 +577,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -999,7 +980,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1049,17 +1030,15 @@ dependencies = [ [[package]] name = "napi" -version = "2.16.1" +version = "2.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ca998356d8ff9fba7a070dae4508a2298439c98c9f3bc9c07669538b999e8f" +checksum = "70d04890ef4ec001fad791be785b8b920e2a3f5a6b1188e7a81dfa6197c0dee4" dependencies = [ "bitflags 2.5.0", "ctor", "napi-derive", "napi-sys", "once_cell", - "serde", - "serde_json", "tokio", ] @@ -1080,7 +1059,7 @@ dependencies = [ "napi-derive-backend", "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1095,14 +1074,14 @@ dependencies = [ "quote", "regex", "semver", - "syn 2.0.58", + "syn", ] [[package]] name = "napi-sys" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2503fa6af34dc83fb74888df8b22afe933b58d37daf7d80424b1c60c68196b8b" +checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3" dependencies = [ "libloading", ] @@ -1170,27 +1149,6 @@ dependencies = [ "libc", ] -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "object" version = "0.32.2" @@ -1234,7 +1192,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1481,7 +1439,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1552,7 +1510,6 @@ dependencies = [ name = "oxc_parser_napi" version = "0.0.0" dependencies = [ - "flexbuffers", "napi", "napi-build", "napi-derive", @@ -1562,7 +1519,6 @@ dependencies = [ "oxc_module_lexer", "oxc_parser", "oxc_span", - "serde", "serde_json", "tokio", ] @@ -1806,7 +1762,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1860,7 +1816,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1895,7 +1851,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -1910,16 +1866,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit", -] - [[package]] name = "proc-macro2" version = "1.0.79" @@ -1937,7 +1883,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", "version_check", "yansi", ] @@ -2228,7 +2174,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2239,7 +2185,7 @@ checksum = "e578a843d40b4189a4d66bba51d7684f57da5bd7c304c64e14bd63efbef49509" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2262,7 +2208,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2383,17 +2329,6 @@ dependencies = [ "is_ci", ] -[[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.58" @@ -2445,7 +2380,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2510,7 +2445,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2527,23 +2462,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - [[package]] name = "tower" version = "0.4.13" @@ -2595,7 +2513,7 @@ checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2623,7 +2541,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", ] [[package]] @@ -2687,7 +2605,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.58", + "syn", ] [[package]] @@ -2866,7 +2784,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn", "wasm-bindgen-shared", ] @@ -2888,7 +2806,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3081,15 +2999,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "yansi" version = "1.0.1" diff --git a/Cargo.toml b/Cargo.toml index c9c26b2569f0af..e9aaf0dcd47f14 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -89,6 +89,7 @@ oxc_tasks_common = { path = "tasks/common" } napi = "2" napi-derive = "2" +napi-build = "2" assert-unchecked = "0.1.2" allocator-api2 = "0.2.16" @@ -147,13 +148,11 @@ console = "0.15.8" encoding_rs = "0.8.33" encoding_rs_io = "0.1.7" env_logger = { version = "0.11.3", default-features = false } -flexbuffers = "2.0.0" globset = "0.4.14" humansize = "2.1.3" json-strip-comments = "1.0.2" log = "0.4.21" memchr = "2.7.2" -napi-build = "2" once_cell = "1.19.0" ouroboros = "0.18.3" owo-colors = "4.0.0" @@ -165,6 +164,9 @@ similar = "2.5.0" textwrap = "0.16.0" unicode-width = "0.1.11" +[workspace.metadata.cargo-shear] +ignored = ["napi"] + [profile.dev] debug = 1 # "limited" debug, speed up compilation; debug info without type or variable-level information. diff --git a/crates/oxc_macros/Cargo.toml b/crates/oxc_macros/Cargo.toml index b1ccf333311089..4afd75fba439cb 100644 --- a/crates/oxc_macros/Cargo.toml +++ b/crates/oxc_macros/Cargo.toml @@ -20,7 +20,7 @@ proc-macro = true doctest = false [dependencies] -syn = { workspace = true, features = ["derive", "parsing", "proc-macro", "printing"]} +syn = { workspace = true, features = ["derive", "parsing", "proc-macro", "printing"] } quote = { workspace = true } proc-macro2 = { workspace = true } itertools = { workspace = true } diff --git a/napi/parser/Cargo.toml b/napi/parser/Cargo.toml index e28d3a8695f658..c131970a1996c2 100644 --- a/napi/parser/Cargo.toml +++ b/napi/parser/Cargo.toml @@ -28,13 +28,13 @@ oxc_span = { workspace = true } oxc_diagnostics = { workspace = true } oxc_module_lexer = { path = "../../crates/oxc_module_lexer" } -serde = { workspace = true } -serde_json = { workspace = true } -flexbuffers = { workspace = true } - tokio = { workspace = true } -napi = { workspace = true, features = ["serde-json", "async"] } +napi = { workspace = true, features = ["async"] } napi-derive = { workspace = true } +serde_json = { workspace = true } + +[package.metadata.cargo-shear] +ignored = ["napi"] [build-dependencies] napi-build = { workspace = true } diff --git a/napi/parser/index.d.ts b/napi/parser/index.d.ts index 73ef36e5c29c6a..3ef7d59deec537 100644 --- a/napi/parser/index.d.ts +++ b/napi/parser/index.d.ts @@ -121,16 +121,6 @@ export function parseWithoutReturn(sourceText: string, options?: ParserOptions | * * Serde JSON serialization */ export function parseSync(sourceText: string, options?: ParserOptions | undefined | null): ParseResult -/** - * Returns a binary AST in flexbuffers format. - * This is a POC API. Error handling is not done yet. - * - * # Panics - * - * * File extension is invalid - * * FlexbufferSerializer serialization error - */ -export function parseSyncBuffer(sourceText: string, options?: ParserOptions | undefined | null): Buffer /** * # Panics * diff --git a/napi/parser/index.js b/napi/parser/index.js index 5ea01928377157..0fcec097c7b003 100644 --- a/napi/parser/index.js +++ b/napi/parser/index.js @@ -295,11 +295,10 @@ if (!nativeBinding) { throw new Error(`Failed to load native binding`) } -const { moduleLexerSync, moduleLexerAsync, parseWithoutReturn, parseSync, parseSyncBuffer, parseAsync } = nativeBinding +const { moduleLexerSync, moduleLexerAsync, parseWithoutReturn, parseSync, parseAsync } = nativeBinding module.exports.moduleLexerSync = moduleLexerSync module.exports.moduleLexerAsync = moduleLexerAsync module.exports.parseWithoutReturn = parseWithoutReturn module.exports.parseSync = parseSync -module.exports.parseSyncBuffer = parseSyncBuffer module.exports.parseAsync = parseAsync diff --git a/napi/parser/src/lib.rs b/napi/parser/src/lib.rs index 3086b0cc8bda7a..64794a1d1d6985 100644 --- a/napi/parser/src/lib.rs +++ b/napi/parser/src/lib.rs @@ -1,13 +1,8 @@ -#![allow(clippy::trailing_empty_array)] - mod module_lexer; use std::sync::Arc; -use flexbuffers::FlexbufferSerializer; -use napi::bindgen_prelude::Buffer; use napi_derive::napi; -use serde::Serialize; use oxc_allocator::Allocator; pub use oxc_ast::ast::Program; @@ -130,24 +125,6 @@ pub fn parse_sync(source_text: String, options: Option) -> ParseR ParseResult { program, comments, errors } } -/// Returns a binary AST in flexbuffers format. -/// This is a POC API. Error handling is not done yet. -/// -/// # Panics -/// -/// * File extension is invalid -/// * FlexbufferSerializer serialization error -#[allow(clippy::needless_pass_by_value)] -#[napi] -pub fn parse_sync_buffer(source_text: String, options: Option) -> Buffer { - let options = options.unwrap_or_default(); - let allocator = Allocator::default(); - let ret = parse(&allocator, &source_text, &options); - let mut serializer = FlexbufferSerializer::new(); - ret.program.serialize(&mut serializer).unwrap(); - serializer.take_buffer().into() -} - /// # Panics /// /// * Tokio crashes