Skip to content

Releases: fimbullinter/wotan

v0.15.0

21 Oct 19:54
Compare
Choose a tag to compare

Features:

  • wotan test now validates test configurations
  • Performance improvements using recently added Node.js file system features
  • Improved caching of directory entries
  • Work around breaking changes in TypeScript API regarding project references
  • --fix now merges replacements of a single fix instead of throwing an error
  • no-useless-spread: added check for JSX spread attributes

Bugfixes:

  • no-useless-initializer: removed unreliable fix for object destructuring
  • no-useless-initializer: fixed false positive in destructuring when property is a type parameter or conditional type

v0.14.0

06 Sep 10:48
Compare
Choose a tag to compare

Features:

  • Added support for Project References added in TypeScript 3.0.0
    • Correctly process tsconfig.json containing references
    • Log no warning on empty files array if there are references
    • Added -r or --references CLI option to recursively lint all references. This works similar to tsc --build but doesn't build a dependency graph. Instead it processes the projects depth-first in their specified order.
  • Allow linting multiple projects in one run by specifiying -p or --project multiple times
  • If a file was not found, report the projects it was searched in

Bugfixes:

  • typecheck: correctly report declaration errors with "composite": true

v0.13.0

27 Aug 18:30
Compare
Choose a tag to compare

⚠️ Breaking Changes:

  • Node.js v9 is no longer officially supported
  • TypeScript v2.7 is no longer officially supported

Features:

  • new rule: no-restricted-property-access
  • new rule: no-useless-strict
  • no-useless-declare: declare keyword is useless on exported declarations in declaration files

Bugfixes:

  • no-duplicate-spread-property: correctly handles computed names
  • no-duplicate-spread-property: exclude class getters and setters like it's already done for class methods
  • no-duplicate-spread-property: no error on getter and setter pair
  • no-invalid-assertion: handle intersection types
  • prefer-for-of: don't suggest for-of if implementation of iteration protocol contains private or protected members
  • CLI: fixed handling of --version
  • CLI: correctly handle absolute paths
  • fixed corrupted internal state during autofixing with --project without typed rules

v0.12.0

11 Jul 19:47
Compare
Choose a tag to compare

Features:

  • no-inferred-empty-object: handle multiple JSDoc @template tags starting from [email protected]
  • no-unstable-api-use: better error message for signatures
  • no-useless-initializer: check computed names in destructuring

Bugfixes:

  • no-return-await, await-only-promise, no-useless-assertion: fixer looks into tagged templates when parenthesizing
  • prefer-dot-notation: fixer adds parens around numeric literals
  • type-assertion: no longer emit invalid code when fixing to classic style

v0.11.0

18 May 15:54
Compare
Choose a tag to compare

⚠️ Breaking Changes:

  • Dropped support for TypeScript@<2.7.0. The new backwards compatibility policy ensures support for the last 3 stable minor releases of TypeScript.
  • prefer-number-isnan -> prefer-number-methods which checks isFinite in addition

Features:

  • new rule: no-octal-escape
  • new rule: type-assertion
  • new rule: delete-only-optional-property
  • Added support for resolveJsonModule compilerOption
  • handle unknown type introduced in [email protected]
  • --fix no longer autofixes files with syntax errors to prevent further destroying your code

Bugfixes:

  • fixed crash in no-inferred-empty-object with [email protected] and multiple JSDoc @template tags
  • no-useless-assertion: better handling of contextual types
  • no-useless-predicate: handle intersection types
  • prefer-for-of: ensure iterated object implements iteration protocol
  • prefer-for-of: ensure iterator yields the same type as index signature
  • no-unstable-api-use: check element access with well-known symbols

v0.10.0

21 Jun 09:20
Compare
Choose a tag to compare

This release fixes a few bugs related to the release process:

  • packages are released in dependency order: a new version of a package will not be published before it's dependency
  • fixed SemVer version mismatch by publishing packages that depend on other published packages

Bugfixes:

  • no-nan-compare: also detects comparing with Number.NaN

v0.9.0

09 May 17:23
Compare
Choose a tag to compare

Features:

  • new rule: parameter-properties (contributed by @aervin)
  • new rule: no-duplicate-spread-property
  • new rule: prefer-namespace-keyword
  • new rule: no-useless-declare
  • new rule: ban-dom-globals
  • bifrost added a function to wrap Fimbullinter rules for the use in TSLint
  • many rules now have a detailed documentation page
  • Node.js v10 is now officially supported

Bugfixes:

  • await-only-promise now allows for-await-of with Iterable<PromiseLike<any>>, previously it only allowed AsyncIterable<any>
  • no-duplicate-case added check for unions of literal types
  • no-inferred-empty-object handles generic functions declared in JSDoc
  • no-useless-assertion fixed detection if variable may be used before being assigned and thus the non-null assertion is actually necessary

v0.8.0

22 Apr 08:09
Compare
Choose a tag to compare

Features:

  • new rule: no-invalid-assertion
  • no-inferred-empty-object checks JSX elements and tagged templates starting from [email protected]
  • no-useless-initializer checks destructuring defaults

Bugfixes:

  • no-inferred-empty-object correctly checks classes with constructor
  • no-inferred-empty-object correctly checks classes from JavaScript files that have type parameters in JSDoc
  • no-useless-assertion forbids definite assignment assertions on properties with computed name
  • no-return-await wraps object literals returned from shorthand arrow functions in parentheses to avoid syntax errors
  • no-useless-spread no longer autofixes object spread to avoid introducing duplicate key errors
  • --project flag no longer causes a crash when referencing non-existent files
  • valtyr correctly loads custom formatters

Thanks to @aervin for contributing.

v0.7.0

07 Apr 18:15
Compare
Choose a tag to compare

Features:

  • new rule: no-unassigned-variable
  • new rule: no-useless-spread (contributed by @aervin)
  • new rule: return-never-call

Bugfixes:

  • no-inferred-empty-object: check generic JSX elements (starting from [email protected])
  • no-useless-assertion: correctly handle conditional types
  • no-useless-predicate: checks comparing typeof with a variable that has a literal type: const str = 'string'; typeof 1 === str;

v0.6.0

23 Mar 22:17
Compare
Choose a tag to compare

Features:

  • new rule: new-parens
  • new rule: no-case-declaration
  • new rule: no-duplicate-case
  • new rule: no-misused-generics
  • new rule: no-useless-jump-label
  • new rule: prefer-for-of
  • optimized some of the existing rules for performance
  • added decorators to ymir for commonly used rule predicates: @excludeDeclarationFiles and @typescriptOnly

Bugfixes:

  • Errors in tsconfig.json are now reported as warnings instead of errors. That allows the use of older versions of TypeScript while using compiler options introduced in a later version.
  • no-useless-predicate now also checks case clauses of switch statements