-
-
Notifications
You must be signed in to change notification settings - Fork 19
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
Refactor to improve performance w/ hoisted regex #39
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This comment has been minimized.
This comment has been minimized.
github-actions
bot
added
🤞 phase/open
Post is being triaged manually
and removed
👋 phase/new
Post is being triaged automatically
labels
Apr 3, 2024
wooorm
approved these changes
Apr 3, 2024
wooorm
changed the title
Hoist regex and entity subset
Refactor to improve performance w/ hoisted regex
Apr 3, 2024
Hi! This was closed. Team: If this was merged, please describe when this is likely to be released. Otherwise, please add one of the |
Thanks, released! |
renovate bot
referenced
this pull request
in turtton/volglass
Apr 5, 2024
[![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 | |---|---|---|---|---|---|---|---| | [@biomejs/biome](https://biomejs.dev) ([source](https://togithub.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome)) | [`1.5.3` -> `1.6.4`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.5.3/1.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.5.3/1.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.5.3/1.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`18.19.26` -> `18.19.30`](https://renovatebot.com/diffs/npm/@types%2fnode/18.19.26/18.19.30) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.19.30?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/18.19.30?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/18.19.26/18.19.30?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.19.26/18.19.30?slim=true)](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/tree/HEAD/types/react)) | [`18.2.73` -> `18.2.74`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.73/18.2.74) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.73/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.73/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/react-dom](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`18.2.23` -> `18.2.24`](https://renovatebot.com/diffs/npm/@types%2freact-dom/18.2.23/18.2.24) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/18.2.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/18.2.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/18.2.23/18.2.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/18.2.23/18.2.24?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [gradle](https://gradle.org) ([source](https://togithub.com/gradle/gradle)) | `8.6` -> `8.7` | [![age](https://developer.mend.io/api/mc/badges/age/gradle-version/gradle/8.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/gradle-version/gradle/8.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/gradle-version/gradle/8.6/8.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/gradle-version/gradle/8.6/8.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | minor | | gradle | `8.6.0-jdk11` -> `8.7.0-jdk11` | [![age](https://developer.mend.io/api/mc/badges/age/docker/gradle/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/gradle/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/gradle/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/gradle/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | stage | minor | | [hast-util-to-html](https://togithub.com/syntax-tree/hast-util-to-html) | [`9.0.0` -> `9.0.1`](https://renovatebot.com/diffs/npm/hast-util-to-html/9.0.0/9.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/hast-util-to-html/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/hast-util-to-html/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/hast-util-to-html/9.0.0/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/hast-util-to-html/9.0.0/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) | [`8.15.4` -> `8.15.6`](https://renovatebot.com/diffs/npm/pnpm/8.15.4/8.15.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.15.4/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.15.4/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | patch | | [reactflow](https://togithub.com/xyflow/xyflow) ([source](https://togithub.com/xyflow/xyflow/tree/HEAD/packages/reactflow)) | [`11.10.4` -> `11.11.0`](https://renovatebot.com/diffs/npm/reactflow/11.10.4/11.11.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/reactflow/11.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/reactflow/11.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/reactflow/11.10.4/11.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/reactflow/11.10.4/11.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [ts-pattern](https://togithub.com/gvergnaud/ts-pattern) | [`5.0.8` -> `5.1.0`](https://renovatebot.com/diffs/npm/ts-pattern/5.0.8/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ts-pattern/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ts-pattern/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ts-pattern/5.0.8/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-pattern/5.0.8/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [typescript](https://www.typescriptlang.org/) ([source](https://togithub.com/Microsoft/TypeScript)) | [`5.4.3` -> `5.4.4`](https://renovatebot.com/diffs/npm/typescript/5.4.3/5.4.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.4.3/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.4.3/5.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom](https://togithub.com/JetBrains/kotlin-wrappers) | `1.0.0-pre.710` -> `1.0.0-pre.723` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom/1.0.0-pre.723?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom/1.0.0-pre.723?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom/1.0.0-pre.710/1.0.0-pre.723?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom/1.0.0-pre.710/1.0.0-pre.723?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [org.jetbrains:markdown](https://togithub.com/JetBrains/markdown) | `0.6.1` -> `0.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains:markdown/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains:markdown/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains:markdown/0.6.1/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains:markdown/0.6.1/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>biomejs/biome (@​biomejs/biome)</summary> ### [`v1.6.4`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#164-2022-04-03) [Compare Source](https://togithub.com/biomejs/biome/compare/23b5a73ac7ccd4920f13919aaa712b9364020e88...f6fd1ef7130e7bcd1466aa78ae7295fc5fdd5d58) ##### Analyzer ##### Bug fixes - An operator with no spaces around in a binary expression no longer breaks the js analyzer ([#​2243](https://togithub.com/biomejs/biome/issues/2243)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### CLI ##### Bug fixes - Fix the printed error count ([#​2048](https://togithub.com/biomejs/biome/issues/2048)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Configuration ##### Bug fixes - Correctly calculate enabled rules in lint rule groups. Now a specific rule belonging to a group can be enabled even if its group-level preset option `recommended` or `all` is `false` ([#​2191](https://togithub.com/biomejs/biome/issues/2191)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Editors ##### Bug fixes - Fix the unexpected code deletion and repetition when `quickfix.biome` is enabled and some `import`-related rules are applied ([#​2222](https://togithub.com/biomejs/biome/issues/2222), [#​688](https://togithub.com/biomejs/biome/issues/688), [#​1015](https://togithub.com/biomejs/biome/issues/1015)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Linter ##### Bug fixes - Fix [#​2211](https://togithub.com/biomejs/biome/issues/2211). noChildrenProp should work fine when children pass as a prop in a new line. Contributed by [@​fireairforce](https://togithub.com/fireairforce) - Fix [#​2248](https://togithub.com/biomejs/biome/issues/2248). `lint/a11y/useButtonType` should not trigger when button element with spread attribute. Contributed by [@​fireairforce](https://togithub.com/fireairforce) - Fix [#​2216](https://togithub.com/biomejs/biome/issues/2216). `lint/style/useNamingConvention` should not ignore JSX Component name binding. Contributed by [@​fireairforce](https://togithub.com/fireairforce) ##### Enhancements - Add support for object property members in the rule `useSortedClasses`. Contributed by [@​ematipico](https://togithub.com/ematipico) ##### Parser - The parser doesn't throw any error when the frontmatter of `.astro` files contains an illegal return: ### [`v1.6.3`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#163-2024-03-25) [Compare Source](https://togithub.com/biomejs/biome/compare/7669b334ecfb9580abe83bbf6141232805f0e4bd...23b5a73ac7ccd4920f13919aaa712b9364020e88) ##### Analyzer ##### CLI ##### Bug fixes - Fix configuration resolution. Biome is now able to correctly find the `biome.jsonc` configuration file when `--config-path` is explicitly set ([#​2164](https://togithub.com/biomejs/biome/issues/2164)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - JavaScript/TypeScript files of different variants (`.ts`, `.js`, `.tsx`, `.jsx`) in a single workspace now have stable formatting behaviors when running the CLI command in paths of different nested levels or in different operating systems ([#​2080](https://togithub.com/biomejs/biome/issues/2080), [#​2109](https://togithub.com/biomejs/biome/issues/2109)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Configuration ##### Bug fixes - Complete the documentation and overrides support for options `formatter.lineEnding`, `[language].formatter.lineEnding`, `formatter.attributePosition` and `javascript.formatter.attributePosition`. Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Editors ##### Formatter ##### Bug fixes - Fix [#​2172](https://togithub.com/biomejs/biome/issues/2172) by breaking long object destructuring patterns. Contributed by [@​ah-yu](https://togithub.com/ah-yu) ##### JavaScript APIs ##### Linter ##### New features - Add rule [noEvolvingAny](https://biomejs.dev/linter/rules/no-evolving-any) to disallow variables from evolving into `any` type through reassignments. Contributed by [@​fujiyamaorange](https://togithub.com/fujiyamaorange) ##### Enhancements - Rename `noSemicolonInJsx` to `noSuspiciousSemicolonInJsx`. Contributed by [@​fujiyamaorange](https://togithub.com/fujiyamaorange) ##### LSP ##### Bug fixes - Quickfix action no longer autofixes lint rule errors on save when `linter` is disabled ([#​2161](https://togithub.com/biomejs/biome/issues/2161)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Range formatting for Astro/Svelte/Vue doesn't place code out of place, especially when formatting on paste is enabled. Contributed by [@​ematipico](https://togithub.com/ematipico) ##### Parser ### [`v1.6.2`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#162-2024-03-22) [Compare Source](https://togithub.com/biomejs/biome/compare/4ed1cbe96bc9e6d7092e88dd0a54ff8ce78037e5...7669b334ecfb9580abe83bbf6141232805f0e4bd) ##### Analyzer ##### Bug fixes - The `noSuperWithoutExtends` rule now allows for calling `super()` in derived class constructors of class expressions ([#​2108](https://togithub.com/biomejs/biome/issues/2108)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Fix discrepancies on file source detection. Allow module syntax in `.cts` files ([#​2114](https://togithub.com/biomejs/biome/issues/2114)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### CLI ##### Bug fixes - Fixes [#​2131](https://togithub.com/biomejs/biome/issues/2131), where folders were incorrectly ignored when running the command `check`. Now folders are correctly ignored based on their command. Contributed by [@​ematipico](https://togithub.com/ematipico) - Smoother handling of `"endOfLine": "auto"` in prettier migration: falling back to `"lf"` ([#​2145](https://togithub.com/biomejs/biome/pull/2145)). Contributed by [@​eMerzh](https://togithub.com/eMerzh) ##### Configuration ##### Bug fixes - Fix enabled rules calculation. The precendence of individual rules, `all` and `recommend` presets in top-level and group-level configs is now correctly respected. More details can be seen in ([#​2072](https://togithub.com/biomejs/biome/pull/2072)) ([#​2028](https://togithub.com/biomejs/biome/issues/2028)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Formatter ##### Bug fixes - Fix [#​1661](https://togithub.com/biomejs/biome/issues/1661). Now nested conditionals are aligned with Prettier's logic, and won't contain mixed spaces and tabs. Contributed by [@​ematipico](https://togithub.com/ematipico) ##### JavaScript APIs ##### Enhancements - Support applying lint fixes when calling the `lintContent` method of the `Biome` class ([#​1956](https://togithub.com/biomejs/biome/pull/1956)). Contributed by [@​mnahkies](https://togithub.com/mnahkies) ##### Linter ##### Bug fixes - Rule `noUndeclaredDependencies` now also validates `peerDependencies` and `optionalDependencies` ([#​2122](https://togithub.com/biomejs/biome/issues/2122)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Rule `noUndeclaredDependencies` won't check `declare module` statements anymore ([#​2123](https://togithub.com/biomejs/biome/issues/2123)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Fix [#​1925](https://togithub.com/biomejs/biome/issues/1925). The fix for `useOptionalChain` would sometimes suggest an incorrect fix that discarded optional chaining operators on the left-hand side of logical expressions. These are now preserved. Contributed by [@​arendjr](https://togithub.com/arendjr) - Rule `noUndeclaredVariables` now also checks for worker globals ([#​2121](https://togithub.com/biomejs/biome/issues/2121)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### LSP ##### Bug fixes - Correctly parse `.jsonc` files. Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Correctly resolve external `extends` configs. Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ### [`v1.6.1`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#161-2024-03-12) [Compare Source](https://togithub.com/biomejs/biome/compare/560628b380b0b1f61303c8e5ca2175d3b4794089...4ed1cbe96bc9e6d7092e88dd0a54ff8ce78037e5) ##### CLI ##### Bug fixes - CLI is now able to automatically search and resolve `biome.jsonc` ([#​2008](https://togithub.com/biomejs/biome/issues/2008)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Fix a false positive where some files were counted as "fixed" even though they weren't modified. Contributed by [@​ematipico](https://togithub.com/ematipico) ##### Configuration ##### Bug fixes - `json.formatter.trailingCommas` option now works in `overrides` ([#​2009](https://togithub.com/biomejs/biome/issues/2009)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Linter ##### New features - Add rule [noDoneCallback](https://biomejs.dev/linter/rules/no-done-callback), this rule checks the function parameter of hooks & tests for use of the done argument, suggesting you return a promise instead. Contributed by [@​vasucp1207](https://togithub.com/vasucp1207) ```js beforeEach(done => { // ... }); ``` ##### Bug fixes - [useJsxKeyInIterable](https://biomejs.dev/linter/rules/use-jsx-key-in-iterable) now recognizes function bodies wrapped in parentheses ([#​2011](https://togithub.com/biomejs/biome/issues/2011)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - [useShorthandFunctionType](https://biomejs.dev/linter/rules/use-shorthand-function-type) now preserves type parameters of generic interfaces when applying fixes ([#​2015](https://togithub.com/biomejs/biome/issues/2015)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) - Code fixes of [useImportType](https://biomejs.dev/linter/rules/use-import-type) and [useExportType](https://biomejs.dev/linter/rules/use-export-type) now handle multiline statements ([#​2041](https://togithub.com/biomejs/biome/issues/2041)). Contributed by [@​Conaclos](https://togithub.com/Conaclos) - [noRedeclare](https://biomejs.dev/linter/rules/no-redeclare) no longer reports type parameter and parameter with identical names ([#​1992](https://togithub.com/biomejs/biome/issues/1992)). The following code is no longer reported: ```ts function f<a>(a: a) {} ``` Contributed by [@​Conaclos](https://togithub.com/Conaclos) - [noRedeclare](https://biomejs.dev/linter/rules/no-redeclare) now reports duplicate type parameters in a same declaration. The following type parameters are now reported as a redeclaraion: ```ts function f<T, T>() {} ``` Contributed by [@​Conaclos](https://togithub.com/Conaclos) - [noUndeclaredDependencies](https://biomejs.dev/linter/rules/no-undeclared-dependencies/) now recognizes imports of subpath exports. E.g., the following import statements no longer report errors if `@mui/material` and `tailwindcss` are installed as dependencies: ```ts import Button from "@​mui/material/Button"; import { fontFamily } from "tailwindcss/defaultTheme"; ``` Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ##### Parser ##### Bug fixes - JavaScript lexer is now able to lex regular expression literals with escaped non-ascii chars ([#​1941](https://togithub.com/biomejs/biome/issues/1941)). Contributed by [@​Sec-ant](https://togithub.com/Sec-ant) ### [`v1.6.0`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#160-2024-03-08) [Compare Source](https://togithub.com/biomejs/biome/compare/906de83449b5066554cd8e97c78a1f8e43749016...560628b380b0b1f61303c8e5ca2175d3b4794089) ##### Analyzer ##### New features - Add partial for `.astro` files. Biome is able to sort imports inside the frontmatter of the Astro files. Contributed by [@​ematipico](https://togithub.com/ematipico) </details> <details> <summary>gradle/gradle (gradle)</summary> ### [`v8.7`](https://togithub.com/gradle/gradle/compare/v8.6.0...v8.7.0) [Compare Source](https://togithub.com/gradle/gradle/compare/v8.6.0...v8.7.0) </details> <details> <summary>syntax-tree/hast-util-to-html (hast-util-to-html)</summary> ### [`v9.0.1`](https://togithub.com/syntax-tree/hast-util-to-html/releases/tag/9.0.1) [Compare Source](https://togithub.com/syntax-tree/hast-util-to-html/compare/9.0.0...9.0.1) ##### Performance - [`6af3709`](https://togithub.com/syntax-tree/hast-util-to-html/commit/6af3709) Refactor to improve performance w/ hoisted regex by [@​bluwy](https://togithub.com/bluwy) in [https://github.com/syntax-tree/hast-util-to-html/pull/39](https://togithub.com/syntax-tree/hast-util-to-html/pull/39) **Full Changelog**: syntax-tree/hast-util-to-html@9.0.0...9.0.1 </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v8.15.6`](https://togithub.com/pnpm/pnpm/releases/tag/v8.15.6) [Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.15.5...v8.15.6) #### Patch Changes - The exit code of the child process should be preserved on `pnpm run` [#​7817](https://togithub.com/pnpm/pnpm/issues/7817). - When sorting packages in a workspace, take into account workspace dependencies specified as `peerDependencies` [#​7813](https://togithub.com/pnpm/pnpm/issues/7813). - Add `--ignore-scripts` argument to `prune` command [#​7836](https://togithub.com/pnpm/pnpm/pull/7836). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a> </td> <td align="center" valign="middle"> <a href="https://figma.com/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/figma.svg" width="80"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" /> <img src="https://pnpm.io/img/users/prisma.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/uscreen.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/uscreen_light.svg" /> <img src="https://pnpm.io/img/users/uscreen.svg" width="180" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/jetbrains.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/jetbrains.svg" /> <img src="https://pnpm.io/img/users/jetbrains.svg" width="85" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="120" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" /> </picture> </a> </td> </tr> </tbody> </table> #### Silver Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=readme" target="_blank"> <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"> </a> </td> <td align="center" valign="middle"> <a href="https://vercel.com/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" /> <img src="https://pnpm.io/img/users/vercel.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://depot.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" /> <img src="https://pnpm.io/img/users/depot.svg" width="200" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" /> <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://devowl.io/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" /> <img src="https://pnpm.io/img/users/devowlio.svg" width="200" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://macpaw.com/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/macpaw.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/macpaw_light.svg" /> <img src="https://pnpm.io/img/users/macpaw.svg" width="200" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/cerbos.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/cerbos_light.svg" /> <img src="https://pnpm.io/img/users/cerbos.svg" width="180" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=readme" target="_blank"> <img src="https://pnpm.io/img/users/vpsserver.svg" width="180" /> </a> </td> </tr> </tbody> </table> ### [`v8.15.5`](https://togithub.com/pnpm/pnpm/compare/v8.15.4...v8.15.5) [Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.15.4...v8.15.5) </details> <details> <summary>xyflow/xyflow (reactflow)</summary> ### [`v11.11.0`](https://togithub.com/xyflow/xyflow/releases/tag/11.11.0) [Compare Source](https://togithub.com/xyflow/xyflow/compare/[email protected]@11.11.0) This is hopefully the last release for React Flow 11. It fixes some bugs and adds a deprecation warning for `node.parentNode` which is now called `node.parentId`. There are two reasons for this: `parentNode` poses a name collision with the DOM API and it actually is an id not a node. ##### Minor Changes - [#​4110](https://togithub.com/xyflow/xyflow/pull/4110) [`d80b9e7b`](https://togithub.com/xyflow/xyflow/commit/d80b9e7b18476f11d91a68cfcae0e3f5e5fcac36) - deprecate `node.parentNode`, rename to `node.parentId` ##### Patch Changes - [#​3957](https://togithub.com/xyflow/xyflow/pull/3957) [`c7a140bd`](https://togithub.com/xyflow/xyflow/commit/c7a140bd7bc4442bf4121b1bca936a05e19117a4) - fixed smoothstep edge if center = 0 - [#​4082](https://togithub.com/xyflow/xyflow/pull/4082) [`ba3809b1`](https://togithub.com/xyflow/xyflow/commit/ba3809b18413fa581a4e7098611ebcb9067c971f) - fix: re-observe nodes when hidden is toggled - [#​3935](https://togithub.com/xyflow/xyflow/pull/3935) [`6228d499`](https://togithub.com/xyflow/xyflow/commit/6228d499464408fc7bad0ce89b321a59ca5ecbe1) - `disableKeyboardA11y` now correctly prevents enter and escape key presses - Updated dependencies \[[`c7a140bd`](https://togithub.com/xyflow/xyflow/commit/c7a140bd7bc4442bf4121b1bca936a05e19117a4), [`ba3809b1`](https://togithub.com/xyflow/xyflow/commit/ba3809b18413fa581a4e7098611ebcb9067c971f), [`6228d499`](https://togithub.com/xyflow/xyflow/commit/6228d499464408fc7bad0ce89b321a59ca5ecbe1)]: - [@​reactflow/core](https://togithub.com/reactflow/core)[@​11](https://togithub.com/11).10.5 - [@​reactflow/background](https://togithub.com/reactflow/background)[@​11](https://togithub.com/11).3.10 - [@​reactflow/controls](https://togithub.com/reactflow/controls)[@​11](https://togithub.com/11).2.10 - [@​reactflow/minimap](https://togithub.com/reactflow/minimap)[@​11](https://togithub.com/11).7.10 - [@​reactflow/node-resizer](https://togithub.com/reactflow/node-resizer)[@​2](https://togithub.com/2).2.10 - [@​reactflow/node-toolbar](https://togithub.com/reactflow/node-toolbar)[@​1](https://togithub.com/1).3.10 </details> <details> <summary>gvergnaud/ts-pattern (ts-pattern)</summary> ### [`v5.1.0`](https://togithub.com/gvergnaud/ts-pattern/releases/tag/v5.1.0) [Compare Source](https://togithub.com/gvergnaud/ts-pattern/compare/v5.0.8...v5.1.0) ##### New features ##### `P.nonNullable` wildcard Add a new `P.nonNullable` pattern that will match any value except `null` or `undefined`. ```ts import { match, P } from 'ts-pattern'; const input = null; const output = match<number | null | undefined>(input) .with(P.nonNullable, () => 'it is a number!') .otherwise(() => 'it is either null or undefined!'); console.log(output); // => 'it is either null or undefined!' ``` Closes [#​60](https://togithub.com/gvergnaud/ts-pattern/issues/60) [#​154](https://togithub.com/gvergnaud/ts-pattern/issues/154) [#​190](https://togithub.com/gvergnaud/ts-pattern/issues/190) and will be a work-around for [#​143](https://togithub.com/gvergnaud/ts-pattern/issues/143). ##### What's Changed - feat: Add P.nonNullable patterns by [@​gvergnaud](https://togithub.com/gvergnaud) in [https://github.com/gvergnaud/ts-pattern/pull/229](https://togithub.com/gvergnaud/ts-pattern/pull/229) **Full Changelog**: gvergnaud/ts-pattern@v5.0.8...v5.1.0 </details> <details> <summary>Microsoft/TypeScript (typescript)</summary> ### [`v5.4.4`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.4): TypeScript 5.4.4 [Compare Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.3...v5.4.4) For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/). For the complete list of fixed issues, check out the - [fixed issues query for Typescript 5.4.0 (Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+). - [fixed issues query for Typescript 5.4.1 (RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+). - [fixed issues query for Typescript 5.4.2 (Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+). - [fixed issues query for Typescript 5.4.3 (Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+). - [fixed issues query for Typescript 5.4.4 (Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+). Downloads are available on: - [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild) </details> <details> <summary>JetBrains/markdown (org.jetbrains:markdown)</summary> ### [`v0.7.0`](https://togithub.com/JetBrains/markdown/blob/HEAD/CHANGELOG.md#070) - \[[#​133](https://togithub.com/JetBrains/markdown/issues/133)] Added support for mathematical expressions in GFM - \[[#​140](https://togithub.com/JetBrains/markdown/issues/140)] Added wasmJs target - \[[#​146](https://togithub.com/JetBrains/markdown/issues/146)] Added linuxArm64 target - \[[#​149](https://togithub.com/JetBrains/markdown/issues/149)] Fixed parsing of code spans with backslashes and spaces </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 1pm and before 5pm on Friday" in timezone Asia/Tokyo, 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://developer.mend.io/github/turtton/volglass). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🏁 area/perf
This affects performance
🤞 phase/open
Post is being triaged manually
💪 phase/solved
Post is done
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Initial checklist
Description of changes
Following wooorm/stringify-entities#13, in this PR I made changes so that the
subset
passed tostringifyEntities()
is a variable so it can be cached via a WeakMap.I also hoisted a regex in
comment.js
. Didn't want to side-track the PR again, but it was only one instance 😬At wooorm/stringify-entities#13, I mentioned that it helped brought the execution time of
toHtml
to 2.38s. With this PR, I measured it to drop to1.99s
. Not as much as I expected, but perhaps every bit helps.