tazama-lf/tms-service

Migrate ESLint config

Closed this issue · 0 comments

As a Tazama contributor,
I want an automated way to validate my contributions in terms of code style and linting rules,
So that I can write code that will be acceptable to the Tazama community

Acceptance Criteria

  1. Migrate the implementation of ESLint from pre-v9 to post-v9 as per https://eslint.org/docs/latest/use/migrate-to-9.0.0#-new-default-config-format-eslintconfigjs
    Update: Decided on v8 for plugin support. Which is a flat config file for simple upgrade path when v9 is ready
  2. Replace the deprecated module "eslint-config-standard-with-typescript": "^43.0.0", with the replacement "eslint-config-love": "^51.0.0", as per https://www.npmjs.com/package/eslint-config-love
    3. 3. Add eslint-plugin-promise and eslint-plugin-import
  3. Add a rule top the linting to prevent module-scale linting overrides, if possible
    Update: Will require comment justification for inline eslint-disable rules, warning for now, error in future
  4. Replace the "license": "ISC", in the package.json with "license": "Apache-2.0",
  5. Ensure existing linting rules are migrated to the new "flat file config" in eslint.config.js
  6. Run npx eslint to confirm linting is working as before (regression testing)

See Override linting on a line-scale and not a module-scale
tazama-lf/docs#38