{"id":14984996,"url":"https://github.com/prantlf/denolint","last_synced_at":"2025-08-11T15:10:36.133Z","repository":{"id":60395276,"uuid":"541252831","full_name":"prantlf/denolint","owner":"prantlf","description":"Blazing fast linter for JavaScript and TypeScript written in Rust.","archived":false,"fork":false,"pushed_at":"2023-10-25T10:11:33.000Z","size":313,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-05T16:44:17.995Z","etag":null,"topics":["deno-lint","denolint","ecmascript","eslint","javascript","lint"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prantlf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-25T17:27:28.000Z","updated_at":"2023-10-05T23:15:16.000Z","dependencies_parsed_at":"2024-06-19T00:25:00.748Z","dependency_job_id":"20312b84-c26d-4a77-a747-7799872809bb","html_url":"https://github.com/prantlf/denolint","commit_stats":{"total_commits":73,"total_committers":1,"mean_commits":73.0,"dds":0.0,"last_synced_commit":"438013763448ab47493e208786e8a88339a672b6"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/prantlf/denolint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fdenolint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fdenolint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fdenolint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fdenolint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prantlf","download_url":"https://codeload.github.com/prantlf/denolint/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fdenolint/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268994631,"owners_count":24341573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deno-lint","denolint","ecmascript","eslint","javascript","lint"],"created_at":"2024-09-24T14:10:04.294Z","updated_at":"2025-08-11T15:10:36.083Z","avatar_url":"https://github.com/prantlf.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# denolint\n\n\u003e Monorepo for calling `deno lint` in Node.js projects using the Rust package [deno_lint].\n\nA lot faster than [eslint], handling both JavaScript and TypeScript sources. Use [rollup-plugin-denolint] for [Rollup]. Use [esbuild-plugin-denolint] for [esbuild]. Use [webpack-loader-denolint] for [Webpack]. Or simpler, just the command-line [denolint].\n\nThis project started as fork of a [customised @node-rs/deno-lint], adding the flexibility of `eslint`:\n\n* Scan specific directories with specific ignore patterns ([631], [647])\n* Scan directories configured by `files.include` ([635], [645])\n* Fix handling of the configuration `files.exclude` ([635], [646])\n* Support disabling rules in souces using `eslint-disable` ([630], [642])\n* Support including and excluding rules in the `lint` method ([631], [643])\n* Execute the command-line tool `denolint` without loading the Node.js VM ([648])\n* Offer both synchronous and asynchronous methods ([650])\n* Allow specifying directories, files and patterns as input for checking\n* Print warning messages in pretty or compact formats\n* Explain a rule or list all supported rules on the console\n\n## Synopsis\n\nScan sources in two directories on the command line:\n\n    $ npx denolint src test\n\n    no-var\n\n    × `var` keyword is not allowed.\n    ╭─[src/index.js:3:3]\n    3 │ export function answer() {\n    4 │   var answer = 42\n    ·   ───────────────\n    5 │   return answer\n    ╰────\n    help: https://lint.deno.land/#no-var\n\nCheck one source file programmatically:\n\n```js\nimport { readFile } from 'fs/promises'\nimport { lint } from 'libdenolint'\n\nconst filepath = 'src/index.js'\nconst source = await readFile(filepath)\n\nconst warnings = await lint(filepath, source)\nfor (const warning of warnings) console.warn(warning)\n```\n\n## Packages\n\nSee more information about the packages and their compatibility with [@node-rs/deno-lint]:\n\n| Project       | Package                                                         | Description                                   |\n| ------------- | --------------------------------------------------------------- | --------------------------------------------- |\n| [denolint]    | [![denolint](https://img.shields.io/npm/v/denolint)][cmd]       | Deno lint command-line executable for Node.js |\n| [libdenolint] | [![libdenolint](https://img.shields.io/npm/v/libdenolint)][lib] | Deno lint library binding for Node.js         |\n\n## Support matrix\n\n| Platform         | node14 | node16 | node18 |\n| ---------------- | ------ | ------ | ------ |\n| Windows x64      | ✓      | ✓      | ✓      |\n| Windows x32      | ✓      | ✓      | ✓      |\n| Windows arm64    | ✓      | ✓      | ✓      |\n| MacOS x64        | ✓      | ✓      | ✓      |\n| MacOS arm64      | ✓      | ✓      | ✓      |\n| Linux x64 gnu    | ✓      | ✓      | ✓      |\n| Linux x64 musl   | ✓      | ✓      | ✓      |\n| Linux arm gnu    | ✓      | ✓      | ✓      |\n| Linux arm64 gnu  | ✓      | ✓      | ✓      |\n| Linux arm64 musl | ×      | ×      | ×      |\n| Android arm64    | ×      | ×      | ×      |\n| Android armv7    | ×      | ×      | ×      |\n| FreeBSD x64      | ✓      | ✓      | ✓      |\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.\n\n### Publishing\n\nThis is for me :-)\n\nUpgrading:\n\n    cd packages/libdenolint\n    ncu -u\n    pnpm i\n    cd ../..\n    ncu -u\n    pnpm i\n    cargo update\n    cargo upgrade --incompatible\n    pnpm run lint\n    cargo fmt --all\n    cargo clippy -- -D warnings\n    cargo outdated --exit-code 1\n    cargo audit\n    cargo pants\n\n    cd packages/denolint\n    npm run build\n    npm run test:other\n    cd ../libdenolint\n    npm run build\n    npm run test:other\n\nChange directory to `packages/denolint` and/or `packages/libdenolint` depending on what packages you want to publish and run:\n\n    npm version --no-git-tag-version X.Y.Z\n\nConsolidate `CHANGELOG.md` and commit the changes with one of the following messages, depending on what packages you want to publish:\n\n    g c -am 'chore(release): publish both X.Y.Z'\n    g c -am 'chore(release): publish denolint X.Y.Z'\n    g c -am 'chore(release): publish libdenolint X.Y.Z'\n    g t vX.Y.Z\n    g p\n    and create a GitHub release\n\n## License\n\nCopyright (c) 2020-2022 LongYinan\u003cbr\u003e\nCopyright (c) 2023 Ferdinand Prantl\n\nLicensed under the [MIT] license.\n\n[deno_lint]: https://github.com/denoland/deno_lint\n[customised @node-rs/deno-lint]: https://github.com/prantlf/node-rs/commits/combined\n[@node-rs/deno-lint]: https://github.com/napi-rs/node-rs/tree/main/packages/deno-lint#readme\n[denolint]: https://github.com/prantlf/denolint/tree/master/packages/denolint#readme\n[cmd]: https://www.npmjs.com/package/denolint\n[libdenolint]: https://github.com/prantlf/denolint/tree/master/packages/libdenolint#readme\n[lib]: https://www.npmjs.com/package/libdenolint\n[eslint]: https://eslint.org/\n[esbuild-plugin-denolint]: https://github.com/prantlf/esbuild-plugin-denolint#readme\n[esbuild]: https://esbuild.github.io/\n[rollup-plugin-denolint]: https://github.com/prantlf/rollup-plugin-denolint#readme\n[Rollup]: https://rollupjs.org/\n[webpack-loader-denolint]: https://github.com/prantlf/webpack-loader-denolint#readme\n[Webpack]: https://webpack.js.org/\n[630]: https://github.com/napi-rs/node-rs/issues/630\n[631]: https://github.com/napi-rs/node-rs/issues/631\n[635]: https://github.com/napi-rs/node-rs/issues/635\n[642]: https://github.com/napi-rs/node-rs/pull/642\n[643]: https://github.com/napi-rs/node-rs/pull/643\n[645]: https://github.com/napi-rs/node-rs/pull/645\n[646]: https://github.com/napi-rs/node-rs/pull/646\n[647]: https://github.com/napi-rs/node-rs/pull/647\n[648]: https://github.com/napi-rs/node-rs/issues/648\n[650]: https://github.com/napi-rs/node-rs/issues/650\n[MIT]: https://github.com/prantlf/denolint/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprantlf%2Fdenolint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprantlf%2Fdenolint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprantlf%2Fdenolint/lists"}