Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add generic type annotations for Statement and Database get/all/each methods callback rows #1686

Merged
merged 2 commits into from Mar 13, 2023
Merged

Add generic type annotations for Statement and Database get/all/each methods callback rows #1686

merged 2 commits into from Mar 13, 2023

Conversation

stevescruz
Copy link
Contributor

@stevescruz stevescruz commented Feb 24, 2023

Description

Small change, but some developers enjoy working with generics over the any type when using TypeScript.

Added Generics type annotations for the following methods:

  • Statement.get
  • Statement.all
  • Statement.each
  • Database.get
  • Database.all
  • Database.each

Backwards Compatibility

This will not break existing TypeScript code. It will still be possible to directly add type annotations to the row/rows.

Examples:

Take into consideration the following TypeScript code:

import sqlite3 from "sqlite3";

interface IUser {
    id: string;
    name: string;
    email: string;
}

const db = new sqlite3.Database("./test.db");
const createTableQuery = `CREATE TABLE IF NOT EXISTS users (
    id TEXT PRIMARY KEY NOT NULL,
    name TEXT NOT NULL,
    email TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)`;

How type annotations currently works:
NOTE: this will still work after the code changes.

const query = "SELECT * FROM users";
db.all(query, [], (err, rows: IUser[]) => {
    if (err) {
        console.error(err.message);
    } else {
        console.log(rows[1].email);
    }
});

Now you will be able to:

const query = "SELECT * FROM users";
db.all<IUser>(query, [], (err, rows) => {
    if (err) {
        console.error(err.message);
    } else {
        console.log(rows[1].email);
    }
});

…ent methods

-For get method callback's row
-For all method callback's rows
-For each method callback's row
…se methods

-For get method callback's row
-For all method callback's rows
-For each method callback's row
@stevescruz stevescruz changed the title Add generic type definitions for Statement and Database get/all/each methods callback rows Add generic type annotations for Statement and Database get/all/each methods callback rows Feb 24, 2023
@stevescruz
Copy link
Contributor Author

@daniellockyer thanks for running the CI pipeline.
We can add the "types" label to this PR.

@daniellockyer daniellockyer merged commit 46da1ab into TryGhost:master Mar 13, 2023
30 checks passed
@daniellockyer
Copy link
Member

@stevescruz Nice, thanks!

