Common Brightspace eslint configs.
npm install eslint-config-brightspace
Common Brightspace eslint configs.
``shell`
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:`js`
export { nodeConfig as default } from 'eslint-config-brightspace';
Shared configurations can also be included in a custom configuration:
`js
import { nodeConfig } from 'eslint-config-brightspace';
export default [
...nodeConfig,
// Custom configuration
];
`
Include extensions beyond .js files using the addExtenstion helper function:`js`
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.
`js
import { litConfig, nodeConfig, setDirectoryConfigs, testingConfig } from 'eslint-config-brightspace';
export default setDirectoryConfigs(
litConfig,
{
'test': testingConfig,
'test/cli': nodeConfig
}
);
`litConfig
Note that each set configuration will force all prior configurations to ignore it. For example, for the above configuration, 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:
`js`
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.