mirror of
				https://github.com/theoludwig/eslint-config-conventions.git
				synced 2025-11-04 00:18:57 +01:00 
			
		
		
		
	Compare commits
	
		
			22 Commits
		
	
	
		
			v13.0.0
			...
			31b226ffa4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						31b226ffa4
	
				 | 
					
					
						|||
| 
						
						
							
						
						8403ef4254
	
				 | 
					
					
						|||
| 
						
						
							
						
						dbe252f3b4
	
				 | 
					
					
						|||
| 
						
						
							
						
						6e6a8d7aa1
	
				 | 
					
					
						|||
| 
						
						
							
						
						256a5024d6
	
				 | 
					
					
						|||
| 
						
						
							
						
						3d2e708e96
	
				 | 
					
					
						|||
| 
						
						
							
						
						b0f6ef585f
	
				 | 
					
					
						|||
| 
						
						
							
						
						7abcc179e5
	
				 | 
					
					
						|||
| 
						
						
							
						
						b72745bdbe
	
				 | 
					
					
						|||
| 
						
						
							
						
						89c012cac2
	
				 | 
					
					
						|||
| 
						
						
							
						
						00b7a2a89b
	
				 | 
					
					
						|||
| 
						
						
							
						
						a5036c8381
	
				 | 
					
					
						|||
| 
						
						
							
						
						c9365be768
	
				 | 
					
					
						|||
| 
						
						
							
						
						c1a524e31b
	
				 | 
					
					
						|||
| 
						
						
							
						
						8585574a70
	
				 | 
					
					
						|||
| 
						
						
							
						
						fce826e24a
	
				 | 
					
					
						|||
| 
						
						
							
						
						17e90bcc35
	
				 | 
					
					
						|||
| 
						
						
							
						
						dab4433431
	
				 | 
					
					
						|||
| 
						
						
							
						
						b671018a00
	
				 | 
					
					
						|||
| 
						
						
							
						
						17dea937eb
	
				 | 
					
					
						|||
| 
						
						
							
						
						7f3c152e61
	
				 | 
					
					
						|||
| 
						
						
							
						
						f243013173
	
				 | 
					
					
						
@@ -22,6 +22,7 @@
 | 
				
			|||||||
    "no-compare-neg-zero": "error",
 | 
					    "no-compare-neg-zero": "error",
 | 
				
			||||||
    "no-cond-assign": "error",
 | 
					    "no-cond-assign": "error",
 | 
				
			||||||
    "no-const-assign": "error",
 | 
					    "no-const-assign": "error",
 | 
				
			||||||
 | 
					    "no-constant-binary-expression": "error",
 | 
				
			||||||
    "no-constant-condition": "error",
 | 
					    "no-constant-condition": "error",
 | 
				
			||||||
    "no-constructor-return": "error",
 | 
					    "no-constructor-return": "error",
 | 
				
			||||||
    "no-control-regex": "error",
 | 
					    "no-control-regex": "error",
 | 
				
			||||||
@@ -34,7 +35,6 @@
 | 
				
			|||||||
    "no-duplicate-imports": "error",
 | 
					    "no-duplicate-imports": "error",
 | 
				
			||||||
    "no-empty-character-class": "error",
 | 
					    "no-empty-character-class": "error",
 | 
				
			||||||
    "no-empty-pattern": "error",
 | 
					    "no-empty-pattern": "error",
 | 
				
			||||||
    "no-empty-static-block": "error",
 | 
					 | 
				
			||||||
    "no-ex-assign": "error",
 | 
					    "no-ex-assign": "error",
 | 
				
			||||||
    "no-fallthrough": "error",
 | 
					    "no-fallthrough": "error",
 | 
				
			||||||
    "no-func-assign": "error",
 | 
					    "no-func-assign": "error",
 | 
				
			||||||
@@ -51,6 +51,7 @@
 | 
				
			|||||||
    "no-self-assign": "error",
 | 
					    "no-self-assign": "error",
 | 
				
			||||||
    "no-self-compare": "error",
 | 
					    "no-self-compare": "error",
 | 
				
			||||||
    "no-setter-return": "error",
 | 
					    "no-setter-return": "error",
 | 
				
			||||||
 | 
					    "no-sparse-arrays": "error",
 | 
				
			||||||
    "no-this-before-super": "error",
 | 
					    "no-this-before-super": "error",
 | 
				
			||||||
    "no-undef": "error",
 | 
					    "no-undef": "error",
 | 
				
			||||||
    "no-unexpected-multiline": "error",
 | 
					    "no-unexpected-multiline": "error",
 | 
				
			||||||