@stevescruz stevescruz deleted the stevescruz/add-generic-type-definitions-for-callback-rows branch March 22, 2023 06:48
xballoy added a commit to kumojin/extreme-carpaccio that referenced this pull request Apr 17, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@formatjs/intl-numberformat](https://togithub.com/formatjs/formatjs)
| [`8.3.5` ->
`8.4.0`](https://renovatebot.com/diffs/npm/@formatjs%2fintl-numberformat/8.3.5/8.4.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@formatjs%2fintl-numberformat/8.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@formatjs%2fintl-numberformat/8.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@formatjs%2fintl-numberformat/8.4.0/compatibility-slim/8.3.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@formatjs%2fintl-numberformat/8.4.0/confidence-slim/8.3.5)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[@types/lodash](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`4.14.191` ->
`4.14.194`](https://renovatebot.com/diffs/npm/@types%2flodash/4.14.191/4.14.194)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2flodash/4.14.194/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2flodash/4.14.194/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2flodash/4.14.194/compatibility-slim/4.14.191)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2flodash/4.14.194/confidence-slim/4.14.191)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.15.1` ->
`18.15.11`](https://renovatebot.com/diffs/npm/@types%2fnode/18.15.1/18.15.11)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/compatibility-slim/18.15.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/confidence-slim/18.15.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.15.1` ->
`18.15.11`](https://renovatebot.com/diffs/npm/@types%2fnode/18.15.1/18.15.11)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/compatibility-slim/18.15.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/confidence-slim/18.15.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.0.28` ->
`18.0.35`](https://renovatebot.com/diffs/npm/@types%2freact/18.0.28/18.0.35)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/compatibility-slim/18.0.28)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/confidence-slim/18.0.28)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.0.28` ->
`18.0.35`](https://renovatebot.com/diffs/npm/@types%2freact/18.0.28/18.0.35)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/compatibility-slim/18.0.28)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.35/confidence-slim/18.0.28)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [joi](https://togithub.com/hapijs/joi) | [`17.8.3` ->
`17.9.1`](https://renovatebot.com/diffs/npm/joi/17.8.3/17.9.1) |
[![age](https://badges.renovateapi.com/packages/npm/joi/17.9.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/joi/17.9.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/joi/17.9.1/compatibility-slim/17.8.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/joi/17.9.1/confidence-slim/17.8.3)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [node-mocks-http](https://togithub.com/howardabrams/node-mocks-http) |
[`1.12.1` ->
`1.12.2`](https://renovatebot.com/diffs/npm/node-mocks-http/1.12.1/1.12.2)
|
[![age](https://badges.renovateapi.com/packages/npm/node-mocks-http/1.12.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/node-mocks-http/1.12.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/node-mocks-http/1.12.2/compatibility-slim/1.12.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/node-mocks-http/1.12.2/confidence-slim/1.12.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`2.8.4` ->
`2.8.7`](https://renovatebot.com/diffs/npm/prettier/2.8.4/2.8.7) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/compatibility-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/confidence-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [react-bootstrap](https://react-bootstrap.github.io/)
([source](https://togithub.com/react-bootstrap/react-bootstrap)) |
[`2.7.2` ->
`2.7.4`](https://renovatebot.com/diffs/npm/react-bootstrap/2.7.2/2.7.4)
|
[![age](https://badges.renovateapi.com/packages/npm/react-bootstrap/2.7.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/react-bootstrap/2.7.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/react-bootstrap/2.7.4/compatibility-slim/2.7.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/react-bootstrap/2.7.4/confidence-slim/2.7.2)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [react-query](https://togithub.com/tannerlinsley/react-query) |
[`3.39.3` ->
`4.0.5`](https://renovatebot.com/diffs/npm/react-query/3.39.3/) |
[![age](https://badges.renovateapi.com/packages/npm/react-query//age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/react-query//adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/react-query//compatibility-slim/3.39.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/react-query//confidence-slim/3.39.3)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | replacement |
| [rimraf](https://togithub.com/isaacs/rimraf) | [`4.4.0` ->
`5.0.0`](https://renovatebot.com/diffs/npm/rimraf/4.4.0/5.0.0) |
[![age](https://badges.renovateapi.com/packages/npm/rimraf/5.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/rimraf/5.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/rimraf/5.0.0/compatibility-slim/4.4.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/rimraf/5.0.0/confidence-slim/4.4.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | major |
| [sqlite3](https://togithub.com/TryGhost/node-sqlite3) | [`5.1.4` ->
`5.1.6`](https://renovatebot.com/diffs/npm/sqlite3/5.1.4/5.1.6) |
[![age](https://badges.renovateapi.com/packages/npm/sqlite3/5.1.6/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/sqlite3/5.1.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/sqlite3/5.1.6/compatibility-slim/5.1.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/sqlite3/5.1.6/confidence-slim/5.1.4)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [tsup](https://tsup.egoist.dev/)
([source](https://togithub.com/egoist/tsup)) | [`6.6.3` ->
`6.7.0`](https://renovatebot.com/diffs/npm/tsup/6.6.3/6.7.0) |
[![age](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/compatibility-slim/6.6.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/confidence-slim/6.6.3)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [turbo](https://turbo.build/repo)
([source](https://togithub.com/vercel/turbo)) | [`1.8.3` ->
`1.9.1`](https://renovatebot.com/diffs/npm/turbo/1.8.3/1.9.1) |
[![age](https://badges.renovateapi.com/packages/npm/turbo/1.9.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/turbo/1.9.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/turbo/1.9.1/compatibility-slim/1.8.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/turbo/1.9.1/confidence-slim/1.8.3)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`4.9.5` ->
`5.0.4`](https://renovatebot.com/diffs/npm/typescript/4.9.5/5.0.4) |
[![age](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/compatibility-slim/4.9.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/confidence-slim/4.9.5)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | major |
| [vite](https://togithub.com/vitejs/vite/tree/main/#readme)
([source](https://togithub.com/vitejs/vite)) | [`4.1.4` ->
`4.2.1`](https://renovatebot.com/diffs/npm/vite/4.1.4/4.2.1) |
[![age](https://badges.renovateapi.com/packages/npm/vite/4.2.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vite/4.2.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vite/4.2.1/compatibility-slim/4.1.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vite/4.2.1/confidence-slim/4.1.4)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |

This is a special PR that replaces `react-query` with the community
suggested minimal stable replacement version.

---

### Release Notes

<details>
<summary>formatjs/formatjs</summary>

###
[`v8.4.0`](https://togithub.com/formatjs/formatjs/releases/tag/%40formatjs/intl-numberformat%408.4.0)

[Compare
Source](https://togithub.com/formatjs/formatjs/compare/@formatjs/intl-numberformat@8.3.5...@formatjs/intl-numberformat@8.4.0)

##### Features

- upgrade TS support to v5
([2c43dc1](https://togithub.com/formatjs/formatjs/commit/2c43dc1275d7ca940fae80419e3d6e4143bfbfef))

</details>

<details>
<summary>hapijs/joi</summary>

###
[`v17.9.1`](https://togithub.com/hapijs/joi/compare/v17.9.0...v17.9.1)

[Compare
Source](https://togithub.com/hapijs/joi/compare/v17.9.0...v17.9.1)

###
[`v17.9.0`](https://togithub.com/hapijs/joi/compare/v17.8.4...v17.9.0)

[Compare
Source](https://togithub.com/hapijs/joi/compare/v17.8.4...v17.9.0)

###
[`v17.8.4`](https://togithub.com/hapijs/joi/compare/v17.8.3...v17.8.4)

[Compare
Source](https://togithub.com/hapijs/joi/compare/v17.8.3...v17.8.4)

</details>

<details>
<summary>howardabrams/node-mocks-http</summary>

###
[`v1.12.2`](https://togithub.com/howardabrams/node-mocks-http/blob/HEAD/HISTORY.md#v-1122)

[Compare
Source](https://togithub.com/howardabrams/node-mocks-http/compare/v1.12.1...v1.12.2)

- 📦️ Upgrade [@&#8203;types/express](https://togithub.com/types/express)
[Issue #&#8203;267][267].
-   setHeader should return this [Issue #&#8203;268][268].

[267]: https://togithub.com/howardabrams/node-mocks-http/issues/267

[268]: https://togithub.com/howardabrams/node-mocks-http/issues/268

</details>

<details>
<summary>prettier/prettier</summary>

###
[`v2.8.7`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;287)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.6...2.8.7)

[diff](https://togithub.com/prettier/prettier/compare/2.8.6...2.8.7)

##### Allow multiple decorators on same getter/setter
([#&#8203;14584](https://togithub.com/prettier/prettier/pull/14584) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```ts
// Input
class A {
  @&#8203;decorator()
  get foo () {}
  
  @&#8203;decorator()
  set foo (value) {}
}

// Prettier 2.8.6
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
  3 |   get foo () {}
  4 |   
> 5 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  6 |   set foo (value) {}
  7 | }

// Prettier 2.8.7
class A {
  @&#8203;decorator()
  get foo() {}

  @&#8203;decorator()
  set foo(value) {}
}
```

###
[`v2.8.6`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;286)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.5...2.8.6)

[diff](https://togithub.com/prettier/prettier/compare/2.8.5...2.8.6)

##### Allow decorators on private members and class expressions
([#&#8203;14548](https://togithub.com/prettier/prettier/pull/14548) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```ts
// Input
class A {
  @&#8203;decorator()
  #privateMethod () {}
}

// Prettier 2.8.5
SyntaxError: Decorators are not valid here. (2:3)
  1 | class A {
> 2 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  3 |   #privateMethod () {}
  4 | }

// Prettier 2.8.6
class A {
  @&#8203;decorator()
  #privateMethod() {}
}
```

###
[`v2.8.5`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;285)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.4...2.8.5)

[diff](https://togithub.com/prettier/prettier/compare/2.8.4...2.8.5)

##### Support TypeScript 5.0
([#&#8203;14391](https://togithub.com/prettier/prettier/pull/14391) by
[@&#8203;fisker](https://togithub.com/fisker),
[#&#8203;13819](https://togithub.com/prettier/prettier/pull/13819) by
[@&#8203;fisker](https://togithub.com/fisker),
[@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki))

TypeScript 5.0 introduces two new syntactic features:

-   `const` modifiers for type parameters
-   `export type *` declarations

##### Add missing parentheses for decorator
([#&#8203;14393](https://togithub.com/prettier/prettier/pull/14393) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}

// Prettier 2.8.4
class Person {
  @&#8203;myDecoratorArray[0]
  greet() {}
}

// Prettier 2.8.5
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}
```

##### Add parentheses for `TypeofTypeAnnotation` to improve readability
([#&#8203;14458](https://togithub.com/prettier/prettier/pull/14458) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```tsx
// Input
type A = (typeof node.children)[];

// Prettier 2.8.4
type A = typeof node.children[];

// Prettier 2.8.5
type A = (typeof node.children)[];
```

##### Support `max_line_length=off` when parsing `.editorconfig`
([#&#8203;14516](https://togithub.com/prettier/prettier/pull/14516) by
[@&#8203;josephfrazier](https://togithub.com/josephfrazier))

If an .editorconfig file is in your project and it sets
`max_line_length=off` for the file you're formatting,
it will be interpreted as a `printWidth` of `Infinity` rather than being
ignored
(which previously resulted in the default `printWidth` of 80 being
applied, if not overridden by Prettier-specific configuration).

<!-- prettier-ignore -->

```html
<!-- Input -->
<div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}/>

<!-- Prettier 2.8.4 -->
<div
  className="HelloWorld"
  title={`You are visitor number ${num}`}
  onMouseOver={onMouseOver}
/>;

<!-- Prettier 2.8.5 -->
<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver} />;
```

</details>

<details>
<summary>react-bootstrap/react-bootstrap</summary>

###
[`v2.7.4`](https://togithub.com/react-bootstrap/react-bootstrap/blob/HEAD/CHANGELOG.md#&#8203;274-httpsgithubcomreact-bootstrapreact-bootstrapcomparev273v274-2023-04-15)

[Compare
Source](https://togithub.com/react-bootstrap/react-bootstrap/compare/v2.7.3...v2.7.4)

##### Bug Fixes

- downgrade uncontrollable to 7.2.1
([#&#8203;6592](https://togithub.com/react-bootstrap/react-bootstrap/issues/6592))
([3898c72](https://togithub.com/react-bootstrap/react-bootstrap/commit/3898c72a6a5e2f6012633e81d9d9f9052fc06dd2))
- update dependencies
([#&#8203;6587](https://togithub.com/react-bootstrap/react-bootstrap/issues/6587))
([753dc53](https://togithub.com/react-bootstrap/react-bootstrap/commit/753dc53c822054fff286ed39feb7c9c38e38053b))

###
[`v2.7.3`](https://togithub.com/react-bootstrap/react-bootstrap/blob/HEAD/CHANGELOG.md#&#8203;273-httpsgithubcomreact-bootstrapreact-bootstrapcomparev272v273-2023-04-12)

[Compare
Source](https://togithub.com/react-bootstrap/react-bootstrap/compare/v2.7.2...v2.7.3)

##### Bug Fixes

- **ToastContainer:** allow setting `containerPosition` without
`position`
([#&#8203;6574](https://togithub.com/react-bootstrap/react-bootstrap/issues/6574))
([41ec134](https://togithub.com/react-bootstrap/react-bootstrap/commit/41ec134dea072d1656e47f31cac217feb433f9fc))
- switch from defaultProps to JS default params
([#&#8203;6568](https://togithub.com/react-bootstrap/react-bootstrap/issues/6568))
([1d5b726](https://togithub.com/react-bootstrap/react-bootstrap/commit/1d5b726de93ec52cd71b22048b5f92198e48db68))

</details>

<details>
<summary>isaacs/rimraf</summary>

###
[`v5.0.0`](https://togithub.com/isaacs/rimraf/compare/v4.4.1...v5.0.0)

[Compare
Source](https://togithub.com/isaacs/rimraf/compare/v4.4.1...v5.0.0)

###
[`v4.4.1`](https://togithub.com/isaacs/rimraf/compare/v4.4.0...v4.4.1)

[Compare
Source](https://togithub.com/isaacs/rimraf/compare/v4.4.0...v4.4.1)

</details>

<details>
<summary>TryGhost/node-sqlite3</summary>

###
[`v5.1.6`](https://togithub.com/TryGhost/node-sqlite3/releases/tag/v5.1.6)

[Compare
Source](https://togithub.com/TryGhost/node-sqlite3/compare/v5.1.5...v5.1.6)

##### What's Changed

- Fixed glibc compatibility by hardcoding lower version for `log2` by
[@&#8203;daniellockyer](https://togithub.com/daniellockyer)
- Add generic type annotations for Statement and Database get/all/each
methods callback rows by
[@&#8203;stevescruz](https://togithub.com/stevescruz) in
[TryGhost/node-sqlite3#1686

##### New Contributors

- [@&#8203;stevescruz](https://togithub.com/stevescruz) made their first
contribution in
[TryGhost/node-sqlite3#1686

**Full Changelog**:
TryGhost/node-sqlite3@v5.1.5...v5.1.6

###
[`v5.1.5`](https://togithub.com/TryGhost/node-sqlite3/releases/tag/v5.1.5)

[Compare
Source](https://togithub.com/TryGhost/node-sqlite3/compare/v5.1.4...v5.1.5)

##### What's Changed

- 🔒 Fixed code execution vulnerability due to Object coercion by
[@&#8203;daniellockyer](https://togithub.com/daniellockyer)
- Updated bundled SQLite to v3.41.1 by
[@&#8203;daniellockyer](https://togithub.com/daniellockyer)
- Fixed rpath linker option when using a custom sqlite by
[@&#8203;jeromew](https://togithub.com/jeromew) in
[TryGhost/node-sqlite3#1654

**Full Changelog**:
TryGhost/node-sqlite3@v5.1.4...v5.1.5

</details>

<details>
<summary>egoist/tsup</summary>

### [`v6.7.0`](https://togithub.com/egoist/tsup/releases/tag/v6.7.0)

[Compare
Source](https://togithub.com/egoist/tsup/compare/v6.6.3...v6.7.0)

##### Features

- add function type for options.injectStyle
([#&#8203;855](https://togithub.com/egoist/tsup/issues/855))
([01169b3](https://togithub.com/egoist/tsup/commit/01169b39756a26d84bd393e0f4c4a0c3bec922ca))
- support typescript 5.0
([#&#8203;859](https://togithub.com/egoist/tsup/issues/859))
([3e15867](https://togithub.com/egoist/tsup/commit/3e158674bdeb3d060404987e1b278fd7d21ccda1))

</details>

<details>
<summary>vercel/turbo</summary>

### [`v1.9.1`](https://togithub.com/vercel/turbo/releases/tag/v1.9.1):
Turborepo v1.9.1

[Compare
Source](https://togithub.com/vercel/turbo/compare/v1.9.0...v1.9.1)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v1.9.1 -->

#### What's Changed

##### Changelog

- Add more readme for integration tests by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4515
- Deprecate `THASH`. by
[@&#8203;nathanhammond](https://togithub.com/nathanhammond) in
[vercel/turbo#4526
- oldGlobalHash can be named by
[@&#8203;nathanhammond](https://togithub.com/nathanhammond) in
[vercel/turbo#4528
- feat(summary): add taskId to single package task by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4530
- Document --summarize flag and include in Troubleshooting doc by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4467
- feat(examples): update READMEs for create-turbo by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4451
- Documentation for Strict Environments by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4490
- chore(turborepo): Make rustls the default feature for turborepo-lib by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#4537
- fix(turborepo): SCM tests and renaming by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#4462
- Update data sent to vercel for runs by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4495
- Gather Run Summary even when tasks fail by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4524
- Update old testbed make target to fixture- for new fixtures layout by
[@&#8203;gsoltis](https://togithub.com/gsoltis) in
[vercel/turbo#4538
- Use both key and version when sorting lockfile entries by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4541
- Save task duration correctly by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4540

**Full Changelog**:
vercel/turbo@v1.9.0...v1.9.1

### [`v1.9.0`](https://togithub.com/vercel/turbo/releases/tag/v1.9.0):
Turborepo v1.9.0

[Compare
Source](https://togithub.com/vercel/turbo/compare/v1.8.8...v1.9.0)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v1.9.0 -->

#### What's Changed

##### Changelog

- Log the location of the summary file in the execution summary by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4385
- Remove unused params in real run functions by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4402
- Refactor Dry Run so that output is printed by Run Summaries by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4403
- Make Run Summaries work for Single Package repos by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4387
- Add cache state to task summaries on real runs (2nd try) by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4393
- Remove executionSummary from dry run json by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4394
- chore(deps): update dependency nodemon to v2.0.22 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vercel/turbo#4201
- Account for canary versions in integration test for run summary by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4413
- fix: use signal handler in shim by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4313
- fix: delete libgit2 by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4419
- Make --summarize flag to work without a value by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4375
- Enable the summarize flag in help output by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4418
- fix: update example lockfiles by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4321
- feature(turborepo): `-F` as filter shorthand by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#4422
- chore: removing signal forwarding test by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4436
- chore(deps): update yarn to v1.22.19 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vercel/turbo#4404
- Polish the shape of the Run Summary JSON by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4421
- Add sub-package info to environment-variables.mdx by
[@&#8203;ozum](https://togithub.com/ozum) in
[vercel/turbo#4406
- feat(create-turbo): support examples by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4398
- Add a debugging section in our docs by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4423
- chore(version): bump canary version by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4453
- fix(lockfile): correct lockfile version by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4461
- fix(deps): update dependency got to v11 \[security] by
[@&#8203;renovate](https://togithub.com/renovate) in
[vercel/turbo#4457
- Fix typos in example tsconfig' readme by
[@&#8203;FranciscoMoretti](https://togithub.com/FranciscoMoretti) in
[vercel/turbo#4486
- chore: pipe through root package json to lockfile parsing by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4437
- chore: Remove release flag from turborepo-ffi build by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#4478
- Strict Environment Handling by
[@&#8203;nathanhammond](https://togithub.com/nathanhammond) in
[vercel/turbo#4449
- chore: update `with-tailwind` example by
[@&#8203;Chia1104](https://togithub.com/Chia1104) in
[vercel/turbo#4379
- ci: Stop building Go code twice by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#4501
- Remove unused constant by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4502
- Improve integration test setup by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4512
- fix(examples): with-rollup by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4514
- Fix Missing packages key when there are no changes in a monorepo by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4518
- fix: use ordered data structure for npm lockfile by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4516

#### New Contributors

- [@&#8203;ozum](https://togithub.com/ozum) made their first
contribution in
[vercel/turbo#4406
- [@&#8203;FranciscoMoretti](https://togithub.com/FranciscoMoretti) made
their first contribution in
[vercel/turbo#4486
- [@&#8203;Chia1104](https://togithub.com/Chia1104) made their first
contribution in
[vercel/turbo#4379
- [@&#8203;cursecodes](https://togithub.com/cursecodes) made their first
contribution in
[vercel/turbo#4427

**Full Changelog**:
vercel/turbo@v1.8.8...v1.9.0

### [`v1.8.8`](https://togithub.com/vercel/turbo/releases/tag/v1.8.8):
Turborepo v1.8.8

[Compare
Source](https://togithub.com/vercel/turbo/compare/v1.8.7...v1.8.8)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v1.8.8 -->

#### What's Changed

##### Changelog

- feat(place patches in json folder when pruning for docker) by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#4318
- chore(deps): update dependency tsx to v3.12.6 by
[@&#8203;renovate](https://togithub.com/renovate) in
[vercel/turbo#4328
- Make attempted include tasks that started but didn't finish by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4378
- Revert "Add cache state to task summaries on real runs" by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#4390

**Full Changelog**:
vercel/turbo@v1.8.7...v1.8.8

### [`v1.8.7`](https://togithub.com/vercel/turbo/releases/tag/v1.8.7):
Turborepo v1.8.7

[Compare
Source](https://togithub.com/vercel/turbo/compare/v1.8.6...v1.8.7)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v1.8.7 -->

#### What's Changed

##### Changelog

- Add cache state to task summaries on real runs by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4225
- Update Done payload for Vercel Runs by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#4371
- move env var handling into rust and expose summarize env as a command
by [@&#8203;arlyon](https://togithub.com/arlyon) in
[vercel/turbo#4364

**Full Changelog**: https://github.com/vercel/turbo/compare/v1.8.6.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 3am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/kumojin/extreme-carpaccio).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4yMi4xIiwidXBkYXRlZEluVmVyIjoiMzUuNDguMiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants