Skip to main content

Eslint

Overview

** Note: Abyss App Starter-Kit Only **

Abyss has built-in lint tooling that is set up to help you maintain a consistent code style across your project. The configuration is very minimal and it is recommended that for teams looking for more advanced linting to utilize their own ESLint configuration.

CLI examples of running the Linter:

  • npm run lint -- --fix from the web directory.
  • npm run lint from the root directory (runs across all products, i.e. web, api, parcels/workshop).

Supported options

Important: Teams requiring more advanced linting should implement their own ESLint configurations rather than requesting additional features.

If you'd like to utilize any Eslint CLI options beyond the supported options listed above, please run the eslint command directly rather than using abyss lint.

Migrating

** Please note that this is only applicable for teams that created an abyss app project prior to version 1.61.0**.

Due to ESLint 7 being EOL and the need to upgrade to ESLint 9, we have made the necessary changes to the linting configuration.

Step 1: Make sure you're upgraded to Abyss core version 1.61.0 or above.

  • All versions below 1.61.0 can continue to use the existing linting configuration.

Step 2: Update your eslint package to the latest version in your root package.json.

"eslint": "^9.15.0",

Step 3: Remove eslintConfig from your package.json inside the web, api and parcels/workshop directories.

Step 4: Create a eslint.config.js file in the root of your project and add the following configuration:

module.exports = require('@uhg-abyss/core/eslint-config');

Step 5: Remove the .eslintignore file from the root directory.

Step 6: If present, remove the following from your .vscode/settings.json file:

"eslint.options": {
"resolvePluginsRelativeTo": "node_modules/@uhg-abyss/core"
}

Note: Teams should upgrade to "typescript": "4.9.4", in their root package.json to ensure compatibility with the latest ESLint configuration.

Table of Contents