UNPKG

@bit-ocean/prettier-config

Version:
1 lines 4.5 kB
{"version":3,"sources":["../src/presets/astro.ts","../src/presets/base.ts","../src/presets/tailwind.ts","../src/config-builder.ts"],"names":["astroPresets","basePresets","tailwindPresets","ConfigBuilder","options","__publicField","configs","acc","config","_a","_b","__spreadProps","__spreadValues","overrides","override","plugins","plugin"],"mappings":"8cAEO,IAAMA,CAAAA,CAAwB,CACnC,mBAAqB,CAAA,KAAA,CACrB,UAAW,CACT,CACE,KAAO,CAAA,SAAA,CACP,OAAS,CAAA,CACP,OAAQ,OACV,CACF,CACF,CACA,CAAA,OAAA,CAAS,CAAC,uBAAuB,CACnC,CCXO,CAAA,IAAMC,CAAuB,CAAA,CAClC,YAAa,QACb,CAAA,eAAA,CAAiB,MACjB,cAAgB,CAAA,IAAA,CAChB,2BAA4B,MAC5B,CAAA,SAAA,CAAW,IACX,CAAA,yBAAA,CAA2B,KAC3B,CAAA,cAAA,CAAgB,MAChB,UAAY,CAAA,GAAA,CACZ,UAAW,UACX,CAAA,UAAA,CAAY,YACZ,IAAM,CAAA,KAAA,CACN,sBAAwB,CAAA,IAAA,CACxB,WAAa,CAAA,IAAA,CACb,SAAU,CACV,CAAA,aAAA,CAAe,OACf,OAAS,CAAA,KAAA,CACT,wBAAyB,KAC3B,CAAA,CClBO,IAAMC,CAAAA,CAA2B,CACtC,kBAAA,CAAoB,CAAC,WAAa,CAAA,OAAA,CAAS,QAAQ,CACnD,CAAA,iBAAA,CAAmB,CAAC,MAAQ,CAAA,IAAI,CAChC,CAAA,OAAA,CAAS,CAAC,6BAA6B,CACzC,CCDO,CAAA,IAAMC,EAAN,KAAoB,CAMzB,YAAYC,CAA+B,CAAA,CAF3CC,CAAA,CAAA,IAAA,CAAiB,QAGf,CAAA,CAAA,IAAA,CAAK,OAAS,IAAK,CAAA,YAAA,CACjBJ,CACAG,CAAAA,CAAAA,CAAQ,QAAWF,CAAAA,CAAAA,CAAkB,EACrCE,CAAAA,CAAAA,CAAQ,KAAQJ,CAAAA,CAAAA,CAAe,EACjC,EACF,CAKO,KAAA,EAAQ,CACb,OAAO,IAAA,CAAK,MACd,CAEQ,YAAA,CAAA,GAAgBM,CAAmB,CAAA,CACzC,OAAOA,CAAAA,CAAQ,OACb,CAACC,CAAAA,CAAKC,IAAQ,CA5BpB,IAAAC,EAAAC,CA4BwB,CAAA,OAAAC,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EACbL,CAAAA,CAAAA,CAAAA,CACAC,GAFa,CAGhB,SAAA,CAAW,KAAK,cAAeD,CAAAA,CAAAA,CAAI,UAAWC,CAAO,CAAA,SAAS,CAC9D,CAAA,OAAA,CAAS,IAAK,CAAA,YAAA,CAAA,CAAaC,EAAAF,CAAI,CAAA,OAAA,GAAJ,IAAAE,CAAAA,CAAAA,CAAe,EAAC,CAAA,CAAGC,EAAAF,CAAO,CAAA,OAAA,GAAP,IAAAE,CAAAA,CAAAA,CAAkB,EAAE,CACpE,CACA,CAAA,CAAA,CAAA,EACF,CACF,CAKQ,kBAAkBG,CAAkC,CAAA,CAC1D,OAAOA,CAAAA,CAAU,MAAO,CAAA,CAACN,EAAKO,CAAa,GAAA,CAAC,GAAIP,CAAA,EAAA,IAAA,CAAAA,EAAO,EAAC,CAAI,GAAIO,CAAAA,EAAA,IAAAA,CAAAA,CAAAA,CAAY,EAAG,CAAA,CAAG,EAAE,CACtF,CAKQ,YAAgBC,CAAAA,GAAAA,CAAAA,CAAgC,CACtD,OAAOA,CAAQ,CAAA,MAAA,CAAO,CAACR,CAAKS,CAAAA,CAAAA,GAAW,CAAC,GAAGT,CAAK,CAAA,GAAGS,CAAM,CAAG,CAAA,EAAE,CAChE,CACF","file":"chunk-F3EQJSEE.mjs","sourcesContent":["import type { Options } from 'prettier'\n\nexport const astroPresets: Options = {\n astroAllowShorthand: false,\n overrides: [\n {\n files: '*.astro',\n options: {\n parser: 'astro'\n }\n }\n ],\n plugins: ['prettier-plugin-astro']\n}\n","import type { Options } from 'prettier'\n\nexport const basePresets: Options = {\n arrowParens: 'always',\n bracketSameLine: false,\n bracketSpacing: true,\n embeddedLanguageFormatting: 'auto',\n endOfLine: 'lf',\n htmlWhitespaceSensitivity: 'css',\n jsxSingleQuote: false,\n printWidth: 100,\n proseWrap: 'preserve',\n quoteProps: 'as-needed',\n semi: false,\n singleAttributePerLine: true,\n singleQuote: true,\n tabWidth: 2,\n trailingComma: 'none',\n useTabs: false,\n vueIndentScriptAndStyle: false\n}\n","import type { Options } from 'prettier'\n\nexport const tailwindPresets: Options = {\n tailwindAttributes: ['className', 'class', ':class'],\n tailwindFunctions: ['clsx', 'tw'],\n plugins: ['prettier-plugin-tailwindcss']\n}\n","import type { Config, Options, Plugin } from 'prettier'\n\nimport { astroPresets, basePresets, tailwindPresets } from './presets'\nimport type { ConfigBuilderOptions } from './types'\n\nexport class ConfigBuilder {\n /**\n * Prettier config object\n */\n private readonly config: Options\n\n constructor(options: ConfigBuilderOptions) {\n this.config = this.mergeConfigs(\n basePresets,\n options.tailwind ? tailwindPresets : {},\n options.astro ? astroPresets : {}\n )\n }\n\n /**\n * Get the final config object\n */\n public build() {\n return this.config\n }\n\n private mergeConfigs(...configs: Config[]) {\n return configs.reduce(\n (acc, config) => ({\n ...acc,\n ...config,\n overrides: this.mergeOverrides(acc.overrides, config.overrides),\n plugins: this.mergePlugins(acc.plugins ?? [], config.plugins ?? [])\n }),\n {}\n )\n }\n\n /**\n * Merge prettier overrides\n */\n private mergeOverrides(...overrides: Config['overrides'][]) {\n return overrides.reduce((acc, override) => [...(acc ?? []), ...(override ?? [])], [])\n }\n\n /**\n * Merge prettier plugins\n */\n private mergePlugins(...plugins: (string | Plugin)[][]) {\n return plugins.reduce((acc, plugin) => [...acc, ...plugin], [])\n }\n}\n"]}