Skip to content

chore: try oxlint jsPlugins with angular-eslint#2223

Merged
ghiscoding merged 5 commits intomasterfrom
chore/oxlint-js-plugins
Nov 12, 2025
Merged

chore: try oxlint jsPlugins with angular-eslint#2223
ghiscoding merged 5 commits intomasterfrom
chore/oxlint-js-plugins

Conversation

@ghiscoding
Copy link
Owner

@ghiscoding ghiscoding commented Nov 5, 2025

try using oxlint with "jsPlugins": ["@angular-eslint/eslint-plugin"] for the frameworks/angular project.

On windows I'm getting this error, let see if it works in CI with Ubuntu

> oxlint .

WARNING: JS plugins are experimental and not subject to semver.
Breaking changes are possible while JS plugins support is under development.
memory allocation of memory allocation of memory allocation of 4294967280 bytes failed
4294967280 ELIFECYCLE  Command failed with exit code 3221226505.

 *  The terminal process "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command pnpm run lint" terminated with exit code: 1.

Edit

I think I'll use the temporary suggestion provided in the OXC issue on Windows. I'll revisit it later when the issue is fixed.

@bolt-new-by-stackblitz
Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@codecov
Copy link

codecov bot commented Nov 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.0%. Comparing base (d59d45d) to head (b52069f).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2223   +/-   ##
=======================================
  Coverage   100.0%   100.0%           
=======================================
  Files         198      198           
  Lines       17998    17998           
  Branches     4995     4995           
=======================================
  Hits        17998    17998           
Flag Coverage Δ
angular 100.0% <ø> (ø)
universal 100.0% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 5, 2025

angular-slickgrid

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/angular-slickgrid@2223

aurelia-slickgrid

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/aurelia-slickgrid@2223

slickgrid-react

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/slickgrid-react@2223

slickgrid-vue

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/slickgrid-vue@2223

@slickgrid-universal/binding

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/binding@2223

@slickgrid-universal/common

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/common@2223

@slickgrid-universal/composite-editor-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/composite-editor-component@2223

@slickgrid-universal/custom-footer-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/custom-footer-component@2223

@slickgrid-universal/custom-tooltip-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/custom-tooltip-plugin@2223

@slickgrid-universal/empty-warning-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/empty-warning-component@2223

@slickgrid-universal/event-pub-sub

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/event-pub-sub@2223

@slickgrid-universal/excel-export

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/excel-export@2223

@slickgrid-universal/graphql

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/graphql@2223

@slickgrid-universal/odata

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/odata@2223

@slickgrid-universal/pagination-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/pagination-component@2223

@slickgrid-universal/row-detail-view-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/row-detail-view-plugin@2223

@slickgrid-universal/rxjs-observable

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/rxjs-observable@2223

@slickgrid-universal/text-export

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/text-export@2223

@slickgrid-universal/utils

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/utils@2223

@slickgrid-universal/vanilla-bundle

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vanilla-bundle@2223

@slickgrid-universal/vanilla-force-bundle

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vanilla-force-bundle@2223

commit: b52069f

@ghiscoding ghiscoding marked this pull request as draft November 6, 2025 01:50
@ghiscoding ghiscoding marked this pull request as ready for review November 12, 2025 04:29
@ghiscoding ghiscoding merged commit 9332ca7 into master Nov 12, 2025
14 checks passed
@ghiscoding ghiscoding deleted the chore/oxlint-js-plugins branch November 12, 2025 04:39
@overlookmotel
Copy link

Did you find that @angular-eslint/eslint-plugin worked as an Oxlint JS plugin? (apart from the OOM errors on Windows which we're aware of oxc-project/oxc#14375)

@ghiscoding
Copy link
Owner Author

ghiscoding commented Nov 14, 2025

@overlookmotel yes it works with your suggestion in that same oxc github issue which you suggested to separate the linting into 2 tasks (which is what I did in this PR):

  1. lint entire solution with import plugin but skip Angular code
  2. lint only Angular code with @angular-eslint/eslint-plugin but without import plugin via a separate oxlintrc-angular.json config file.

So I'll use that approach for now until #2223 is fixed. oxlint is so damn fast anyway that even with 2 passes, it's not even comparable with eslint. So I'm ok with this approach, it's slightly more code and time but it works and it's awesomely fast, so I'm good for now 🚀

Note that my code was already linted from my previous eslint setup and I haven't really tried to change some code to verify that the jsPlugins does work. I think I had 1 or 2 warnings with oxlint, but I could verify more in depth if that is what you were asking to confirm?

@overlookmotel
Copy link

overlookmotel commented Nov 14, 2025

Thanks for coming back.

When you have time, if you're able to put it through its paces a bit and report any problems, that'd be a huge help.

My next task is to build a plugin tester, but it turns out it's not really possible to automate because every repo uses different testing libraries etc, so I'll need to test plugins on a case-by-case basis - very laborious. In meantime, bug reports (or even "it works 🚀!") is really helpful.

If we can find bugs, they'll probably not be too hard to fix. The tricky part is hunting them down!

@ghiscoding
Copy link
Owner Author

ghiscoding commented Nov 19, 2025

@overlookmotel hey sorry for the delay, I just made a quick test and yes jsPlugins": ["@angular-eslint/eslint-plugin"] seems to work as intended. I added this linting rule "@angular-eslint/no-forward-ref": "error" just for testing purposes and indeed I am getting the expected error from the angular eslint plugin. So it's working great from my end.... of course that would be so much better after the windows fix (so that I can run only 1 oxlint task instead of 2), but I can certainly wait. 😉

Thanks for the great work and amazing perf 🚀

image

@overlookmotel
Copy link

Thanks very much for testing it and coming back to me. Really appreciate it.

@overlookmotel
Copy link

overlookmotel commented Dec 19, 2025

OOM bug on Windows was fixed in oxc-project/oxc#17013, which is in Oxlint 1.34.0, released last night.

Would massively appreciate feedback to confirm that the fix does indeed work. If it doesn't, please let us know on oxc-project/oxc#14375.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants