Gathering detailed insights and metrics for eslint-config-epsvue
Gathering detailed insights and metrics for eslint-config-epsvue
Gathering detailed insights and metrics for eslint-config-epsvue
Gathering detailed insights and metrics for eslint-config-epsvue
An combined linter shareable configuration (eslint, stylelint and prettier) for Vuejs projects
npm install eslint-config-epsvue
Typescript
Module System
Min. Node Version
Node Version
NPM Version
JavaScript (93.85%)
Vue (5.35%)
CSS (0.8%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
4 Stars
111 Commits
2 Watchers
16 Branches
2 Contributors
Updated on May 16, 2025
Latest Version
1.3.3
Package Id
eslint-config-epsvue@1.3.3
Unpacked Size
36.70 kB
Size
9.30 kB
File Count
11
NPM Version
10.8.2
Node Version
20.19.1
Published on
May 12, 2025
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
18
8
4
A comprehensive and shareable ESLint configuration tailored for Vue.js projects, incorporating best practices for JavaScript, TypeScript, Vue.js, Prettier, testing (Cypress, Jest/Vitest), Storybook, and security. This configuration aims to provide a solid foundation for clean, maintainable, and secure Vue.js code.
.vue
)..js
, .mjs
, .cjs
) and TypeScript (.ts
, .tsx
, .mts
) projects.eslint-plugin-security
to help identify potential security vulnerabilities.@stylistic/eslint-plugin
for fine-grained control over code style.Start from the version 1.1.0
, you have to use eslint version >= 9.0.0
as this support only the nodejs versions above Nodejs >= 18.18.0
same as stylelint 16
witch support Node >= 18.12.0
.
[!WARNING] Make sure you upgrade to at least
Node.js v18.18.0
when usingESLint v9.0.0
. One important thing to double check is the Node.js version supported by your editor when using ESLint via editor integrations. If you are unable to upgrade, we recommend continuing to use ESLint v8.56.0 until you are able to upgrade Node.js. You can read it on the eslint's official documentation
[!NOTE] The current version doesn't support the legacy .eslintrc* configuration format. If ?you want to use this format, feel free to install this version v1.0.4
And you need to note that:
[!NOTE] If you want to know more about the new configurations, you can see the Key Differences between Configuration Formats
To use eslint-config-epsvue
in your project, follow these steps:
Install the package and its peer dependencies:
Using npm:
1npm install --save-dev eslint-config-epsvue
Using yarn:
1yarn add --dev eslint-config-epsvue
Using bun:
1bun add --dev eslint-config-epsvue
When using TypeScript, you may also need to install the TypeScript ESLint parser and plugin:
1npm install --save-dev @typescript-eslint/eslint-plugin@">=8.0.0" @typescript-eslint/parser@">=8.0.0" @vue/eslint-config-typescript@">=14.0.0" typescript-eslint@">=8.32.0"
1yarn add -D @typescript-eslint/eslint-plugin@">=8.0.0" @typescript-eslint/parser@">=8.0.0" @vue/eslint-config-typescript@">=14.0.0" typescript-eslint@">=8.32.0"
1bun yarn add --dev @typescript-eslint/eslint-plugin@">=8.0.0" @typescript-eslint/parser@">=8.0.0" @vue/eslint-config-typescript@">=14.0.0" typescript-eslint@">=8.32.0"
Configure ESLint:
Create an eslint.config.js
(or eslint.config.mjs
) file in the root of your project (if you don't have one already) and add the following:
1import epsvue from "eslint-config-epsvue"; 2 3export default [...epsvue];
If you need to customize or extend the configuration, you can do so by adding additional configuration objects to the exported array. For example:
1import epsvue from "eslint-config-epsvue"; 2 3export default [ 4 ...epsvue, 5 { 6 files: ["src/**/*.js", "src/**/*.vue"], 7 rules: { 8 // Your project-specific rules or overrides 9 "no-console": "warn", 10 }, 11 }, 12];
Configure Stylelint:
Create a stylelint.config.js
file in the root of your project and add the following:
1import epsvueStylelint from "eslint-config-epsvue/stylelint"; 2 3export default { 4 extends: [epsvueStylelint], 5 // Add project-specific Stylelint rules or overrides here (optional) 6 rules: { 7 "selector-class-pattern": null, // Example: Disable class name pattern 8 }, 9};
This configuration provides linting for both JavaScript/TypeScript (via ESLint) and styling (via Stylelint).
You can import different flavors of this configuration based on your project's needs:
Full Configuration (Default): Includes the complete set of linting rules for JavaScript, TypeScript, Vue.js, Prettier, testing (Cypress, Jest/Vitest), Storybook, security, and stylistic enforcement. This is the configuration you get when importing eslint-config-epsvue
directly.
1import epsvue from "eslint-config-epsvue"; 2 3export default [...epsvue];
Recommended: A generally recommended configuration that includes core JavaScript, TypeScript, and Vue.js linting, along with Prettier integration. This option omits some of the more specialized testing and Storybook rules.
1import epsvueRecommended from "eslint-config-epsvue/recommended"; 2 3export default [...epsvueRecommended];
Minimal: A very basic setup with essential JavaScript and Vue.js linting, plus Prettier. This is the lightest option for projects with simpler needs.
1import epsvueMinimal from "eslint-config-epsvue/minimal"; 2 3export default [...epsvueMinimal];
You can still extend or customize these flavors as needed:
1import epsvueRecommended from "eslint-config-epsvue/recommended"; 2 3export default [ 4 ...epsvueRecommended, 5 { 6 files: ["src/**/*.js", "src/**/*.vue"], 7 rules: { 8 "no-console": "warn", 9 }, 10 }, 11];
Running ESLint: You can run ESLint from your terminal using the following command (usually defined in your package.json
scripts):
1npx eslint . --ext .vue,.js,.ts,.jsx,.tsx,.mjs,.cjs,.mts 2# or 3yarn eslint . --ext .vue,.js,.ts,.jsx,.tsx,.mjs,.cjs,.mts 4# or 5bun eslint . --ext .vue,.js,.ts,.jsx,.tsx,.mjs,.cjs,.mts
Automatic Fixing: ESLint can automatically fix many styling and some code quality issues:
1npx eslint . --ext .vue,.js,.ts,.jsx,.tsx,.mjs,.cjs,.mts --fix 2# or 3yarn eslint . --ext .vue,.js,.ts,.jsx,.tsx,.mjs,.cjs,.mts --fix 4# or 5bun eslint . --ext .vue,.js,.ts,.jsx,.tsx,.mjs,.cjs,.mts --fix
Editor Integration: It's highly recommended to integrate ESLint with your code editor for real-time feedback as you write code. Most popular editors have ESLint plugins available.
You can import different flavors of this configuration based on your project's needs:
Full Configuration (Default): Includes the complete set of stylelint rules.
1import epsvueStylelint from "eslint-config-epsvue/stylelint"; 2 3export default { 4 extends: [epsvueStylelint], 5 // Add project-specific Stylelint rules or overrides here (optional) 6};
Minimal: A minimal stylelint configuration.
1import epsvueStylelintMinimal from "eslint-config-epsvue/stylelint-minimal"; 2 3export default { 4 extends: [epsvueStylelintMinimal], 5 // Add project-specific Stylelint rules or overrides here (optional) 6};
Configure Stylelint:
Create a stylelint.config.js
file in the root of your project and extend the desired Stylelint configuration. The default is full.
1import epsvueStylelint from "eslint-config-epsvue/stylelint"; 2 3export default { 4 extends: [epsvueStylelint], 5 // Add project-specific Stylelint rules or overrides here (optional) 6 rules: { 7 "selector-class-pattern": null, // Example: Disable class name pattern 8 "order/properties-order": [], 9 }, 10};
Running Stylelint:
You can run Stylelint from your terminal using the following command (usually defined in your package.json
scripts):
1npx stylelint '**/*.{vue,css,scss}' --allow-empty-input # or `--aei` instead of `--allow-empty-input` 2#or 3yarn stylelint '**/*.{vue,css,scss}' --allow-empty-input 4#or 5bun stylelint '**/*.{vue,css,scss}' --allow-empty-input
Automatic Fixing:
Stylelint can automatically fix many styling issues:
1npx stylelint '**/*.{vue,css,scss}' --allow-empty-input --fix 2#or 3yarn stylelint '**/*.{vue,css,scss}' --allow-empty-input --fix 4#or 5bun stylelint '**/*.{vue,css,scss}' --allow-empty-input --fix
Editor Integration:
It's highly recommended to integrate Stylelint with your code editor for real-time feedback as you write code. Most popular editors have Stylelint plugins available. Use the stylelint.vscode-stylelint extension that [Stylelint] provides officially.
You have to configure the stylelint.validate
option of the extension to check .vue
files, because the extension does not check the *.vue
file by default.
Example .vscode/settings.json:
1{ 2 "stylelint.validate": [ 3 ..., 4 // ↓ Add "vue" language. 5 "vue" 6 ], 7 "eslint.validate": [ 8 ..., 9 // ↓ Add "vue" language. 10 "javascript", 11 "typescript", 12 "vue" 13 ] 14}
RQ: Sometimes, you may need to restart your editor for the changes to take effect. In vscode, you can do this by pressing Ctrl + Shift + P
and selecting Reload Window
.
The following packages are peer dependencies of eslint-config-epsvue
. This means they need to be installed in your project alongside this configuration:
eslint
@eslint/js
eslint-plugin-vue
@vue/eslint-config-typescript
@vue/eslint-config-prettier
eslint-plugin-prettier
eslint-plugin-cypress
eslint-plugin-storybook
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
globals
@stylistic/eslint-plugin
eslint-plugin-security
prettier
stylelint
stylelint-config-recommended-vue
stylelint-config-standard-vue
stylelint-config-standard-scss
stylelint-order
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute.
This project is open source and does not currently have a specific license file. All rights are reserved by the authors unless explicitly granted.
Follow IT-WIBRC on GitHub for more updates and projects.
No vulnerabilities found.
No security vulnerabilities found.