@vercel/style-guide
Version:
Vercel's engineering style guide
84 lines (83 loc) • 2.94 kB
JavaScript
module.exports = {
rules: {
/**
* Disallow non-import statements appearing before import statements.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/first.md
*/
'import/first': 'error',
/**
* Require a newline after the last import/require.
*
* 🔧 Fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/newline-after-import.md
*/
'import/newline-after-import': 'warn',
/**
* Disallow import of modules using absolute paths.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-absolute-path.md
*/
'import/no-absolute-path': 'error',
/**
* Disallow cyclical dependencies between modules.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-cycle.md
*/
'import/no-cycle': 'error',
/**
* Disallow default exports.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-default-export.md
*/
'import/no-default-export': 'error',
/**
* Disallow the use of extraneous packages.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-extraneous-dependencies.md
*/
'import/no-extraneous-dependencies': ['error', { includeTypes: true }],
/**
* Disallow mutable exports.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-mutable-exports.md
*/
'import/no-mutable-exports': 'error',
/**
* Disallow importing packages through relative paths.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-packages.md
*/
'import/no-relative-packages': 'warn',
/**
* Disallow a module from importing itself.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-self-import.md
*/
'import/no-self-import': 'error',
/**
* Ensures that there are no useless path segments.
*
* 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-useless-path-segments.md
*/
'import/no-useless-path-segments': ['error'],
/**
* Enforce a module import order convention.
*
* 🔧 Fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md
*/
'import/order': [
'warn',
{
groups: [
'builtin', // Node.js built-in modules
'external', // Packages
'internal', // Aliased modules
'parent', // Relative parent
'sibling', // Relative sibling
'index', // Relative index
],
'newlines-between': 'never',
},
],
},
};