UNPKG

tsdocstandard

Version:

A standard for JavaScript + jsdoc + typescript

253 lines (173 loc) 15.7 kB
# semistandard Change Log All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). # 14.2.0 - 2019-09-14 - Update eslint to 6.4.0 # 14.1.0 2019-09-04 Check `standard` changelog that covers all the updates in detail: https://standardjs.com/changelog # 14.0.1 2019-08-19 Check `standard` changelog that covers all the updates in detail: https://standardjs.com/changelog # 14.0.0 2019-08-19 Updated to eslint 6 and `standard 13.0.0`. Check `standard` changelog that covers all the updates in detail: https://standardjs.com/changelog # 13.0.0 2018-11-06 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 ## 12.0.0 2017-12-19 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 ## 11.0.0 2017-04-20 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! ### 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)* - Disallow using deprecated Node.js APIs ([node/no-deprecated-api](https://github.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-deprecated-api.md)) [#693](https://github.com/feross/standard/issues/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 of `Buffer()` - Enforce callbacks always called with Node.js-style error first ([standard/no-callback-literal](https://github.com/xjamundx/eslint-plugin-standard#rules-explanations)) [#623](https://github.com/feross/standard/issues/623) (3%) - Functions named `callback` or `cb` must be invoked with `null`, `undefined`, or an `Error` 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 - Disallow any imports that come after non-import statements ([import/first](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/first.md)) [#806](https://github.com/feross/standard/issues/806) (1%) - Disallow unnecessary return await ([no-return-await](http://eslint.org/docs/rules/no-return-await)) [#695](https://github.com/feross/standard/issues/695) (0%) - Disallow comma-dangle in functions ([comma-dangle](http://eslint.org/docs/rules/comma-dangle)) [#787](https://github.com/feross/standard/issues/787) (0%) - Disallow repeated exports of names or defaults ([import/export](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/export.md)) [#806](https://github.com/feross/standard/issues/806) (0%) - Disallow import of modules using absolute paths ([import/no-absolute-path](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-absolute-path.md)) [#806](https://github.com/feross/standard/issues/806) (0%) - Disallow Webpack loader syntax in imports ([import/no-webpack-loader-syntax](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-webpack-loader-syntax.md)) [#806](https://github.com/feross/standard/issues/806) (0%) - Disallow comparing against -0 ([no-compare-neg-zero](http://eslint.org/docs/rules/no-compare-neg-zero)) [#812](https://github.com/feross/standard/issues/812) (0%) ### Changed rules - Relax rule: allow using `...rest` to omit properties from an object ([no-unused-vars](http://eslint.org/docs/rules/no-unused-vars)) [#800](https://github.com/feross/standard/issues/800) - This is a common and useful pattern in React/JSX apps! - Relax rule: allow Flow `import type` statements ([import/no-duplicates](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-duplicates.md)) [#599](https://github.com/feross/standard/issues/599) - These are no longer considered to be "duplicate imports" - Relax rule: Treat `process.exit()` the same as `throw` in code path analysis ([node/process-exit-as-throw](https://github.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/process-exit-as-throw.md)) [#699](https://github.com/feross/standard/issues/699) - Makes certain other rules work better and give fewer false positives - Relax rule: allow Unnecessary Labels ([no-extra-label](http://eslint.org/docs/rules/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](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-absolute-path.md)) [#861](https://github.com/feross/standard/issues/861) - This rule was responsible for up to 25% of the running time of `standard`, so we are disabling it until its performance improves. ## 10.0.0 2017-03-06 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: ### 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)* - Disallow mixing different operators without parens ([no-mixed-operators](http://eslint.org/docs/rules/no-mixed-operators)) [#566](https://github.com/feross/standard/issues/566) (5%) - Enforce 1 newline at end of file (previously 1 or 2 were ok) ([no-multiple-empty-lines](http://eslint.org/docs/rules/no-multiple-empty-lines)) [#733](https://github.com/feross/standard/issues/733) (3%) - Disallow Unused Expressions ([no-unused-expressions](http://eslint.org/docs/rules/no-unused-expressions)) [#690](https://github.com/feross/standard/issues/690) (3%) - Note: this affects users of the Chai test framework. [Read about the changes you need to make](https://github.com/feross/standard/issues/690#issuecomment-278533482). - Disallow redundant return statements ([no-useless-return](http://eslint.org/docs/rules/no-useless-return)) [#694](https://github.com/feross/standard/issues/694) (1%) - Disallow Incorrect Early Use ([no-use-before-define](http://eslint.org/docs/rules/no-use-before-define)) [#636](https://github.com/feross/standard/issues/636) (0%) - Enforce that Promise rejections are passed an Error object as a reason ([prefer-promise-reject-errors](http://eslint.org/docs/rules/prefer-promise-reject-errors)) [#777](https://github.com/feross/standard/issues/777) (0%) - Enforce comparing `typeof` expressions against string literals ([valid-typeof](http://eslint.org/docs/rules/valid-typeof)) [#629](https://github.com/feross/standard/issues/629) (0%) - Enforce spacing around * in generator functions ([generator-star-spacing](http://eslint.org/docs/rules/generator-star-spacing)) [#724](https://github.com/feross/standard/issues/724) (0%) - Disallow Unnecessary Labels ([no-extra-label](http://eslint.org/docs/rules/no-extra-label)) [#736](https://github.com/feross/standard/issues/736) (0%) - Disallow spacing between template tags and their literals ([template-tag-spacing](http://eslint.org/docs/rules/template-tag-spacing)) [#755](https://github.com/feross/standard/issues/775) (0%) - Disallow padding within switch statements and classes ([padded-blocks](http://eslint.org/docs/rules/padded-blocks)) [#610](https://github.com/feross/standard/issues/610) (0%) - Enforce that Symbols are passed a description ([symbol-description](http://eslint.org/docs/rules/symbol-description)) [#630](https://github.com/feross/standard/issues/630) (0%) ### Changed rules - Relax rule: allow TypeScript Triple-Slash Directives (spaced-comment) [#660](https://github.com/feross/standard/issues/660) - Relax rule: allow Flow Comments (spaced-comment) [#661](https://github.com/feross/standard/issues/661) ## 9.0.0 2016-09-03 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: ### New features - 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](https://github.com/standard/standard-engine/issues/107) - Lightweight, no additional dependencies, fixes dozens of rules automatically - **Note:** for `semistandard`, we left the existing `--format` flag in place, which uses `semistandard-format`, but I highly recommend using `--fix` instead! ### New rules *(Estimated % of affected standard users, based on test suite in parens)* - Enforce placing object properties on separate lines ([object-property-newline](http://eslint.org/docs/rules/object-property-newline)) [#524](https://github.com/feross/standard/issues/524) (2%) - Require block comments to be balanced ([spaced-comment "balanced"](http://eslint.org/docs/rules/spaced-comment)) [#572](https://github.com/feross/standard/issues/572) (2%) - Disallow constant expressions in conditions ([no-constant-condition](http://eslint.org/docs/rules/no-constant-condition)) [#563](https://github.com/feross/standard/issues/563) (1%) - Disallow renaming import, export, and destructured assignments to the same name ([no-useless-rename](http://eslint.org/docs/rules/no-useless-rename)) [#537](https://github.com/feross/standard/issues/537) (0%) - Disallow spacing between rest and spread operators and their expressions ([rest-spread-spacing](http://eslint.org/docs/rules/rest-spread-spacing)) [#567](https://github.com/feross/standard/issues/567) (0%) - Disallow the Unicode Byte Order Mark (BOM) ([unicode-bom](http://eslint.org/docs/rules/unicode-bom)) [#538](https://github.com/feross/standard/issues/538) (0%) - Disallow assignment to native objects/global variables ([no-global-assign](http://eslint.org/docs/rules/no-global-assign)) [#596](https://github.com/feross/standard/issues/596) (0%) - Disallow negating the left operand of relational operators ([no-unsafe-negation](http://eslint.org/docs/rules/no-unsafe-negation)) [#595](https://github.com/feross/standard/issues/595) (0%) - Disallow template literal placeholder syntax in regular strings ([no-template-curly-in-string](http://eslint.org/docs/rules/no-template-curly-in-string)) [#594](https://github.com/feross/standard/issues/594) (0%) - Disallow tabs in file ([no-tabs](http://eslint.org/docs/rules/no-tabs)) [#593](https://github.com/feross/standard/issues/593) (0%) ### Changed rules - Relax rule: Allow template literal strings (backtick strings) to avoid escaping
 [#421](https://github.com/feross/standard/issues/421) - Relax rule: Do not enforce spacing around * in generator functions (https://github.com/feross/standard/issues/564#issuecomment-234699126) - This is a temporary workaround for `babel` users who use async generator functions. ## 8.0.0 2016-05-12 Updated to match the latest `standard` rules and use the latest version of `semistandard-format`. ### New Rules - Require camelCase ([camelcase](http://eslint.org/docs/rules/camelcase)) - Disallow unnecessary escape usage ([no-useless-escape](http://eslint.org/docs/rules/no-useless-escape)) - Disallow duplicate imports ([no-duplicate-imports](http://eslint.org/docs/rules/no-duplicate-imports)) - Disallow unmodified conditions of loops ([no-unmodified-loop-condition](http://eslint.org/docs/2.0.0/rules/no-unmodified-loop-condition)) - Disallow whitespace before properties ([no-whitespace-before-property](http://eslint.org/docs/2.0.0/rules/no-whitespace-before-property)) - Disallow control flow statements in `finally` blocks ([no-unsafe-finally](http://eslint.org/docs/rules/no-unsafe-finally)) - Disallow unnecessary computed property keys on objects ([no-useless-computed-key](http://eslint.org/docs/rules/no-useless-computed-key)) - Validate spacing before closing bracket in JSX ([react/jsx-space-before-closing](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-space-before-closing.md)) ## 6.1.1 2016-06-17 * Bump standard-engine to 1.8.1, which fixes an NPE. (thanks again @wombleton) ## 6.1.0 2015-06-16 * Fix react rules to work again. * New Rules coming from eslint-config-standard: * [accessor-pairs](http://eslint.org/docs/rules/accessor-pairs.html) - warns if setters are defined without getters. * ["one-var": [2, { "initialized": "never" }]](http://eslint.org/docs/rules/one-var.html) - Split initialized 'var' declarations into multiple statements. ## 6.0.0 2015-06-03 ### BREAKING CHANGE: New Rules * [no-extra-semi](http://eslint.org/docs/rules/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](http://eslint.org/docs/rules/semi-spacing) - Disallow a space before semicolons and force a space after them. ## 5.0.0 2015-05-29 * Updated to `standard` rules 2.0.0 BREAKING CHANGE: new rule [operator-linebreak](http://eslint.org/docs/rules/operator-linebreak.html) set to "after" ## 4.3.0 2015-05-29 * Updated to `standard-engine` 1.6.0 * alternate parsers are now supported. See README.md for details! ## 4.2.2 2015-05-25 * Since `standard-engine` now supports passing a formatter, we've switched back to using it for the CLI. ## 4.2.1 2015-05-25 * Bumped all dependencies to their latest minor versions in package.json * This includes a fix in `standard-engine` which dramatically speeds up lint times! ## 4.2.0 2015-05-20 * Switch to using `eslint-config-semistandard`, which extends `eslint-config-standard`. This means that non-breaking changes in `standard` should automatically get reflected now! * Thanks to new collaborator @ricardofbarros, `semistandard` now has a --format (-F) flag! It uses his `semistandard-format` module which is a fork of `standard-format`. Good Stuff! ## 4.1.4 2015-05-02 * Merged from `standard`: relax rule `no-alert` ## 4.1.3 - 2015-04-23 * Merged from `standard` rules: relax `no-lone-blocks` rule for [ES6 reasons](https://github.com/feross/standard/issues/121) ## 4.1.2 - 2015-04-16 * Fixed programmatic usage so it actually works. ## 4.1.1 - 2015-04-15 * Update `standard-engine` version to fix crash on absolute filesystem path ## 4.1.0 - 2015-04-14 ### Merged latest from standard 3.6.0: * Rule turned off: `no-script-url` * All warning rules changed to error * Changed `space-before-function-parentheses` to `space-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` ### Updates from `standard-engine` * Ignore linting for all files in `.gitignore`. * Removed `/git/**` exclusion as its redundant. * Output errors to stdout instead of stderr.