@kitschpatrol/repo-config 7.6.0 → 7.6.2

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/bin/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import"cosmiconfig";import"cosmiconfig-typescript-loader";import{execa as e}from"execa";import t from"fs-extra";import n from"node:fs";import r from"node:path";import{PassThrough as i,Transform as a}from"node:stream";import{fileURLToPath as o}from"node:url";import{packageUp as s,packageUpSync as c}from"package-up";import l from"picocolors";import u from"yargs";import{hideBin as d}from"yargs/helpers";import f from"@pinojs/json-colorizer";import p from"decircular";import m from"deepmerge";import h from"json-stringify-pretty-compact";import{findWorkspaces as g,findWorkspacesRoot as _}from"find-workspaces";import v from"node:fs/promises";import{stripVTControlCharacters as ee}from"node:util";import{globby as te}from"globby";import y,{gt as b,minVersion as x}from"semver";import{readWantedLockfile as S}from"@pnpm/lockfile.fs";var ne=`7.6.0`;function re(e){return e instanceof Error&&`exitCode`in e&&typeof e.exitCode==`number`}function C(e){return f(h(p(e),{indent:2,replacer(e,t){return typeof t==`function`?t.name:t}}),{colors:{BRACKET:`gray`}})}const ie=(e,t,n)=>{let r=[...e];for(let[i,a]of t.entries())r[i]===void 0?r[i]=n.cloneUnlessOtherwiseSpecified(a,n):n.isMergeableObject(a)?r[i]=w(e[i],a,n):e.includes(a)||r.push(a);return r};function w(e,t,n={arrayMerge:ie}){return m(e,t,n)}function ae(e,t){return e.startsWith(t+r.sep)}function T(){let e=E(),t=new Set([e]),n=g();if(n!==null)for(let i of n){let n=r.resolve(i.location);ae(n,e)&&t.add(n)}return[...t]}function E(){let e=c();if(e===void 0)throw Error(`No package.json found.`);return r.dirname(e)}function D(){let e=_();return e===null?E():r.resolve(e.location)}function O(e){if(e===`workspace-root`)return D();if(e===`package-dir`)return E();if(typeof e==`string`){if(!t.pathExistsSync(e))throw Error(`Custom cwd directory does not exist: ${e}`);return e}return process.cwd()}async function oe(e,t){try{let{default:n}=await import(`prettier`),r=await n.resolveConfig(e),i=await n.format(t,{filepath:e,...r});await v.writeFile(e,i,`utf8`)}catch{console.warn(`Skipped formatting ${e} since Prettier is not installed.`)}}async function k(e){try{await oe(e,await v.readFile(e,`utf8`))}catch{}}const A=/\r?\n/;function j(e){return new a({transform(t,n,r){let i=t.toString().split(A).filter(t=>t.trim()!==``&&!e(ee(t))).join(`
2
+ import"cosmiconfig";import"cosmiconfig-typescript-loader";import{execa as e}from"execa";import t from"fs-extra";import n from"node:fs";import r from"node:path";import{PassThrough as i,Transform as a}from"node:stream";import{fileURLToPath as o}from"node:url";import{packageUp as s,packageUpSync as c}from"package-up";import l from"picocolors";import u from"yargs";import{hideBin as d}from"yargs/helpers";import f from"@pinojs/json-colorizer";import p from"decircular";import m from"deepmerge";import h from"json-stringify-pretty-compact";import{findWorkspaces as g,findWorkspacesRoot as _}from"find-workspaces";import v from"node:fs/promises";import{stripVTControlCharacters as ee}from"node:util";import{globby as te}from"globby";import y,{gt as b,minVersion as x}from"semver";import{readWantedLockfile as S}from"@pnpm/lockfile.fs";var ne=`7.6.2`;function re(e){return e instanceof Error&&`exitCode`in e&&typeof e.exitCode==`number`}function C(e){return f(h(p(e),{indent:2,replacer(e,t){return typeof t==`function`?t.name:t}}),{colors:{BRACKET:`gray`}})}const ie=(e,t,n)=>{let r=[...e];for(let[i,a]of t.entries())r[i]===void 0?r[i]=n.cloneUnlessOtherwiseSpecified(a,n):n.isMergeableObject(a)?r[i]=w(e[i],a,n):e.includes(a)||r.push(a);return r};function w(e,t,n={arrayMerge:ie}){return m(e,t,n)}function ae(e,t){return e.startsWith(t+r.sep)}function T(){let e=E(),t=new Set([e]),n=g();if(n!==null)for(let i of n){let n=r.resolve(i.location);ae(n,e)&&t.add(n)}return[...t]}function E(){let e=c();if(e===void 0)throw Error(`No package.json found.`);return r.dirname(e)}function D(){let e=_();return e===null?E():r.resolve(e.location)}function O(e){if(e===`workspace-root`)return D();if(e===`package-dir`)return E();if(typeof e==`string`){if(!t.pathExistsSync(e))throw Error(`Custom cwd directory does not exist: ${e}`);return e}return process.cwd()}async function oe(e,t){try{let{default:n}=await import(`prettier`),r=await n.resolveConfig(e),i=await n.format(t,{filepath:e,...r});await v.writeFile(e,i,`utf8`)}catch{console.warn(`Skipped formatting ${e} since Prettier is not installed.`)}}async function k(e){try{await oe(e,await v.readFile(e,`utf8`))}catch{}}const A=/\r?\n/;function j(e){return new a({transform(t,n,r){let i=t.toString().split(A).filter(t=>t.trim()!==``&&!e(ee(t))).join(`
3
3
  `);this.push(i+`
4
4
  `),r()}})}function M(e,t){return new a({transform(n,r,i){let a=n.toString().split(A).filter(e=>e.trim().length>0).map(n=>`${e?t===void 0?e:l[t](e):``} ${n}\n`).join(``);this.push(a),i()}})}async function se(e){let t=[];return new Promise((n,r)=>{e.on(`data`,e=>t.push(e)),e.on(`error`,e=>{r(e)}),e.on(`end`,()=>{n(Buffer.concat(t).toString(`utf8`))})})}function N(e,t){return t===1?e:e+`s`}async function ce(e,t,n,r,i){let a=1,o;if(r.logPrefix===void 0)o=e;else{let t=M(r.logPrefix,r.logColor);t.pipe(e),o=t}i&&o.write(l.bold(`Running: "${r.name}() with Positional arguments: ${String(t)} and Option flags: ${String(n)}"`));try{a=await r.execute(o,t,n)}catch(e){console.error(String(e)),a=1}return a}async function le(t,n,r,a,o){let s=1,c;if(a.logPrefix===void 0)c=t;else{let e=M(a.logPrefix,a.logColor);e.pipe(t),c=e}let l=a.subcommands??[],u=[...a.receivePositionalArguments?n:[],...a.positionalArguments??[]],d=[...a.receiveOptionFlags?r:[],...a.optionFlags??[]],f=[...l,...d,...u],p=O(a.cwdOverride);o&&c.write(`Running: "${a.name} ${f.join(` `)}"`);let m=a.prettyJsonOutput?new i:c;try{let t=e(a.name,f,{cwd:p,env:{...process.env.NO_COLOR===void 0?{FORCE_COLOR:`true`}:{}},preferLocal:!0,reject:!1,stdin:`inherit`});if(a.outputFilter){let e=j(a.outputFilter),n=j(a.outputFilter);t.stdout.pipe(e).pipe(m,{end:!1}),t.stderr.pipe(n).pipe(m,{end:!1})}else t.stdout.pipe(m,{end:!1}),t.stderr.pipe(m,{end:!1});if(await t,a.prettyJsonOutput){m.end();let e=await se(m),t=C(JSON.parse(e)).split(`
5
5
  `);for(let e of t)c.write(`${e}\n`)}s=t.exitCode??1}catch(e){console.error(`${a.name} failed with error:`),console.error(e),re(e)&&(s=typeof e.exitCode==`number`?e.exitCode:1)}return s}function ue(e){return`execute`in e}const de=/^ksc-/;function P(e){return e.replace(de,``)}function F(e){return e===void 0||e.length===0?[]:e.flatMap(e=>e.split(`,`)).map(e=>P(e.trim()))}function I(e){return e.option(`skip`,{array:!0,describe:`Tool names to skip (with or without "ksc-" prefix).`,type:`string`})}async function L(e,t,n,r,i,a,o){let s=o??[],c=[],u=[];for(let e of r)s.length>0&&s.includes(P(e.name))?u.push(e):c.push(e);if(s.length>0){let t=new Set(u.map(e=>P(e.name))),n=s.filter(e=>!t.has(e));if(n.length>0){let t=r.map(e=>P(e.name)).join(`, `);e.write(`⚠️ ${l.yellow(`Unrecognized --skip ${N(`value`,n.length)}: ${n.join(`, `)}. Available: ${t}`)}\n`)}}let d=[];for(let r of c){let a=await(ue(r)?ce(e,t,n,r,i):le(e,t,n,r,i));d.push({exitCode:a,name:r.name})}let f=r.length;if(u.length>0){let t=u.map(({name:e})=>e);e.write(`⏭️ ${l.dim(l.bold(`${t.length} / ${f} ${N(`Command`,t.length)} Skipped:`))} ${l.dim(t.join(`, `))}\n`)}if(a){let t=d.filter(({exitCode:e})=>e===0).map(({name:e})=>e),n=d.filter(({exitCode:e})=>e!==0).map(({name:e})=>e);t.length>0&&e.write(`✅ ${l.green(l.bold(`${t.length} / ${f} ${N(`Command`,t.length)} Succeeded:`))} ${l.green(t.join(`, `))}\n`),n.length>0&&e.write(`❌ ${l.red(l.bold(`${n.length} / ${f} ${N(`Command`,n.length)} Failed:`))} ${l.red(n.join(`, `))}\n`)}return+!d.every(({exitCode:e})=>e===0)}async function R(e,i,a,c){let l=await s();if(l===void 0)throw Error("The `init` command must be used in a directory with a package.json file");let u=await s({cwd:o(import.meta.url)});if(u===void 0)return e.write(`Error: The script being called was not in a package, weird.
@@ -39,7 +39,7 @@ jobs:
39
39
  cache: 'pnpm'
40
40
 
41
41
  - name: Install dependencies
42
- run: pnpm install --frozen-lockfile
42
+ run: pnpm ci
43
43
 
44
44
  - name: Build
45
45
  run: pnpm run build
@@ -1,7 +1,3 @@
1
- allowBuilds:
2
- esbuild: true
3
- oxc-resolver: true
4
-
5
1
  publicHoistPattern:
6
2
  - '@kitschpatrol/repo-config'
7
3
  - '@kitschpatrol/typescript-config'
@@ -13,3 +9,7 @@ publicHoistPattern:
13
9
  - '*prettier*'
14
10
  - '*remark*'
15
11
  - '*stylelint*'
12
+ allowBuilds:
13
+ esbuild: true
14
+ oxc-resolver: true
15
+ unrs-resolver: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitschpatrol/repo-config",
3
- "version": "7.6.0",
3
+ "version": "7.6.2",
4
4
  "description": "Repository configuration and GitHub workflows for @kitschpatrol/shared-config.",
5
5
  "keywords": [
6
6
  "shared-config",
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "@pinojs/json-colorizer": "^4.0.0",
36
- "@pnpm/lockfile.fs": "^1100.0.7",
36
+ "@pnpm/lockfile.fs": "^1100.0.8",
37
37
  "cosmiconfig": "^9.0.1",
38
38
  "cosmiconfig-typescript-loader": "^6.3.0",
39
39
  "decircular": "^1.0.0",
@@ -50,7 +50,7 @@
50
50
  "yargs": "^18.0.0"
51
51
  },
52
52
  "engines": {
53
- "node": ">=22.18.0"
53
+ "node": "^22.22.2 || >=24.0.0"
54
54
  },
55
55
  "publishConfig": {
56
56
  "access": "public"