67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
/**
|
|
* THIS FILE WAS AUTO-GENERATED.
|
|
* PLEASE DO NOT EDIT IT MANUALLY.
|
|
* ===============================
|
|
* IF YOU'RE COPYING THIS INTO AN ESLINT CONFIG, REMOVE THIS COMMENT BLOCK.
|
|
*/
|
|
|
|
import path from 'node:path';
|
|
|
|
import { includeIgnoreFile } from '@eslint/compat';
|
|
import js from '@eslint/js';
|
|
import { configs, plugins } from 'eslint-config-airbnb-extended';
|
|
import { rules as prettierConfigRules } from 'eslint-config-prettier';
|
|
import prettierPlugin from 'eslint-plugin-prettier';
|
|
|
|
export const projectRoot = path.resolve('.');
|
|
export const gitignorePath = path.resolve(projectRoot, '.gitignore');
|
|
|
|
const jsConfig = [
|
|
// ESLint Recommended Rules
|
|
{
|
|
name: 'js/config',
|
|
...js.configs.recommended,
|
|
},
|
|
// Stylistic Plugin
|
|
plugins.stylistic,
|
|
// Import X Plugin
|
|
plugins.importX,
|
|
// Airbnb Base Recommended Config
|
|
...configs.base.recommended,
|
|
];
|
|
|
|
const nodeConfig = [
|
|
// Node Plugin
|
|
plugins.node,
|
|
// Airbnb Node Recommended Config
|
|
...configs.node.recommended,
|
|
];
|
|
|
|
const prettierConfig = [
|
|
// Prettier Plugin
|
|
{
|
|
name: 'prettier/plugin/config',
|
|
plugins: {
|
|
prettier: prettierPlugin,
|
|
},
|
|
},
|
|
// Prettier Config
|
|
{
|
|
name: 'prettier/config',
|
|
rules: {
|
|
...prettierConfigRules,
|
|
'prettier/prettier': 'error',
|
|
},
|
|
},
|
|
];
|
|
|
|
export default [
|
|
// Ignore .gitignore files/folder in eslint
|
|
includeIgnoreFile(gitignorePath),
|
|
// Javascript Config
|
|
...jsConfig,
|
|
// Node Config
|
|
...nodeConfig,
|
|
// Prettier Config
|
|
...prettierConfig,
|
|
];
|