standard/standard (standard)
### [`v17.1.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1710---2023-05-29)
[Compare Source](https://togithub.com/standard/standard/compare/v17.0.0...v17.1.0)
- Update [`eslint-config-standard`](https://togithub.com/standard/eslint-config-standard) from `17.0.0` to `17.1.0`
### [`v17.0.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1700---2022-04-20)
[Compare Source](https://togithub.com/standard/standard/compare/v16.0.4...v17.0.0)
We're super excited to announce `standard` 17!
This major release fully focuses on getting in sync with the wider ESLint ecosystem
and doesn't in itself introduce any new rules or features.
When you upgrade, consider running `standard --fix` to automatically format your
code to match the current set of rules.
This is the first release by two of our `standard` co-maintainers [@Divlo](https://togithub.com/Divlo) and [@voxpelli](https://togithub.com/voxpelli). Buy them a cake if you run into them, thanks for getting this release out!
##### Major changes
- `eslint-config-node` has been replaced with the up to date fork `eslint-config-n`. If you have used comments like `// eslint-disable-line node/no-deprecated-api` you now have to reference the `n/` rules instead.
- [`object-shorthand` rule](https://togithub.com/standard/eslint-config-standard/pull/166) (as warning)
- Use of ESLint 8, which allows for support for all of the latest syntax that ESLint 8 includes, such as top level `await` [#1548](https://togithub.com/standard/standard/issues/1548) [#1775](https://togithub.com/standard/standard/issues/1775)
- `--verbose` by default
##### Changed features
- Update `eslint` from `~7.18.0` to `^8.13.0`
- Update `eslint-config-standard` from `16.0.3` to `17.0.0` to adapt to ESLint 8
- Update `eslint-config-standard-jsx` from `10.0.0` to `^11.0.0` to adapt to ESLint 8
- Update `standard-engine` from `^14` to `^15.0.0` to adapt to ESLint 8, see [its `CHANGELOG`](https://togithub.com/standard/standard-engine/blob/master/CHANGELOG.md#1500-0-2021-11-30)
- Move from `eslint-plugin-node@~11.1.0` to `eslint-plugin-n@^15.1.0` to adapt to ESLint 8
- Update `eslint-plugin-import` from `~2.24.2` to `^2.26.0`
- Update `eslint-plugin-promise` from `~5.1.0` to `^6.0.0`
- Update `eslint-plugin-react` from `~7.25.1` to `^7.28.0`
### [`v16.0.4`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1604---2021-10-03)
[Compare Source](https://togithub.com/standard/standard/compare/v16.0.3...v16.0.4)
- Update `eslint` from `~7.13.1` to `~7.18.0`
- Update `eslint-config-standard` from `16.0.2` to `16.0.3`
- Update `eslint-plugin-import` from `~2.22.1` to `~2.24.2`
- Update `eslint-plugin-promise` from `~4.2.1` to `~5.1.0`
- Update `eslint-plugin-react` from `~7.21.5` to `~7.25.1`
### [`v16.0.3`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1603---2020-11-17)
[Compare Source](https://togithub.com/standard/standard/compare/v16.0.2...v16.0.3)
- Update `eslint` from `~7.12.1` to `~7.13.0`
- Relax rule: Enforce default parameters to be last [#1414](https://togithub.com/standard/standard/issues/1414)
### [`v16.0.2`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1602---2020-11-11)
[Compare Source](https://togithub.com/standard/standard/compare/v16.0.1...v16.0.2)
- Allow `standard` to run on Node 11, even though it's not officially supported [#1597](https://togithub.com/standard/standard/pull/1597)
### [`v16.0.1`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1601---2020-10-30)
[Compare Source](https://togithub.com/standard/standard/compare/v16.0.0...v16.0.1)
- Introduce "warning" system for disruptive rules (read more below)
- Change rule to a "warning": Require let or const instead of var ([no-var](https://eslint.org/docs/rules/no-var)) [#633](https://togithub.com/standard/standard/issues/633)
`standard` treats all rule violations as errors, which means that `standard`
will exit with a non-zero (error) exit code.
However, we may occasionally release a new major version of `standard`
which changes a rule that affects the majority of `standard` users (for example,
transitioning from `var` to `let`/`const`). We do this only when we think the
advantage is worth the cost and only when the rule is
[auto-fixable](https://standardjs.com/#is-there-an-automatic-formatter).
In these situations, we have a "transition period" where the rule change is only
a "warning". Warnings don't cause `standard` to return a non-zero (error)
exit code. However, a warning message will still print to the console. During
the transition period, `using standard --fix` will update your code so that it's
ready for the next major version.
The slow and careful approach is what we strive for with `standard`. We're
generally extremely conservative in enforcing the usage of new language
features. We want using `standard` to be light and fun and so we're careful
about making changes that may get in your way. As always, you can
[disable a rule](https://standardjs.com/#how-do-i-disable-a-rule) at any time, if necessary.
### [`v16.0.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1600---2020-10-28)
[Compare Source](https://togithub.com/standard/standard/compare/v15.0.1...v16.0.0)
We're super excited to announce `standard` 16!
As with every new major release, there are lots of new rules in 16.0.0 designed
to help catch bugs and make programmer intent more explicit. This release brings
better performance, tons of bug fixes, improved JSX, React ⚛️, and Next.js support!
When you upgrade, consider running `standard --fix` to automatically format your
code to match the newly added rules.
❤️ If you enjoy StandardJS and want to support future releases, please
[support Feross](https://togithub.com/users/feross/sponsorship)!
##### New features
- 🏎 Better performance: the filesystem doesn't need to be traversed multiple times! [#1023](https://togithub.com/standard/standard/issues/1023)
- Massive improvements (on the order of minutes!) for projects with huge folders which are are ignored with `.gitignore`
- 🌟 Support the `.gitignore` ignore syntax from the command line [#1117](https://togithub.com/standard/standard/issues/1117)
- In older versions, the command `standard src` would not lint the `src/` folder
- Instead, a glob pattern like `standard src/**/*.js` was required
- This is now fixed! You can run `standard src` to lint the `src/` folder!
- 🌟 Support relative paths from the command line in more situations (e.g. `standard ../src/*.js`) [#1384](https://togithub.com/standard/standard/issues/1384)
- 🌟 New `extensions` option for linting additional extensions besides `.js`, `.jsx`, `.mjs`, and `.cjs`
- Can be configured with the `--ext` command line flag or in `package.json`:
- Example:
```bash
standard --ext .ts
```
```json
{
"standard": {
"extensions": [".ts"]
}
}
```
- 🌟 New cache directory location, respecting `XDG_CACHE_HOME` preference, with fallback to `~/.cache/standard` [standard-engine/#214](https://togithub.com/standard/standard-engine/pull/214)
##### Changed features
- Update `eslint` from `~7.11.0` to `~7.12.1`
- Update `standard-engine` from `^12` to `^14`
- Fix inaccurate `--help` command which indicates that `bundle.js` is automatically ignored when it is not anymore [standard-engine/#224](https://togithub.com/standard/standard-engine/pull/224)
- Remove `deglob` package and use built-in ESLint folder-traversal support
- Paths with square brackets (e.g. `[` and `]`) are no longer skipped [#1333](https://togithub.com/standard/standard/issues/1333)
- This pattern is particularly common in Next.js apps, e.g. `blog/[slug].js`
- You may notice new errors in these files since they were not being linted before
- Better mono-repo support: Nested `node_modules/` folders are ignored by default [#1182](https://togithub.com/standard/standard/issues/1182)
- Remove `eslint-plugin-standard` [#1316](https://togithub.com/standard/standard/issues/1316)
- We migrated the remaining `no-callback-literal` rule into `eslint-plugin-node`
##### New rules
*(Estimated % of affected standard users, based on test suite in parens)*
- Require let or const instead of var ([no-var](https://eslint.org/docs/rules/no-var)) [#633](https://togithub.com/standard/standard/issues/633) \[75%] \[automatic fixing reduces to 11%]
- Enforce return statements in `Array` method callbacks ([array-callback-return](https://eslint.org/docs/rules/array-callback-return)) [#859](https://togithub.com/standard/standard/issues/859) \[7%]
- Disallow empty block statements ([no-empty](https://eslint.org/docs/rules/no-empty)) [#796](https://togithub.com/standard/standard/issues/796) \[2%]
- Enforce default parameters to be last ([default-param-last](https://eslint.org/docs/rules/default-param-last)) [#1414](https://togithub.com/standard/standard/issues/1414) \[1%]
- Disallow use of the `RegExp` constructor in favor of regular expression literals ([prefer-regex-literals](https://eslint.org/docs/rules/prefer-regex-literals)) [#1413](https://togithub.com/standard/standard/issues/1413) \[1%]
- Disallow spaces inside of computed keys of class methods, getters and setters ([computed-property-spacing](https://eslint.org/docs/rules/computed-property-spacing)) [#1416](https://togithub.com/standard/standard/issues/1416) \[0%]
- Disallow `case NaN`, `switch(NaN)`, `indexOf(NaN)`, and `lastIndexOf(NaN)` ([use-isnan](https://eslint.org/docs/rules/use-isnan)) [#1429](https://togithub.com/standard/standard/issues/1429) \[0%]
- Disallow assigning to imported bindings ([no-import-assign](https://eslint.org/docs/rules/no-import-assign)) [#1412](https://togithub.com/standard/standard/issues/1412) \[0%]
- Enforce getter/setter pairs in classes ([accessor-pairs](https://eslint.org/docs/rules/accessor-pairs)) [#1415](https://togithub.com/standard/standard/issues/1415) \[0%]
- Node: Disallow assignment to `exports` ([node/no-exports-assign](https://togithub.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-exports-assign.md)) [#1400](https://togithub.com/standard/standard/issues/1400) \[0%]
- React: Prevent usage of the return value of `ReactDOM.render` ([react/no-render-return-value](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-render-return-value.md)) [#1568](https://togithub.com/standard/standard/issues/1568) \[1%]
- React: Prevent usage of deprecated methods ([react/no-deprecated](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-deprecated.md)) [#1572](https://togithub.com/standard/standard/issues/1572) \[1%]
- React: Prevent direct mutation of `this.state` ([react/no-direct-mutation-state](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md)) [#1571](https://togithub.com/standard/standard/issues/1571) \[0%]
- React: Prevent usage of `findDOMNode` ([react/no-find-dom-node](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md)) [#1570](https://togithub.com/standard/standard/issues/1570) \[0%]
- React: Prevent usage of `isMounted` ([react/no-is-mounted](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-is-mounted.md)) [#1569](https://togithub.com/standard/standard/issues/1569) \[0%]
- React: Prevent using string refs ([react/no-string-refs](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-string-refs.md)) [#1567](https://togithub.com/standard/standard/issues/1567) \[0%]
- JSX: Prevent missing parentheses around multiline JSX ([react/jsx-wrap-multilines](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-wrap-multilines.md)) [#710](https://togithub.com/standard/standard/issues/710) [#1382](https://togithub.com/standard/standard/issues/1382) (0%)
- JSX: Check if shorthand fragment syntax requires a key prop ([react/jsx-key](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md)) [#1575](https://togithub.com/standard/standard/issues/1575) \[0%]
- JSX: Prevent passing of children as props ([react/no-children-prop](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-children-prop.md)) [#1574](https://togithub.com/standard/standard/issues/1574) \[0%]
- JSX: Prevent using children and dangerouslySetInnerHTML as props at the same time ([react/no-danger-with-children](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger-with-children.md)) [#1573](https://togithub.com/standard/standard/issues/1573) \[0%]
- JSX: Prevent invalid characters from appearing in markup ([react/no-unescaped-entities](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unescaped-entities.md)) [#1566](https://togithub.com/standard/standard/issues/1566) \[0%]
- JSX: Enforce JSX value is returned in component render function ([react/require-render-return](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-render-return.md)) [#1565](https://togithub.com/standard/standard/issues/1565) \[0%]
- JSX: Prevent usage of unsafe `target='_blank'` on any component named `Link` ([react/jsx-no-target-blank](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md)) [#1576](https://togithub.com/standard/standard/issues/1576) \[0%]
##### Changed rules
- Relax rule: JSX: Consider the global scope when checking for defined Components [#1115](https://togithub.com/standard/standard/issues/1115)
- Relax rule: JSX: Remove conflicting indentation rule in `indent` [#1499](https://togithub.com/standard/standard/issues/1499)
### [`v15.0.1`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1501---2020-10-27)
[Compare Source](https://togithub.com/standard/standard/compare/v15.0.0...v15.0.1)
- Relax rule: Remove conflicting JSX indenting with `indent` rule [eslint-config-standard/#177](https://togithub.com/standard/eslint-config-standard/issues/177)
### [`v15.0.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1500---2020-10-21)
[Compare Source](https://togithub.com/standard/standard/compare/v14.3.4...v15.0.0)
We're super excited to announce `standard` 15!
As with every new major release, there are lots of new rules in 15.0.0 designed
to help catch bugs and make programmer intent more explicit. This release brings
support for ES 2021, the latest version of the ECMAScript specification, as well
as many quality-of-life improvements, including ESLint v7.
When you upgrade, consider running `standard --fix` to automatically format your
code to match the newly added rules.
❤️ If you enjoy StandardJS and want to support future releases, check out
Feross's [GitHub Sponsors page](https://togithub.com/users/feross/sponsorship).
##### New features
- Support ES 2021, the latest version of the ECMAScript specification, which includes support for [logical assignment operators](https://togithub.com/tc39/proposal-logical-assignment) and [numeric separators](https://togithub.com/tc39/proposal-numeric-separator) [#1551](https://togithub.com/standard/standard/issues/1551)
- Support ES 2020 features such as [optional chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining), the [nullish coalescing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator), `export * as ns from 'source'`, and [`import.meta`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import.meta).
- Support global variables from ES 2017 (`Atomics`, `SharedArrayBuffer`), ES 2020 (`BigInt`, `BigInt64Array`, `BigUint64Array`, `globalThis`), and ES 2021 (`FinalizationRegistry`, `WeakRef`). [#1436](https://togithub.com/standard/standard/issues/1436) [#1557](https://togithub.com/standard/standard/issues/1557) [eslint-config-standard/#156](https://togithub.com/standard/eslint-config-standard/pull/156)
- The documentation is now available in Indonesian 🇮🇩! [#1544](https://togithub.com/standard/standard/pull/1544)
- Thanks to [@yoga1234](https://togithub.com/yoga1234) for the excellent work!
- Other community contributed translations exist in Spanish, French, Italian, Japanese, Korean, Portuguese, Simplified Chinese, and Taiwanese Mandarin.
- More translations are always welcome!
##### Changed features
- BREAKING: Node.js 8 is no longer supported
- Node.js 8 is EOL and will no longer be receiving security updates.
- To prevent breaking CI for projects which still support Node 8, `standard` silently passes when run by an unsupported version of Node
- Update `eslint` from `~6.8.0` to `~7.11.0`
##### New rules
*(Estimated % of affected standard users, based on test suite in parens)*
- Require indentation for values of ternary expressions ([indent](https://eslint.org/docs/rules/indent)) [#927](https://togithub.com/standard/standard/issues/927) \[4%]
- Enforce newlines between operands of ternary expressions if the expression spans multiple lines ([multiline-ternary](https://eslint.org/docs/rules/multiline-ternary)) [#1558](https://togithub.com/standard/standard/issues/1558) \[3%]
- Disallow loops with a body that allows only one iteration ([no-unreachable-loop](https://eslint.org/docs/rules/no-unreachable-loop)) [#1556](https://togithub.com/standard/standard/issues/1556) \[0%]
- Disallow useless backreferences in regular expressions ([no-useless-backreference](https://eslint.org/docs/rules/no-useless-backreference)) [#1554](https://togithub.com/standard/standard/issues/1554) \[0%]
- Enforce default clauses in switch statements to be last ([default-case-last](https://eslint.org/docs/rules/default-case-last)) [#1553](https://togithub.com/standard/standard/issues/1553) \[0%]
- Disallow Number Literals That Lose Precision ([no-loss-of-precision](https://eslint.org/docs/rules/no-loss-of-precision)) [#1552](https://togithub.com/standard/standard/issues/1552) \[0%]
##### Changed rules
- Relax rule: Allow function declarations in nested blocks [#1406](https://togithub.com/standard/standard/issues/1406)
- Relax rule: Removed redundant `no-negated-in-lhs` rule, already enforced by `no-unsafe-negation` [eslint-config-standard/#160](https://togithub.com/standard/eslint-config-standard/pull/160)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^14.3.0
->^17.0.0
Release Notes
standard/standard (standard)
### [`v17.1.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1710---2023-05-29) [Compare Source](https://togithub.com/standard/standard/compare/v17.0.0...v17.1.0) - Update [`eslint-config-standard`](https://togithub.com/standard/eslint-config-standard) from `17.0.0` to `17.1.0` ### [`v17.0.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1700---2022-04-20) [Compare Source](https://togithub.com/standard/standard/compare/v16.0.4...v17.0.0) We're super excited to announce `standard` 17! This major release fully focuses on getting in sync with the wider ESLint ecosystem and doesn't in itself introduce any new rules or features. When you upgrade, consider running `standard --fix` to automatically format your code to match the current set of rules. This is the first release by two of our `standard` co-maintainers [@Divlo](https://togithub.com/Divlo) and [@voxpelli](https://togithub.com/voxpelli). Buy them a cake if you run into them, thanks for getting this release out! ##### Major changes - `eslint-config-node` has been replaced with the up to date fork `eslint-config-n`. If you have used comments like `// eslint-disable-line node/no-deprecated-api` you now have to reference the `n/` rules instead. - [`object-shorthand` rule](https://togithub.com/standard/eslint-config-standard/pull/166) (as warning) - Use of ESLint 8, which allows for support for all of the latest syntax that ESLint 8 includes, such as top level `await` [#1548](https://togithub.com/standard/standard/issues/1548) [#1775](https://togithub.com/standard/standard/issues/1775) - `--verbose` by default ##### Changed features - Update `eslint` from `~7.18.0` to `^8.13.0` - Update `eslint-config-standard` from `16.0.3` to `17.0.0` to adapt to ESLint 8 - Update `eslint-config-standard-jsx` from `10.0.0` to `^11.0.0` to adapt to ESLint 8 - Update `standard-engine` from `^14` to `^15.0.0` to adapt to ESLint 8, see [its `CHANGELOG`](https://togithub.com/standard/standard-engine/blob/master/CHANGELOG.md#1500-0-2021-11-30) - Move from `eslint-plugin-node@~11.1.0` to `eslint-plugin-n@^15.1.0` to adapt to ESLint 8 - Update `eslint-plugin-import` from `~2.24.2` to `^2.26.0` - Update `eslint-plugin-promise` from `~5.1.0` to `^6.0.0` - Update `eslint-plugin-react` from `~7.25.1` to `^7.28.0` ### [`v16.0.4`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1604---2021-10-03) [Compare Source](https://togithub.com/standard/standard/compare/v16.0.3...v16.0.4) - Update `eslint` from `~7.13.1` to `~7.18.0` - Update `eslint-config-standard` from `16.0.2` to `16.0.3` - Update `eslint-plugin-import` from `~2.22.1` to `~2.24.2` - Update `eslint-plugin-promise` from `~4.2.1` to `~5.1.0` - Update `eslint-plugin-react` from `~7.21.5` to `~7.25.1` ### [`v16.0.3`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1603---2020-11-17) [Compare Source](https://togithub.com/standard/standard/compare/v16.0.2...v16.0.3) - Update `eslint` from `~7.12.1` to `~7.13.0` - Relax rule: Enforce default parameters to be last [#1414](https://togithub.com/standard/standard/issues/1414) ### [`v16.0.2`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1602---2020-11-11) [Compare Source](https://togithub.com/standard/standard/compare/v16.0.1...v16.0.2) - Allow `standard` to run on Node 11, even though it's not officially supported [#1597](https://togithub.com/standard/standard/pull/1597) ### [`v16.0.1`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1601---2020-10-30) [Compare Source](https://togithub.com/standard/standard/compare/v16.0.0...v16.0.1) - Introduce "warning" system for disruptive rules (read more below) - Change rule to a "warning": Require let or const instead of var ([no-var](https://eslint.org/docs/rules/no-var)) [#633](https://togithub.com/standard/standard/issues/633) `standard` treats all rule violations as errors, which means that `standard` will exit with a non-zero (error) exit code. However, we may occasionally release a new major version of `standard` which changes a rule that affects the majority of `standard` users (for example, transitioning from `var` to `let`/`const`). We do this only when we think the advantage is worth the cost and only when the rule is [auto-fixable](https://standardjs.com/#is-there-an-automatic-formatter). In these situations, we have a "transition period" where the rule change is only a "warning". Warnings don't cause `standard` to return a non-zero (error) exit code. However, a warning message will still print to the console. During the transition period, `using standard --fix` will update your code so that it's ready for the next major version. The slow and careful approach is what we strive for with `standard`. We're generally extremely conservative in enforcing the usage of new language features. We want using `standard` to be light and fun and so we're careful about making changes that may get in your way. As always, you can [disable a rule](https://standardjs.com/#how-do-i-disable-a-rule) at any time, if necessary. ### [`v16.0.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1600---2020-10-28) [Compare Source](https://togithub.com/standard/standard/compare/v15.0.1...v16.0.0) We're super excited to announce `standard` 16! As with every new major release, there are lots of new rules in 16.0.0 designed to help catch bugs and make programmer intent more explicit. This release brings better performance, tons of bug fixes, improved JSX, React ⚛️, and Next.js support! When you upgrade, consider running `standard --fix` to automatically format your code to match the newly added rules. ❤️ If you enjoy StandardJS and want to support future releases, please [support Feross](https://togithub.com/users/feross/sponsorship)! ##### New features - 🏎 Better performance: the filesystem doesn't need to be traversed multiple times! [#1023](https://togithub.com/standard/standard/issues/1023) - Massive improvements (on the order of minutes!) for projects with huge folders which are are ignored with `.gitignore` - 🌟 Support the `.gitignore` ignore syntax from the command line [#1117](https://togithub.com/standard/standard/issues/1117) - In older versions, the command `standard src` would not lint the `src/` folder - Instead, a glob pattern like `standard src/**/*.js` was required - This is now fixed! You can run `standard src` to lint the `src/` folder! - 🌟 Support relative paths from the command line in more situations (e.g. `standard ../src/*.js`) [#1384](https://togithub.com/standard/standard/issues/1384) - 🌟 New `extensions` option for linting additional extensions besides `.js`, `.jsx`, `.mjs`, and `.cjs` - Can be configured with the `--ext` command line flag or in `package.json`: - Example: ```bash standard --ext .ts ``` ```json { "standard": { "extensions": [".ts"] } } ``` - 🌟 New cache directory location, respecting `XDG_CACHE_HOME` preference, with fallback to `~/.cache/standard` [standard-engine/#214](https://togithub.com/standard/standard-engine/pull/214) ##### Changed features - Update `eslint` from `~7.11.0` to `~7.12.1` - Update `standard-engine` from `^12` to `^14` - Fix inaccurate `--help` command which indicates that `bundle.js` is automatically ignored when it is not anymore [standard-engine/#224](https://togithub.com/standard/standard-engine/pull/224) - Remove `deglob` package and use built-in ESLint folder-traversal support - Paths with square brackets (e.g. `[` and `]`) are no longer skipped [#1333](https://togithub.com/standard/standard/issues/1333) - This pattern is particularly common in Next.js apps, e.g. `blog/[slug].js` - You may notice new errors in these files since they were not being linted before - Better mono-repo support: Nested `node_modules/` folders are ignored by default [#1182](https://togithub.com/standard/standard/issues/1182) - Remove `eslint-plugin-standard` [#1316](https://togithub.com/standard/standard/issues/1316) - We migrated the remaining `no-callback-literal` rule into `eslint-plugin-node` ##### New rules *(Estimated % of affected standard users, based on test suite in parens)* - Require let or const instead of var ([no-var](https://eslint.org/docs/rules/no-var)) [#633](https://togithub.com/standard/standard/issues/633) \[75%] \[automatic fixing reduces to 11%] - Enforce return statements in `Array` method callbacks ([array-callback-return](https://eslint.org/docs/rules/array-callback-return)) [#859](https://togithub.com/standard/standard/issues/859) \[7%] - Disallow empty block statements ([no-empty](https://eslint.org/docs/rules/no-empty)) [#796](https://togithub.com/standard/standard/issues/796) \[2%] - Enforce default parameters to be last ([default-param-last](https://eslint.org/docs/rules/default-param-last)) [#1414](https://togithub.com/standard/standard/issues/1414) \[1%] - Disallow use of the `RegExp` constructor in favor of regular expression literals ([prefer-regex-literals](https://eslint.org/docs/rules/prefer-regex-literals)) [#1413](https://togithub.com/standard/standard/issues/1413) \[1%] - Disallow spaces inside of computed keys of class methods, getters and setters ([computed-property-spacing](https://eslint.org/docs/rules/computed-property-spacing)) [#1416](https://togithub.com/standard/standard/issues/1416) \[0%] - Disallow `case NaN`, `switch(NaN)`, `indexOf(NaN)`, and `lastIndexOf(NaN)` ([use-isnan](https://eslint.org/docs/rules/use-isnan)) [#1429](https://togithub.com/standard/standard/issues/1429) \[0%] - Disallow assigning to imported bindings ([no-import-assign](https://eslint.org/docs/rules/no-import-assign)) [#1412](https://togithub.com/standard/standard/issues/1412) \[0%] - Enforce getter/setter pairs in classes ([accessor-pairs](https://eslint.org/docs/rules/accessor-pairs)) [#1415](https://togithub.com/standard/standard/issues/1415) \[0%] - Node: Disallow assignment to `exports` ([node/no-exports-assign](https://togithub.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-exports-assign.md)) [#1400](https://togithub.com/standard/standard/issues/1400) \[0%] - React: Prevent usage of the return value of `ReactDOM.render` ([react/no-render-return-value](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-render-return-value.md)) [#1568](https://togithub.com/standard/standard/issues/1568) \[1%] - React: Prevent usage of deprecated methods ([react/no-deprecated](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-deprecated.md)) [#1572](https://togithub.com/standard/standard/issues/1572) \[1%] - React: Prevent direct mutation of `this.state` ([react/no-direct-mutation-state](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md)) [#1571](https://togithub.com/standard/standard/issues/1571) \[0%] - React: Prevent usage of `findDOMNode` ([react/no-find-dom-node](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md)) [#1570](https://togithub.com/standard/standard/issues/1570) \[0%] - React: Prevent usage of `isMounted` ([react/no-is-mounted](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-is-mounted.md)) [#1569](https://togithub.com/standard/standard/issues/1569) \[0%] - React: Prevent using string refs ([react/no-string-refs](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-string-refs.md)) [#1567](https://togithub.com/standard/standard/issues/1567) \[0%] - JSX: Prevent missing parentheses around multiline JSX ([react/jsx-wrap-multilines](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-wrap-multilines.md)) [#710](https://togithub.com/standard/standard/issues/710) [#1382](https://togithub.com/standard/standard/issues/1382) (0%) - JSX: Check if shorthand fragment syntax requires a key prop ([react/jsx-key](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md)) [#1575](https://togithub.com/standard/standard/issues/1575) \[0%] - JSX: Prevent passing of children as props ([react/no-children-prop](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-children-prop.md)) [#1574](https://togithub.com/standard/standard/issues/1574) \[0%] - JSX: Prevent using children and dangerouslySetInnerHTML as props at the same time ([react/no-danger-with-children](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger-with-children.md)) [#1573](https://togithub.com/standard/standard/issues/1573) \[0%] - JSX: Prevent invalid characters from appearing in markup ([react/no-unescaped-entities](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unescaped-entities.md)) [#1566](https://togithub.com/standard/standard/issues/1566) \[0%] - JSX: Enforce JSX value is returned in component render function ([react/require-render-return](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-render-return.md)) [#1565](https://togithub.com/standard/standard/issues/1565) \[0%] - JSX: Prevent usage of unsafe `target='_blank'` on any component named `Link` ([react/jsx-no-target-blank](https://togithub.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md)) [#1576](https://togithub.com/standard/standard/issues/1576) \[0%] ##### Changed rules - Relax rule: JSX: Consider the global scope when checking for defined Components [#1115](https://togithub.com/standard/standard/issues/1115) - Relax rule: JSX: Remove conflicting indentation rule in `indent` [#1499](https://togithub.com/standard/standard/issues/1499) ### [`v15.0.1`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1501---2020-10-27) [Compare Source](https://togithub.com/standard/standard/compare/v15.0.0...v15.0.1) - Relax rule: Remove conflicting JSX indenting with `indent` rule [eslint-config-standard/#177](https://togithub.com/standard/eslint-config-standard/issues/177) ### [`v15.0.0`](https://togithub.com/standard/standard/blob/HEAD/CHANGELOG.md#1500---2020-10-21) [Compare Source](https://togithub.com/standard/standard/compare/v14.3.4...v15.0.0) We're super excited to announce `standard` 15! As with every new major release, there are lots of new rules in 15.0.0 designed to help catch bugs and make programmer intent more explicit. This release brings support for ES 2021, the latest version of the ECMAScript specification, as well as many quality-of-life improvements, including ESLint v7. When you upgrade, consider running `standard --fix` to automatically format your code to match the newly added rules. ❤️ If you enjoy StandardJS and want to support future releases, check out Feross's [GitHub Sponsors page](https://togithub.com/users/feross/sponsorship). ##### New features - Support ES 2021, the latest version of the ECMAScript specification, which includes support for [logical assignment operators](https://togithub.com/tc39/proposal-logical-assignment) and [numeric separators](https://togithub.com/tc39/proposal-numeric-separator) [#1551](https://togithub.com/standard/standard/issues/1551) - Support ES 2020 features such as [optional chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining), the [nullish coalescing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator), `export * as ns from 'source'`, and [`import.meta`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import.meta). - Support global variables from ES 2017 (`Atomics`, `SharedArrayBuffer`), ES 2020 (`BigInt`, `BigInt64Array`, `BigUint64Array`, `globalThis`), and ES 2021 (`FinalizationRegistry`, `WeakRef`). [#1436](https://togithub.com/standard/standard/issues/1436) [#1557](https://togithub.com/standard/standard/issues/1557) [eslint-config-standard/#156](https://togithub.com/standard/eslint-config-standard/pull/156) - The documentation is now available in Indonesian 🇮🇩! [#1544](https://togithub.com/standard/standard/pull/1544) - Thanks to [@yoga1234](https://togithub.com/yoga1234) for the excellent work! - Other community contributed translations exist in Spanish, French, Italian, Japanese, Korean, Portuguese, Simplified Chinese, and Taiwanese Mandarin. - More translations are always welcome! ##### Changed features - BREAKING: Node.js 8 is no longer supported - Node.js 8 is EOL and will no longer be receiving security updates. - To prevent breaking CI for projects which still support Node 8, `standard` silently passes when run by an unsupported version of Node - Update `eslint` from `~6.8.0` to `~7.11.0` ##### New rules *(Estimated % of affected standard users, based on test suite in parens)* - Require indentation for values of ternary expressions ([indent](https://eslint.org/docs/rules/indent)) [#927](https://togithub.com/standard/standard/issues/927) \[4%] - Enforce newlines between operands of ternary expressions if the expression spans multiple lines ([multiline-ternary](https://eslint.org/docs/rules/multiline-ternary)) [#1558](https://togithub.com/standard/standard/issues/1558) \[3%] - Disallow loops with a body that allows only one iteration ([no-unreachable-loop](https://eslint.org/docs/rules/no-unreachable-loop)) [#1556](https://togithub.com/standard/standard/issues/1556) \[0%] - Disallow useless backreferences in regular expressions ([no-useless-backreference](https://eslint.org/docs/rules/no-useless-backreference)) [#1554](https://togithub.com/standard/standard/issues/1554) \[0%] - Enforce default clauses in switch statements to be last ([default-case-last](https://eslint.org/docs/rules/default-case-last)) [#1553](https://togithub.com/standard/standard/issues/1553) \[0%] - Disallow Number Literals That Lose Precision ([no-loss-of-precision](https://eslint.org/docs/rules/no-loss-of-precision)) [#1552](https://togithub.com/standard/standard/issues/1552) \[0%] ##### Changed rules - Relax rule: Allow function declarations in nested blocks [#1406](https://togithub.com/standard/standard/issues/1406) - Relax rule: Removed redundant `no-negated-in-lhs` rule, already enforced by `no-unsafe-negation` [eslint-config-standard/#160](https://togithub.com/standard/eslint-config-standard/pull/160)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.