@@ -95,6 +96,7 @@
 | 
				
			|||||||
    "no-confusing-arrow": "error",
 | 
					    "no-confusing-arrow": "error",
 | 
				
			||||||
    "no-delete-var": "error",
 | 
					    "no-delete-var": "error",
 | 
				
			||||||
    "no-empty": ["error", { "allowEmptyCatch": true }],
 | 
					    "no-empty": ["error", { "allowEmptyCatch": true }],
 | 
				
			||||||
 | 
					    "no-empty-static-block": "error",
 | 
				
			||||||
    "no-eval": "error",
 | 
					    "no-eval": "error",
 | 
				
			||||||
    "no-floating-decimal": "error",
 | 
					    "no-floating-decimal": "error",
 | 
				
			||||||
    "no-global-assign": "error",
 | 
					    "no-global-assign": "error",
 | 
				
			||||||
@@ -130,11 +132,13 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "no-useless-call": "error",
 | 
					    "no-useless-call": "error",
 | 
				
			||||||
 | 
					    "no-useless-concat": "error",
 | 
				
			||||||
    "no-useless-computed-key": "error",
 | 
					    "no-useless-computed-key": "error",
 | 
				
			||||||
    "no-useless-constructor": "error",
 | 
					    "no-useless-constructor": "error",
 | 
				
			||||||
    "no-useless-escape": "error",
 | 
					    "no-useless-escape": "error",
 | 
				
			||||||
    "no-useless-rename": "error",
 | 
					    "no-useless-rename": "error",
 | 
				
			||||||
    "no-useless-return": "error",
 | 
					    "no-useless-return": "error",
 | 
				
			||||||
 | 
					    "no-else-return": ["error", { "allowElseIf": false }],
 | 
				
			||||||
    "no-var": "error",
 | 
					    "no-var": "error",
 | 
				
			||||||
    "no-void": "error",
 | 
					    "no-void": "error",
 | 
				
			||||||
    "no-with": "error",
 | 
					    "no-with": "error",
 | 
				
			||||||
@@ -169,9 +173,12 @@
 | 
				
			|||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "import/no-named-default": "error",
 | 
					    "import/no-named-default": "error",
 | 
				
			||||||
    "import/no-empty-named-blocks": "error",
 | 
					    "import/no-empty-named-blocks": "error",
 | 
				
			||||||
 | 
					    "import/no-anonymous-default-export": "error",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    "promise/param-names": "error",
 | 
					    "promise/param-names": "error",
 | 
				
			||||||
    "promise/no-new-statics": "error",
 | 
					    "promise/no-new-statics": "error",
 | 
				
			||||||
 | 
					    "promise/no-multiple-resolved": "error",
 | 
				
			||||||
 | 
					    "promise/no-nesting": "error",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    "unicorn/better-regex": "error",
 | 
					    "unicorn/better-regex": "error",
 | 
				
			||||||
    "unicorn/catch-error-name": "error",
 | 
					    "unicorn/catch-error-name": "error",
 | 
				
			||||||
