Repository navigation
fix(oxlint): turn off import/prefer-default-export, unicorn/number-literal-case and eslint/id-length (v0.1.4) - #7
Conversation
…(v0.1.4) Named exports are the convention, so configs that add the import plugin shouldn't be pushed toward default exports. sousvide disabled it locally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughThe shared lint configuration now disables ChangesOxlint rule and package release
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The release changes lint enforcement consistently in both presets and does not alter runtime behavior. The package versions align at 0.1.4, with no material merge risk identified. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 3 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
… formatters) oxfmt and Prettier write hex digits in lowercase, the rule wants uppercase, and oxlint's version takes no option. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Short names (loop indices, callback params, math names) read better than padded ones; sousvide suppressed ~400 of them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| // Oxfmt and Prettier write hex digits in lowercase; this rule wants uppercase and takes no option. | ||
| 'unicorn/number-literal-case': 'off', |
There was a problem hiding this comment.
enable the rule and require lower case
There was a problem hiding this comment.
Done in 6d0f2d6. oxlint's own unicorn/number-literal-case can't do this: it takes no options ("This rule does not accept configuration options" on 1.87.0, the latest) and wants uppercase. So both presets turn it off and run the original rule from eslint-plugin-unicorn 77 through jsPlugins as unicorn-js/number-literal-case with hexadecimalValue: 'lowercase'. Checked: 0xFEFF, 0XFF and 1E5 are flagged, 0xfeff passes. eslint-plugin-unicorn is a new optional peer.
There was a problem hiding this comment.
Reverted in bc91b2f: oxlint can't require lowercase hex digits (its rule takes no options), so unicorn/number-literal-case stays off and eslint-plugin-unicorn is gone again.
oxlint's unicorn/number-literal-case wants uppercase hex digits and takes no options, so both presets turn it off and run the original rule as the unicorn-js jsPlugin with hexadecimalValue: 'lowercase', matching oxfmt and Prettier. eslint-plugin-unicorn becomes an optional peer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
oxlint's rule can't require lowercase hex digits, so it stays off instead of pulling in the ESLint plugin. This reverts commit 6d0f2d6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Turns three rules off in both shared Oxlint presets and releases the packages as 0.1.4.
import/prefer-default-export. Named exports are the convention. The presets don't enable theimportplugin, but a config that adds it (sousvide does, forno-cycle) gets this rule from the plugin's categories. sousvide turned it off locally; it moves here, as Paul asked.unicorn/number-literal-case. It wants uppercase hex digits (0xFEFF), but oxfmt and Prettier both write them in lowercase (0xfeff), checked with each formatter. oxlint's version of the rule takes no options (rejected as invalid config on 1.87.0, the latest), so it can only fight the formatter. Running the original ESLint rule throughjsPluginswould work but adds a peer dependency, so the rule stays off.eslint/id-length. Short names (loop indices, callback params,a/bcomparators, math names) read better than padded ones. sousvide carried ~400 per-line suppressions for it (crutchcrew/sousevide-alpha#390); Paul asked to disable it here.Validation:
bun run check,bun run version:check(all manifests at 0.1.4),bunx tsc --noEmitandbun run publish:packages --dry-runpass. Nothing was published locally.lint.tsin place of the installed 0.1.3 preset, and both local lines removed (prefer-default-exportoff, and thenumber-literal-casedebt line),oxlint --deny-warningsis clean. Without the localprefer-default-exportline, the 0.1.3 preset reports 47 violations.Merging this
release/v*branch tags v0.1.4 and triggers the publish workflow. A follow-up sousvide PR then bumps@configg/basesto ^0.1.4 and drops both local lines.🤖 Generated with Claude Code
Summary by CodeRabbit