UNPKG

@hyperse/eslint-config-hyperse

Version:

🛠 These are settings for TypeScript / ESLint / Prettier in a project

31 lines (30 loc) • 919 B
//#region src/prettierShared.ts const TAILWIND_PLUGIN = "prettier-plugin-tailwindcss"; const prettierBaseOptions = { semi: true, singleQuote: true, trailingComma: "es5" }; /** * Ensures `prettier-plugin-tailwindcss` is present exactly once and last, per * https://github.com/tailwindlabs/prettier-plugin-tailwindcss#compatibility-with-other-prettier-plugins */ function finalizePrettierPlugins(plugins) { return [...normalizePlugins(plugins).filter((p) => p !== TAILWIND_PLUGIN), TAILWIND_PLUGIN]; } function normalizePlugins(plugins) { if (plugins === void 0) return []; return Array.isArray(plugins) ? [...plugins] : [plugins]; } //#endregion //#region src/definePrettierConfig.ts const definePrettierConfig = (config = {}) => { const { plugins, ...rest } = config; return { ...prettierBaseOptions, ...rest, plugins: finalizePrettierPlugins(plugins) }; }; //#endregion export { definePrettierConfig };