This package provides the shared ESLint configuration used by Ontario.ca Frontend projects. It enforces a consistent code style for JavaScript projects to help keep code clean and readable.
-
Print width: Set to 80 characters to maintain readability across various devices and editors.
-
Tab width: Uses 2 spaces for indentation to ensure code is clean and readable.
-
Semicolons: Requires semicolons at the end of statements for clarity.
-
Single quotes: Enforces the use of single quotes for strings, except in Markdown files where double quotes are preferred.
-
Trailing commas: Requires trailing commas in multi-line objects, arrays, etc., which makes version control diffs cleaner.
-
Bracket spacing: Ensures spaces are present inside object literal braces for better readability.
-
Bracket same line: Places the closing angle bracket of elements on the same line as the last prop.
-
Overrides for markdown: For
.md
files, double quotes are used instead of single quotes.
To use the @ongov/eslint-config-ontario-frontend in your project, follow the steps for based on your package manager:
-
First, you need to install ESLint if it's not already installed:
npm install eslint --save-dev
-
Next, install the
@ongov/eslint-config-ontario-frontend
package:npm install @ongov/eslint-config-ontario-frontend --save-dev
-
First, you need to install ESLint if it's not already installed:
pnpm add eslint -D
-
Next, install the
@ongov/eslint-config-ontario-frontend
package:pnpm add @ongov/eslint-config-ontario-frontend -D
After installation, you'll need to set up your ESLint configuration file if you haven't already. Here's how:
-
Create a file named
.eslintrc.json
in your project's root directory. -
Add the following content to .eslintrc.json to extend the @ongov/eslint-config-ontario-frontend configuration:
{ "extends": "@ongov/eslint-config-ontario-frontend" }
This line tells ESLint to use the @ongov/eslint-config-ontario-frontend
rules for your project.
If you need to override any rules, you can do so within your project's .eslintrc file. For example:
{
"extends": "@ongov/eslint-config-ontario-frontend",
"rules": {
"no-unused-vars": "warn",
"semi": ["error", "never"]
}
}
This customization will change the handling of unused variables to a warning and remove the requirement for semicolons.
Explore the documentation to learn about every aspect of the toolkit--from installation and file structure to adding analytics and preparing for deployment. The documentation is available at developer.ontario.ca.
Contributions to the Ontario.ca Frontend ESLint Config are welcome. Whether it's bug reports, feature requests, or contributions to code, we appreciate your input.
Check out our CONTRIBUTING.md file for guidelines on how to contribute.
This project is licensed under the Open Government Licence - Ontario. Feel free to use, modify, and distribute it as needed.
We use SemVer for versioning. For the versions available, see the tags on this repository.