UNPKG

@directus/eslint-config

Version:

Shared ESLint config used in Directus projects

2 lines (1 loc) 1.02 kB
import{readFile as u}from"node:fs/promises";import y from"node:path";import{createFromBuffer as w}from"@dprint/formatter";import{runAsWorker as x}from"synckit";var s={"dprint-plugin-markdown":{configKey:"markdown",version:"0.17.8",fileExtensions:["md"]},"g-plane/malva":{configKey:"malva",version:"0.11.1",fileExtensions:["css","scss","sass","less"]},"g-plane/markup_fmt":{configKey:"markup",version:"0.18.0",fileExtensions:["html","vue","svelte","astro","jinja","jinja2","twig","njk","vto"]},"g-plane/pretty_graphql":{configKey:"graphql",version:"0.2.1",fileExtensions:["graphql","gql"]}};var i=new Map,d=async(a,r,f)=>{let e=y.extname(r).slice(1).toLowerCase(),t=i.get(e);if(!t){let o=Object.values(s).find(n=>n.fileExtensions.includes(e));if(!o)throw new Error(`${e} is not supported`);let p=new URL(`dprint-plugins/${o.configKey}.wasm`,import.meta.url),c=await u(p);t=w(c);for(let n of o.fileExtensions)i.set(n,t)}let{languageOptions:m={},...l}=f;return t.setConfig(l,m),t.formatText({filePath:r,fileText:a})};x(d);