All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Updated to standard 16.0.3
.
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Also:
- Updated to
eslint-config-semistandard
version16.0.0
- Removed unused
eslint-plugin-standard
Updated to standard 16.0.0
.
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Updated to eslint 7 and standard 15.0.0
.
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
- Republish with complete changelog
- Republish without CRLF to resolve issues on MacOS.
- Update eslint to 6.4.0
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Updated to eslint 6 and standard 13.0.0
.
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Updated to eslint 5 and standard 12.0.0
and the latest standard-engine
.
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Updated to eslint 4 and standard 11.0.0
and the latest standard-engine
.
With the eslint update, there are a few rules that are more strict now. Thankfully running semistandard --fix
will fix just about all of them!
Check standard
changelog that covers all the updates in detail:
https://standardjs.com/changelog
Updated to match the latest standard v10.0.2
rules and the newest standard-engine
features.
Check standard
changelog that covers all the updates:
https://github.com/feross/standard/blob/master/CHANGELOG.md
In summary:
- using deprecated Node.js APIs is now considered an error. It's finally time to update those dusty old APIs!
- Update ESLint from 3.15.x to 3.19.x.
- Node.js API: Add
standard.lintTextSync
method
(Estimated % of affected standard users, based on test suite in parens)
- Disallow using deprecated Node.js APIs (node/no-deprecated-api) #693 (13%)
- Ensures that code always runs without warnings on the latest versions of Node.js
- Ensures that safe Buffer methods (
Buffer.from()
,Buffer.alloc()
) are used instead ofBuffer()
- Enforce callbacks always called with Node.js-style error first (standard/no-callback-literal) #623 (3%)
- Functions named
callback
orcb
must be invoked withnull
,undefined
, or anError
as the first argument - Disallows using a string instead of an
Error
object - Disallows confusing callbacks that do not follow the standard Node.js pattern
- Functions named
- Disallow any imports that come after non-import statements (import/first) #806 (1%)
- Disallow unnecessary return await (no-return-await) #695 (0%)
- Disallow comma-dangle in functions (comma-dangle) #787 (0%)
- Disallow repeated exports of names or defaults (import/export) #806 (0%)
- Disallow import of modules using absolute paths (import/no-absolute-path) #806 (0%)
- Disallow Webpack loader syntax in imports (import/no-webpack-loader-syntax) #806 (0%)
- Disallow comparing against -0 (no-compare-neg-zero) #812 (0%)
- Relax rule: allow using
...rest
to omit properties from an object (no-unused-vars) #800- This is a common and useful pattern in React/JSX apps!
- Relax rule: allow Flow
import type
statements (import/no-duplicates) #599- These are no longer considered to be "duplicate imports"
- Relax rule: Treat
process.exit()
the same asthrow
in code path analysis (node/process-exit-as-throw) #699- Makes certain other rules work better and give fewer false positives
- Relax rule: allow Unnecessary Labels (no-extra-label)
- Redundant, since "no-labels" is already enabled, which is more restrictive
(from standard 10.0.2):
- Relax rule: Disallow import of modules using absolute paths (import/no-absolute-path) #861
- This rule was responsible for up to 25% of the running time of
standard
, so we are disabling it until its performance improves.
- This rule was responsible for up to 25% of the running time of
Updated to match the latest standard
rules and the newest standard-engine
features.
@feross did a great writeup on the standard
changelog that covers all the updates:
https://github.com/feross/standard/blob/master/CHANGELOG.md
In summary:
- Update ESLint from 3.10.x to 3.15.x
- 3 additional rules are now fixable with
standard --fix
(Estimated % of affected standard users, based on test suite in parens)
- Disallow mixing different operators without parens (no-mixed-operators) #566 (5%)
- Enforce 1 newline at end of file (previously 1 or 2 were ok) (no-multiple-empty-lines) #733 (3%)
- Disallow Unused Expressions (no-unused-expressions) #690 (3%)
- Note: this affects users of the Chai test framework. Read about the changes you need to make.
- Disallow redundant return statements (no-useless-return) #694 (1%)
- Disallow Incorrect Early Use (no-use-before-define) #636 (0%)
- Enforce that Promise rejections are passed an Error object as a reason (prefer-promise-reject-errors) #777 (0%)
- Enforce comparing
typeof
expressions against string literals (valid-typeof) #629 (0%) - Enforce spacing around * in generator functions (generator-star-spacing) #724 (0%)
- Disallow Unnecessary Labels (no-extra-label) #736 (0%)
- Disallow spacing between template tags and their literals (template-tag-spacing) #755 (0%)
- Disallow padding within switch statements and classes (padded-blocks) #610 (0%)
- Enforce that Symbols are passed a description (symbol-description) #630 (0%)
- Relax rule: allow TypeScript Triple-Slash Directives (spaced-comment) #660
- Relax rule: allow Flow Comments (spaced-comment) #661
Updated to match the latest standard
rules and the newest standard-engine
features.
@feross did a great writeup on the standard
changelog that covers all the updates:
https://github.com/feross/standard/blob/master/CHANGELOG.md
In summary:
- Upgrade to ESLint v3 (http://eslint.org/docs/user-guide/migrating-to-3.0.0)
- BREAKING: Drop support for node < 4 (this was a decision made by the ESLint team)
- Expose ESLint's
--fix
command line flag standard-engine/#107- Lightweight, no additional dependencies, fixes dozens of rules automatically
- Note: for
semistandard
, we left the existing--format
flag in place, which usessemistandard-format
, but I highly recommend using--fix
instead!
(Estimated % of affected standard users, based on test suite in parens)
- Enforce placing object properties on separate lines (object-property-newline) #524 (2%)
- Require block comments to be balanced (spaced-comment "balanced") #572 (2%)
- Disallow constant expressions in conditions (no-constant-condition) #563 (1%)
- Disallow renaming import, export, and destructured assignments to the same name (no-useless-rename) #537 (0%)
- Disallow spacing between rest and spread operators and their expressions (rest-spread-spacing) #567 (0%)
- Disallow the Unicode Byte Order Mark (BOM) (unicode-bom) #538 (0%)
- Disallow assignment to native objects/global variables (no-global-assign) #596 (0%)
- Disallow negating the left operand of relational operators (no-unsafe-negation) #595 (0%)
- Disallow template literal placeholder syntax in regular strings (no-template-curly-in-string) #594 (0%)
- Disallow tabs in file (no-tabs) #593 (0%)
- Relax rule: Allow template literal strings (backtick strings) to avoid escaping #421
- Relax rule: Do not enforce spacing around * in generator functions (standard/standard#564 (comment))
- This is a temporary workaround for
babel
users who use async generator functions.
- This is a temporary workaround for
Updated to match the latest standard
rules and use the latest version of semistandard-format
.
- Require camelCase (camelcase)
- Disallow unnecessary escape usage (no-useless-escape)
- Disallow duplicate imports (no-duplicate-imports)
- Disallow unmodified conditions of loops (no-unmodified-loop-condition)
- Disallow whitespace before properties (no-whitespace-before-property)
- Disallow control flow statements in
finally
blocks (no-unsafe-finally) - Disallow unnecessary computed property keys on objects (no-useless-computed-key)
- Validate spacing before closing bracket in JSX (react/jsx-space-before-closing)
- Bump standard-engine to 1.8.1, which fixes an NPE. (thanks again @wombleton)
- Fix react rules to work again.
- New Rules coming from eslint-config-standard:
- accessor-pairs - warns if setters are defined without getters.
- "one-var": [2, { "initialized": "never" }] - Split initialized 'var' declarations into multiple statements.
-
no-extra-semi - This rule is aimed at eliminating extra unnecessary semicolons. While not technically an error, extra semicolons can be a source of confusion when reading code.
-
semi-spacing - Disallow a space before semicolons and force a space after them.
- Updated to
standard
rules 2.0.0 BREAKING CHANGE: new rule operator-linebreak set to "after"
- Updated to
standard-engine
1.6.0 - alternate parsers are now supported. See README.md for details!
- Since
standard-engine
now supports passing a formatter, we've switched back to using it for the CLI.
- Bumped all dependencies to their latest minor versions in package.json
- This includes a fix in
standard-engine
which dramatically speeds up lint times!
-
Switch to using
eslint-config-semistandard
, which extendseslint-config-standard
. This means that non-breaking changes instandard
should automatically get reflected now! -
Thanks to new collaborator @ricardofbarros,
semistandard
now has a --format (-F) flag! It uses hissemistandard-format
module which is a fork ofstandard-format
. Good Stuff!
- Merged from
standard
: relax ruleno-alert
- Merged from
standard
rules: relaxno-lone-blocks
rule for ES6 reasons
- Fixed programmatic usage so it actually works.
- Update
standard-engine
version to fix crash on absolute filesystem path
- Rule turned off:
no-script-url
- All warning rules changed to error
- Changed
space-before-function-parentheses
tospace-before-function-paren
- new react rules added
"react/jsx-boolean-value": 2
"react/jsx-quotes": [2, "single", "avoid-escape"]
"react/jsx-no-undef": 2
"react/jsx-sort-props": 0
"react/no-unknown-property": 2
- Ignore linting for all files in
.gitignore
. - Removed
/git/**
exclusion as its redundant. - Output errors to stdout instead of stderr.