typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#621-2023-07-31)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)
##### Bug Fixes
- **eslint-plugin:** \[no-inferrable-types] apply also for parameter properties ([#7288](https://togithub.com/typescript-eslint/typescript-eslint/issues/7288)) ([67f93b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/67f93b19f2e481a4e441635d72e81de9d5d7ad44))
- **scope-manager:** correct decorators(.length) check in ClassVisitor for methods ([#7334](https://togithub.com/typescript-eslint/typescript-eslint/issues/7334)) ([abbb6c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/abbb6c2c6d2bc1f8d4defd2060dbc473735b2cc7))
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
typescript-eslint/typescript-eslint (@typescript-eslint/parser)
### [`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#621-2023-07-31)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)
**Note:** Version bump only for package [@typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
evanw/esbuild (esbuild)
### [`v0.18.18`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01818)
[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.18.17...v0.18.18)
- Fix asset references with the `--line-limit` flag ([#3286](https://togithub.com/evanw/esbuild/issues/3286))
The recently-released `--line-limit` flag tells esbuild to terminate long lines after they pass this length limit. This includes automatically wrapping long strings across multiple lines using escaped newline syntax. However, using this could cause esbuild to generate incorrect code for references from generated output files to assets in the bundle (i.e. files loaded with the `file` or `copy` loaders). This is because esbuild implements asset references internally using find-and-replace with a randomly-generated string, but the find operation fails if the string is split by an escaped newline due to line wrapping. This release fixes the problem by not wrapping these strings. This issue affected asset references in both JS and CSS files.
- Support local names in CSS for `@keyframe`, `@counter-style`, and `@container` ([#20](https://togithub.com/evanw/esbuild/issues/20))
This release extends support for local names in CSS files loaded with the `local-css` loader to cover the `@keyframe`, `@counter-style`, and `@container` rules (and also `animation`, `list-style`, and `container` declarations). Here's an example:
```css
@keyframes pulse {
from, to { opacity: 1 }
50% { opacity: 0.5 }
}
@counter-style moon {
system: cyclic;
symbols: 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔;
}
@container squish {
li { float: left }
}
ul {
animation: 2s ease-in-out infinite pulse;
list-style: inside moon;
container: squish / size;
}
```
With the `local-css` loader enabled, that CSS will be turned into something like this (with the local name mapping exposed to JS):
```css
@keyframes stdin_pulse {
from, to {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@counter-style stdin_moon {
system: cyclic;
symbols: 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔;
}
@container stdin_squish {
li {
float: left;
}
}
ul {
animation: 2s ease-in-out infinite stdin_pulse;
list-style: inside stdin_moon;
container: stdin_squish / size;
}
```
If you want to use a global name within a file loaded with the `local-css` loader, you can use a `:global` selector to do that:
```css
div {
/* All symbols are global inside this scope (i.e.
* "pulse", "moon", and "squish" are global below) */
:global {
animation: 2s ease-in-out infinite pulse;
list-style: inside moon;
container: squish / size;
}
}
```
If you want to use `@keyframes`, `@counter-style`, or `@container` with a global name, make sure it's in a file that uses the `css` or `global-css` loader instead of the `local-css` loader. For example, you can configure `--loader:.module.css=local-css` so that the `local-css` loader only applies to `*.module.css` files.
- Support strings as keyframe animation names in CSS ([#2555](https://togithub.com/evanw/esbuild/issues/2555))
With this release, esbuild will now parse animation names that are specified as strings and will convert them to identifiers. The CSS specification allows animation names to be specified using either identifiers or strings but Chrome only understands identifiers, so esbuild will now always convert string names to identifier names for Chrome compatibility:
```css
/* Original code */
@keyframes "hide menu" {
from { opacity: 1 }
to { opacity: 0 }
}
menu.hide {
animation: 0.5s ease-in-out "hide menu";
}
/* Old output */
@keyframes "hide menu" { from { opacity: 1 } to { opacity: 0 } }
menu.hide {
animation: 0.5s ease-in-out "hide menu";
}
/* New output */
@keyframes hide\ menu {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
menu.hide {
animation: 0.5s ease-in-out hide\ menu;
}
```
prettier/prettier (prettier)
### [`v3.0.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#301)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.0.0...3.0.1)
[diff](https://togithub.com/prettier/prettier/compare/3.0.0...3.0.1)
##### Fix cursor positioning for a special case ([#14812](https://togithub.com/prettier/prettier/pull/14812) by [@fisker](https://togithub.com/fisker))
```js
// <|> is the cursor position
/* Input */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|> } from "fs"
/* Prettier 3.0.0 */
// All messages are represented in JSON.
// So, the prettier.py <|>controls a subprocess which spawns "node {this_file}".
import {} from "fs"
/* Prettier 3.0.1 */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>} from "fs"
```
##### Fix plugins/estree.d.ts to make it a module ([#15018](https://togithub.com/prettier/prettier/pull/15018) by [@kingyue737](https://togithub.com/kingyue737))
Add `export {}` in `plugins/estree.d.ts` to fix the "File is not a module" error
##### Add parenthesis around leading multiline comment in return statement ([#15037](https://togithub.com/prettier/prettier/pull/15037) by [@auvred](https://togithub.com/auvred))
```jsx
// Input
function fn() {
return (
/**
* @type {...}
*/ expresssion
)
}
// Prettier 3.0.0
function fn() {
return /**
* @type {...}
*/ expresssion;
}
// Prettier 3.0.1
function fn() {
return (
/**
* @type {...}
*/ expresssion
);
}
```
##### Add support for Vue "Generic Components" ([#15066](https://togithub.com/prettier/prettier/pull/15066) by [@auvred](https://togithub.com/auvred))
https://blog.vuejs.org/posts/vue-3-3#generic-components
```vue
```
##### Fix comments print in `IfStatement` ([#15076](https://togithub.com/prettier/prettier/pull/15076) by [@fisker](https://togithub.com/fisker))
```js
function a(b) {
if (b) return 1; // comment
else return 2;
}
/* Prettier 3.0.0 */
Error: Comment "comment" was not printed. Please report this error!
/* Prettier 3.0.1 */
function a(b) {
if (b) return 1; // comment
else return 2;
}
```
##### Add missing type definition for `printer.preprocess` ([#15123](https://togithub.com/prettier/prettier/pull/15123) by [@so1ve](https://togithub.com/so1ve))
```diff
export interface Printer {
// ...
+ preprocess?:
+ | ((ast: T, options: ParserOptions) => T | Promise)
+ | undefined;
}
```
##### Add missing `getVisitorKeys` method type definition for `Printer` ([#15125](https://togithub.com/prettier/prettier/pull/15125) by [@auvred](https://togithub.com/auvred))
```tsx
const printer: Printer = {
print: () => [],
getVisitorKeys(node, nonTraversableKeys) {
return ["body"];
},
};
```
##### Add typing to support `readonly` array properties of AST Node ([#15127](https://togithub.com/prettier/prettier/pull/15127) by [@auvred](https://togithub.com/auvred))
```tsx
// Input
interface TestNode {
readonlyArray: readonly string[];
}
declare const path: AstPath;
path.map(() => "", "readonlyArray");
// Prettier 3.0.0
interface TestNode {
readonlyArray: readonly string[];
}
declare const path: AstPath;
path.map(() => "", "readonlyArray");
// ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345)
// Prettier 3.0.1
interface TestNode {
readonlyArray: readonly string[];
}
declare const path: AstPath;
path.map(() => "", "readonlyArray");
```
##### Add space before unary minus followed by a function call ([#15129](https://togithub.com/prettier/prettier/pull/15129) by [@pamelalozano](https://togithub.com/pamelalozano))
```less
// Input
div {
margin: - func();
}
// Prettier 3.0.0
div {
margin: -func();
}
// Prettier 3.0.1
div {
margin: - func();
}
```
rollup/rollup (rollup)
### [`v3.27.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.1...v3.27.2)
*2023-08-04*
##### Bug Fixes
- Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://togithub.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://togithub.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
### [`v3.27.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.0...v3.27.1)
*2023-08-03*
##### Bug Fixes
- Improve performance when generating sourcemaps ([#5075](https://togithub.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://togithub.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
Configuration
📅 Schedule: Branch creation - "before 12pm on Sunday" (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 if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^0.0.242
->^0.0.243
^6.2.0
->^6.2.1
^6.2.0
->^6.2.1
^0.18.17
->^0.18.18
^3.0.0
->^3.0.1
^3.27.0
->^3.27.2
Release Notes
typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#621-2023-07-31) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1) ##### Bug Fixes - **eslint-plugin:** \[no-inferrable-types] apply also for parameter properties ([#7288](https://togithub.com/typescript-eslint/typescript-eslint/issues/7288)) ([67f93b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/67f93b19f2e481a4e441635d72e81de9d5d7ad44)) - **scope-manager:** correct decorators(.length) check in ClassVisitor for methods ([#7334](https://togithub.com/typescript-eslint/typescript-eslint/issues/7334)) ([abbb6c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/abbb6c2c6d2bc1f8d4defd2060dbc473735b2cc7)) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.typescript-eslint/typescript-eslint (@typescript-eslint/parser)
### [`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#621-2023-07-31) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1) **Note:** Version bump only for package [@typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.evanw/esbuild (esbuild)
### [`v0.18.18`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01818) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.18.17...v0.18.18) - Fix asset references with the `--line-limit` flag ([#3286](https://togithub.com/evanw/esbuild/issues/3286)) The recently-released `--line-limit` flag tells esbuild to terminate long lines after they pass this length limit. This includes automatically wrapping long strings across multiple lines using escaped newline syntax. However, using this could cause esbuild to generate incorrect code for references from generated output files to assets in the bundle (i.e. files loaded with the `file` or `copy` loaders). This is because esbuild implements asset references internally using find-and-replace with a randomly-generated string, but the find operation fails if the string is split by an escaped newline due to line wrapping. This release fixes the problem by not wrapping these strings. This issue affected asset references in both JS and CSS files. - Support local names in CSS for `@keyframe`, `@counter-style`, and `@container` ([#20](https://togithub.com/evanw/esbuild/issues/20)) This release extends support for local names in CSS files loaded with the `local-css` loader to cover the `@keyframe`, `@counter-style`, and `@container` rules (and also `animation`, `list-style`, and `container` declarations). Here's an example: ```css @keyframes pulse { from, to { opacity: 1 } 50% { opacity: 0.5 } } @counter-style moon { system: cyclic; symbols: 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔; } @container squish { li { float: left } } ul { animation: 2s ease-in-out infinite pulse; list-style: inside moon; container: squish / size; } ``` With the `local-css` loader enabled, that CSS will be turned into something like this (with the local name mapping exposed to JS): ```css @keyframes stdin_pulse { from, to { opacity: 1; } 50% { opacity: 0.5; } } @counter-style stdin_moon { system: cyclic; symbols: 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔; } @container stdin_squish { li { float: left; } } ul { animation: 2s ease-in-out infinite stdin_pulse; list-style: inside stdin_moon; container: stdin_squish / size; } ``` If you want to use a global name within a file loaded with the `local-css` loader, you can use a `:global` selector to do that: ```css div { /* All symbols are global inside this scope (i.e. * "pulse", "moon", and "squish" are global below) */ :global { animation: 2s ease-in-out infinite pulse; list-style: inside moon; container: squish / size; } } ``` If you want to use `@keyframes`, `@counter-style`, or `@container` with a global name, make sure it's in a file that uses the `css` or `global-css` loader instead of the `local-css` loader. For example, you can configure `--loader:.module.css=local-css` so that the `local-css` loader only applies to `*.module.css` files. - Support strings as keyframe animation names in CSS ([#2555](https://togithub.com/evanw/esbuild/issues/2555)) With this release, esbuild will now parse animation names that are specified as strings and will convert them to identifiers. The CSS specification allows animation names to be specified using either identifiers or strings but Chrome only understands identifiers, so esbuild will now always convert string names to identifier names for Chrome compatibility: ```css /* Original code */ @keyframes "hide menu" { from { opacity: 1 } to { opacity: 0 } } menu.hide { animation: 0.5s ease-in-out "hide menu"; } /* Old output */ @keyframes "hide menu" { from { opacity: 1 } to { opacity: 0 } } menu.hide { animation: 0.5s ease-in-out "hide menu"; } /* New output */ @keyframes hide\ menu { from { opacity: 1; } to { opacity: 0; } } menu.hide { animation: 0.5s ease-in-out hide\ menu; } ```prettier/prettier (prettier)
### [`v3.0.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#301) [Compare Source](https://togithub.com/prettier/prettier/compare/3.0.0...3.0.1) [diff](https://togithub.com/prettier/prettier/compare/3.0.0...3.0.1) ##### Fix cursor positioning for a special case ([#14812](https://togithub.com/prettier/prettier/pull/14812) by [@fisker](https://togithub.com/fisker)) ```js // <|> is the cursor position /* Input */ // All messages are represented in JSON. // So, the prettier.py controls a subprocess which spawns "node {this_file}". import {<|> } from "fs" /* Prettier 3.0.0 */ // All messages are represented in JSON. // So, the prettier.py <|>controls a subprocess which spawns "node {this_file}". import {} from "fs" /* Prettier 3.0.1 */ // All messages are represented in JSON. // So, the prettier.py controls a subprocess which spawns "node {this_file}". import {<|>} from "fs" ``` ##### Fix plugins/estree.d.ts to make it a module ([#15018](https://togithub.com/prettier/prettier/pull/15018) by [@kingyue737](https://togithub.com/kingyue737)) Add `export {}` in `plugins/estree.d.ts` to fix the "File is not a module" error ##### Add parenthesis around leading multiline comment in return statement ([#15037](https://togithub.com/prettier/prettier/pull/15037) by [@auvred](https://togithub.com/auvred)) ```jsx // Input function fn() { return ( /** * @type {...} */ expresssion ) } // Prettier 3.0.0 function fn() { return /** * @type {...} */ expresssion; } // Prettier 3.0.1 function fn() { return ( /** * @type {...} */ expresssion ); } ``` ##### Add support for Vue "Generic Components" ([#15066](https://togithub.com/prettier/prettier/pull/15066) by [@auvred](https://togithub.com/auvred)) https://blog.vuejs.org/posts/vue-3-3#generic-components ```vue ``` ##### Fix comments print in `IfStatement` ([#15076](https://togithub.com/prettier/prettier/pull/15076) by [@fisker](https://togithub.com/fisker)) ```js function a(b) { if (b) return 1; // comment else return 2; } /* Prettier 3.0.0 */ Error: Comment "comment" was not printed. Please report this error! /* Prettier 3.0.1 */ function a(b) { if (b) return 1; // comment else return 2; } ``` ##### Add missing type definition for `printer.preprocess` ([#15123](https://togithub.com/prettier/prettier/pull/15123) by [@so1ve](https://togithub.com/so1ve)) ```diff export interface Printerrollup/rollup (rollup)
### [`v3.27.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.1...v3.27.2) *2023-08-04* ##### Bug Fixes - Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://togithub.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://togithub.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) ### [`v3.27.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.0...v3.27.1) *2023-08-03* ##### Bug Fixes - Improve performance when generating sourcemaps ([#5075](https://togithub.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://togithub.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))Configuration
📅 Schedule: Branch creation - "before 12pm on Sunday" (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 if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.