@vue-storefront/eslint-config
Version:
> Common ESLint configuration used in Alokai projects. These configurations are compatible with ESLint 9.
35 lines (31 loc) • 1.1 kB
JavaScript
import { concat, defineFlatConfig } from "eslint-flat-config-utils";
import noRelativeImportPaths from "./plugins/eslint-plugin-no-relative-import-paths/index.js";
/**
* Generates an ESLint Flat Config for Alokai Multistore projects.
*
* @param {{ files?: string }} config - The base configuration object with an optional files field.
* @param {...import('eslint').Linter.Config} overrides - Additional configuration overrides.
* @returns {import('eslint').Linter.Config} The concatenated ESLint configuration.
*/
export function multistore(config, ...overrides) {
const { files = "**/*.{ts,tsx,vue}", noRelativeImportPaths: noRelativeImportPathsConfig = {} } = config ?? {};
return concat(
defineFlatConfig({
files: [files],
name: "multistore",
plugins: {
"no-relative-import-paths": noRelativeImportPaths,
},
rules: {
"no-relative-import-paths/no-relative-import-paths": [
"error",
{
prefix: "@",
...noRelativeImportPathsConfig,
},
],
},
}),
overrides,
);
}