Common Brightspace eslint configs.
npm install eslint-config-brightspace
To use a shared configuration without any customizations, export it from a eslint.config.js
file at the project root:
export { nodeConfig as default } from 'eslint-config-brightspace';
Shared configurations can also be included in a custom configuration:
import { nodeConfig } from 'eslint-config-brightspace';
export default [
...nodeConfig,
// Custom configuration
];
Include extensions beyond .js
files using the addExtenstion
helper function:
import { addExtensions, nodeConfig } from 'eslint-config-brightspace';
export default addExtensions(nodeConfig, ['.js','.html']);
To include different configurations for specific directories, use the setDirectoryConfigs
helper function. This replaces the configuration hierarchy from eslint8
.
Include the global configuration and specify the directory configurations. These will apply to all files inside the directory and recursively to any of its subdirectories.
import { litConfig, nodeConfig, setDirectoryConfigs, testingConfig } from 'eslint-config-brightspace';
export default setDirectoryConfigs(
litConfig,
{
'test': testingConfig,
'test/cli': nodeConfig
}
);
Note that each set configuration will force all prior configurations to ignore it. For example, for the above configuration, litConfig
will ignore any files in the test
directory; and testingConfig
will ignore any files in the test/cli
directory.
Environment | Description |
---|---|
browserConfig |
use with code that runs in a browser |
litConfig |
use with Lit projects |
testingConfig |
use with @brightspace-ui/testing test code |
nodeConfig |
use with Node.js projects |
reactConfig |
use with React projects |
Example:
export { nodeConfig as default } from 'eslint-config-brightspace';
See the eslint rules for more details on rule configuration. See the eslint shareable configs for more details on creating configs.
After cloning the repo, run npm install
to install dependencies.
This repo is configured to use semantic-release
. Commits prefixed with fix:
and feat:
will trigger patch and minor releases when merged to main
.
To learn how to create major releases and release from maintenance branches, refer to the semantic-release GitHub Action documentation.