summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYusuke Tanaka <yusuktan@maguro.dev>2023-03-02 17:50:17 -0400
committerGitHub <noreply@github.com>2023-03-02 21:50:17 +0000
commit88c9a999f78916700b35b6a893a5b779a4f86db0 (patch)
tree0bb71bfa024f9262ee71c98333cc1a6eeace67e9
parent55833cf799979e63c6b027fbbf018272308caf5c (diff)
chore(cli): update deno_lint to 0.41.0 (#17997)
<!-- Before submitting a PR, please read http://deno.land/manual/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. --> This commit updates deno_lint crate to 0.41.0. The new version contains a braking change that requries a minor code fix here, which is also addressed in this commit.
-rw-r--r--Cargo.lock4
-rw-r--r--cli/Cargo.toml2
-rw-r--r--cli/lsp/analysis.rs3
-rw-r--r--cli/lsp/diagnostics.rs2
-rw-r--r--cli/tools/lint.rs10
5 files changed, 11 insertions, 10 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 063eddee6..6960dc3f5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1163,9 +1163,9 @@ dependencies = [
[[package]]
name = "deno_lint"
-version = "0.40.0"
+version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "663d65cb008cddda1d705cd397d5d80fd37716e708b4182ca076244e18132ace"
+checksum = "bb65a10eb9bbff2c0e475958ea4a1f7db1f1e92d4a78a07853867049b7dfee8f"
dependencies = [
"anyhow",
"deno_ast",
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index ad2850705..9f48e2d0a 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -47,7 +47,7 @@ deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"]
deno_doc = "0.57.0"
deno_emit = "0.16.0"
deno_graph = "=0.44.2"
-deno_lint = { version = "0.40.0", features = ["docs"] }
+deno_lint = { version = "0.41.0", features = ["docs"] }
deno_lockfile.workspace = true
deno_runtime = { workspace = true, features = ["dont_create_runtime_snapshot", "include_js_files_for_snapshotting"] }
deno_task_shell = "0.10.0"
diff --git a/cli/lsp/analysis.rs b/cli/lsp/analysis.rs
index 182ad940e..23bfeccd1 100644
--- a/cli/lsp/analysis.rs
+++ b/cli/lsp/analysis.rs
@@ -21,7 +21,6 @@ use once_cell::sync::Lazy;
use regex::Regex;
use std::cmp::Ordering;
use std::collections::HashMap;
-use std::sync::Arc;
use tower_lsp::lsp_types as lsp;
use tower_lsp::lsp_types::Position;
use tower_lsp::lsp_types::Range;
@@ -121,7 +120,7 @@ fn as_lsp_range(range: &deno_lint::diagnostic::Range) -> Range {
pub fn get_lint_references(
parsed_source: &deno_ast::ParsedSource,
- lint_rules: Vec<Arc<dyn LintRule>>,
+ lint_rules: Vec<&'static dyn LintRule>,
) -> Result<Vec<Reference>, AnyError> {
let linter = create_linter(parsed_source.media_type(), lint_rules);
let lint_diagnostics = linter.lint_with_ast(parsed_source);
diff --git a/cli/lsp/diagnostics.rs b/cli/lsp/diagnostics.rs
index f938ba6f4..380323dba 100644
--- a/cli/lsp/diagnostics.rs
+++ b/cli/lsp/diagnostics.rs
@@ -490,7 +490,7 @@ async fn generate_lint_diagnostics(
fn generate_document_lint_diagnostics(
config: &ConfigSnapshot,
lint_options: &LintOptions,
- lint_rules: Vec<Arc<dyn LintRule>>,
+ lint_rules: Vec<&'static dyn LintRule>,
document: &Document,
) -> Vec<lsp::Diagnostic> {
if !config.specifier_enabled(document.specifier()) {
diff --git a/cli/tools/lint.rs b/cli/tools/lint.rs
index 0f81ec89d..4eebf9e16 100644
--- a/cli/tools/lint.rs
+++ b/cli/tools/lint.rs
@@ -234,7 +234,7 @@ pub fn print_rules_list(json: bool) {
pub fn create_linter(
media_type: MediaType,
- rules: Vec<Arc<dyn LintRule>>,
+ rules: Vec<&'static dyn LintRule>,
) -> Linter {
LinterBuilder::default()
.ignore_file_directive("deno-lint-ignore-file")
@@ -247,7 +247,7 @@ pub fn create_linter(
fn lint_file(
file_path: &PathBuf,
source_code: String,
- lint_rules: Vec<Arc<dyn LintRule>>,
+ lint_rules: Vec<&'static dyn LintRule>,
) -> Result<(Vec<LintDiagnostic>, String), AnyError> {
let file_name = file_path.to_string_lossy().to_string();
let media_type = MediaType::from(file_path);
@@ -263,7 +263,7 @@ fn lint_file(
/// Treats input as TypeScript.
/// Compatible with `--json` flag.
fn lint_stdin(
- lint_rules: Vec<Arc<dyn LintRule>>,
+ lint_rules: Vec<&'static dyn LintRule>,
) -> Result<(Vec<LintDiagnostic>, String), AnyError> {
let mut source_code = String::new();
if stdin().read_to_string(&mut source_code).is_err() {
@@ -530,7 +530,9 @@ fn sort_diagnostics(diagnostics: &mut [LintDiagnostic]) {
});
}
-pub fn get_configured_rules(rules: LintRulesConfig) -> Vec<Arc<dyn LintRule>> {
+pub fn get_configured_rules(
+ rules: LintRulesConfig,
+) -> Vec<&'static dyn LintRule> {
if rules.tags.is_none() && rules.include.is_none() && rules.exclude.is_none()
{
rules::get_recommended_rules()