summaryrefslogtreecommitdiff
path: root/cli/tools/lint.rs
AgeCommit message (Collapse)Author
2023-09-08fix: empty include in config file excludes all (#20404)Nayeem Rahman
2023-08-27feat(lint): --rules print all rules (#20256)sigmaSd
The motivation is If I'm using deno lint --rules, I want to see all the rules especially the one that have no tags, since the recommend ones are already active This change also prints the tags associated with the rule inline.
2023-08-06feat(unstable): rename `deno_modules` to `vendor` (#20065)David Sherret
Renames the unstable `deno_modules` directory and corresponding settings to `vendor` after feedback. Also causes the vendoring of the `node_modules` directory which can be disabled via `--node-modules-dir=false` or `"nodeModulesDir": false`.
2023-08-02feat(unstable): optional `deno_modules` directory (#19977)David Sherret
Closes #15633
2023-07-25fix(lint): allow to use --rules with --rules-tags (#19754)Bartek Iwańczuk
2023-06-15refactor(flags): move watch flags into subcommand structs (#19516)David Sherret
Moves the watch setting out of the `Flags` struct and into the individual subcommands
2023-06-14fix: reload config files on watcher restarts (#19487)David Sherret
Closes #19468
2023-05-01refactor(cli): remove ProcState - add CliFactory (#18900)David Sherret
This removes `ProcState` and replaces it with a new `CliFactory` which initializes our "service structs" on demand. This isn't a performance improvement at the moment for `deno run`, but might unlock performance improvements in the future.
2023-03-27feat(core): initialize SQLite off-main-thread (#18401)Matt Mastracci
This gets SQLite off the flamegraph and reduces initialization time by somewhere between 0.2ms and 0.5ms. In addition, I took the opportunity to move all the cache management code to a single place and reduce duplication. While the PR has a net gain of lines, much of that is just being a bit more deliberate with how we're recovering from errors. The existing caches had various policies for dealing with cache corruption, so I've unified them and tried to isolate the decisions we make for recovery in a single place (see `open_connection` in `CacheDB`). The policy I chose was: 1. Retry twice to open on-disk caches 2. If that fails, try to delete the file and recreate it on-disk 3. If we fail to delete the file or re-create a new cache, use a fallback strategy that can be chosen per-cache: InMemory (temporary cache for the process run), BlackHole (ignore writes, return empty reads), or Error (fail on every operation). The caches all use the same general code now, and share the cache failure recovery policy. In addition, it cleans up a TODO in the `NodeAnalysisCache`.
2023-03-21feat: TypeScript 5.0.2 (except decorators) (#18294)David Sherret
This upgrades TypeScript to 5.0.2, but does not have ES decorator support because swc does not support that yet.
2023-03-02chore(cli): update deno_lint to 0.41.0 (#17997)Yusuke Tanaka
<!-- 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.
2023-01-27chore: upgrade to Rust 1.67 (#17548)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-13refactor(cli/tools): reduce cloning (#17309)Geert-Jan Zwiers
2023-01-07refactor(cli/tools): move flag and config logic to CliOptions (#17008)Geert-Jan Zwiers
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-17fix(lint): column number for pretty reporting was off by 1 (#17107)David Sherret
Closes #17086
2022-12-07feat: ignore `node_modules` and `.git` folders when collecting files ↵David Sherret
everywhere (#16862) We currently only do this for fmt. This makes it so they're excluded by default, but you can still opt into these directories by explicitly specifying them.
2022-11-28refactor: create util folder, move nap_sym to napi/sym, move http_cache to ↵David Sherret
cache folder (#16857)
2022-10-25feat(lint): add a report lint config setting (#16045)Brenley Dueck
Builds off this PR to add a "report" setting to deno.json which can be "pretty", "compact", or "json".
2022-09-28feat(lint): add --compact flag for terse output (#15926)Brenley Dueck
2022-09-26chore: use Rust 1.64.0 (#16035)Mathias Lafeldt
2022-09-02refactor: move JsError formatting to deno_runtime (#15345)Christian Dürr
This takes the existing `fmt_error` module from cli and puts it as a public module into `deno_runtime`.
2022-07-18feat(cli): support configuring the test tool in the config file (#15079)Roj
2022-07-12perf: use emit from swc instead of tsc (#15118)David Sherret
2022-06-29refactor: rename `RootConfig` to `CliOptions` (#15007)David Sherret
2022-06-28refactor: add `RootConfig` (#14985)David Sherret
2022-06-27refactor: create `args` folder (#14982)David Sherret
2022-05-13chore: update to rust 1.60.0 & update Cargo.lock (#14260)Luca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-04-19perf(fmt/lint): incremental formatting and linting (#14314)David Sherret
2022-03-23chore: remove all `pub(crate)`s from the cli crate (#14083)David Sherret
2022-03-16chore: fix build (#13997)Ryan Dahl
2022-02-11refactor: use `Arc` instead of making copies of `Flags` struct (#13610)Maxim
2022-01-31feat(cli): add "--no-clear-screen" flag (#13454)Zheyu Zhang
This commit adds "--no-clear-screen" flag which can be used with "--watch" flag to disable clearing of terminal screen on each file change.
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-11-29refactor(cli): simplify lint/format resolver logic (#12898)Zheyu Zhang
2021-11-24fix(lsp): lsp should respect include/exclude files in format config (#12876)David Sherret
2021-11-23fix(cli): config file should resolve paths relative to the config file (#12867)David Sherret
* Add `specifier_to_file_path` to support converting a ModuleSpecifier with a unix-style path to a PathBuf on Windows.
2021-11-16refactor: re-export anyhow from deno_core (#12777)Ryan Dahl
2021-11-08fix(lint): use recommended tags when no tags specified in config, but ↵David Sherret
includes or excludes are (#12700)
2021-11-04fix(lint): use recommended tag if there is no tags in config file or flags ↵Zheyu Zhang
(#12644)
2021-10-30fix(cli): linter/formater watches current directory without args (#12550)Zheyu Zhang
2021-10-30fix(cli): lint/format all discoverd files on each change (#12518)Zheyu Zhang
2021-10-12chore: upgrade crates based on deno ast 0.3 (#12403)David Sherret
2021-10-12fix(lsp): lint diagnostics respect config file (#12338)Bartek Iwańczuk
This commit fixes problem with LSP where diagnostics coming from "deno lint" don't respect configuration file. LSP was changed to store "Option<ConfigFile>", "Option<LintConfig>" and "Option<FmtConfig>" on "Inner"; as well as storing "Option<LintConfig>" and "Option<FmtConfig>" on "StateSnapshot". Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-10-05feat(lint): add support for --watch flag (#11983)CGQAQ
2021-09-08refactor(lint): reuse lint rules (#11934)Bartek Iwańczuk
This commit updated "deno_lint" crate to 0.15.1 and refactors "cli/tools/lint.rs" to create only a single vector of lint rules, instead of creating a vector for each linted file.
2021-09-07refactor(lsp): use deno_ast and cache swc ASTs (#11780)David Sherret
2021-09-03feat(lint): add support for config file and CLI flags for rules (#11776)Bartek Iwańczuk
This commit adds support for following flags in deno lint subcommand: --config - allows to load configuration file and parses "lint" object --rules-tags=<tags> - allows specifying which set of tagged rules should be run --rules-include=<rules> - allow specifying which rules should be run --rules-exclude=<rules> - allow specifying which rules should not be run
2021-09-02chore: upgrade crates (#11894)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2021-08-14fix(cli/lint): don't use gray in diagnostics output for visibility (#11702)Yusuke Tanaka