This release has no new rules, but it does update to the latest version of eslint,
version 4, which has some significant changes to existing rules. Most updates make
the indentation rules more strict.
Thankfully, most users will just need to run standard --fix to update code to be
compliant.
New features
Update eslint from ~3.19.0 to ~4.18.0.
The indent rule is more strict.
The padded-blocks rule is more strict.
The space-before-function-paren rule is more strict.
The no-multi-spaces rule is more strict.
Minor improvements to:
no-extra-parens,
no-unexpected-multiline,
no-regex-spaces, and
space-unary-ops
Update eslint-plugin-import from ~2.2.0 to ~2.8.0
Updated for eslint 4.0 compatibility.
Various small bug fixes included related to import/* rules.
Update eslint-plugin-node from ~4.2.2 to ~6.0.0
The no-deprecated-api rule is updated with Node.js 8 support and improved
Node 6 support.
Upodate eslint-plugin-promise from ~3.5.0 to ~3.6.0.
Update eslint-plugin-react from ~6.10.0 to ~7.6.1
Fix jsx-indent crash
Fix jsx-indent indentation calculation with nested JSX.
Fix jsx-no-undef will not check the global scope by default.
Fix jsx-curly-spacing newline with object literals bug.
Fix jsx-curly-spacing schema incompatibility with ESLint 4.2.0.
Fix alignment bug in jsx-indent.
Changed rules
Relax rule: Don't mark Rails Asset Pipeline comments (comments that start with //=)
as errors. (spaced-comment) #918
👏 Huge thanks to @Flet for putting together most of this
release!
As with every new major release, there are lots of new rules in 10.0.0 designed to
help catch bugs and make programmer intent more explicit.
standard is more popular than ever – 330,000 downloads per month! It's even
more popular – 670,000 downloads per month – if you include the shareable ESLint config
that we also publish.
The most important change in 10.0.0 is that using deprecated Node.js APIs is now
considered an error. It's finally time to update those dusty old APIs!
Deprecated APIs are problematic because they may print warning messages in the
console in recent versions of Node.js. This often confuses users and leads to
unnecessary support tickets for project maintainers.
Some deprecated APIs are even insecure (or at least prone to incorrect usage) which
can have serious security implications. For that reason, standard now considers
usage of Buffer(num) to be an error, since this function returns uninitialized
program memory which could contain confidential information like passwords or keys.
Instead of Buffer(num), consider using Buffer.alloc(num) or Buffer.from(obj)
which make the programmer's intent clearer. These functions exist in all currently
supported versions of Node.js, including Node.js 4.x. For more background, see this Node.js issue.
We also improved some rules to support common patterns in code bases that use
React, JSX, and Flow.
When you upgrade, consider running standard --fix to automatically fix some of
the issues caught by this new version.
New features
Update ESLint from 3.15.x to 3.19.x.
Node.js API: Add standard.lintTextSync method
New rules
(Estimated % of affected standard users, based on test suite in parens)
It's time for a new major version of standard! As usual, this release contains a
bunch of awesomeness to help you keep your code in tip-top shape!
We've added several new rules designed to catch potential programmer errors
(i.e. bugs), as well as rules to make programmer intent more explicit in
certain circumstances.
This release continues our trend of tightening up rules so that, wherever possible,
there's one "right" way to do things. This design goal is intended to reduce the
time that teams and maintainers spend giving code review feedback in pull requests.
When you upgrade, consider running standard --fix to automatically fix some of the
errors caught by the new rules in this version.
Note: If you use the Chai test framework, you will need to make some changes to
your tests to improve their robustness. Read about the changes you need to make.
New features
Update ESLint from 3.10.x to 3.15.x
3 additional rules are now fixable with standard --fix
New rules
(Estimated % of affected standard users, based on test suite in parens)
The last release (8.2.0) added ES7 support. This release (8.3.0) adds ES8
support …just 3 days later!
This release should eliminate the need to specify babel-eslint as a custom
parser, since standard can now parse ES8 (i.e. ES2017) syntax out of the box.
That means async and await will just work.
For many users, this release should eliminate the need to specify babel-eslint as
a custom parser, since standard can now parse ES7 (i.e. ES2016) syntax out of the
box.
Support ES7 (i.e. ES2016) syntax.
Update ESLint from 3.5.x to 3.6.x
4 additional rules are now fixable with standard --fix
This release contains a bunch of goodies, including new rules that catch potential
programmer errors (i.e. bugs) and enforce additional code consistency.
However, the best feature is surely the new --fix command line flag to
automatically fix problems. If you ever used standard-format
and ran into issues with the lack of ES2015+ support, you'll be happy about --fix.
standard --fix is built into standard v8.0.0 for maximum convenience, it
supports ES2015, and it's lightweight (no additional dependencies since it's part
of ESLint which powers standard). Lots of problems are already fixable, and more
are getting added with each ESLint release.
standard also outputs a message ("Run standard --fix to automatically fix
some problems.") when it detects problems that can be fixed automatically so you
can save time!
With standard v8.0.0, we are also dropping support for Node.js versions prior to
v4. Node.js 0.10 and 0.12 are in maintenance mode and will be unsupported at the
end of 2016. Node.js 4 is the current LTS version. If you are using an older
version of Node.js, we recommend upgrading to at least Node.js 4 as soon as
possible. If you are unable to upgrade to Node.js 4 or higher, then we recommend
continuing to use standard v7.x until you are ready to upgrade Node.js.
Important: We will not be updating the standard v7.x versions going forward.
All bug fixes and enhancements will land in standard v8.x.
JSX is still supported, and it continues to be checked for style.
There were only a few React-specific rules, but they made it extremely difficult for users of alternatives like virtual-dom or deku, and unecessarily tied standard to a single library.
JSX rules come from eslint-config-standard-jsx. The eslint-config-standard-react dependency was removed.
New Rules
The percentage (%) of users that rule changes will effect, based on real-world testing of the top ~400 npm packages is denoted in brackets.
This Pull Request updates devDependency
standard
(homepage, source) fromv5.4.1
tov11.0.1
Release Notes
v11.0.1
Compare Source
v11.0.0
Compare Source
This release has no new rules, but it does update to the latest version of
eslint
,version 4, which has some significant changes to existing rules. Most updates make
the indentation rules more strict.
Thankfully, most users will just need to run
standard --fix
to update code to becompliant.
New features
Update
eslint
from ~3.19.0 to ~4.18.0.indent
rule is more strict.padded-blocks
rule is more strict.space-before-function-paren
rule is more strict.no-multi-spaces
rule is more strict.no-extra-parens
,no-unexpected-multiline
,no-regex-spaces
, andspace-unary-ops
Update
eslint-plugin-import
from~2.2.0
to~2.8.0
import/*
rules.Update
eslint-plugin-node
from~4.2.2
to~6.0.0
no-deprecated-api
rule is updated with Node.js 8 support and improvedNode 6 support.
Upodate
eslint-plugin-promise
from~3.5.0
to~3.6.0
.Update
eslint-plugin-react
from~6.10.0
to~7.6.1
jsx-indent
crashjsx-indent
indentation calculation with nested JSX.jsx-no-undef
will not check the global scope by default.jsx-curly-spacing
newline with object literals bug.jsx-curly-spacing
schema incompatibility with ESLint 4.2.0.jsx-indent
.Changed rules
//=
)as errors. (spaced-comment) #918
👏 Huge thanks to @Flet for putting together most of this
release!
v10.0.3
Compare Source
v10.0.2
Compare Source
Changed rules
standard
, so we are disabling it until its performance improves.v10.0.1
Compare Source
v10.0.0
Compare Source
standard
just turned 10.0.0! 🎉As with every new major release, there are lots of new rules in 10.0.0 designed to
help catch bugs and make programmer intent more explicit.
standard
is more popular than ever – 330,000 downloads per month! It's evenmore popular – 670,000 downloads per month – if you include the
shareable ESLint config
that we also publish.
The most important change in 10.0.0 is that using deprecated Node.js APIs is now considered an error. It's finally time to update those dusty old APIs!
Deprecated APIs are problematic because they may print warning messages in the
console in recent versions of Node.js. This often confuses users and leads to
unnecessary support tickets for project maintainers.
Some deprecated APIs are even insecure (or at least prone to incorrect usage) which
can have serious security implications. For that reason,
standard
now considersusage of
Buffer(num)
to be an error, since this function returns uninitializedprogram memory which could contain confidential information like passwords or keys.
Instead of
Buffer(num)
, consider usingBuffer.alloc(num)
orBuffer.from(obj)
which make the programmer's intent clearer. These functions exist in all currently
supported versions of Node.js, including Node.js 4.x. For more background,
see this Node.js issue.
We also improved some rules to support common patterns in code bases that use
React, JSX, and Flow.
When you upgrade, consider running
standard --fix
to automatically fix some ofthe issues caught by this new version.
New features
standard.lintTextSync
methodNew rules
(Estimated % of affected standard users, based on test suite in parens)
Buffer.from()
,Buffer.alloc()
) are used instead ofBuffer()
callback
orcb
must be invoked withnull
,undefined
, or anError
as the first argumentError
objectChanged rules
...rest
to omit properties from an object (no-unused-vars) #800import type
statements (import/no-duplicates) #599process.exit()
the same asthrow
in code path analysis (node/process-exit-as-throw) #699v9.0.2
Compare Source
Changed rules
v9.0.1
Compare Source
Changed rules
+
,-
,*
,/
,%
, and**
v9.0.0
Compare Source
It's time for a new major version of
standard
! As usual, this release contains abunch of awesomeness to help you keep your code in tip-top shape!
We've added several new rules designed to catch potential programmer errors
(i.e. bugs), as well as rules to make programmer intent more explicit in
certain circumstances.
This release continues our trend of tightening up rules so that, wherever possible,
there's one "right" way to do things. This design goal is intended to reduce the
time that teams and maintainers spend giving code review feedback in pull requests.
When you upgrade, consider running
standard --fix
to automatically fix some of theerrors caught by the new rules in this version.
Note: If you use the Chai test framework, you will need to make some changes to your tests to improve their robustness. Read about the changes you need to make.
New features
standard --fix
New rules
(Estimated % of affected standard users, based on test suite in parens)
typeof
expressions against string literals (valid-typeof) #629 (0%)Changed rules
v8.6.0
Compare Source
standard --fix
v8.5.0
Compare Source
standard --fix
v8.4.0
Compare Source
standard --fix
v8.3.0
Compare Source
The last release (
8.2.0
) added ES7 support. This release (8.3.0
) adds ES8support …just 3 days later!
This release should eliminate the need to specify
babel-eslint
as a customparser, since
standard
can now parse ES8 (i.e. ES2017) syntax out of the box.That means
async
andawait
will just work.v8.2.0
Compare Source
For many users, this release should eliminate the need to specify
babel-eslint
asa custom parser, since
standard
can now parse ES7 (i.e. ES2016) syntax out of thebox.
standard --fix
v8.1.0
Compare Source
standard --fix
v8.0.0
Compare Source
This release contains a bunch of goodies, including new rules that catch potential
programmer errors (i.e. bugs) and enforce additional code consistency.
However, the best feature is surely the new
--fix
command line flag toautomatically fix problems. If you ever used
standard-format
and ran into issues with the lack of ES2015+ support, you'll be happy about
--fix
.standard --fix
is built intostandard
v8.0.0 for maximum convenience, itsupports ES2015, and it's lightweight (no additional dependencies since it's part
of ESLint which powers
standard
). Lots of problems are already fixable, and moreare getting added with each ESLint release.
standard
also outputs a message ("Runstandard --fix
to automatically fixsome problems.") when it detects problems that can be fixed automatically so you
can save time!
With
standard
v8.0.0, we are also dropping support for Node.js versions prior tov4. Node.js 0.10 and 0.12 are in maintenance mode and will be unsupported at the
end of 2016. Node.js 4 is the current LTS version. If you are using an older
version of Node.js, we recommend upgrading to at least Node.js 4 as soon as
possible. If you are unable to upgrade to Node.js 4 or higher, then we recommend
continuing to use
standard
v7.x until you are ready to upgrade Node.js.Important: We will not be updating the
standard
v7.x versions going forward.All bug fixes and enhancements will land in
standard
v8.x.Full changelog below. Cheers!
New features
--fix
command line flag #540 standard-engine/#107New rules
(Estimated % of affected standard users, based on test suite in parens)
Changed rules
babel
users who use async generator functions.v7.1.2
Compare Source
v7.1.1
Compare Source
v7.1.0
Compare Source
v7.0.1
Compare Source
export
so the following is allowed:v7.0.0
Compare Source
Changes
package.json
(Reasoning is here)New rules
Estimated % of affected standard users, based on test suite
finally
blocks (no-unsafe-finally) [0%]Removed rules
v6.0.8
Compare Source
v6.0.7
Compare Source
cwd
(fixes #429)v6.0.6
Compare Source
cwd
(fixes snazzy/#8)v6.0.5
Compare Source
v6.0.4
Compare Source
v6.0.3
Compare Source
v6.0.2
Compare Source
v6.0.1
Compare Source
v6.0.0
Compare Source
The goal of this release is to make
standard
faster to install, and simpler to use.Remove
standard-format
(#340) (#397)standard-format
, just install it separately:npm install -g standard-format
React-specific linting rules are removed (#351) (#367) (eslint-config-standard-react/#13)
virtual-dom
ordeku
, and unecessarily tiedstandard
to a single library.eslint-config-standard-jsx
. Theeslint-config-standard-react
dependency was removed.New Rules
The percentage (%) of users that rule changes will effect, based on real-world testing of the top ~400 npm packages is denoted in brackets.
__dirname
/__filename
string concatenation (#403) (no-path-concat) [5%]new Promise()
is instantiated with the parameter namesresolve
,reject
(#282) (promise/param-names) [1%]*
inyield * something
(#335) (yield-star-spacing) [0%]Removed Rules
parseInt()
radix rule because ES5 fixes this issue (#384) (radix) [0%]Expose eslint configuration via command line options and
package.json
For power users, it might be easier to use one of these new hooks instead of forking
standard
, though that's still encouraged, too!To set custom ESLint plugins, rules, or envs, use the command line
--plugin
,--rules
, and--env
flags.In
package.json
, use the "standard" property:Upgrade to ESLint v2
Improve test suite
Known Issues
no-return-assign
behavior changed with arrow functions (eslint/eslint#5150)Relevant diffs
This PR has been generated by Renovate Bot.