mejora 1.0.0 → 1.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as e}from"node:module";import{relative as t,resolve as n}from"node:path";import{createHash as
|
|
2
|
-
`);throw TypeError(`Failed to read TypeScript config: ${e}`)}let
|
|
3
|
-
`),
|
|
4
|
-
`),n=`(global) - TS${e.code}: ${t}`;
|
|
1
|
+
import{createRequire as e}from"node:module";import{relative as t,resolve as n,sep as r}from"node:path";import{createHash as i}from"node:crypto";import{pathToFileURL as a}from"node:url";var o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=e(import.meta.url);function c(e){let t=JSON.stringify(e??null,(e,t)=>{if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t;return Object.keys(e).toSorted().reduce((t,n)=>({...t,[n]:e[n]}),{})}return t});return i(`sha256`).update(t).digest(`hex`)}const l=({column:e,cwd:n,filePath:r,line:i,ruleId:a})=>`${t(n,r)}:${i}:${e} - ${a}`;async function u(){try{await import(`eslint`)}catch{throw Error(`ESLint check requires eslint but it's not installed.`)}}async function d(e){let{ESLint:t}=await import(`eslint`),n=process.cwd(),r=await new t({cache:!0,cacheLocation:`node_modules/.cache/mejora/eslint/${c(e)}`,concurrency:`auto`,overrideConfig:e.overrides}).lintFiles(e.files),i=[];for(let{filePath:e,messages:t}of r)for(let{column:r,line:a,ruleId:o}of t)if(o){let t=l({column:r,cwd:n,filePath:e,line:a,ruleId:o});i.push(t)}return{items:i.toSorted(),type:`items`}}function f(e){return{type:`eslint`,...e}}async function p(){try{await import(`typescript`)}catch{throw Error(`TypeScript check requires typescript but it's not installed.`)}}const m=({character:e,code:n,cwd:r,fileName:i,line:a,message:o})=>`${t(r,i)}:${a+1}:${e+1} - TS${n}: ${o}`;async function h(e){let{createProgram:t,findConfigFile:i,flattenDiagnosticMessageText:a,getPreEmitDiagnostics:o,parseJsonConfigFileContent:s,readConfigFile:c,sys:l}=await import(`typescript`),u=process.cwd(),d=l.fileExists.bind(l),f=l.readFile.bind(l),p=e.tsconfig?n(e.tsconfig):i(u,d,`tsconfig.json`);if(!p)throw Error(`TypeScript config file not found`);let{config:h,error:g}=c(p,f);if(g){let e=typeof g.messageText==`string`?g.messageText:a(g.messageText,`
|
|
2
|
+
`);throw TypeError(`Failed to read TypeScript config: ${e}`)}let _=s(h,l,process.cwd(),e.overrides?.compilerOptions),v=o(t({options:_.options,rootNames:_.fileNames})).filter(e=>{if(!e.file)return!0;let t=n(e.file.fileName),i=n(u);return t===i||t.startsWith(i+r)}),y=[];for(let e of v)if(e.file&&e.start!==void 0){let{character:t,line:n}=e.file.getLineAndCharacterOfPosition(e.start),r=a(e.messageText,`
|
|
3
|
+
`),i=m({character:t,code:e.code,cwd:u,fileName:e.file.fileName,line:n,message:r});y.push(i)}else{let t=a(e.messageText,`
|
|
4
|
+
`),n=`(global) - TS${e.code}: ${t}`;y.push(n)}return{items:y.toSorted(),type:`items`}}function g(e){return{type:`typescript`,...e}}var _=o(((e,t)=>{let n=s(`path`),r=s(`fs`),i=s(`os`),a=s(`url`),o=r.promises.readFile;function c(e,t){return[`package.json`,`.${e}rc.json`,`.${e}rc.js`,`.${e}rc.cjs`,...t?[]:[`.${e}rc.mjs`],`.config/${e}rc`,`.config/${e}rc.json`,`.config/${e}rc.js`,`.config/${e}rc.cjs`,...t?[]:[`.config/${e}rc.mjs`],`${e}.config.js`,`${e}.config.cjs`,...t?[]:[`${e}.config.mjs`]]}function l(e){return n.dirname(e)||n.sep}let u=(e,t)=>JSON.parse(t),d=typeof __webpack_require__==`function`?__non_webpack_require__:s,f=Object.freeze({".js":d,".json":d,".cjs":d,noExt:u});t.exports.defaultLoadersSync=f;let p=async e=>{try{return(await import(a.pathToFileURL(e).href)).default}catch(t){try{return d(e)}catch(e){throw e.code===`ERR_REQUIRE_ESM`||e instanceof SyntaxError&&e.toString().includes(`Cannot use import statement outside a module`)?t:e}}},m=Object.freeze({".js":p,".mjs":p,".cjs":p,".json":u,noExt:u});t.exports.defaultLoaders=m;function h(e,t,r){let a={stopDir:i.homedir(),searchPlaces:c(e,r),ignoreEmptySearchPlaces:!0,cache:!0,transform:e=>e,packageProp:[e],...t,loaders:{...r?f:m,...t.loaders}};return a.searchPlaces.forEach(e=>{let t=n.extname(e)||`noExt`,r=a.loaders[t];if(!r)throw Error(`Missing loader for extension "${e}"`);if(typeof r!=`function`)throw Error(`Loader for extension "${e}" is not a function: Received ${typeof r}.`)}),a}function g(e,t){return typeof e==`string`&&e in t?t[e]:(Array.isArray(e)?e:e.split(`.`)).reduce((e,t)=>e===void 0?e:e[t],t)||null}function _(e){if(!e)throw Error(`load must pass a non-empty string`)}function v(e,t){if(!e)throw Error(`No loader specified for extension "${t}"`);if(typeof e!=`function`)throw Error(`loader is not a function`)}let y=e=>(t,n,r)=>(e&&t.set(n,r),r);t.exports.lilconfig=function(e,t){let{ignoreEmptySearchPlaces:i,loaders:a,packageProp:s,searchPlaces:c,stopDir:u,transform:d,cache:f}=h(e,t??{},!1),p=new Map,m=new Map,b=y(f);return{async search(e=process.cwd()){let t={config:null,filepath:``},m=new Set,h=e;dirLoop:for(;;){if(f){let e=p.get(h);if(e!==void 0){for(let t of m)p.set(t,e);return e}m.add(h)}for(let e of c){let c=n.join(h,e);try{await r.promises.access(c)}catch{continue}let l=String(await o(c)),u=n.extname(e)||`noExt`,d=a[u];if(e===`package.json`){let e=g(s,await d(c,l));if(e!=null){t.config=e,t.filepath=c;break dirLoop}continue}let f=l.trim()===``;if(!(f&&i)){f?(t.isEmpty=!0,t.config=void 0):(v(d,u),t.config=await d(c,l)),t.filepath=c;break dirLoop}}if(h===u||h===l(h))break dirLoop;h=l(h)}let _=t.filepath===``&&t.config===null?d(null):d(t);if(f)for(let e of m)p.set(e,_);return _},async load(e){_(e);let t=n.resolve(process.cwd(),e);if(f&&m.has(t))return m.get(t);let{base:r,ext:c}=n.parse(t),l=c||`noExt`,u=a[l];v(u,l);let p=String(await o(t));if(r===`package.json`)return b(m,t,d({config:g(s,await u(t,p)),filepath:t}));let h={config:null,filepath:t},y=p.trim()===``;return y&&i?b(m,t,d({config:void 0,filepath:t,isEmpty:!0})):(h.config=y?void 0:await u(t,p),b(m,t,d(y?{...h,isEmpty:y,config:void 0}:h)))},clearLoadCache(){f&&m.clear()},clearSearchCache(){f&&p.clear()},clearCaches(){f&&(m.clear(),p.clear())}}},t.exports.lilconfigSync=function(e,t){let{ignoreEmptySearchPlaces:i,loaders:a,packageProp:o,searchPlaces:s,stopDir:c,transform:u,cache:d}=h(e,t??{},!0),f=new Map,p=new Map,m=y(d);return{search(e=process.cwd()){let t={config:null,filepath:``},p=new Set,m=e;dirLoop:for(;;){if(d){let e=f.get(m);if(e!==void 0){for(let t of p)f.set(t,e);return e}p.add(m)}for(let e of s){let s=n.join(m,e);try{r.accessSync(s)}catch{continue}let c=n.extname(e)||`noExt`,l=a[c],u=String(r.readFileSync(s));if(e===`package.json`){let e=g(o,l(s,u));if(e!=null){t.config=e,t.filepath=s;break dirLoop}continue}let d=u.trim()===``;if(!(d&&i)){d?(t.isEmpty=!0,t.config=void 0):(v(l,c),t.config=l(s,u)),t.filepath=s;break dirLoop}}if(m===c||m===l(m))break dirLoop;m=l(m)}let h=t.filepath===``&&t.config===null?u(null):u(t);if(d)for(let e of p)f.set(e,h);return h},load(e){_(e);let t=n.resolve(process.cwd(),e);if(d&&p.has(t))return p.get(t);let{base:s,ext:c}=n.parse(t),l=c||`noExt`,f=a[l];v(f,l);let h=String(r.readFileSync(t));if(s===`package.json`)return u({config:g(o,f(t,h)),filepath:t});let y={config:null,filepath:t},b=h.trim()===``;return b&&i?m(p,t,u({filepath:t,config:void 0,isEmpty:!0})):(y.config=b?void 0:f(t,h),m(p,t,u(b?{...y,isEmpty:b,config:void 0}:y)))},clearLoadCache(){d&&p.clear()},clearSearchCache(){d&&f.clear()},clearCaches(){d&&(p.clear(),f.clear())}}}}))();const v=async e=>{let t=await import(a(e).href);return t&&typeof t==`object`&&`default`in t?t.default:t},y=e=>e,b=async()=>{let e=await(0,_.lilconfig)(`mejora`,{loaders:{".js":v,".mjs":v,".mts":v,".ts":v},searchPlaces:[`mejora.config.ts`,`mejora.config.mts`,`mejora.config.js`,`mejora.config.mjs`]}).search(process.cwd());if(!e?.config)throw Error(`No configuration file found.`);return e.config};export{p as a,u as c,g as i,b as n,f as o,h as r,d as s,y as t};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,o as t,t as n}from"./config-
|
|
1
|
+
import{i as e,o as t,t as n}from"./config-c3IzQqLC.mjs";export{n as defineConfig,t as eslintCheck,e as typescriptCheck};
|
package/dist/run.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as e,c as t,n,r,s as i}from"./config-
|
|
2
|
+
import{a as e,c as t,n,r,s as i}from"./config-c3IzQqLC.mjs";import{dirname as a,relative as o}from"node:path";import{inspect as s,parseArgs as c,styleText as l}from"node:util";import{mkdir as u,readFile as d,writeFile as f}from"node:fs/promises";import{env as p}from"node:process";const m=e=>l(`blue`,e),h=e=>l(`bold`,e),g=e=>l(`cyan`,e),_=e=>l(`dim`,e),v=e=>l(`green`,e),y=e=>l(`greenBright`,e),b=e=>l(`red`,e),x=e=>l(`bgRed`,e),S=e=>l(`yellow`,e),C=e=>l(`black`,e);function w(e){if(e<1e3)return`${e}ms`;let t=e/1e3;if(t<60)return t%1==0?`${t}s`:`${t.toFixed(1)}s`;let n=e/6e4;if(n<60)return n%1==0?`${n}m`:`${n.toFixed(1)}m`;let r=e/36e5;return r%1==0?`${r}h`:`${r.toFixed(1)}h`}function T(e){let t=Math.round(e);if(t<1)return _(`<1ms`);let n=w(t);return t<100?y(n):t<1e3?S(n):b(n)}function E(e){let t={checks:e.results.map(e=>({checkId:e.checkId,duration:e.duration,hasImprovement:e.hasImprovement,hasRegression:e.hasRegression,isInitial:e.isInitial,newItems:e.newItems,removedItems:e.removedItems,totalIssues:e.snapshot.items.length||0})),exitCode:e.exitCode,hasImprovement:e.hasImprovement,hasRegression:e.hasRegression,totalDuration:e.totalDuration};return JSON.stringify(t,null,2)}function D(e,t=10){let n=[],r=e.slice(0,t);for(let e of r)n.push(` ${_(e)}`);let i=e.length-t;return i>0&&n.push(` ${_(`... and ${i} more`)}`),n}function ee(e,t){let n=[`${t?``:`
|
|
3
3
|
`}${h(e.checkId)}:`,` Initial baseline created with ${g(e.snapshot.items.length.toString())} issue(s)`];return e.snapshot.items.length>0&&n.push(...D(e.snapshot.items)),e.duration!==void 0&&n.push(` ${_(`Completed in`)} ${T(e.duration)}`),n}function O(e){return e.hasRegression?[` ${b(e.newItems.length.toString())} new issue(s) (regressions):`,...D(e.newItems)]:[]}function k(e){return e.hasImprovement?[` ${y(e.removedItems.length.toString())} issue(s) fixed (improvements):`,...D(e.removedItems)]:[]}function A(e,t){let n=[`${t?``:`
|
|
4
4
|
`}${h(e.checkId)}:`,...O(e),...k(e)];return e.duration!==void 0&&n.push(` ${_(`Completed in`)} ${T(e.duration)}`),n}function j(e,t){return e.isInitial?ee(e,t):e.hasRegression||e.hasImprovement?A(e,t):[]}function M(e){let t=e.results.some(e=>e.isInitial),n=[];return t?n.push(m(`Initial baseline created successfully.`)):e.hasRegression?n.push(`${b(`Regressions detected.`)} Run failed.`):e.hasImprovement?n.push(`${y(`Improvements detected.`)} Baseline updated.`):n.push(y(`All checks passed.`)),e.totalDuration!==void 0&&n.push(`${_(`Completed in`)} ${T(e.totalDuration)}`),n.join(`
|
|
5
5
|
`)}function N(e){let t=[];for(let n=0;n<e.results.length;n++){let r=e.results[n];t.push(...j(r,n===0))}return t.length>0&&t.push(``),t.push(M(e)),t.join(`
|