Daniel Bannert's open source work is supported by the community on GitHub Sponsors
Simplify your project setup with our comprehensive collection of preconfigured configuration files. Designed for effortless integration, these ready-to-use files can be seamlessly imported into your projects. These functions streamline the utilization of lint-staged / nano-staged alongside popular tools such as ESLint, Prettier, StyleLint and SecretLint.
Say goodbye to complex configurations and enjoy a smoother development experience with our all-inclusive package.
- Enhance your development workflow with hassle-free and readily shareable lint-staged / nano-staged configuration files.
- These files empower developers to maintain a uniform coding style and detect prevalent errors even before they are added to the source control system.
- Additionally, our inclusive helper module offers convenient utility functions that seamlessly integrate lint-staged with popular linting and formatting tools.
npm install @anolilab/lint-staged-configyarn add @anolilab/lint-staged-configpnpm add @anolilab/lint-staged-configIf you don’t have a .lintstagedrc.js or .nano-staged.js, we can create the file for you after installing @anolilab/lint-staged-config, call pnpm lint-stage-config:install.
If you already have a .lintstagedrc.js or .nano-staged.js, then you can extend the .lintstagedrc.js or .nano-staged.js, with @anolilab/lint-staged-config.
Note: If the script detects an existing
.lintstagedrc.jsor.nano-staged.jsfile, it will not overwrite it.
The content of the .lintstagedrc.js or .nano-staged.js should look :
// or
import { defineConfig } from "@anolilab/lint-staged-config";
const { defineConfig } = require("@anolilab/lint-staged-config");
module.exports = defineConfig();
export default defineConfig();You can configure @anolilab/lint-staged-config options inside the defineConfig function.
// or
import { defineConfig } from "@anolilab/lint-staged-config";
const { defineConfig } = require("@anolilab/lint-staged-config");
module.exports = defineConfig({
// Add your configuration here
});
export default defineConfig({
// Add your configuration here
});The default configuration, automatically adds the following linting and formatting tools, if the needed dependencies are installed.
All this tools configuration are exported at @anolilab/lint-staged-config/group/... and
can be used to extend your configuration, without including the auto config.
If you want to use husky to run the lint-staged script, you can use the following configuration.
Adding the following script to your root package.json file makes it easier to run the husky command:
pnpm pkg set scripts.prepare="is-ci || husky install || exit 0"This script will install husky only if it's not running in a CI environment.
After that you can find a .husky folder in your root directory, with a pre-commit (if not please create it) file.
The file content can look :
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# The hook should exit with non-zero status after issuing
# an appropriate message if it wants to stop the commit.
echo --------------------------------------------
echo Starting Git hook: pre-commit
./node_modules/.bin/lint-staged --verbose --concurrent false
echo Finished Git hook: pre-commit
echo --------------------------------------------Or with nano-staged:
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# The hook should exit with non-zero status after issuing
# an appropriate message if it wants to stop the commit.
echo --------------------------------------------
echo Starting Git hook: pre-commit
./node_modules/.bin/nano-staged
echo Finished Git hook: pre-commit
echo --------------------------------------------Our package includes a lint-stage-config:install command to add the pre-commit, common.sh, prepare-commit-msg hooks to your .husky` folder.
If commitzen is installed, the prepare-commit-msg hook with predefined content will be added to your .husky folder.
Libraries in this ecosystem make the best effort to track Node.js’ release schedule.
Here’s a post on why we think this is important.
If you would like to help take a look at the list of issues and check our Contributing guidelines.
Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
This is an open source project and will always remain free to use. If you think it’s cool, please star it 🌟. Anolilab is a Development and AI Studio. Contact at hello@anolilab.com if you need any help with these technologies or want to say hi!
The anolilab lint-staged-config is open-sourced software licensed under the MIT