# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [13.0.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@13.0.2...@loopback/eslint-config@13.0.3) (2022-08-25)

**Note:** Version bump only for package @loopback/eslint-config





## [13.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@13.0.1...@loopback/eslint-config@13.0.2) (2022-07-14)

**Note:** Version bump only for package @loopback/eslint-config





## [13.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@13.0.0...@loopback/eslint-config@13.0.1) (2022-06-13)


### Bug Fixes

* revert update and pin version of eslint-plugin-mocha to v10.0.3 ([19b3ac3](https://github.com/loopbackio/loopback-next/commit/19b3ac31e5486d1b6196b8b96a12e483c19a4e53))





## [13.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@12.0.4...@loopback/eslint-config@13.0.0) (2022-05-05)


### ⚠ BREAKING CHANGES

* remove node v12 support

### Features

* add support for node v18 ([ccb4c61](https://github.com/loopbackio/loopback-next/commit/ccb4c61307d94ab7bb07a19c547dfc4fa7d388a8))
* remove node v12 support ([5f66e5b](https://github.com/loopbackio/loopback-next/commit/5f66e5bd288ba806b3aa6550fc29c5009de8b60d))


### Reverts

* update dependency eslint-plugin-mocha to ^10.0.4 ([c7f9263](https://github.com/loopbackio/loopback-next/commit/c7f9263095579fdcff65ab77a00f92c1cbab9718))



## [12.0.4](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@12.0.3...@loopback/eslint-config@12.0.4) (2022-03-29)


### Bug Fixes

* ignore HTTP code-like object members ([493e275](https://github.com/loopbackio/loopback-next/commit/493e2759ef7749b4d2ff7499318b7a6232e74d0d))
* ignore MIME type-like object members ([f282dca](https://github.com/loopbackio/loopback-next/commit/f282dcab18addf63a2fad45fb7b1f0da97c27390))





## [12.0.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@12.0.2...@loopback/eslint-config@12.0.3) (2022-02-28)

**Note:** Version bump only for package @loopback/eslint-config





## [12.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@12.0.1...@loopback/eslint-config@12.0.2) (2022-02-14)

**Note:** Version bump only for package @loopback/eslint-config





## [12.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@12.0.0...@loopback/eslint-config@12.0.1) (2022-01-11)

**Note:** Version bump only for package @loopback/eslint-config





# [12.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@11.0.2...@loopback/eslint-config@12.0.0) (2021-11-18)


### Features

* drop support for Node.js v10 ([9bcbbb3](https://github.com/loopbackio/loopback-next/commit/9bcbbb358ec3eabc3033d4e7e1c22b524a7069b3))
* support Node.js v17 ([8d86c03](https://github.com/loopbackio/loopback-next/commit/8d86c03cb7047e2b1f18d05870628ef5783e71b2))
* upgrade to TypeScript 4.5.2 ([72ece91](https://github.com/loopbackio/loopback-next/commit/72ece91289ecfdfd8747bb9888ad75db73e8ff4b))


### BREAKING CHANGES

* drop support for Node.js v10

Co-authored-by: Francisco Buceta <frbuceta@gmail.com>
Signed-off-by: Rifa Achrinza <25147899+achrinza@users.noreply.github.com>





## [11.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@11.0.1...@loopback/eslint-config@11.0.2) (2021-10-18)

**Note:** Version bump only for package @loopback/eslint-config





## [11.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@11.0.0...@loopback/eslint-config@11.0.1) (2021-09-16)

**Note:** Version bump only for package @loopback/eslint-config





# [11.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.2.1...@loopback/eslint-config@11.0.0) (2021-07-15)


### Features

* **rest:** upgrade to ajv@8.x ([d3b20ed](https://github.com/loopbackio/loopback-next/commit/d3b20edc142d5c014c17ffbfa69f74403793330f))


### BREAKING CHANGES

* **rest:** We upgrade to ajv@8.x, which contains breaking changes
for validations. See https://github.com/ajv-validator/ajv/blob/master/docs/v6-to-v8-migration.md.

Signed-off-by: Raymond Feng <enjoyjava@gmail.com>





## [10.2.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.2.0...@loopback/eslint-config@10.2.1) (2021-06-10)

**Note:** Version bump only for package @loopback/eslint-config





# [10.2.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.1.1...@loopback/eslint-config@10.2.0) (2021-05-03)


### Features

* support node v16 ([ac99415](https://github.com/loopbackio/loopback-next/commit/ac994154543bde22b4482ba98813351656db1b55))





## [10.1.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.1.0...@loopback/eslint-config@10.1.1) (2021-04-06)

**Note:** Version bump only for package @loopback/eslint-config





# [10.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.0.5...@loopback/eslint-config@10.1.0) (2021-03-18)


### Bug Fixes

* no need to import prettier extensions anymore ([0b13d35](https://github.com/loopbackio/loopback-next/commit/0b13d353a3055414e691176cd83c908a78afcc05))


### Features

* update package-lock.json to v2 consistently ([dfc3fbd](https://github.com/loopbackio/loopback-next/commit/dfc3fbdae0c9ca9f34c64154a471bef22d5ac6b7))
* upgrade to TypeScript 4.2.x ([05930bc](https://github.com/loopbackio/loopback-next/commit/05930bc0cece3909dd66f75ad91eeaa2d365a480))





## [10.0.5](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.0.4...@loopback/eslint-config@10.0.5) (2021-01-21)

**Note:** Version bump only for package @loopback/eslint-config





## [10.0.4](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.0.3...@loopback/eslint-config@10.0.4) (2020-12-07)

**Note:** Version bump only for package @loopback/eslint-config





## [10.0.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.0.2...@loopback/eslint-config@10.0.3) (2020-11-18)

**Note:** Version bump only for package @loopback/eslint-config





## [10.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.0.1...@loopback/eslint-config@10.0.2) (2020-11-05)

**Note:** Version bump only for package @loopback/eslint-config





## [10.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@10.0.0...@loopback/eslint-config@10.0.1) (2020-10-07)

**Note:** Version bump only for package @loopback/eslint-config





# [10.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@9.0.2...@loopback/eslint-config@10.0.0) (2020-09-15)


### Features

* **eslint-config:** update rules to be compatible with typescript-eslint 4.x ([595951c](https://github.com/loopbackio/loopback-next/commit/595951cab99af82a1d41623ad37c133b3e6d8c5a))
* update typescript-eslint monorepo to v4 ([5767e22](https://github.com/loopbackio/loopback-next/commit/5767e22eaf9813ea619f21710bddf12ac7303705))


### BREAKING CHANGES

* **eslint-config:** typescript-eslint 4.x introduces some breaking changes.
The following are impacted:

- decorator functions are correctly honored as usage of defined variables
- @typescript-eslint/no-shadow replaces no-shadow

Signed-off-by: Raymond Feng <enjoyjava@gmail.com>





## [9.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@9.0.1...@loopback/eslint-config@9.0.2) (2020-08-27)

**Note:** Version bump only for package @loopback/eslint-config





## [9.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@9.0.0...@loopback/eslint-config@9.0.1) (2020-08-19)

**Note:** Version bump only for package @loopback/eslint-config





# [9.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@8.0.4...@loopback/eslint-config@9.0.0) (2020-08-05)


### Features

* **eslint-config:** disable `createDefaultProgram` ([13dbaf2](https://github.com/loopbackio/loopback-next/commit/13dbaf24abad16ac4249cef15f41508d5264ed54))


### BREAKING CHANGES

* **eslint-config:** We are no longer telling eslint to create a default
program for files not included in `tsconfig.json`. If you start
receiving linter errors after upgrade, you can either add
`createDefaultProgram` to your eslint config manually, modify your
`tsconfig` file to include all files checked by eslint, or exclude
the problematic files from linting by adding them to `.eslintignore`
file.

In projects scaffolded via `lb4 app`, we recommend to add `.eslintrc.js`
file to `.eslintignore` list.

Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>





## [8.0.4](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@8.0.3...@loopback/eslint-config@8.0.4) (2020-07-20)

**Note:** Version bump only for package @loopback/eslint-config





## [8.0.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@8.0.2...@loopback/eslint-config@8.0.3) (2020-06-30)

**Note:** Version bump only for package @loopback/eslint-config





## [8.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@8.0.1...@loopback/eslint-config@8.0.2) (2020-06-23)


### Bug Fixes

* set node version to >=10.16 to support events.once ([e39da1c](https://github.com/loopbackio/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))





## [8.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@8.0.0...@loopback/eslint-config@8.0.1) (2020-06-11)

**Note:** Version bump only for package @loopback/eslint-config





# [8.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@7.0.1...@loopback/eslint-config@8.0.0) (2020-05-28)


### Features

* **eslint-config:** add naming convention rules ([c8e2143](https://github.com/loopbackio/loopback-next/commit/c8e214392a572a81620133f79c2cc122f89e6862))
* **eslint-config:** disable 'warning Missing return type on function' for now ([1b3494e](https://github.com/loopbackio/loopback-next/commit/1b3494e721e1eed782f07ab38748662d850391f0))


### BREAKING CHANGES

* **eslint-config:** @typescript-eslint/typescript-eslint v3.0.0 introduces
a list of breaking changes. Existing code might violate the new or changed
rules. Manual fixes may be required.

See more details at:
https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0





## [7.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@7.0.0...@loopback/eslint-config@7.0.1) (2020-05-20)

**Note:** Version bump only for package @loopback/eslint-config





# [7.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.6...@loopback/eslint-config@7.0.0) (2020-05-19)


### Features

* replace eslint rule `no-invalid-this` with TypeScript-aware one ([b2f21f7](https://github.com/loopbackio/loopback-next/commit/b2f21f78c28c71b59bbed8f1a42c4b663c85f507))
* **eslint-config:** upgrade to ESLint 7.x ([5c3e3c2](https://github.com/loopbackio/loopback-next/commit/5c3e3c247b9d6f47a1b5d861ffe3eff35ed5caf0))


### BREAKING CHANGES

* In code accessing `this` variable, eslint-ignore
comment for `no-invalid-this` will no longer work. You can either
change those comments to disable `@typescript-eslint/no-invalid-this`,
or better tell TypeScript what is the type of `this` in your function.

A TypeScript example:

```ts
describe('my mocha suite', function(this: Mocha.Suite) {
  this.timeout(1000);
  it('is slow', function(this: Mocha.Context) {
    this.timeout(2000);
  });
})
```

A JavaScript example:

```js
describe('my mocha suite', /** @this {Mocha.Suite} */ function() {
  this.timeout(1000);
  it('is slow', /** @this {Mocha.Context} */ function() {
    this.timeout(2000);
  });
})
```

Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>
* **eslint-config:** ESLint 7.x changes how plugins references in the shared
config are resolved. The following is quoted from
https://eslint.org/blog/2020/05/eslint-v7.0.0-released:

> ESLint will now resolve plugins relative to the entry configuration file.
This means that shared configuration files that are located outside the
project can now be colocated with the plugins they require.
> Starting in ESLint v7, configuration files and ignore files passed to
ESLint using the --config path/to/a-config and --ignore-path
path/to/a-ignore CLI flags, respectively, will resolve from the current
working directory rather than the file location. This allows for users to
utilize shared plugins without having to install them directly in their
project.





## [6.0.6](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.5...@loopback/eslint-config@6.0.6) (2020-05-07)

**Note:** Version bump only for package @loopback/eslint-config





## [6.0.5](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.4...@loopback/eslint-config@6.0.5) (2020-04-29)

**Note:** Version bump only for package @loopback/eslint-config





## [6.0.4](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.3...@loopback/eslint-config@6.0.4) (2020-04-22)

**Note:** Version bump only for package @loopback/eslint-config





## [6.0.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.2...@loopback/eslint-config@6.0.3) (2020-04-08)

**Note:** Version bump only for package @loopback/eslint-config





## [6.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.1...@loopback/eslint-config@6.0.2) (2020-03-24)

**Note:** Version bump only for package @loopback/eslint-config





## [6.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@6.0.0...@loopback/eslint-config@6.0.1) (2020-03-17)

**Note:** Version bump only for package @loopback/eslint-config





# [6.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@5.0.3...@loopback/eslint-config@6.0.0) (2020-03-05)


### chore

* remove support for Node.js v8.x ([4281d9d](https://github.com/loopbackio/loopback-next/commit/4281d9df50f0715d32879e1442a90b643ec8f542))


### Features

* **eslint-config:** disallow non-null assertions after optional chain ([6fdc2b5](https://github.com/loopbackio/loopback-next/commit/6fdc2b524b72a2cca08307e5d1a66c360c3ceb5a)), closes [#4675](https://github.com/loopbackio/loopback-next/issues/4675)


### BREAKING CHANGES

* **eslint-config:** eslint rule
`@typescript-eslint/no-non-null-asserted-optional-chain` is set to
`error` which may break existing lint tests.
* Node.js v8.x is now end of life. Please upgrade to version
10 and above. See https://nodejs.org/en/about/releases.





## [5.0.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@5.0.2...@loopback/eslint-config@5.0.3) (2020-02-05)

**Note:** Version bump only for package @loopback/eslint-config





## [5.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@5.0.1...@loopback/eslint-config@5.0.2) (2020-01-27)

**Note:** Version bump only for package @loopback/eslint-config





## [5.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@5.0.0...@loopback/eslint-config@5.0.1) (2020-01-07)

**Note:** Version bump only for package @loopback/eslint-config





# [5.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.1.5...@loopback/eslint-config@5.0.0) (2019-12-09)


### Features

* **eslint-config:** add @typescript-eslint/prefer-nullish-coalescing rule ([b608120](https://github.com/loopbackio/loopback-next/commit/b608120dbf67e1f93eabd6fa5efe1f6e6630084a))
* **eslint-config:** add typescript-eslint/prefer-optional-chain rule ([bd1252a](https://github.com/loopbackio/loopback-next/commit/bd1252a4367db8212f8b48c06fcc7434a2456b12))
* **eslint-config:** enable no-extra-non-null-assertion ([d74a688](https://github.com/loopbackio/loopback-next/commit/d74a68889fb48d7a1cb7034cb5a8fa8587853b5e))
* **eslint-config:** enable return-await ([be6b38b](https://github.com/loopbackio/loopback-next/commit/be6b38b75b2f4c937b742398c9edcbb6c2d1d7c0))


### BREAKING CHANGES

* **eslint-config:** The linter will reject code using `return await`
ouside of `try` blocks or forgetting to `await` before returning
from inside a `try` block.
Migration guide: use `return` outside of `try` blocks and `return await`
inside `try` blocks.

Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>
* **eslint-config:** the `@typescript-eslint/prefer-nullish-coalescing` rule prefers
nullish coalescing, for example, `ttl ?? 5000` over `ttl || 5000`.

See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing
* **eslint-config:** the `@typescript-eslint/prefer-optional-chain` rule will
report violations if optional chaining is not used. For example, it prefers
`options?.ttl` over `options && options.ttl`.

See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#optional-chaining





## [4.1.5](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.1.4...@loopback/eslint-config@4.1.5) (2019-11-25)

**Note:** Version bump only for package @loopback/eslint-config





## [4.1.4](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.1.3...@loopback/eslint-config@4.1.4) (2019-11-12)

**Note:** Version bump only for package @loopback/eslint-config





## [4.1.3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.1.2...@loopback/eslint-config@4.1.3) (2019-10-24)

**Note:** Version bump only for package @loopback/eslint-config





## [4.1.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.1.1...@loopback/eslint-config@4.1.2) (2019-10-07)

**Note:** Version bump only for package @loopback/eslint-config





## [4.1.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.1.0...@loopback/eslint-config@4.1.1) (2019-09-27)

**Note:** Version bump only for package @loopback/eslint-config





# [4.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.0.2...@loopback/eslint-config@4.1.0) (2019-09-17)


### Features

* **eslint-config:** enable "no-misused-promises" rule ([88d5494](https://github.com/loopbackio/loopback-next/commit/88d5494))





## [4.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.0.1...@loopback/eslint-config@4.0.2) (2019-09-03)

**Note:** Version bump only for package @loopback/eslint-config





## [4.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@4.0.0...@loopback/eslint-config@4.0.1) (2019-08-19)

**Note:** Version bump only for package @loopback/eslint-config





# [4.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@3.0.0...@loopback/eslint-config@4.0.0) (2019-08-15)


### Features

* **eslint-config:** upgrade to @typescript-eslint/eslint-plugin 2.0.0 ([1ec5b2f](https://github.com/loopbackio/loopback-next/commit/1ec5b2f))


### BREAKING CHANGES

* **eslint-config:** @typescript-eslint/parser and @typescript-eslint/eslint-plugin
2.0.0 may have introduced breaking changes for recommended rules and configuration





# [3.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@2.0.2...@loopback/eslint-config@3.0.0) (2019-07-31)


### Features

* **eslint-config:** enable "no-return-await" rule ([e28a3c3](https://github.com/loopbackio/loopback-next/commit/e28a3c3))


### BREAKING CHANGES

* **eslint-config:** "return await" is no longer allowed, just return the
promise without awaiting its resolution.





## [2.0.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@2.0.1...@loopback/eslint-config@2.0.2) (2019-07-26)

**Note:** Version bump only for package @loopback/eslint-config





## [2.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@2.0.0...@loopback/eslint-config@2.0.1) (2019-07-17)

**Note:** Version bump only for package @loopback/eslint-config





# [2.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@1.1.2...@loopback/eslint-config@2.0.0) (2019-06-28)


### Features

* **eslint-config:** enable "no-floating-promises" rule ([256e3e8](https://github.com/loopbackio/loopback-next/commit/256e3e8))
* **eslint-config:** upgrade eslint to v6 ([b52a40c](https://github.com/loopbackio/loopback-next/commit/b52a40c))


### BREAKING CHANGES

* **eslint-config:** We require eslint version 6.0 as a peer dependency now.
To upgrade your project using our eslint-config, bump up eslint version
in your package.json file to "^6.0.0".

The new eslint version added new recommended rules, most notably
"require-atomic-updates" and "no-prototype-builtins". You may get new
linting errors after upgrade, fix them by changing your code or adding
eslint-ignore comments as needed.





## [1.1.2](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@1.1.1...@loopback/eslint-config@1.1.2) (2019-06-17)

**Note:** Version bump only for package @loopback/eslint-config





## [1.1.1](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@1.1.0...@loopback/eslint-config@1.1.1) (2019-06-06)

**Note:** Version bump only for package @loopback/eslint-config





# [1.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@1.0.0-3...@loopback/eslint-config@1.1.0) (2019-06-03)


### Features

* replace tslint with eslint ([44185a7](https://github.com/loopbackio/loopback-next/commit/44185a7))
* **eslint-config:** allow detection of tsconfig file ([5c16db6](https://github.com/loopbackio/loopback-next/commit/5c16db6))





# [1.0.0-3](https://github.com/loopbackio/loopback-next/compare/@loopback/eslint-config@1.0.0-2...@loopback/eslint-config@1.0.0-3) (2019-05-31)

**Note:** Version bump only for package @loopback/eslint-config





# 1.0.0-2 (2019-05-30)


### Features

* **build:** add eslint scripts and default configs ([a6abe86](https://github.com/loopbackio/loopback-next/commit/a6abe86))
