A web tool to explore the ASTs generated by parsers.
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@angular/compiler](https://redirect.github.com/angular/angular) ([source](https://redirect.github.com/angular/angular/tree/HEAD/packages/compiler)) | [`^19.2.3` -> `^19.2.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/19.2.3/19.2.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@iconify-json/vscode-icons](https://icon-sets.iconify.design/vscode-icons/) | [`^1.2.17` -> `^1.2.18`](https://renovatebot.com/diffs/npm/@iconify-json%2fvscode-icons/1.2.17/1.2.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@sxzz/eslint-config](https://redirect.github.com/sxzz/eslint-config) | [`^6.1.0` -> `^6.1.1`](https://renovatebot.com/diffs/npm/@sxzz%2feslint-config/6.1.0/6.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`^8.28.0` -> `^8.29.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.28.0/8.29.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@unocss/eslint-plugin](https://unocss.dev) ([source](https://redirect.github.com/unocss/unocss/tree/HEAD/packages-integrations/eslint-plugin)) | [`^66.1.0-beta.7` -> `^66.1.0-beta.8`](https://renovatebot.com/diffs/npm/@unocss%2feslint-plugin/66.1.0-beta.7/66.1.0-beta.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@unocss/nuxt](https://unocss.dev) ([source](https://redirect.github.com/unocss/unocss/tree/HEAD/packages-integrations/nuxt)) | [`^66.1.0-beta.7` -> `^66.1.0-beta.8`](https://renovatebot.com/diffs/npm/@unocss%2fnuxt/66.1.0-beta.7/66.1.0-beta.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [esbuild](https://redirect.github.com/evanw/esbuild) | [`^0.25.1` -> `^0.25.2`](https://renovatebot.com/diffs/npm/esbuild/0.25.1/0.25.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [flow-parser](https://flow.org) ([source](https://redirect.github.com/facebook/flow)) | [`^0.265.3` -> `^0.266.1`](https://renovatebot.com/diffs/npm/flow-parser/0.265.3/0.266.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [svelte](https://svelte.dev) ([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | [`^5.25.3` -> `^5.25.5`](https://renovatebot.com/diffs/npm/svelte/5.25.3/5.25.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [unocss](https://unocss.dev) ([source](https://redirect.github.com/unocss/unocss/tree/HEAD/packages-presets/unocss)) | [`^66.1.0-beta.7` -> `^66.1.0-beta.8`](https://renovatebot.com/diffs/npm/unocss/66.1.0-beta.7/66.1.0-beta.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [yaml](https://eemeli.org/yaml/) ([source](https://redirect.github.com/eemeli/yaml)) | [`^2.7.0` -> `^2.7.1`](https://renovatebot.com/diffs/npm/yaml/2.7.0/2.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>angular/angular (@​angular/compiler)</summary> ### [`v19.2.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1924-2025-03-26) [Compare Source](https://redirect.github.com/angular/angular/compare/19.2.3...19.2.4) ##### core | Commit | Type | Description | | -- | -- | -- | | [081f5f5a83f](https://redirect.github.com/angular/angular/commit/081f5f5a83fef99718952519bed9fe39005d6d37) | fix | fix used templates are not deleted ([#​60459](https://redirect.github.com/angular/angular/pull/60459)) | ##### localize | Commit | Type | Description | | -- | -- | -- | | [a2f622d82d6](https://redirect.github.com/angular/angular/commit/a2f622d82d6c0f93a5fdf34fc8e5829db04c7380) | fix | handle [@​angular/build](https://redirect.github.com/angular/build):karma in ng add ([#​60513](https://redirect.github.com/angular/angular/pull/60513)) | ##### platform-browser | Commit | Type | Description | | -- | -- | -- | | [8e8ccc79279](https://redirect.github.com/angular/angular/commit/8e8ccc792790c876cf5831f3d7a504290c665a1b) | fix | ensure `platformBrowserTesting` includes `platformBrowser` providers ([#​60480](https://redirect.github.com/angular/angular/pull/60480)) | <!-- CHANGELOG SPLIT MARKER --> </details> <details> <summary>sxzz/eslint-config (@​sxzz/eslint-config)</summary> ### [`v6.1.1`](https://redirect.github.com/sxzz/eslint-config/releases/tag/v6.1.1) [Compare Source](https://redirect.github.com/sxzz/eslint-config/compare/v6.1.0...v6.1.1) *No significant changes* ##### [View changes on GitHub](https://redirect.github.com/sxzz/eslint-config/compare/v6.1.0...v6.1.1) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.29.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8290-2025-03-31) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.28.0...v8.29.0) This was a version bump only for parser to align it with other projects, there were no code changes. 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. </details> <details> <summary>unocss/unocss (@​unocss/eslint-plugin)</summary> ### [`v66.1.0-beta.8`](https://redirect.github.com/unocss/unocss/releases/tag/v66.1.0-beta.8) [Compare Source](https://redirect.github.com/unocss/unocss/compare/v66.1.0-beta.7...v66.1.0-beta.8) ##### 🚀 Features - **preset-wind4**: Add ` utilityResolver ` option support utility convert - by [@​zyyv](https://redirect.github.com/zyyv) in [https://github.com/unocss/unocss/issues/4544](https://redirect.github.com/unocss/unocss/issues/4544) [<samp>(a8864)</samp>](https://redirect.github.com/unocss/unocss/commit/a8864af38) ##### 🐞 Bug Fixes - **preset-wind4**: - `presetWind4` ring rules - by [@​praburangki](https://redirect.github.com/praburangki) in [https://github.com/unocss/unocss/issues/4539](https://redirect.github.com/unocss/unocss/issues/4539) [<samp>(7b99b)</samp>](https://redirect.github.com/unocss/unocss/commit/7b99bf758) - Shadow property - by [@​antfu](https://redirect.github.com/antfu) in [https://github.com/unocss/unocss/issues/4546](https://redirect.github.com/unocss/unocss/issues/4546) [<samp>(08b52)</samp>](https://redirect.github.com/unocss/unocss/commit/08b52c8a4) - Provide rule context in border rules - by [@​zyyv](https://redirect.github.com/zyyv) in [https://github.com/unocss/unocss/issues/4552](https://redirect.github.com/unocss/unocss/issues/4552) [<samp>(c31f2)</samp>](https://redirect.github.com/unocss/unocss/commit/c31f2af81) ##### 🏎 Performance - **preset-wind4**: Hoist remRE - by [@​Simon-He95](https://redirect.github.com/Simon-He95) in [https://github.com/unocss/unocss/issues/4548](https://redirect.github.com/unocss/unocss/issues/4548) [<samp>(55e70)</samp>](https://redirect.github.com/unocss/unocss/commit/55e708765) ##### [View changes on GitHub](https://redirect.github.com/unocss/unocss/compare/v66.1.0-beta.7...v66.1.0-beta.8) </details> <details> <summary>evanw/esbuild (esbuild)</summary> ### [`v0.25.2`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0252) [Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.25.1...v0.25.2) - Support flags in regular expressions for the API ([#​4121](https://redirect.github.com/evanw/esbuild/issues/4121)) The JavaScript plugin API for esbuild takes JavaScript regular expression objects for the `filter` option. Internally these are translated into Go regular expressions. However, this translation previously ignored the `flags` property of the regular expression. With this release, esbuild will now translate JavaScript regular expression flags into Go regular expression flags. Specifically the JavaScript regular expression `/\.[jt]sx?$/i` is turned into the Go regular expression `` `(?i)\.[jt]sx?$` `` internally inside of esbuild's API. This should make it possible to use JavaScript regular expressions with the `i` flag. Note that JavaScript and Go don't support all of the same regular expression features, so this mapping is only approximate. - Fix node-specific annotations for string literal export names ([#​4100](https://redirect.github.com/evanw/esbuild/issues/4100)) When node instantiates a CommonJS module, it scans the AST to look for names to expose via ESM named exports. This is a heuristic that looks for certain patterns such as `exports.NAME = ...` or `module.exports = { ... }`. This behavior is used by esbuild to "annotate" CommonJS code that was converted from ESM with the original ESM export names. For example, when converting the file `export let foo, bar` from ESM to CommonJS, esbuild appends this to the end of the file: ```js // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { bar, foo }); ``` However, this feature previously didn't work correctly for export names that are not valid identifiers, which can be constructed using string literal export names. The generated code contained a syntax error. That problem is fixed in this release: ```js // Original code let foo export { foo as "foo!" } // Old output (with --format=cjs --platform=node) ... 0 && (module.exports = { "foo!" }); // New output (with --format=cjs --platform=node) ... 0 && (module.exports = { "foo!": null }); ``` - Basic support for index source maps ([#​3439](https://redirect.github.com/evanw/esbuild/issues/3439), [#​4109](https://redirect.github.com/evanw/esbuild/pull/4109)) The source map specification has an optional mode called [index source maps](https://tc39.es/ecma426/#sec-index-source-map) that makes it easier for tools to create an aggregate JavaScript file by concatenating many smaller JavaScript files with source maps, and then generate an aggregate source map by simply providing the original source maps along with some offset information. My understanding is that this is rarely used in practice. I'm only aware of two uses of it in the wild: [ClojureScript](https://clojurescript.org/) and [Turbopack](https://turbo.build/pack/). This release provides basic support for indexed source maps. However, the implementation has not been tested on a real app (just on very simple test input). If you are using index source maps in a real app, please try this out and report back if anything isn't working for you. Note that this is also not a complete implementation. For example, index source maps technically allows nesting source maps to an arbitrary depth, while esbuild's implementation in this release only supports a single level of nesting. It's unclear whether supporting more than one level of nesting is important or not given the lack of available test cases. This feature was contributed by [@​clyfish](https://redirect.github.com/clyfish). </details> <details> <summary>facebook/flow (flow-parser)</summary> ### [`v0.266.1`](https://redirect.github.com/facebook/flow/blob/HEAD/Changelog.md#02661) [Compare Source](https://redirect.github.com/facebook/flow/compare/v0.266.0...v0.266.1) - Fix a bug that causes fixed `libdef-override` error to stick around after an incremental recheck. ### [`v0.266.0`](https://redirect.github.com/facebook/flow/blob/HEAD/Changelog.md#02660) [Compare Source](https://redirect.github.com/facebook/flow/compare/v0.265.3...v0.266.0) Likely to cause new Flow errors: - Support for `$PropertyType` and `$ElementType` has been removed. Now referencing these types will just resolve to a global type if you have your own definition for them, and result in a `cannot-resolve-name` error otherwise. These types have been replaced by index access types for a long time. You can migrate to index access types by enabling use-indexed-access-type from https://www.npmjs.com/package/eslint-plugin-fb-flow and running the quickfixes. If you are unable to migrate, you can add the following to your global libdefs: <!----> type $PropertyType<T, K> = T[K]; type $ElementType<T, K> = T[K]; - Now given the subtyping check `component()<: component(ref?: ref_prop)`, Flow will ensure that `ref_prop` is a subtype of `void` instead of a subtype of `React.RefSetter<void>`. - `React$ComponentType`, which was previously given `[internal-type]` error on every usage, is now removed. - `React.ComponentType<Props>` is now only an alias of `component(...Props)`, instead of some special cased types. This comes with stricter checks and conversions, such as making Props readonly, erroring on the presence the ref prop instead of silently ignoring them, and ensures that `Props` is a subtype of `{...}`. In addition, the `React$AbstractComponent` type is removed. Notable bug fixes: - fixed a subtle unsoundness in the inference of computed-property dictionary object creation (e.g. [try-Flow](https://flow.org/try/#​1N4Igxg9gdgZglgcxALlAIwIZoKYBsD6uEEAztvhgE6UYCe+JADpdhgCYowa5kA0I2KAFcAtiRQAXSkOz9sADwxgJ+NPTbYuQ3BMnTZA+Y2yU4IwRO4A6SFBIrGVDGM7c+h46fNRLuKxJIGWh8MeT0ZfhYlCStpHzNsFBAMIQkIEQwJODAQfiEyfBE4eWw2fDgofDBMsAALfAA3KjgsXGxxZC4eAw0G-GhcWn9aY3wWZldu-g1mbGqJUoBaCRHEzrcDEgBrbAk62kXhXFxJ923d-cPRHEpTgyEoMDaqZdW7vKgoOfaSKgOKpqmDA+d4gB5fMA-P6LCCMLLQbiLOoYCqgh6-GDYRYIXYLSgkRZkCR4jpddwPfJLZjpOBkO4AX34kA0SQ0Tyo2AABIDOfJkJz7KYoAgANwAHSgbNwHO5VE5tH5goqoolEts9k5EDQACsAIz84AAbSVwoAuvzdfTOQBeTnACWczmG+Tmzm63gOp20V0AZl4nIA9AHOQB3ODHTkmSgQSgS+ki3IgBomEhwaBJBoABisACYAGwAVisPpA9KAA)) Library Definitions: - `React.lazy` and `React.memo` is now generic over the presence or absence of ref prop. </details> <details> <summary>sveltejs/svelte (svelte)</summary> ### [`v5.25.5`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5255) [Compare Source](https://redirect.github.com/sveltejs/svelte/compare/[email protected]@5.25.5) ##### Patch Changes - fix: add setters to `$derived` class properties ([#​15628](https://redirect.github.com/sveltejs/svelte/pull/15628)) - fix: silence assignment warning on more function bindings ([#​15644](https://redirect.github.com/sveltejs/svelte/pull/15644)) - fix: make sure CSS is preserved during SSR with bindings ([#​15645](https://redirect.github.com/sveltejs/svelte/pull/15645)) ### [`v5.25.4`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5254) [Compare Source](https://redirect.github.com/sveltejs/svelte/compare/[email protected]@5.25.4) ##### Patch Changes - fix: support TS type assertions ([#​15642](https://redirect.github.com/sveltejs/svelte/pull/15642)) - fix: ensure `undefined` class still applies scoping class, if necessary ([#​15643](https://redirect.github.com/sveltejs/svelte/pull/15643)) </details> <details> <summary>eemeli/yaml (yaml)</summary> ### [`v2.7.1`](https://redirect.github.com/eemeli/yaml/compare/v2.7.0...a141bc0f00b194e9ac5146f52e74c0e8236784a6) [Compare Source](https://redirect.github.com/eemeli/yaml/compare/v2.7.0...v2.7.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/sxzz/ast-explorer). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be resolved. The issue was opened by renovate[bot] and has received 3 comments.