Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eslint config passport next #3

Open
wants to merge 141 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
701545b
- Breaking change [`index.js`]: require `@extends` in place of `@augm…
brettz9 Jun 16, 2019
219416a
- Fix (jsdoc) [`sauron`]: `object` and `Array` `preferredTypes` were
brettz9 Jul 3, 2019
27e41a6
- npm: Bump eslint-plugin-jsdoc (getting latest jsdoctypeparser for j…
brettz9 Jul 4, 2019
705fbc4
npm: bump jsdoc plugin
brettz9 Jul 5, 2019
f2d8a04
- npm: Bump `eslint-plugin-jsdoc` for dep. fix
brettz9 Jul 7, 2019
c39d064
- npm: Update eslint-plugin-jsdoc and move from settings to options
brettz9 Jul 7, 2019
927774f
- Todos
brettz9 Jul 8, 2019
00e370e
- npm: Bump eslint-plugin-jsdoc devDep/peerDep
brettz9 Jul 8, 2019
27db18a
- npm: Bump eslint-plugin-jsdoc, typescript devDeps/peerDeps
brettz9 Jul 9, 2019
b8488c8
- Docs: Clarify jsdoc item usage
brettz9 Jul 9, 2019
c0908f5
- Enhancement: Add `eslint-conf_eslint-all.js` for showing non-eslint…
brettz9 Jul 13, 2019
83066aa
- Change: [`index.js`]: Explicitly reject items if we inherit from my…
brettz9 Jul 13, 2019
41fdfe2
- npm: Update eslint-plugin-jsdoc
brettz9 Jul 14, 2019
367baf2
- Fix [`sauron`]: Avoid use of now removed template variables in mess…
brettz9 Jul 14, 2019
85d4829
- npm: Update devDeps/peerDeps, compat, jsdoc (no rule changes)
brettz9 Jul 18, 2019
078749c
- npm: Update peer and devDeps (including import, jsdoc, and unicorn …
brettz9 Aug 6, 2019
abd8af6
- Enhancement [`index.js`] (tighten): apply rule
brettz9 Aug 19, 2019
e7837c1
- Enhancement [`index.js`] (tighten): remove rule
brettz9 Aug 19, 2019
82d30c5
- npm: Actually bump to 8.7.0
brettz9 Aug 19, 2019
7175d70
- Update: Avoid `node/no-callback-literal` which duplicates
brettz9 Aug 30, 2019
8442629
- Docs; Reason for non-inclusion of `node/no-callback-literal`
brettz9 Aug 30, 2019
4440caf
- npm: Update eslint, eslint-plugin-jsdoc devDeps/peerDeps
brettz9 Sep 2, 2019
745fe95
- Docs: Update CHANGES
brettz9 Sep 2, 2019
0442b19
- Enhancement [`index.js`]: Update node plugin with recommended update;
brettz9 Sep 5, 2019
acd0fb7
- Breaking change: Require >= node 8.10.0
brettz9 Sep 20, 2019
8c99489
- Fix: Remove `unicorn/consistent-function-scoping` as prematurely added
brettz9 Sep 20, 2019
c1d60c7
Merge branch 'master' into eslint-config-passport-next
brettz9 Sep 20, 2019
ff22fb1
- Enhancement [`sauron`] (tighten) Add Unicorn `prefer-string-slice` …
brettz9 Sep 25, 2019
e0ff793
Merge branch 'master' into eslint-config-passport-next
brettz9 Sep 25, 2019
685469a
- npm: Update jsdoc and unicorn plug-ins (non-breaking)
brettz9 Sep 26, 2019
8d9bf44
- npm: Update eslint and eslint-plugin-jsdoc
brettz9 Sep 29, 2019
1d1db58
- npm: Update devDeps (eslint, jsdoc and unicorn plugins)
brettz9 Oct 3, 2019
be11d8a
Merge branch 'master' into eslint-config-passport-next
brettz9 Oct 3, 2019
dcaf18e
- Enhancement [`index.js`] (loosen): Change `quotes` from `standard` …
brettz9 Oct 5, 2019
7d98cef
- Fix [`index.js`]: Ensure is enforcing "single" for `quotes`
brettz9 Oct 5, 2019
e2d624a
- npm: Update peerDeps/devDeps
brettz9 Oct 14, 2019
515f2d7
- npm: Update devDeps
brettz9 Oct 23, 2019
84fe47e
- Refactoring [`node`]: Remove redundant `plugins: ['node']` (recomme…
brettz9 Oct 26, 2019
cfedd42
- Dog food our own linting rules
brettz9 Oct 26, 2019
8d47e32
- Mention use of `plugin:node/recommended-script`
brettz9 Oct 26, 2019
5ef6f06
- npm: Update devDeps/peerDeps
brettz9 Oct 30, 2019
5401e96
- npm: Bump to 11.1.0
brettz9 Oct 31, 2019
971eb5a
- Docs: Add to CHANGES
brettz9 Oct 31, 2019
40fb0dc
- Enhancement [`sauron`] (tighten): Ensure checking `Object`
brettz9 Nov 5, 2019
16f13ea
- Enhancement [`index.js`]: By update, gain new `sonarjs` rules:
brettz9 Nov 9, 2019
34cde49
- npm: Update devDeps/peerDeps
brettz9 Nov 12, 2019
168e692
- Enhancement [`index.js`] (tighten): By update, gain new
brettz9 Nov 13, 2019
b279c7c
- npm: Update devDeps
brettz9 Nov 15, 2019
89040c6
- npm: Bump update to v11.5.0
brettz9 Nov 15, 2019
51c82a4
- Docs: CHANGES
brettz9 Nov 15, 2019
72b02cd
- npm: Update devDeps/peerDeps
brettz9 Nov 19, 2019
84b584e
- npm: Update devDeps/peerDeps
brettz9 Nov 19, 2019
4655243
- Enhancement [`index.js`] (tighten): Add new eslint rules
brettz9 Nov 23, 2019
562000b
- npm: Update devDeps/peerDeps
brettz9 Nov 28, 2019
412f356
- Enhancement [`index.js`] (tighten): Add new unicorn rules
brettz9 Nov 30, 2019
94e0509
- npm: Update devDeps/peerDeps
brettz9 Dec 1, 2019
32eb4b5
- npm: Update devDeps/peerDeps
brettz9 Dec 2, 2019
f893bdb
- Enhancement [`index.js`] (loosen): Disable `regex-shorthand` until …
brettz9 Dec 2, 2019
50f3b83
- npm: Update devDeps/peerDeps
brettz9 Dec 7, 2019
59d0889
- npm: Update devDeps/peerDeps
brettz9 Dec 9, 2019
7a9ebdd
- Enhancement [`sauron.js`] (tighten): Add new `eslint-plugin-no-unsa…
brettz9 Dec 19, 2019
d3933b0
- Fix: Ensure `eslint-plugin-no-unsanitized` is added as a peerdep.
brettz9 Dec 19, 2019
1940f23
- Fix (loosen): Disable `no-process-exit` since `unicorn/no-process-e…
brettz9 Dec 19, 2019
c28f29b
- Fix: Disable `no-process-exit` in Node config
brettz9 Dec 19, 2019
30ec9b2
- Enhancement [`index.js`] (tighten): Now includes
brettz9 Dec 23, 2019
ea2bcd2
- npm: Update peerDeps/devDeps
brettz9 Dec 25, 2019
cdb1a62
- npm: Update peerDeps/devDeps (including breaking node plugin change)
brettz9 Dec 26, 2019
9984bb8
- Docs: Install instructions
brettz9 Dec 27, 2019
9599460
- npm: Fix build to properly remove files (no current effect)
brettz9 Dec 31, 2019
9048bf8
- Enhancement [`index.js`] (tighten): Now includes `jsdoc` plugin upd…
brettz9 Dec 31, 2019
8dc948b
- Enhancement [`great-eye`] (tighten): Add `jsdoc/require-property-de…
brettz9 Dec 31, 2019
c7f2209
- Enhancement [`sauron`] (tighten): Added `contexts: ['any']` for
brettz9 Dec 31, 2019
bbc380f
- npm: Update peerDeps/devDeps
brettz9 Jan 1, 2020
fa7495b
- Enhancement [`index`] (change): Remove `matchingFileName` option on
brettz9 Jan 2, 2020
a01964b
- npm: Update peerDeps/devDeps
brettz9 Jan 8, 2020
c388d6a
Merge branch 'master' into eslint-config-passport-next
brettz9 Jan 13, 2020
702ee23
- Enhancement [`index.js`] (tighten): Add `jsdoc/no-bad-blocks`
brettz9 Jan 13, 2020
2f0bf79
Merge branch 'master' into eslint-config-passport-next
brettz9 Jan 13, 2020
88cf67e
- Enhancement [`sauron.js`] (tighten): For `jsdoc/require-jsdoc`, target
brettz9 Jan 13, 2020
7733fa4
- npm: Update peerDeps/devDeps
brettz9 Jan 18, 2020
35fa0c9
- npm: Update peerDeps/devDeps
brettz9 Jan 25, 2020
3a30d0b
- npm: Update peerDeps/devDeps
brettz9 Jan 29, 2020
ebd6397
- Fix: Disable Unicorn `prefer-exponentiation-operator` with proper name
brettz9 Feb 1, 2020
88a8ef5
- Enhancement [`sauron.js`] (tighten): Offer replacements for
brettz9 Feb 5, 2020
d19301c
- npm: Update devDeps
brettz9 Feb 12, 2020
df6357e
Merge branch 'master' into eslint-config-passport-next
brettz9 Feb 12, 2020
538b96b
- npm: Bump devDeps.
brettz9 Feb 25, 2020
d4578da
- npm: Update devDeps/peerDeps
brettz9 Mar 4, 2020
dc62089
- Todos
brettz9 Mar 7, 2020
37ed6db
- Todos
brettz9 Mar 7, 2020
2f7f978
- Todo
brettz9 Mar 8, 2020
c74486c
- Todo
brettz9 Mar 8, 2020
c34c699
- Todo
brettz9 Mar 8, 2020
e63288d
- Update [`explicitly-unused.js`]: Add `unicorn/string-content` and
brettz9 Mar 8, 2020
1d6aa1f
- Docs: Fix typo
brettz9 Mar 10, 2020
86ee3bf
- npm: Update devDeps.
brettz9 Mar 11, 2020
dfdff38
- Docs: Fix
brettz9 Mar 11, 2020
22a569c
- Enhancement [`index.js`] (loosen): Surface `standard`'s reasonable …
brettz9 Mar 23, 2020
010e88e
- Enhancement [`sauron.js`] (tighten): Add `unicorn/prefer-number-pro…
brettz9 Mar 26, 2020
61e0c1b
Merge branch 'master' into eslint-config-passport-next
brettz9 Apr 2, 2020
286b348
- Breaking change/Update: Move Node-specific rules out of `index.js`
brettz9 Apr 11, 2020
1600c1f
- npm: Update devDeps/peerDeps
brettz9 Apr 24, 2020
391e1f5
- npm: Bump version to 20.0.0
brettz9 Apr 24, 2020
2c7f1ab
- npm: Update `package-lock.json`
brettz9 Apr 24, 2020
2dd4ea3
- Update [index.js]: Disable new `unicorn/no-null`
brettz9 Apr 25, 2020
168aab2
- Enhancement [`index.js`] (tighten): Add `default-case-last` and
brettz9 May 10, 2020
5c03c73
- npm: Remove explicit reference to new ESLint 7 recommended rules (w…
brettz9 May 12, 2020
cb279f4
- Update [`index.js`]: Disable new Unicorn recommended rules
brettz9 May 15, 2020
a35f0a3
- Enhancement: [`index.js`] (Tighten): Add `no-loss-of-precision`.
brettz9 May 23, 2020
51579a7
- Enhancement [`sauron.js`] (Tighten): Add
brettz9 May 27, 2020
b4fb25b
- Enhancement [`sauron.js`] (Tighten): Add `jsdoc/require-throws`
brettz9 Jun 19, 2020
0e48631
- Enhancement [`index.js`] (Tighten): Add `no-promise-executor-return`,
brettz9 Jun 20, 2020
8f3c615
- npm: Update peerDeps/devDeps.
brettz9 Jun 24, 2020
58d16f6
- Todos
brettz9 Jul 12, 2020
b8d155b
Bump lodash from 4.17.15 to 4.17.19
dependabot[bot] Jul 16, 2020
cdd0b43
Merge pull request #1 from brettz9/dependabot/npm_and_yarn/lodash-4.1…
brettz9 Jul 16, 2020
e07d437
- Enhancement [`index.js`] (Tighten): Add Unicorn rules
brettz9 Jul 18, 2020
0ef9f3e
- npm: Update peerDeps/devDeps.
brettz9 Jul 19, 2020
34dbb61
- npm: Update devDeps/peerDeps.
brettz9 Aug 22, 2020
11d2410
- npm: Update devDeps/peerDeps.
brettz9 Sep 27, 2020
4b4b704
- Enhancement [`index.js`]: Add `checkDefaults`, `checkParams`, and
brettz9 Oct 21, 2020
4505d48
- Enhancement [`index.js`]: Apply latest standard; remove now unneeded
brettz9 Nov 1, 2020
8137e08
- Enhancement [`index.js`]: Add `no-nonoctal-decimal-escape` and
brettz9 Dec 31, 2020
e66cbc0
- Enhancement [`index.js`] (tighten): Add `no-nonoctal-decimal-escape…
brettz9 Dec 31, 2020
62e63d4
- Enhancement [`index.js`] (tighten): Uses all new Unicorn 26.0.0 rules
Jan 11, 2021
230e6f9
- Enhancement [`great-eye.js`] (tighten): Prevent plain use of even s…
brettz9 Jan 21, 2021
d3f7145
- Enhancement [`index.js`] (tighten): Update new jsdoc and Unicorn ru…
brettz9 Jan 23, 2021
495aee0
- Enhancement: Enforce type on `yields`
brettz9 Jan 23, 2021
e50aaf0
- Todo
brettz9 Jan 28, 2021
91b9f04
- Breaking enhancement: Switch from SonarJS to Radar, a maintained fo…
brettz9 Jan 28, 2021
ce51793
- npm: Update peerDeps/devDeps.
brettz9 Feb 2, 2021
3f178c4
- Refactoring: lbs, explicit extensions, no unnecessary quotes
brettz9 Feb 3, 2021
c3788e9
- Linting: max-len
brettz9 Feb 3, 2021
56c2c20
- Todo
brettz9 Feb 3, 2021
e92c97c
- Enhancement (`index.js`) [loosen]: Add `shared-node-browser` env fo…
brettz9 Feb 3, 2021
da1b4a7
- Switch from `@mysticatea` to `@brettz9` fork (fixes and simplifies
brettz9 Feb 6, 2021
a1939d9
- Enhancement (`index.js`) [loosen]: Disable sometimes cumbersome
brettz9 Feb 14, 2021
8c61e5c
- Docs: Update README per latest configs and auto-settings
brettz9 Feb 14, 2021
926fc19
- npm: Ignore pnpm lock file
brettz9 Feb 14, 2021
c80159f
- Fix: Avoid `postinstall` script which causes problems for non-pnpm …
brettz9 Feb 14, 2021
cca2dab
Merge branch 'master' into eslint-config-passport-next
brettz9 Feb 14, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions +babel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
'use strict';

// Move to own repo so can have `@babel/eslint-parser` and `@babel/eslint-plugin` as deps.

// Adapted from MIT-licensed: https://github.com/futagoza/eslint-config-futagozaryuu/blob/master/packages/%40futagoza/eslint-config-core/stylistic-issues.js

/**
* Allows passing in a whole config to wrap.
* @param {ESLintConfig} config
* @returns {ESLintConfig}
*/
module.exports = function (config) {
return {
parser: '@babel/eslint-parser',
parserOptions: {
...config.parserOptions,
requireConfigFile: false
},

plugins: [
...config.plugins,
'@babel/eslint-plugin'
],
rules: {

...config.rules,

// `@babel/eslint-plugin` provides better support for the following rules

'new-cap': 'off',
'no-invalid-this': 'off',
'no-unused-expressions': 'off',
'object-curly-spacing': 'off',
semi: 'off',

/**
* Require constructor names to begin with a capital letter.
*
* @see
* - http://eslint.org/docs/rules/new-cap
* - https://github.com/babel/babel/tree/master/eslint/babel-eslint-plugin#rules
*/
'@babel/new-cap': config.rules['new-cap'] || 'off',

/**
* Disallow `this` keywords outside of classes or class-like objects.
*
* @see
* - http://eslint.org/docs/rules/no-invalid-this
* - https://github.com/babel/babel/tree/master/eslint/babel-eslint-plugin#rules
*/
'@babel/no-invalid-this': config.rules['no-invalid-this'] || 'off',

/**
* Disallow unused expressions.
*
* @see
* - http://eslint.org/docs/rules/no-unused-expressions
* - https://github.com/babel/babel/tree/master/eslint/babel-eslint-plugin#rules
*/
'@babel/no-unused-expressions': config.rules['no-unused-expressions'] || 'off',

/**
* Enforce consistent spacing inside braces (🔧 ).
*
* @see
* - http://eslint.org/docs/rules/object-curly-spacing
* - https://github.com/babel/babel/tree/master/eslint/babel-eslint-plugin#rules
*/
'@babel/object-curly-spacing': config.rules['object-curly-spacing'] || 'off',

/**
* Require or disallow semicolons instead of ASI (🔧).
*
* @see
* - http://eslint.org/docs/rules/semi
* - https://github.com/babel/babel/tree/master/eslint/babel-eslint-plugin#rules
*/
'@babel/semi': config.rules.semi || 'off'
}
};
};
24 changes: 24 additions & 0 deletions +modules.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
'use strict';

module.exports = {
parserOptions: {
ecmaFeatures: {globalReturn: false},
sourceType: 'module'
},
globals: {
__dirname: 'off',
__filename: 'off',
exports: 'off',
module: 'off',
require: 'off'
},
rules: {
'node/no-unsupported-features/es-syntax': [
'error',
// We could check for `ecmaVersion < 2020` to restrict `dynamicImport`,
// but if present, typically compiling, and seems support was available
// in earlier Node experimentally anyways
{ignores: ['modules', 'dynamicImport']}
]
}
};
17 changes: 17 additions & 0 deletions +script-node.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
'use strict';

// As adding after defaults, recalculate ecmaVersion (Node plugins sets own
// `ecmaVersion`)
const {env, ecmaVersion} = require('./detectEnv.js');

module.exports = {
env,
extends: ['plugin:node/recommended-script'],
parserOptions: {
ecmaVersion
},
rules: {
'import/no-commonjs': 'off',
strict: ['error']
}
};
14 changes: 14 additions & 0 deletions +script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
'use strict';

module.exports = {
parserOptions: {
sourceType: 'script',
ecmaFeatures: {
globalReturn: false
}
},
rules: {
'import/no-commonjs': 'off',
strict: ['error']
}
};
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
; EditorConfig file: https://EditorConfig.org
; Install the "EditorConfig" plugin into your editor to use

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.md]
indent_size = 4
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
!*.js
67 changes: 27 additions & 40 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,45 +1,32 @@
'use strict';
module.exports = {
env: {
browser: true,
commonjs: true,
es6: true,
node: true
extends: [
'./sauron-node-script-overrides.js'
],
settings: {
polyfills: [
'Object.entries',
'Object.values'
]
},
overrides: [{
files: 'build.js',
globals: {
// Todo: Get rid of this usage (and esm) with native Node only
__dirname: true
},
extends: ['eslint:recommended'],
plugins: ['jsdoc', 'markdown'],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
},
overrides: [{
files: ['**/*.md'],
rules: {
'eol-last': ['off'],
'no-console': ['off'],
'no-undef': ['off'],
'no-unused-vars': ['warn'],
'padded-blocks': ['off'],
'import/unambiguous': ['off'],
'import/no-unresolved': ['off'],
'node/no-missing-import': ['off']
}
}],
extends: [
'./sauron-node-overrides.js'
]
}, {
files: ['inherited-rules/**'],
rules: {
indent: [
'error',
2
],
'linebreak-style': [
'error',
'unix'
],
quotes: [
'error',
'double'
],
semi: [
'error',
'always'
]
// Uses JSON.stringify
quotes: ['error', 'double'],
'quote-props': 'off'
}
}],
rules: {
'max-len': 'off'
}
};
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pnpm-lock.yaml
1 change: 0 additions & 1 deletion .remarkrc

This file was deleted.

Loading