deno-lint-rules

A Deno lint plugin with hugoalh rules.

https://github.com/hugoalh/deno-lint-rules

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.3%) to scientific vocabulary

Keywords

deno deno-lint lint rule rules
Last synced: 6 months ago · JSON representation ·

Repository

A Deno lint plugin with hugoalh rules.

Basic Info
  • Host: GitHub
  • Owner: hugoalh
  • License: other
  • Language: TypeScript
  • Default Branch: main
  • Homepage:
  • Size: 833 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 15
Topics
deno deno-lint lint rule rules
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation Codeowners Security

README.md

hugoalh Deno Lint Rules

⚖️ MIT

GitHub: hugoalh/deno-lint-rules JSR: @hugoalh/deno-lint-rules

A Deno lint plugin with hugoalh rules.

🔰 Begin

🎯 Targets

| Targets | Remote | JSR | |:--|:-:|:-:| | Deno >= v2.3.3 | ✔️ | ✔️ |

[!NOTE] - It is possible to use this module in other methods/ways which not listed in here, however those methods/ways are not officially supported, and should beware maybe cause security issues.

#️⃣ Resources Identifier

  • Remote - GitHub Raw: https://raw.githubusercontent.com/hugoalh/deno-lint-rules/{Tag}/mod.ts
  • JSR: [jsr:]@hugoalh/deno-lint-rules[@{Tag}]

[!NOTE] - For usage of remote resources, it is recommended to import the entire module with the main path mod.ts, however it is also able to import part of the module with sub path if available, but do not import if:

  • it's path has an underscore prefix (e.g.: _foo.ts, _util/bar.ts), or
  • it is a benchmark or test file (e.g.: foo.bench.ts, foo.test.ts), or
  • it's symbol has an underscore prefix (e.g.: _bar, _foo).

These elements are not considered part of the public API, thus no stability is guaranteed for them. - For usage of JSR resources, it is recommended to import the entire module with the main entrypoint, however it is also able to import part of the module with sub entrypoint if available, please visit the file jsr.jsonc property exports for available sub entrypoints. - It is recommended to use this module with tag for immutability.

🛡️ Runtime Permissions

This module does not request any runtime permission.

🧩 APIs

  • ts function configurePlugin(options?: PluginOptions): Deno.lint.Plugin;

[!NOTE] - For the full or prettier documentation, can visit via: - Deno CLI deno doc - JSR

🧩 Rules

| Legend | Description | |:-:|:--| | ✔️ | In the recommended rule set. | | 🔧 | Configurable. | | 🩹 | Fixer is available. |

| | Identifier (Prefix hugoalh/) | Description | |:-:|:--|:--| | 🔧 | max-complexity | Restrict maximum complexity of the code. | | 🔧 | max-file-size | Restrict maximum size of the file. | | 🔧 | max-nest-ternary | Restrict maximum nest of the ternaries. | | 🔧 | max-params | Restrict maximum number of parameters per function/method definition. | | | no-alert | Forbid use of alert. | | 🩹 | no-character-ambiguous | Forbid character which is ambiguous. | | | no-character-invisible | Forbid character which is invisible. | | ✔️🩹 | no-class-constructor-return | Forbid return value in the class constructor. | | | no-confirm | Forbid use of confirm. | | | no-decorator | Forbid use of decorator. | | | no-delete | Forbid use of delete. | | ✔️🩹 | no-duplicate-awaits | Forbid duplicate awaits. | | ✔️ | no-duplicate-export-sources | Forbid duplicate export sources. | | ✔️ | no-duplicate-import-identifiers | Forbid duplicate import identifiers. | | ✔️ | no-duplicate-import-sources | Forbid duplicate import sources. | | ✔️ | no-duplicate-interface-contexts | Forbid duplicate interface contexts. | | ✔️🩹 | no-duplicate-set-types | Forbid duplicate types when intersection or union. | | ✔️ | no-duplicate-type-contexts | Forbid duplicate type contexts. | | ✔️🩹 | no-duplicate-typeofs | Forbid duplicate typeofs. | | ✔️🩹 | no-duplicate-voids | Forbid duplicate voids. | | ✔️ | no-empty-yield | Forbid empty yield. | | ✔️ | no-enum | Forbid use of enum. | | | no-iife | Forbid use of immediately invoked function expression (IIFE). | | ✔️🩹 | no-import-absolute | Forbid import module via absolute path. | | ✔️ | no-import-data | Forbid import module via protocol data:. | | | no-import-dynamic | Forbid import module dynamically. | | ✔️🩹 | no-import-file | Forbid import module via protocol file:. | | ✔️🩹 | no-import-http | Forbid import module via protocol http:. | | | no-import-https | Forbid import module via protocol https:. | | ✔️🔧 | no-import-jsr | Forbid import JSR module. Default to only forbid import JSR module via URL. | | ✔️ | no-import-node-non-functional | Forbid import non functional NodeJS module in Deno. | | | no-import-node | Forbid import module via protocol node:. | | 🔧🩹 | no-import-npm | Forbid import NPM module. | | ✔️ | no-import-self | Forbid import itself. | | | no-import-type-json | Forbid import JSON module. | | | no-import-type-raw | Forbid import raw module. | | ✔️🩹 | no-irregular-numeric-base-case | Forbid irregular numeric base case. | | ✔️🩹 | no-irregular-numeric-exponent-case | Forbid irregular numeric exponent case. | | ✔️🩹 | no-irregular-numeric-separation | Forbid irregular numeric separation. | | ✔️🩹 | no-misuse-for | Forbid misuse for statement. | | ✔️ | no-misuse-switch | Forbid misuse switch statement. | | ✔️ | no-modifier-private | Forbid use of modifier private. | | ✔️ | no-modifier-public | Forbid use of modifier public. | | ✔️ | no-nan | Forbid use of NaN. | | | no-prompt | Forbid use of prompt. | | 🩹 | no-sequence-assignment | Forbid sequence assignments and variables declaration. | | ✔️🩹 | no-split-interface | Forbid split interface with same identifier. | | ✔️🩹 | no-type-assertion-angle-bracket | Forbid type assertion with angle bracket syntax. | | ✔️ | no-unsafe-number | Forbid unsafe number. | | ✔️🩹 | no-use-strict | Forbid use of use strict directive. | | ✔️🩹 | no-useless-block | Forbid useless block. | | ✔️🩹 | no-useless-class-constructor | Forbid useless class constructor. | | ✔️🩹 | no-useless-class-static-block | Forbid useless class static (initialization) block. | | ✔️🩹 | no-useless-continue | Forbid useless continue statement. | | ✔️ | no-useless-else | Forbid useless else statement. | | ✔️🩹 | no-useless-export | Forbid useless export statement. | | ✔️ | no-useless-expression | Forbid useless expression which will do nothing, possibly missing the assignment or call. | | ✔️🩹 | no-useless-switch | Forbid useless switch statement. | | ✔️🩹 | no-useless-template-string-expression | Forbid useless expression in the template string. | | | no-useless-template-string | Forbid useless template string. | | ✔️🩹 | no-useless-ternary | Forbid useless ternary expression. | | ✔️🩹 | no-useless-try | Forbid useless try statement. | | ✔️ | no-useless-type | Forbid useless type. | | | no-using | Forbid use of using and await using. | | | no-void | Forbid use of void. | | ✔️ | prefer-ascii-identifier | Prefer ASCII identifier, an alternative of the Deno lint rule prefer-ascii which only enforce on the identifier. | | ✔️🔧🩹 | prefer-hex-case | Prefer hex case. | | | prefer-ignore-have-reason | Prefer ignore directive have reason. | | ✔️ | prefer-import-at-begin | Prefer import statements at the begin of the module/script. | | ✔️🩹 | prefer-interface | Prefer to use interface instead of type. | | 🔧🩹 | prefer-regexp-flag-unicode | Prefer the regular expression is contain Unicode flag (u or v). | | ✔️🩹 | prefer-statement-block | Prefer the body of the statement is in block (i.e.: surrounded by curly braces). | | | prefer-symbol-description | Prefer Symbol to have a description. | | ✔️ | std-on-jsr | Enforce import Deno Standard Library (std) via JSR. |

