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-semistandardversion16.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.lintTextSyncmethod
(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
callbackorcbmust be invoked withnull,undefined, or anErroras the first argument - Disallows using a string instead of an
Errorobject - 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
...restto 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 typestatements (import/no-duplicates) #599- These are no longer considered to be "duplicate imports"
- Relax rule: Treat
process.exit()the same asthrowin 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
typeofexpressions 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
--fixcommand line flag standard-engine/#107- Lightweight, no additional dependencies, fixes dozens of rules automatically
- Note: for
semistandard, we left the existing--formatflag in place, which usessemistandard-format, but I highly recommend using--fixinstead!
(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
babelusers 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
finallyblocks (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
standardrules 2.0.0 BREAKING CHANGE: new rule operator-linebreak set to "after"
- Updated to
standard-engine1.6.0 - alternate parsers are now supported. See README.md for details!
- Since
standard-enginenow 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-enginewhich dramatically speeds up lint times!
-
Switch to using
eslint-config-semistandard, which extendseslint-config-standard. This means that non-breaking changes instandardshould automatically get reflected now! -
Thanks to new collaborator @ricardofbarros,
semistandardnow has a --format (-F) flag! It uses hissemistandard-formatmodule which is a fork ofstandard-format. Good Stuff!
- Merged from
standard: relax ruleno-alert
- Merged from
standardrules: relaxno-lone-blocksrule for ES6 reasons
- Fixed programmatic usage so it actually works.
- Update
standard-engineversion to fix crash on absolute filesystem path
- Rule turned off:
no-script-url - All warning rules changed to error
- Changed
space-before-function-parenthesestospace-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.