@@ -254,6 +261,7 @@
 | 
				
			|||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "no-useless-constructor": "off",
 | 
					        "no-useless-constructor": "off",
 | 
				
			||||||
        "@typescript-eslint/no-useless-constructor": "error",
 | 
					        "@typescript-eslint/no-useless-constructor": "error",
 | 
				
			||||||
 | 
					        "@typescript-eslint/no-useless-template-literals": "error",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        "@typescript-eslint/adjacent-overload-signatures": "error",
 | 
					        "@typescript-eslint/adjacent-overload-signatures": "error",
 | 
				
			||||||
        "@typescript-eslint/array-type": [
 | 
					        "@typescript-eslint/array-type": [
 | 
				
			||||||
@@ -313,8 +321,12 @@
 | 
				
			|||||||
        "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
 | 
					        "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
 | 
				
			||||||
        "@typescript-eslint/no-unnecessary-type-assertion": "error",
 | 
					        "@typescript-eslint/no-unnecessary-type-assertion": "error",
 | 
				
			||||||
        "@typescript-eslint/no-var-requires": "error",
 | 
					        "@typescript-eslint/no-var-requires": "error",
 | 
				
			||||||
 | 
					        "@typescript-eslint/no-require-imports": "error",
 | 
				
			||||||
        "@typescript-eslint/no-unsafe-unary-minus": "error",
 | 
					        "@typescript-eslint/no-unsafe-unary-minus": "error",
 | 
				
			||||||
 | 
					        "@typescript-eslint/no-array-delete": "error",
 | 
				
			||||||
 | 
					        "@typescript-eslint/prefer-as-const": "error",
 | 
				
			||||||
        "@typescript-eslint/prefer-function-type": "error",
 | 
					        "@typescript-eslint/prefer-function-type": "error",
 | 
				
			||||||
 | 
					        "@typescript-eslint/prefer-find": "error",
 | 
				
			||||||
        "@typescript-eslint/prefer-includes": "error",
 | 
					        "@typescript-eslint/prefer-includes": "error",
 | 
				
			||||||
        "@typescript-eslint/prefer-nullish-coalescing": [
 | 
					        "@typescript-eslint/prefer-nullish-coalescing": [
 | 
				
			||||||
          "error",
 | 
					          "error",
 | 
				
			||||||
@@ -328,6 +340,8 @@
 | 
				
			|||||||
        "@typescript-eslint/prefer-reduce-type-parameter": "error",
 | 
					        "@typescript-eslint/prefer-reduce-type-parameter": "error",
 | 
				
			||||||
        "@typescript-eslint/prefer-ts-expect-error": "error",
 | 
					        "@typescript-eslint/prefer-ts-expect-error": "error",
 | 
				
			||||||
        "@typescript-eslint/promise-function-async": "error",
 | 
					        "@typescript-eslint/promise-function-async": "error",
 | 
				
			||||||
 | 
					        "prefer-promise-reject-errors": "off",
 | 
				
			||||||
 | 
					        "@typescript-eslint/prefer-promise-reject-errors": "error",
 | 
				
			||||||
        "@typescript-eslint/require-array-sort-compare": [
 | 
					        "@typescript-eslint/require-array-sort-compare": [
 | 
				
			||||||
          "error",
 | 
					          "error",
 | 
				
			||||||
          { "ignoreStringArrays": true }
 | 
					          { "ignoreStringArrays": true }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							@@ -4,16 +4,16 @@ on:
 | 
				
			|||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [develop]
 | 
					    branches: [develop]
 | 
				
			||||||
  pull_request:
 | 
					  pull_request:
 | 
				
			||||||
    branches: [master, develop]
 | 
					    branches: [main, develop]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  lint:
 | 
					  lint:
 | 
				
			||||||
    runs-on: "ubuntu-latest"
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v3.6.0"
 | 
					      - uses: "actions/checkout@v4.1.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v3.8.1"
 | 
					        uses: "actions/setup-node@v4.0.1"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@ name: "Release"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [master]
 | 
					    branches: [main]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  release:
 | 
					  release:
 | 
				
			||||||
@@ -13,13 +13,13 @@ jobs:
 | 
				
			|||||||
      pull-requests: "write"
 | 
					      pull-requests: "write"
 | 
				
			||||||
      id-token: "write"
 | 
					      id-token: "write"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v3.6.0"
 | 
					      - uses: "actions/checkout@v4.1.1"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          fetch-depth: 0
 | 
					          fetch-depth: 0
 | 
				
			||||||
          persist-credentials: false
 | 
					          persist-credentials: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v3.8.1"
 | 
					        uses: "actions/setup-node@v4.0.1"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							@@ -4,16 +4,16 @@ on:
 | 
				
			|||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [develop]
 | 
					    branches: [develop]
 | 
				
			||||||
  pull_request:
 | 
					  pull_request:
 | 
				
			||||||
    branches: [master, develop]
 | 
					    branches: [main, develop]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  test:
 | 
					  test:
 | 
				
			||||||
    runs-on: "ubuntu-latest"
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v3.6.0"
 | 
					      - uses: "actions/checkout@v4.1.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v3.8.1"
 | 
					        uses: "actions/setup-node@v4.0.1"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,3 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/usr/bin/env sh
 | 
				
			||||||
. "$(dirname "$0")/_/husky.sh"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
npm run lint:commit -- --edit
 | 
					npm run lint:commit -- --edit
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,4 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/usr/bin/env sh
 | 
				
			||||||
. "$(dirname "$0")/_/husky.sh"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
npm run lint:staged
 | 
					npm run lint:staged
 | 
				
			||||||
npm run test
 | 
					npm run test
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "*": ["editorconfig-checker"],
 | 
					  "**/*": ["editorconfig-checker", "prettier --write --ignore-unknown"],
 | 
				
			||||||
  "*.{js,jsx,ts,tsx}": ["prettier --write", "eslint --fix"],
 | 
					  "**/*.md": ["markdownlint-cli2 --fix --no-globs"],
 | 
				
			||||||
  "*.{json,jsonc,yml,yaml}": ["prettier --write"],
 | 
					  "**/*.{js,jsx,ts,tsx}": [
 | 
				
			||||||
  "*.{md,mdx}": ["prettier --write", "markdownlint-cli2 --fix"]
 | 
					    "eslint --fix --max-warnings 0 --report-unused-disable-directives"
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,11 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "config": {
 | 
					  "config": {
 | 
				
			||||||
    "extends": "markdownlint/style/prettier",
 | 
					    "extends": "markdownlint/style/prettier",
 | 
				
			||||||
    "relative-links": true,
 | 
					 | 
				
			||||||
    "default": true,
 | 
					    "default": true,
 | 
				
			||||||
    "MD033": false
 | 
					    "relative-links": true,
 | 
				
			||||||
 | 
					    "no-inline-html": false,
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "globs": ["**/*.{md,mdx}"],
 | 
					  "globs": ["**/*.md"],
 | 
				
			||||||
  "ignores": ["**/node_modules"],
 | 
					  "ignores": ["**/node_modules"],
 | 
				
			||||||
  "customRules": ["markdownlint-rule-relative-links"]
 | 
					  "customRules": ["markdownlint-rule-relative-links"],
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "branches": ["master"],
 | 
					  "branches": ["main"],
 | 
				
			||||||
  "plugins": [
 | 
					  "plugins": [
 | 
				
			||||||
    [
 | 
					    [
 | 
				
			||||||
      "@semantic-release/commit-analyzer",
 | 
					      "@semantic-release/commit-analyzer",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@@ -5,6 +5,6 @@
 | 
				
			|||||||
  "prettier.configPath": ".prettierrc.json",
 | 
					  "prettier.configPath": ".prettierrc.json",
 | 
				
			||||||
  "editor.formatOnSave": true,
 | 
					  "editor.formatOnSave": true,
 | 
				
			||||||
  "editor.codeActionsOnSave": {
 | 
					  "editor.codeActionsOnSave": {
 | 
				
			||||||
    "source.fixAll": true
 | 
					    "source.fixAll": "explicit"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								LICENSE
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
MIT License
 | 
					# MIT License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copyright (c) Théo LUDWIG
 | 
					Copyright (c) Théo LUDWIG <contact@theoludwig.fr>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
				
			||||||
of this software and associated documentation files (the "Software"), to deal
 | 
					of this software and associated documentation files (the "Software"), to deal
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								README.md
									
									
									
									
									
								
							@@ -7,12 +7,12 @@
 | 
				
			|||||||
</p>
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<p align="center">
 | 
					<p align="center">
 | 
				
			||||||
  <a href="./CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" /></a>
 | 
					  <a href="./CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="CONTRIBUTING" /></a>
 | 
				
			||||||
  <a href="./LICENSE"><img src="https://img.shields.io/badge/licence-MIT-blue.svg" alt="Licence MIT"/></a>
 | 
					  <a href="./LICENSE"><img src="https://img.shields.io/badge/licence-MIT-blue.svg" alt="Licence MIT"/></a>
 | 
				
			||||||
  <a href="./CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg" alt="Contributor Covenant" /></a>
 | 
					  <a href="./CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg" alt="Contributor Covenant" /></a>
 | 
				
			||||||
  <br />
 | 
					  <br />
 | 
				
			||||||
  <a href="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/lint.yml"><img src="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/lint.yml/badge.svg?branch=develop" /></a>
 | 
					  <a href="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/lint.yml"><img src="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/lint.yml/badge.svg?branch=develop" alt="lint action" /></a>
 | 
				
			||||||
  <a href="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/test.yml"><img src="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/test.yml/badge.svg?branch=develop" /></a>
 | 
					  <a href="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/test.yml"><img src="https://github.com/theoludwig/eslint-config-conventions/actions/workflows/test.yml/badge.svg?branch=develop" alt="test action" /></a>
 | 
				
			||||||
  <br />
 | 
					  <br />
 | 
				
			||||||
  <a href="https://conventionalcommits.org"><img src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg" alt="Conventional Commits" /></a>
 | 
					  <a href="https://conventionalcommits.org"><img src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg" alt="Conventional Commits" /></a>
 | 
				
			||||||
  <a href="https://github.com/semantic-release/semantic-release"><img src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg" alt="semantic-release" /></a>
 | 
					  <a href="https://github.com/semantic-release/semantic-release"><img src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg" alt="semantic-release" /></a>
 | 
				
			||||||
@@ -21,7 +21,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## 📜 About
 | 
					## 📜 About
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**eslint-config-conventions** is a [ESLint](https://eslint.org) configuration to enforce strict conventions and good code quality, it is highly inspired from [eslint-config-standard-with-typescript](https://github.com/standard/eslint-config-standard-with-typescript) but it is **stricter** and with **no formatting rules**, **only code-quality rules**. It supports both **JavaScript** and **TypeScript**.
 | 
					**eslint-config-conventions** is a [ESLint](https://eslint.org) configuration to enforce strict conventions and good code quality, it is highly inspired from [eslint-config-standard-with-typescript](https://github.com/mightyiam/eslint-config-standard-with-typescript) but it is **stricter** and with **no formatting rules**, **only code-quality rules**. It supports both **JavaScript** and **TypeScript**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This configuration is mostly **for catching bugs** and **code-quality** so it is recommended to use it with [Prettier](https://prettier.io/) for a consistent code style, it works with any `.prettierrc.json` configuration.
 | 
					This configuration is mostly **for catching bugs** and **code-quality** so it is recommended to use it with [Prettier](https://prettier.io/) for a consistent code style, it works with any `.prettierrc.json` configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -37,10 +37,10 @@ More information about **formatting rules** vs **code-quality rules** can be fou
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
npm install --save-dev \
 | 
					npm install --save-dev \
 | 
				
			||||||
  eslint@^8.53.0 \
 | 
					  eslint@^8.56.0 \
 | 
				
			||||||
  eslint-plugin-import@^2.29.0 \
 | 
					  eslint-plugin-import@^2.29.1 \
 | 
				
			||||||
  eslint-plugin-promise@^6.1.1 \
 | 
					  eslint-plugin-promise@^6.1.1 \
 | 
				
			||||||
  eslint-plugin-unicorn@^49.0.1 \
 | 
					  eslint-plugin-unicorn@^51.0.1 \
 | 
				
			||||||
  eslint-config-conventions@latest
 | 
					  eslint-config-conventions@latest
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -57,9 +57,9 @@ If you want to use **TypeScript**, you also need to install:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
npm install --save-dev \
 | 
					npm install --save-dev \
 | 
				
			||||||
  typescript@^5.2.2 \
 | 
					  "typescript@^5.3.3" \
 | 
				
			||||||
  @typescript-eslint/eslint-plugin@^6.11.0 \
 | 
					  "@typescript-eslint/eslint-plugin@>=6.21.0" \
 | 
				
			||||||
  @typescript-eslint/parser@^6.11.0
 | 
					  "@typescript-eslint/parser@>=6.21.0"
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dependencies are:
 | 
					Dependencies are:
 | 
				
			||||||
@@ -96,13 +96,13 @@ echo "{}" > .prettierrc.json
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Note:** Please read some important instructions regarding the `project` option [here](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/README.md#configuration).
 | 
					**Note:** Please read some important instructions regarding the `project` option [here](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/README.md#configuration).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`"parserOptions.project"` is only required if you use **TypeScript**.
 | 
					`"parserOptions.project"` is only required if you use **TypeScript**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### `package.json`
 | 
					#### `package.json`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```jsonc
 | 
					```json
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "lint:eslint": "eslint . --max-warnings 0 --report-unused-disable-directives --ignore-path .gitignore",
 | 
					    "lint:eslint": "eslint . --max-warnings 0 --report-unused-disable-directives --ignore-path .gitignore",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2726
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2726
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										48
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								package.json
									
									
									
									
									
								
							@@ -33,7 +33,7 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "engines": {
 | 
					  "engines": {
 | 
				
			||||||
    "node": ">=18.0.0",
 | 
					    "node": ">=18.0.0",
 | 
				
			||||||
    "npm": ">=9.0.0"
 | 
					    "npm": ">=10.0.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "lint:commit": "commitlint",
 | 
					    "lint:commit": "commitlint",
 | 
				
			||||||
@@ -42,38 +42,38 @@
 | 
				
			|||||||
    "lint:eslint": "eslint . --max-warnings 0 --report-unused-disable-directives --config eslintrc.json",
 | 
					    "lint:eslint": "eslint . --max-warnings 0 --report-unused-disable-directives --config eslintrc.json",
 | 
				
			||||||
    "lint:prettier": "prettier . --check",
 | 
					    "lint:prettier": "prettier . --check",
 | 
				
			||||||
    "lint:staged": "lint-staged",
 | 
					    "lint:staged": "lint-staged",
 | 
				
			||||||
    "test": "node --test test/",
 | 
					    "test": "node --test",
 | 
				
			||||||
    "release": "semantic-release",
 | 
					    "release": "semantic-release",
 | 
				
			||||||
    "postinstall": "husky install",
 | 
					    "postinstall": "husky",
 | 
				
			||||||
    "prepublishOnly": "pinst --disable",
 | 
					    "prepublishOnly": "pinst --disable",
 | 
				
			||||||
    "postpublish": "pinst --enable"
 | 
					    "postpublish": "pinst --enable"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "peerDependencies": {
 | 
					  "peerDependencies": {
 | 
				
			||||||
    "eslint": "^8.53.0",
 | 
					    "eslint": "^8.56.0",
 | 
				
			||||||
    "eslint-plugin-import": "^2.29.0",
 | 
					    "eslint-plugin-import": "^2.29.1",
 | 
				
			||||||
    "eslint-plugin-promise": "^6.1.1",
 | 
					    "eslint-plugin-promise": "^6.1.1",
 | 
				
			||||||
    "eslint-plugin-unicorn": "^49.0.0"
 | 
					    "eslint-plugin-unicorn": "^51.0.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@commitlint/cli": "18.4.1",
 | 
					    "@commitlint/cli": "18.6.1",
 | 
				
			||||||
    "@commitlint/config-conventional": "18.4.0",
 | 
					    "@commitlint/config-conventional": "18.6.2",
 | 
				
			||||||
    "@tsconfig/strictest": "2.0.2",
 | 
					    "@tsconfig/strictest": "2.0.3",
 | 
				
			||||||
    "@types/eslint": "8.44.7",
 | 
					    "@types/eslint": "8.56.2",
 | 
				
			||||||
    "@types/node": "20.9.0",
 | 
					    "@types/node": "20.11.19",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "6.11.0",
 | 
					    "@typescript-eslint/eslint-plugin": "7.0.1",
 | 
				
			||||||
    "@typescript-eslint/parser": "6.11.0",
 | 
					    "@typescript-eslint/parser": "7.0.1",
 | 
				
			||||||
    "editorconfig-checker": "5.1.1",
 | 
					    "editorconfig-checker": "5.1.4",
 | 
				
			||||||
    "eslint": "8.53.0",
 | 
					    "eslint": "8.56.0",
 | 
				
			||||||
    "eslint-plugin-import": "2.29.0",
 | 
					    "eslint-plugin-import": "2.29.1",
 | 
				
			||||||
    "eslint-plugin-promise": "6.1.1",
 | 
					    "eslint-plugin-promise": "6.1.1",
 | 
				
			||||||
    "eslint-plugin-unicorn": "49.0.0",
 | 
					    "eslint-plugin-unicorn": "51.0.1",
 | 
				
			||||||
    "husky": "8.0.3",
 | 
					    "husky": "9.0.11",
 | 
				
			||||||
    "lint-staged": "15.1.0",
 | 
					    "lint-staged": "15.2.2",
 | 
				
			||||||
    "markdownlint-cli2": "0.10.0",
 | 
					    "markdownlint-cli2": "0.12.1",
 | 
				
			||||||
    "markdownlint-rule-relative-links": "2.1.0",
 | 
					    "markdownlint-rule-relative-links": "2.3.1",
 | 
				
			||||||
    "pinst": "3.0.0",
 | 
					    "pinst": "3.0.0",
 | 
				
			||||||
    "prettier": "3.1.0",
 | 
					    "prettier": "3.2.5",
 | 
				
			||||||
    "semantic-release": "22.0.7",
 | 
					    "semantic-release": "23.0.2",
 | 
				
			||||||
    "typescript": "5.2.2"
 | 
					    "typescript": "5.3.3"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user