qwik icon indicating copy to clipboard operation
qwik copied to clipboard

chore(deps): replace jsx-ast-utils with jsx-ast-utils-x

Open andreww2012 opened this issue 3 months ago • 6 comments

What is it?

  • Infra

Description

This PR replaces a very heavy jsx-ast-utils package with a much lighter alternative jsx-ast-utils-x, which has compatible API and zero dependencies.

A very popular ESLint plugin, eslint-plugin-sonarjs, has already performed this switch (see the original issue).

After this change the dependency graph and installation size of eslint-plugin-qwik package should reduce significantly.

Checklist

andreww2012 avatar Sep 11 '25 09:09 andreww2012

🦋 Changeset detected

Latest commit: ebcf7db4ea8334b9b9c9eb352a5c9916020e737e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
eslint-plugin-qwik Patch
@builder.io/qwik Patch
@builder.io/qwik-city Patch
create-qwik Patch
@builder.io/qwik-react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

changeset-bot[bot] avatar Sep 11 '25 09:09 changeset-bot[bot]

Open in StackBlitz

npm i https://pkg.pr.new/@builder.io/qwik@7938
npm i https://pkg.pr.new/@builder.io/qwik-city@7938
npm i https://pkg.pr.new/eslint-plugin-qwik@7938
npm i https://pkg.pr.new/create-qwik@7938

commit: cf45df3

pkg-pr-new[bot] avatar Sep 11 '25 10:09 pkg-pr-new[bot]

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
qwik-docs ✅ Ready (View Log) Visit Preview ebcf7db4ea8334b9b9c9eb352a5c9916020e737e

github-actions[bot] avatar Sep 11 '25 10:09 github-actions[bot]

@andreww2012 Apart faster npm i are there any other benefits to reducing the dep graph? Have you been able to measure faster performance when running the eslint plugin?

maiieul avatar Sep 12 '25 08:09 maiieul

@maiieul I don't know, and I also haven't done any performance testing. I actually don't work with qwik codebase 😄 I'm working on an ultimately universal ESLing config, which eslint-plugin-qwik is a part of, and trying to improve ESLint plugins it's comprised of in various ways.

andreww2012 avatar Sep 15 '25 11:09 andreww2012

Ok. Thanks for sharing. I'm a bit concerned about the maintenance cost if it stop being maintained, but the other one doesn't seem to be updated a lot either. So I will merge. Relying on less dependencies is likely a good thing :)

May I ask you to rebase?

maiieul avatar Nov 06 '25 15:11 maiieul