Skip to content

Commit 10862cc

Browse files
committed
refactor(napi/oxlint): rename run to lintFile
1 parent 0179c86 commit 10862cc

File tree

5 files changed

+27
-21
lines changed

5 files changed

+27
-21
lines changed

apps/oxlint/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ pub mod cli {
1010
}
1111

1212
pub use oxc_linter::{
13-
ExternalLinter, ExternalLinterCb, ExternalLinterLoadPluginCb, LintResult, PluginLoadResult,
13+
ExternalLinter, ExternalLinterLintFileCb, ExternalLinterLoadPluginCb, LintFileResult,
14+
PluginLoadResult,
1415
};
1516

1617
#[cfg(all(feature = "oxlint2", not(feature = "disable_oxlint2")))]

crates/oxc_linter/src/external_linter.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ pub type ExternalLinterLoadPluginCb = Arc<
1818
+ 'static,
1919
>;
2020

21-
pub type ExternalLinterCb = Arc<
21+
pub type ExternalLinterLintFileCb = Arc<
2222
dyn Fn(
2323
String,
2424
Vec<u32>,
2525
&Allocator,
26-
) -> Result<Vec<LintResult>, Box<dyn std::error::Error + Send + Sync>>
26+
) -> Result<Vec<LintFileResult>, Box<dyn std::error::Error + Send + Sync>>
2727
+ Sync
2828
+ Send,
2929
>;
@@ -41,7 +41,7 @@ pub enum PluginLoadResult {
4141

4242
#[derive(Clone, Debug, Deserialize, Serialize)]
4343
#[serde(rename_all = "camelCase")]
44-
pub struct LintResult {
44+
pub struct LintFileResult {
4545
pub rule_index: u32,
4646
pub message: String,
4747
pub loc: Loc,
@@ -57,12 +57,15 @@ pub struct Loc {
5757
#[cfg_attr(not(all(feature = "oxlint2", not(feature = "disable_oxlint2"))), expect(dead_code))]
5858
pub struct ExternalLinter {
5959
pub(crate) load_plugin: ExternalLinterLoadPluginCb,
60-
pub(crate) run: ExternalLinterCb,
60+
pub(crate) lint_file: ExternalLinterLintFileCb,
6161
}
6262

6363
impl ExternalLinter {
64-
pub fn new(load_plugin: ExternalLinterLoadPluginCb, run: ExternalLinterCb) -> Self {
65-
Self { load_plugin, run }
64+
pub fn new(
65+
load_plugin: ExternalLinterLoadPluginCb,
66+
lint_file: ExternalLinterLintFileCb,
67+
) -> Self {
68+
Self { load_plugin, lint_file }
6669
}
6770
}
6871

crates/oxc_linter/src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ pub use crate::{
4545
},
4646
context::LintContext,
4747
external_linter::{
48-
ExternalLinter, ExternalLinterCb, ExternalLinterLoadPluginCb, LintResult, PluginLoadResult,
48+
ExternalLinter, ExternalLinterLintFileCb, ExternalLinterLoadPluginCb, LintFileResult,
49+
PluginLoadResult,
4950
},
5051
external_plugin_store::{ExternalPluginStore, ExternalRuleId},
5152
fixer::FixKind,
@@ -258,7 +259,7 @@ impl Linter {
258259
unsafe { metadata_ptr.write(metadata) };
259260

260261
// Pass AST and rule IDs to JS
261-
let result = (external_linter.run)(
262+
let result = (external_linter.lint_file)(
262263
path.to_str().unwrap().to_string(),
263264
external_rules.iter().map(|(rule_id, _)| rule_id.raw()).collect(),
264265
allocator,

napi/oxlint2/src-js/bindings.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/* auto-generated by NAPI-RS */
22
/* eslint-disable */
3+
export type JsLintFileCb =
4+
((arg0: string, arg1: number, arg2: Uint8Array | undefined | null, arg3: Array<number>) => string)
5+
36
export type JsLoadPluginCb =
47
((arg: string) => Promise<string>)
58

6-
export type JsRunCb =
7-
((arg0: string, arg1: number, arg2: Uint8Array | undefined | null, arg3: Array<number>) => string)
8-
9-
export declare function lint(loadPlugin: JsLoadPluginCb, run: JsRunCb): Promise<boolean>
9+
export declare function lint(loadPlugin: JsLoadPluginCb, lintFile: JsLintFileCb): Promise<boolean>

napi/oxlint2/src/lib.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ use napi_derive::napi;
1212

1313
use oxc_allocator::{Allocator, free_fixed_size_allocator};
1414
use oxlint::{
15-
ExternalLinter, ExternalLinterCb, ExternalLinterLoadPluginCb, LintResult, PluginLoadResult,
16-
lint as oxlint_lint,
15+
ExternalLinter, ExternalLinterLintFileCb, ExternalLinterLoadPluginCb, LintFileResult,
16+
PluginLoadResult, lint as oxlint_lint,
1717
};
1818

1919
mod generated {
@@ -22,7 +22,7 @@ mod generated {
2222
use generated::raw_transfer_constants::{BLOCK_ALIGN, BUFFER_SIZE};
2323

2424
#[napi]
25-
pub type JsRunCb = ThreadsafeFunction<
25+
pub type JsLintFileCb = ThreadsafeFunction<
2626
(String, u32, Option<Uint8Array>, Vec<u32>),
2727
String, /* Vec<LintResult> */
2828
(String, u32, Option<Uint8Array>, Vec<u32>),
@@ -39,7 +39,7 @@ pub type JsLoadPluginCb = ThreadsafeFunction<
3939
false,
4040
>;
4141

42-
fn wrap_run(cb: JsRunCb) -> ExternalLinterCb {
42+
fn wrap_lint_file(cb: JsLintFileCb) -> ExternalLinterLintFileCb {
4343
let cb = Arc::new(cb);
4444
Arc::new(move |file_path: String, rule_ids: Vec<u32>, allocator: &Allocator| {
4545
let cb = Arc::clone(&cb);
@@ -117,7 +117,7 @@ fn wrap_run(cb: JsRunCb) -> ExternalLinterCb {
117117
ThreadsafeFunctionCallMode::NonBlocking,
118118
move |result, _env| {
119119
let _ = match &result {
120-
Ok(r) => match serde_json::from_str::<Vec<LintResult>>(r) {
120+
Ok(r) => match serde_json::from_str::<Vec<LintFileResult>>(r) {
121121
Ok(v) => tx.send(Ok(v)),
122122
Err(_e) => tx.send(Err("Failed to deserialize lint result".to_string())),
123123
},
@@ -157,9 +157,10 @@ fn wrap_load_plugin(cb: JsLoadPluginCb) -> ExternalLinterLoadPluginCb {
157157
#[expect(clippy::allow_attributes)]
158158
#[allow(clippy::trailing_empty_array, clippy::unused_async)] // https://github.com/napi-rs/napi-rs/issues/2758
159159
#[napi]
160-
pub async fn lint(load_plugin: JsLoadPluginCb, run: JsRunCb) -> bool {
160+
pub async fn lint(load_plugin: JsLoadPluginCb, lint_file: JsLintFileCb) -> bool {
161161
let rust_load_plugin = wrap_load_plugin(load_plugin);
162-
let rust_run = wrap_run(run);
162+
let rust_lint_file = wrap_lint_file(lint_file);
163163

164-
oxlint_lint(Some(ExternalLinter::new(rust_load_plugin, rust_run))).report() == ExitCode::SUCCESS
164+
oxlint_lint(Some(ExternalLinter::new(rust_load_plugin, rust_lint_file))).report()
165+
== ExitCode::SUCCESS
165166
}

0 commit comments

Comments
 (0)