mejora 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{t as e}from"./config-C0qrgNuO.mjs";import{a as t,c as n,i as r,o as i,s as a,t as o}from"./hash-BaLFZO2A.mjs";import{glob as s,mkdir as c,readFile as l,stat as u,writeFile as d}from"node:fs/promises";import{createReadStream as f}from"node:fs";import{createInterface as p}from"node:readline/promises";function m(e){let{defaults:t,type:n}=e,r=()=>{let t={async run(t){let{type:n,...r}=t;return{items:await e.run(r),type:`items`}},type:n};return e.setup&&(t.setup=e.setup),e.validate&&(t.validate=e.validate),t};return e=>{let{name:i,...a}=e;return{__runnerFactory:r,config:{type:n,...t,...a},id:i}}}function h(){let e=new WeakSet;return(t,n)=>{if(n&&typeof n==`object`){if(e.has(n))return`[Circular]`;if(e.add(n),!Array.isArray(n)){let e=n,t={};for(let n of Object.keys(e).toSorted()){let r=e[n];typeof r==`function`||typeof r==`symbol`||(t[n]=r)}return t}}return n}}function g(e){return o(JSON.stringify(e??null,h()))}function _(e,t=process.cwd()){return a(t,`node_modules`,`.cache`,`mejora`,e)}async function v(e){try{let t=await l(e,`utf8`);return JSON.parse(t)}catch{return{}}}async function y(e,t){try{await d(e,JSON.stringify(t,null,2),`utf8`)}catch{}}async function b(e){try{let t=await u(e);return`${t.mtimeMs}-${t.size}`}catch{return null}}const x=m({async run(e){let{ESLint:t}=await import(`eslint`),n=process.cwd(),r=_(`eslint`,n),a=g(e),{concurrency:o
|
|
1
|
+
import{t as e}from"./config-C0qrgNuO.mjs";import{a as t,c as n,i as r,o as i,s as a,t as o}from"./hash-BaLFZO2A.mjs";import{glob as s,mkdir as c,readFile as l,stat as u,writeFile as d}from"node:fs/promises";import{createReadStream as f}from"node:fs";import{createInterface as p}from"node:readline/promises";function m(e){let{defaults:t,type:n}=e,r=()=>{let t={async run(t){let{type:n,...r}=t;return{items:await e.run(r),type:`items`}},type:n};return e.setup&&(t.setup=e.setup),e.validate&&(t.validate=e.validate),t};return e=>{let{name:i,...a}=e;return{__runnerFactory:r,config:{type:n,...t,...a},id:i}}}function h(){let e=new WeakSet;return(t,n)=>{if(n&&typeof n==`object`){if(e.has(n))return`[Circular]`;if(e.add(n),!Array.isArray(n)){let e=n,t={};for(let n of Object.keys(e).toSorted()){let r=e[n];typeof r==`function`||typeof r==`symbol`||(t[n]=r)}return t}}return n}}function g(e){return o(JSON.stringify(e??null,h()))}function _(e,t=process.cwd()){return a(t,`node_modules`,`.cache`,`mejora`,e)}async function v(e){try{let t=await l(e,`utf8`);return JSON.parse(t)}catch{return{}}}async function y(e,t){try{await d(e,JSON.stringify(t,null,2),`utf8`)}catch{}}async function b(e){try{let t=await u(e);return`${t.mtimeMs}-${t.size}`}catch{return null}}const x=m({async run(e){let{ESLint:t}=await import(`eslint`),n=process.cwd(),r=_(`eslint`,n),a=g(e),{concurrency:o,...s}=e,c=new Set;if(s.rules)for(let e of Object.keys(s.rules))c.add(e);let l=c.size>0,u=await new t({cache:!0,cacheLocation:`${r}/${a}.eslintcache`,overrideConfig:s,...!l&&{concurrency:o??`auto`},...l&&{ruleFilter:({ruleId:e})=>c.has(e)}}).lintFiles(s.files),d=[];for(let{filePath:e,messages:t}of u){let r=i(n,e);for(let{column:e,line:n,message:i,ruleId:a}of t)a&&d.push({column:e,file:r,line:n,message:i,rule:a})}return d},async setup(){let e=_(`eslint`,process.cwd()),{mkdir:t}=await import(`node:fs/promises`);await t(e,{recursive:!0})},type:`eslint`,async validate(){try{await import(`eslint`)}catch{throw Error(`eslint check requires "eslint" package to be installed. Run: npm install eslint`)}}}),S=[`**/node_modules/**`,`**/dist/**`,`**/.git/**`];function C(e,t){if(t?.length)return t;let n=e.map(e=>/^([^*]+\/)/.exec(e)?.[1]).filter(e=>e!==void 0);return[...S,...n.flatMap(e=>S.map(t=>t.replace(/^\*\*\//,e)))]}async function w(e,t,n){let r=Array.from({length:e.length}),i=0;return await Promise.all(Array.from({length:Math.min(t,e.length)},async()=>{for(;i<e.length;){let t=i++;r[t]=await n(e[t])}})),r}const T=m({async run(e){let n=process.cwd(),r=Array.isArray(e.files)?e.files:[e.files],i=C(r,e.ignore),a=new Set;for(let e of r){let t=s(e,{cwd:n,exclude:i});for await(let e of t)a.add(e)}let o=[...a],c=e.patterns.map(({message:e,pattern:t,rule:n})=>{let r=t.flags.includes(`g`)?t.flags:`${t.flags}g`;return{message:e,regex:new RegExp(t.source,r),ruleText:n??t.source}}),l=t(_(`regex`,n),`${g(e)}.json`),u=await v(l),d={},m=await w(o,e.concurrency??10,async e=>{let r=t(n,e),i=await b(r);if(!i)return[];let a=u[e];if(a?.hash===i)return d[e]=a,a.items;try{let t=[],n=p({crlfDelay:1/0,input:f(r,{encoding:`utf8`})}),a=0;try{for await(let r of n){a++;for(let n of c){n.regex.lastIndex=0;let i;for(;(i=n.regex.exec(r))!==null;){let r=i.index+1,o=typeof n.message==`function`?n.message(i):n.message??`Pattern matched: ${i[0]}`;t.push({column:r,file:e,line:a,message:o,rule:n.ruleText})}}}}finally{n.close()}return d[e]={hash:i,items:t},t}catch{return[]}}),h=[];for(let e of m)h.push(...e);return await y(l,d),h},async setup(){await c(_(`regex`,process.cwd()),{recursive:!0})},type:`regex`});function E(e,t){return e.replaceAll(/import\("([^"]+)"\)/g,(e,n)=>{try{if(r(n)){let e=i(t,n);if(!e.startsWith(`..`))return`import("${e||`.`}")`}}catch{}return e})}const D=m({async run(e){let{createIncrementalCompilerHost:t,createIncrementalProgram:r,findConfigFile:o,flattenDiagnosticMessageText:s,getPreEmitDiagnostics:c,parseJsonConfigFileContent:l,readConfigFile:u,sys:d,version:f}=await import(`typescript`),p=process.cwd(),m=d.fileExists.bind(d),h=d.readFile.bind(d),v=e.tsconfig?a(e.tsconfig):o(p,m,`tsconfig.json`);if(!v)throw Error(`TypeScript config file not found`);let{config:y,error:b}=u(v,h);if(b){let e=typeof b.messageText==`string`?b.messageText:s(b.messageText,`
|
|
2
2
|
`);throw TypeError(`Failed to read TypeScript config: ${e}`)}let x=l(y,d,p,e.compilerOptions),S=a(_(`typescript`,p),`${g({compilerOptions:e.compilerOptions??{},configPath:v,parsedOptions:x.options,typescriptVersion:f})}.tsbuildinfo`),C={...x.options,incremental:!0,noEmit:!0,skipLibCheck:x.options.skipLibCheck??!0,tsBuildInfoFile:S},w=t(C,d),T=w.writeFile.bind(w);w.writeFile=(e,t,...n)=>{a(e)===S&&T(e,t,...n)};let D=r({host:w,options:C,projectReferences:x.projectReferences??[],rootNames:x.fileNames}),O=c(D.getProgram());D.emit();let k=a(p),A=k+n,j=O.filter(e=>{if(!e.file)return!0;let t=a(e.file.fileName);return t===k||t.startsWith(A)}),M=[];for(let e of j){let t=s(e.messageText,`
|
|
3
3
|
`),n=`TS${e.code}`;if(e.file&&e.start!==void 0){let{character:r,line:a}=e.file.getLineAndCharacterOfPosition(e.start),o=i(p,e.file.fileName);M.push({column:r+1,file:o,line:a+1,message:E(t,p),rule:n})}else M.push({column:0,file:`(global)`,line:0,message:E(t,p),rule:n})}return M},async setup(){let e=_(`typescript`,process.cwd()),{mkdir:t}=await import(`node:fs/promises`);await t(e,{recursive:!0})},type:`typescript`,async validate(){try{await import(`typescript`)}catch{throw Error(`typescript check requires "typescript" package to be installed. Run: npm install typescript`)}}});export{m as defineCheck,e as defineConfig,x as eslint,T as regex,D as typescript};
|