✍️ Examples

  • Use recommended rule set via Deno configuration file jsonc { "lint": { "plugins": [ "jsr:@hugoalh/deno-lint-rules[@{Tag}]/recommended" ] } }
  • Configure rules ts /* .hugoalh.lint.ts */ import { configurePlugin } from "HUGOALH_DENO_LINT_RULES"; export default configurePlugin({ ... }) satisfies Deno.lint.Plugin as Deno.lint.Plugin; jsonc /* deno.jsonc */ { "lint": { "plugins": [ "./.hugoalh.lint.ts" ] } }

Owner

  • Name: hugoalh
  • Login: hugoalh
  • Kind: user
  • Location: Everywhere
  • Company: @hugoalh-studio

Lead of @hugoalh-studio; Full time software developer; Part time freelancer

Citation (CITATION.cff)

# yaml-language-server: $schema=https://citation-file-format.github.io/1.2.0/schema.json
cff-version: "1.2.0"
title: "hugoalh Deno Lint Rules"
message: "If you use this software, please cite it using the metadata from this file."
type: "software"
authors:
  - name: "hugoalh"
repository-code: "https://github.com/hugoalh/deno-lint-rules"
keywords:
  - "deno"
  - "lint"
  - "rule"
  - "rules"
license: "MIT"

GitHub Events

Total
  • Create event: 16
  • Issues event: 2
  • Release event: 10
  • Watch event: 1
  • Delete event: 7
  • Issue comment event: 2
  • Push event: 323
  • Pull request event: 2
Last Year
  • Create event: 16
  • Issues event: 2
  • Release event: 10
  • Watch event: 1
  • Delete event: 7
  • Issue comment event: 2
  • Push event: 323
  • Pull request event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 357
  • Total Committers: 1
  • Avg Commits per committer: 357.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 357
  • Committers: 1
  • Avg Commits per committer: 357.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
hugoalh h****h@g****m 357

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 6 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hugoalh (1)
Pull Request Authors
  • dependabot[bot] (2)
Top Labels
Issue Labels
Type/Bug 🐛 (1) Priority/Urgent 🚨 (1)
Pull Request Labels
github-actions (2) dependency 📦 (2)

Dependencies

.github/workflows/announce-new-release.yml actions
  • hugoalh/send-discord-webhook-ghaction v7 composite
.github/workflows/invoke-codeql-analysis.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/analyze v3 composite
  • github/codeql-action/autobuild v3 composite
  • github/codeql-action/init v3 composite
.github/workflows/publish-deno-package.yml actions
  • actions/cache/restore v4 composite
  • actions/cache/save v4 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-node v4 composite
  • actions/upload-artifact v4 composite
  • denoland/setup-deno v2 composite
.github/workflows/review-deno-code.yml actions
  • actions/cache/restore v4 composite
  • actions/cache/save v4 composite
  • actions/checkout v4 composite
  • denoland/setup-deno v2 composite
.github/workflows/scan-virus.yml actions
  • actions/checkout v4 composite
  • hugoalh/scan-virus-ghaction/clamav v0.20.1 composite
.github/workflows/sync-labels.yml actions
  • EndBug/label-sync v2 composite
  • actions/checkout v4 composite