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

Build independant linting system that will automatically lint all repos any repos in MatrixAI once imported #9

Closed

Conversation

CDeltakai
Copy link
Contributor

@CDeltakai CDeltakai commented Mar 26, 2025

Description

This PR implements a bundled config that includes all of the commonly used MatrixAI linting rules to streamline setting up linting in new repos.

Issues Fixed

Tasks

  • 1. Create a bundled config that implements all commonly used linting rules

Final checklist

  • Domain specific tests
  • Full tests
  • Updated inline-comment documentation
  • Lint fixed
  • Squash and rebased
  • Sanity check the final build

Copy link

linear bot commented Mar 26, 2025

ENG-557

@CDeltakai CDeltakai self-assigned this Mar 26, 2025
Copy link
Member

@aryanjassal aryanjassal left a comment

Choose a reason for hiding this comment

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

It's mostly good, just some minor changes here and there.

Copy link
Member

Choose a reason for hiding this comment

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

The formatting in this file looks kinda weird. Are you sure the linting rules being used for this repo are also following the standards in other repos?

@CDeltakai
Copy link
Contributor Author

CDeltakai commented Mar 27, 2025

Some notes about using the zeta.house eslint config as the default one - the same parserOptions.project field can't be used across all repos because different repos will have different .tsconfig.json setups. Likely the parserOptions will need to be removed from the shared matrix-ai-config-bundle entirely to ensure compatibility, however this will also break any rules inside the shared config that rely on type-awareness.

We could omit the rules that require type-awareness like typescript-eslint's no-floating-promises rule from the shared config and instead place them inside a seperate recommended config like recommended-typeaware or something so that consumer repos can simply import those rules once they have set up their parserOptions

@CMCDragonkai
Copy link
Member

All repos are to move to ESM and move to the standardized esling.config.mjs. Only a few repos have different linting but I don't think it's necessary. Every repo should have the same standard now. And I have been migrating wherever I see. You should start PRs to repos and migrate incrementally. Start with js-logger.

@CMCDragonkai
Copy link
Member

I think this issue/PR has major refactoring required. Read #7 (comment) and start on this PR from that angle alone.

@CDeltakai CDeltakai changed the title Feature eng 557 create bundled config for common rules Build independant linting system that will automatically lint all repos any repos in MatrixAI once imported Mar 28, 2025
@CDeltakai CDeltakai closed this Mar 28, 2025
@CMCDragonkai
Copy link
Member

Why close this PR?

@CMCDragonkai CMCDragonkai reopened this Mar 28, 2025
@CMCDragonkai
Copy link
Member

Closed in favour of #10. But still you should preserve code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants