Skip to content
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

Feature/new-flat-config #1

Merged
merged 35 commits into from
Sep 20, 2023
Merged

Feature/new-flat-config #1

merged 35 commits into from
Sep 20, 2023

Conversation

osmestad
Copy link
Collaborator

@osmestad osmestad commented Sep 7, 2023

This should now be ready for review!
Package is currently not published yet, so I have only been testing with yarn link, I plan on publishing internally (to Nexus) next, then we can wait with open sourcing (again) until the SDK goes out.

The changes:

  • Switched from old .eslintrc.js / .eslintignore setup to new flat format: eslint.config.js
  • Based on XO config (like v1 of this package) not AirBnB (like v2)
  • Takes most rules straight from Web Player repo
  • Added some things from v2: eslint-plugin-jsx-a11y and confusing-browser-globals
  • Added eslint-plugin-perfectionist as used in the SDK (allowed removing several sorting specific plugins)
  • Switched to use the TS parser for all files (no need for two different parsers)
  • Updated some unit tests, can be used for caching some regressions and for testing new rules
  • Inlined one rule from a package not receiving updates: eslint-plugin-istanbul

Still TBD:

  • Switch more/all warn to error? (can then overridden in importing packages, but not sure how far we want to go?)
  • Remove rules that are commented out? (as it looks messy)
  • Should be consistent in import version ranges (some have ^ now)

* Remove all targets except one
* Remove old format Eslint config
* Remove AirBNB rules (used in v2, reverting to extending XO as done in v1)
…w flat config format.

Needs: `npm install --force` to accept outdated peer dependency of `eslint-plugin-istanbul` see: istanbuljs/eslint-plugin-istanbul#17
PS needs: `npx patch-package eslint-plugin-typescript-sort-keys --exclude` to include `package.json` changes.
* Unit tests
* Cypress
* Typescript definition files
* Node files
Allow `console` in Node
Widen Cypress glob pattern
…nit tests also, not just Cypress. (It is fine to use, but should not be committed.)
@osmestad osmestad marked this pull request as ready for review September 19, 2023 12:18
Copy link

@MathiasTim MathiasTim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool stuff. Good Job consolidating all these rules

Copy link
Member

@enjikaka enjikaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. I don't really care what formatting/rules we have, only that we use the same in all repos for consistency.

This is gonna be great!

@osmestad osmestad merged commit 787d088 into main Sep 20, 2023
2 checks passed
@osmestad osmestad deleted the feature/new-flat-config branch September 20, 2023 12:04
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.

None yet

5 participants