@kitschpatrol/shared-config 7.0.0 → 7.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.
Files changed (3) hide show
  1. package/bin/cli.js +1 -1
  2. package/package.json +11 -11
  3. package/readme.md +1 -10
package/bin/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{cosmiconfig as e}from"cosmiconfig";import{TypeScriptLoader as t}from"cosmiconfig-typescript-loader";import{execa as n}from"execa";import r from"fs-extra";import i,{constants as a}from"node:fs";import o from"node:path";import{PassThrough as s,Transform as c}from"node:stream";import{fileURLToPath as l}from"node:url";import{packageUp as u,packageUpSync as d}from"package-up";import f from"picocolors";import p from"yargs";import{hideBin as m}from"yargs/helpers";import h from"@pinojs/json-colorizer";import g from"decircular";import _ from"deepmerge";import v from"json-stringify-pretty-compact";import{findWorkspaces as ee,findWorkspacesRoot as y}from"find-workspaces";import b,{access as te}from"node:fs/promises";import{stripVTControlCharacters as x}from"node:util";import{getDefaultConfigLoader as S,resolveConfigFileImports as C}from"cspell-lib";import{lint as ne}from"cspell";import"deepmerge-ts";import{loadConfig as w}from"mdat";import{globby as re}from"globby";import T,{gt as E,minVersion as ie}from"semver";import{readWantedLockfile as ae}from"@pnpm/lockfile.fs";import oe from"stylelint";var se=`7.0.0`;function ce(e){return e instanceof Error&&`exitCode`in e&&typeof e.exitCode==`number`}function D(e){return h(v(g(e),{indent:2,replacer(e,t){return typeof t==`function`?t.name:t}}),{colors:{BRACKET:`gray`}})}const le=(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]=O(e[i],a,n):e.includes(a)||r.push(a);return r};function O(e,t,n={arrayMerge:le}){return _(e,t,n)}function ue(e,t){return e.startsWith(t+o.sep)}function de(){let e=k(),t=new Set([e]),n=ee();if(n!==null)for(let r of n){let n=o.resolve(r.location);ue(n,e)&&t.add(n)}return[...t]}function k(){let e=d();if(e===void 0)throw Error(`No package.json found.`);return o.dirname(e)}function fe(){return y()!==null}function A(){let e=y();return e===null?k():o.resolve(e.location)}function j(e){let t=o.join(A(),e);if(r.existsSync(t))return t}function M(e){if(e===`workspace-root`)return A();if(e===`package-dir`)return k();if(typeof e==`string`){if(!r.pathExistsSync(e))throw Error(`Custom cwd directory does not exist: ${e}`);return e}return process.cwd()}async function pe(e,t){try{let{default:n}=await import(`prettier`),r=await n.resolveConfig(e),i=await n.format(t,{filepath:e,...r});await b.writeFile(e,i,`utf8`)}catch{console.warn(`Skipped formatting ${e} since Prettier is not installed.`)}}async function N(e){try{await pe(e,await b.readFile(e,`utf8`))}catch{}}const P=/\r?\n/;function F(e){return new c({transform(t,n,r){let i=t.toString().split(P).filter(t=>t.trim()!==``&&!e(x(t))).join(`
2
+ import{cosmiconfig as e}from"cosmiconfig";import{TypeScriptLoader as t}from"cosmiconfig-typescript-loader";import{execa as n}from"execa";import r from"fs-extra";import i,{constants as a}from"node:fs";import o from"node:path";import{PassThrough as s,Transform as c}from"node:stream";import{fileURLToPath as l}from"node:url";import{packageUp as u,packageUpSync as d}from"package-up";import f from"picocolors";import p from"yargs";import{hideBin as m}from"yargs/helpers";import h from"@pinojs/json-colorizer";import g from"decircular";import _ from"deepmerge";import v from"json-stringify-pretty-compact";import{findWorkspaces as ee,findWorkspacesRoot as y}from"find-workspaces";import b,{access as te}from"node:fs/promises";import{stripVTControlCharacters as x}from"node:util";import{getDefaultConfigLoader as S,resolveConfigFileImports as C}from"cspell-lib";import{lint as ne}from"cspell";import"deepmerge-ts";import{loadConfig as w}from"mdat";import{globby as re}from"globby";import T,{gt as E,minVersion as ie}from"semver";import{readWantedLockfile as ae}from"@pnpm/lockfile.fs";import oe from"stylelint";var se=`7.0.1`;function ce(e){return e instanceof Error&&`exitCode`in e&&typeof e.exitCode==`number`}function D(e){return h(v(g(e),{indent:2,replacer(e,t){return typeof t==`function`?t.name:t}}),{colors:{BRACKET:`gray`}})}const le=(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]=O(e[i],a,n):e.includes(a)||r.push(a);return r};function O(e,t,n={arrayMerge:le}){return _(e,t,n)}function ue(e,t){return e.startsWith(t+o.sep)}function de(){let e=k(),t=new Set([e]),n=ee();if(n!==null)for(let r of n){let n=o.resolve(r.location);ue(n,e)&&t.add(n)}return[...t]}function k(){let e=d();if(e===void 0)throw Error(`No package.json found.`);return o.dirname(e)}function fe(){return y()!==null}function A(){let e=y();return e===null?k():o.resolve(e.location)}function j(e){let t=o.join(A(),e);if(r.existsSync(t))return t}function M(e){if(e===`workspace-root`)return A();if(e===`package-dir`)return k();if(typeof e==`string`){if(!r.pathExistsSync(e))throw Error(`Custom cwd directory does not exist: ${e}`);return e}return process.cwd()}async function pe(e,t){try{let{default:n}=await import(`prettier`),r=await n.resolveConfig(e),i=await n.format(t,{filepath:e,...r});await b.writeFile(e,i,`utf8`)}catch{console.warn(`Skipped formatting ${e} since Prettier is not installed.`)}}async function N(e){try{await pe(e,await b.readFile(e,`utf8`))}catch{}}const P=/\r?\n/;function F(e){return new c({transform(t,n,r){let i=t.toString().split(P).filter(t=>t.trim()!==``&&!e(x(t))).join(`
3
3
  `);this.push(i+`
4
4
  `),r()}})}function I(e,t){return new c({transform(n,r,i){let a=n.toString().split(P).filter(e=>e.trim().length>0).map(n=>`${e?t===void 0?e:f[t](e):``} ${n}\n`).join(``);this.push(a),i()}})}async function me(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 he(e){return e.replaceAll(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,e=>`-`+e.toLowerCase())}function L(e,t){return t===1?e:e+`s`}async function ge(e,t,n,r,i){let a=1,o;if(r.logPrefix===void 0)o=e;else{let t=I(r.logPrefix,r.logColor);t.pipe(e),o=t}i&&o.write(f.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 _e(e,t,r,i,a){let o=1,c;if(i.logPrefix===void 0)c=e;else{let t=I(i.logPrefix,i.logColor);t.pipe(e),c=t}let l=i.subcommands??[],u=[...i.receivePositionalArguments?t:[],...i.positionalArguments??[]],d=[...i.receiveOptionFlags?r:[],...i.optionFlags??[]],f=[...l,...d,...u],p=M(i.cwdOverride);a&&c.write(`Running: "${i.name} ${f.join(` `)}"`);let m=i.prettyJsonOutput?new s:c;try{let e=n(i.name,f,{cwd:p,env:{...process.env.NO_COLOR===void 0?{FORCE_COLOR:`true`}:{}},preferLocal:!0,reject:!1,stdin:`inherit`});if(i.outputFilter){let t=F(i.outputFilter),n=F(i.outputFilter);e.stdout.pipe(t).pipe(m,{end:!1}),e.stderr.pipe(n).pipe(m,{end:!1})}else e.stdout.pipe(m,{end:!1}),e.stderr.pipe(m,{end:!1});if(await e,i.prettyJsonOutput){m.end();let e=await me(m),t=D(JSON.parse(e)).split(`
5
5
  `);for(let e of t)c.write(`${e}\n`)}o=e.exitCode??1}catch(e){console.error(`${i.name} failed with error:`),console.error(e),ce(e)&&(o=typeof e.exitCode==`number`?e.exitCode:1)}return o}function ve(e){return`execute`in e}async function R(e,t,n,r,i,a){let o=[];for(let a of r){let r=await(ve(a)?ge(e,t,n,a,i):_e(e,t,n,a,i));o.push({exitCode:r,name:a.name})}if(a){let t=o.filter(({exitCode:e})=>e===0).map(({name:e})=>e),n=o.filter(({exitCode:e})=>e!==0).map(({name:e})=>e),r=o.length;t.length>0&&e.write(`✅ ${f.green(f.bold(`${t.length} / ${r} ${L(`Command`,t.length)} Succeeded:`))} ${f.green(t.join(`, `))}\n`),n.length>0&&e.write(`❌ ${f.red(f.bold(`${n.length} / ${r} ${L(`Command`,n.length)} Failed:`))} ${f.red(n.join(`, `))}\n`)}return o.every(({exitCode:e})=>e===0)?0:1}async function ye(e,t,n,a){let s=await u();if(s===void 0)throw Error("The `init` command must be used in a directory with a package.json file");let c=await u({cwd:l(import.meta.url)});if(c===void 0)return e.write(`Error: The script being called was not in a package, weird.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitschpatrol/shared-config",
3
- "version": "7.0.0",
3
+ "version": "7.0.1",
4
4
  "description": "A collection of shared configurations, linters, and formatting tools for TypeScript projects. All managed as a single dependency, and invoked via a single CLI command.",
5
5
  "keywords": [
6
6
  "shared-config",
@@ -51,22 +51,22 @@
51
51
  "fs-extra": "^11.3.4",
52
52
  "globby": "^16.2.0",
53
53
  "json-stringify-pretty-compact": "^4.0.0",
54
- "mdat": "^2.0.0",
54
+ "mdat": "^2.0.1",
55
55
  "package-up": "^5.0.0",
56
56
  "picocolors": "^1.1.1",
57
57
  "prettier": "^3.8.1",
58
58
  "semver": "^7.7.4",
59
59
  "stylelint": "^17.6.0",
60
60
  "yargs": "^18.0.0",
61
- "@kitschpatrol/eslint-config": "7.0.0",
62
- "@kitschpatrol/knip-config": "7.0.0",
63
- "@kitschpatrol/prettier-config": "7.0.0",
64
- "@kitschpatrol/remark-config": "7.0.0",
65
- "@kitschpatrol/cspell-config": "7.0.0",
66
- "@kitschpatrol/mdat-config": "7.0.0",
67
- "@kitschpatrol/stylelint-config": "7.0.0",
68
- "@kitschpatrol/repo-config": "7.0.0",
69
- "@kitschpatrol/typescript-config": "7.0.0"
61
+ "@kitschpatrol/cspell-config": "7.0.1",
62
+ "@kitschpatrol/knip-config": "7.0.1",
63
+ "@kitschpatrol/eslint-config": "7.0.1",
64
+ "@kitschpatrol/prettier-config": "7.0.1",
65
+ "@kitschpatrol/mdat-config": "7.0.1",
66
+ "@kitschpatrol/remark-config": "7.0.1",
67
+ "@kitschpatrol/stylelint-config": "7.0.1",
68
+ "@kitschpatrol/repo-config": "7.0.1",
69
+ "@kitschpatrol/typescript-config": "7.0.1"
70
70
  },
71
71
  "engines": {
72
72
  "node": ">=22.18.0"
package/readme.md CHANGED
@@ -4,21 +4,12 @@
4
4
 
5
5
  <!-- /title -->
6
6
 
7
- <!-- badges({ custom: {
8
- "CI": {
9
- image: "https://github.com/kitschpatrol/shared-config/actions/workflows/ci.yml/badge.svg",
10
- link: "https://github.com/kitschpatrol/shared-config/actions/workflows/ci.yml",
11
- },
12
- }
13
- })
14
- -->
7
+ <!-- //automatic badge expansion disabled due to build complexity -->
15
8
 
16
9
  [![NPM Package @kitschpatrol/shared-config](https://img.shields.io/npm/v/@kitschpatrol/shared-config.svg)](https://npmjs.com/package/@kitschpatrol/shared-config)
17
10
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
18
11
  [![CI](https://github.com/kitschpatrol/shared-config/actions/workflows/ci.yml/badge.svg)](https://github.com/kitschpatrol/shared-config/actions/workflows/ci.yml)
19
12
 
20
- <!-- /badges -->
21
-
22
13
  <!-- description -->
23
14
 
24
15
  **A collection of shared configurations, linters, and formatting tools for TypeScript projects. All managed as a single dependency, and invoked via a single CLI command.**