mirror of
https://github.com/danbulant/oxc
synced 2026-05-21 05:08:45 +00:00
refactor(oxc_napi): remove source_map - moved to its crate (#7614)
This commit is contained in:
parent
adee0d1876
commit
b4f3812c4a
11 changed files with 16 additions and 65 deletions
7
Cargo.lock
generated
7
Cargo.lock
generated
|
|
@ -1945,13 +1945,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "oxc_sourcemap"
|
||||
version = "1.0.0"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05e75cb20b3bb96af20d320f71d67c9f20b5bedb253cae36881fedef51f7688f"
|
||||
checksum = "f15cc100c3a8070aa20420a6e1eafa612ebfc3d86db01cb92d928abf082d9696"
|
||||
dependencies = [
|
||||
"base64-simd",
|
||||
"cfg-if",
|
||||
"cow-utils",
|
||||
"napi",
|
||||
"napi-derive",
|
||||
"rustc-hash",
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
|
@ -2037,6 +2039,7 @@ dependencies = [
|
|||
"napi-derive",
|
||||
"oxc",
|
||||
"oxc_napi",
|
||||
"oxc_sourcemap",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ unicode-id-start = "1"
|
|||
oxc-browserslist = "1.1.0"
|
||||
oxc_index = "1.0.0"
|
||||
oxc_resolver = "2.0.0"
|
||||
oxc_sourcemap = "1"
|
||||
oxc_sourcemap = "1.0.2"
|
||||
|
||||
aho-corasick = "1.1.3"
|
||||
allocator-api2 = "0.2.18"
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ doctest = false
|
|||
|
||||
[dependencies]
|
||||
oxc_isolated_declarations = { workspace = true }
|
||||
oxc_sourcemap = { workspace = true }
|
||||
oxc_sourcemap = { workspace = true, features = ["napi"] }
|
||||
oxc_span = { workspace = true }
|
||||
oxc_syntax = { workspace = true }
|
||||
oxc_transformer = { workspace = true }
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use napi_derive::napi;
|
||||
|
||||
use super::source_map::SourceMap;
|
||||
use oxc_sourcemap::napi::SourceMap;
|
||||
|
||||
#[napi(object)]
|
||||
pub struct IsolatedDeclarationsResult {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
pub mod parse;
|
||||
|
||||
pub mod source_map;
|
||||
|
||||
pub mod isolated_declarations;
|
||||
|
||||
pub mod transform;
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
use napi_derive::napi;
|
||||
|
||||
// Aligned with Rollup's sourcemap input.
|
||||
//
|
||||
// <https://github.com/rollup/rollup/blob/766dbf90d69268971feaafa1f53f88a0755e8023/src/rollup/types.d.ts#L80-L89>
|
||||
//
|
||||
// ```
|
||||
// export interface ExistingRawSourceMap {
|
||||
// file?: string;
|
||||
// mappings: string;
|
||||
// names: string[];
|
||||
// sourceRoot?: string;
|
||||
// sources: string[];
|
||||
// sourcesContent?: string[];
|
||||
// version: number;
|
||||
// x_google_ignoreList?: number[];
|
||||
// }
|
||||
// ```
|
||||
#[napi(object)]
|
||||
pub struct SourceMap {
|
||||
pub file: Option<String>,
|
||||
pub mappings: String,
|
||||
pub names: Vec<String>,
|
||||
pub source_root: Option<String>,
|
||||
pub sources: Vec<String>,
|
||||
pub sources_content: Option<Vec<String>>,
|
||||
pub version: u8,
|
||||
#[napi(js_name = "x_google_ignoreList")]
|
||||
pub x_google_ignorelist: Option<Vec<u32>>,
|
||||
}
|
||||
|
||||
impl From<oxc_sourcemap::SourceMap> for SourceMap {
|
||||
fn from(source_map: oxc_sourcemap::SourceMap) -> Self {
|
||||
let json = source_map.to_json();
|
||||
Self {
|
||||
file: json.file,
|
||||
mappings: json.mappings,
|
||||
names: json.names,
|
||||
source_root: json.source_root,
|
||||
sources: json.sources,
|
||||
sources_content: json.sources_content.map(|content| {
|
||||
content.into_iter().map(Option::unwrap_or_default).collect::<Vec<_>>()
|
||||
}),
|
||||
version: 3,
|
||||
x_google_ignorelist: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8,9 +8,10 @@ use napi::Either;
|
|||
use napi_derive::napi;
|
||||
use rustc_hash::FxHashMap;
|
||||
|
||||
use oxc_sourcemap::napi::SourceMap;
|
||||
use oxc_transformer::{EnvOptions, JsxRuntime, RewriteExtensionsMode};
|
||||
|
||||
use super::{isolated_declarations::IsolatedDeclarationsOptions, source_map::SourceMap};
|
||||
use super::isolated_declarations::IsolatedDeclarationsOptions;
|
||||
|
||||
#[derive(Default)]
|
||||
#[napi(object)]
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ doctest = false
|
|||
[dependencies]
|
||||
oxc = { workspace = true, features = ["full", "napi"] }
|
||||
oxc_napi = { workspace = true }
|
||||
oxc_sourcemap = { workspace = true, features = ["napi"] }
|
||||
|
||||
napi = { workspace = true }
|
||||
napi-derive = { workspace = true }
|
||||
|
|
|
|||
|
|
@ -9,10 +9,8 @@ use oxc::{
|
|||
parser::Parser,
|
||||
span::SourceType,
|
||||
};
|
||||
use oxc_napi::{
|
||||
isolated_declarations::{IsolatedDeclarationsOptions, IsolatedDeclarationsResult},
|
||||
source_map::SourceMap,
|
||||
};
|
||||
use oxc_napi::isolated_declarations::{IsolatedDeclarationsOptions, IsolatedDeclarationsResult};
|
||||
use oxc_sourcemap::napi::SourceMap;
|
||||
|
||||
use crate::errors::wrap_diagnostics;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,10 +11,8 @@ use oxc::{
|
|||
transformer::{InjectGlobalVariablesConfig, InjectImport, ReplaceGlobalDefinesConfig},
|
||||
CompilerInterface,
|
||||
};
|
||||
use oxc_napi::{
|
||||
source_map::SourceMap,
|
||||
transform::{TransformOptions, TransformResult},
|
||||
};
|
||||
use oxc_napi::transform::{TransformOptions, TransformResult};
|
||||
use oxc_sourcemap::napi::SourceMap;
|
||||
|
||||
use crate::errors::wrap_diagnostics;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import oxc from 'oxc-parser';
|
|||
|
||||
const sourceText = "let foo: Foo = 'foo';";
|
||||
// Filename extension is used to determine which dialect to parse source as.
|
||||
const filename = "test.tsx";
|
||||
const filename = 'test.tsx';
|
||||
|
||||
test(oxc.parseSync(filename, sourceText, options));
|
||||
test(await oxc.parseAsync(filename, sourceText, options));
|
||||
|
|
|
|||
Loading…
Reference in a new issue