@visulima/package 3.1.6 → 3.2.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/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## @visulima/package [3.2.1](https://github.com/visulima/visulima/compare/@visulima/package@3.2.0...@visulima/package@3.2.1) (2024-12-27)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **fs:** added missing yaml to dependencies ([210b995](https://github.com/visulima/visulima/commit/210b99503da7a30ceb3aa01019ae7d3f8bed6807))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * updated dev dependencies ([9de2eab](https://github.com/visulima/visulima/commit/9de2eab91e95c8b9289d12f863a5167218770650))
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * **@visulima/fs:** upgraded to 2.3.2
15
+
16
+ ## @visulima/package [3.2.0](https://github.com/visulima/visulima/compare/@visulima/package@3.1.6...@visulima/package@3.2.0) (2024-12-16)
17
+
18
+ ### Features
19
+
20
+ * **package:** added new generateMissingPackagesInstallMessage function ([4503cd8](https://github.com/visulima/visulima/commit/4503cd8db2c09f705d8261a73dc47bc10fa24b31))
21
+
1
22
  ## @visulima/package [3.1.6](https://github.com/visulima/visulima/compare/@visulima/package@3.1.5...@visulima/package@3.1.6) (2024-12-12)
2
23
 
3
24
  ### Bug Fixes
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./packem_shared/PackageNotFoundError-CY57YCot.cjs"),n=require("./monorepo.cjs"),o=require("./package.cjs"),a=require("./package-json.cjs"),e=require("./package-manager.cjs");exports.PackageNotFoundError=c;exports.findMonorepoRoot=n.findMonorepoRoot;exports.findMonorepoRootSync=n.findMonorepoRootSync;exports.findPackageRoot=o.findPackageRoot;exports.findPackageRootSync=o.findPackageRootSync;exports.findPackageJson=a.findPackageJson;exports.findPackageJsonSync=a.findPackageJsonSync;exports.getPackageJsonProperty=a.getPackageJsonProperty;exports.hasPackageJsonAnyDependency=a.hasPackageJsonAnyDependency;exports.hasPackageJsonProperty=a.hasPackageJsonProperty;exports.parsePackageJson=a.parsePackageJson;exports.writePackageJson=a.writePackageJson;exports.writePackageJsonSync=a.writePackageJsonSync;exports.findLockFile=e.findLockFile;exports.findLockFileSync=e.findLockFileSync;exports.findPackageManager=e.findPackageManager;exports.findPackageManagerSync=e.findPackageManagerSync;exports.getPackageManagerVersion=e.getPackageManagerVersion;exports.identifyInitiatingPackageManager=e.identifyInitiatingPackageManager;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./packem_shared/PackageNotFoundError-CY57YCot.cjs"),n=require("./monorepo.cjs"),o=require("./package.cjs"),a=require("./package-json.cjs"),e=require("./package-manager.cjs");exports.PackageNotFoundError=g;exports.findMonorepoRoot=n.findMonorepoRoot;exports.findMonorepoRootSync=n.findMonorepoRootSync;exports.findPackageRoot=o.findPackageRoot;exports.findPackageRootSync=o.findPackageRootSync;exports.findPackageJson=a.findPackageJson;exports.findPackageJsonSync=a.findPackageJsonSync;exports.getPackageJsonProperty=a.getPackageJsonProperty;exports.hasPackageJsonAnyDependency=a.hasPackageJsonAnyDependency;exports.hasPackageJsonProperty=a.hasPackageJsonProperty;exports.parsePackageJson=a.parsePackageJson;exports.writePackageJson=a.writePackageJson;exports.writePackageJsonSync=a.writePackageJsonSync;exports.findLockFile=e.findLockFile;exports.findLockFileSync=e.findLockFileSync;exports.findPackageManager=e.findPackageManager;exports.findPackageManagerSync=e.findPackageManagerSync;exports.generateMissingPackagesInstallMessage=e.generateMissingPackagesInstallMessage;exports.getPackageManagerVersion=e.getPackageManagerVersion;exports.identifyInitiatingPackageManager=e.identifyInitiatingPackageManager;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PackageNotFoundError } from './error.cjs';
2
2
  export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.cjs';
3
3
  export { findPackageRoot, findPackageRootSync } from './package.cjs';
4
- export { d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CT7xU1f_.cjs';
5
- export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.cjs';
4
+ export { d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CpSz2EtJ.cjs';
5
+ export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.cjs';
6
6
  import '@visulima/fs';
7
7
  import 'normalize-package-data';
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PackageNotFoundError } from './error.mjs';
2
2
  export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.mjs';
3
3
  export { findPackageRoot, findPackageRootSync } from './package.mjs';
4
- export { d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CT7xU1f_.mjs';
5
- export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.mjs';
4
+ export { d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CpSz2EtJ.mjs';
5
+ export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.mjs';
6
6
  import '@visulima/fs';
7
7
  import 'normalize-package-data';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PackageNotFoundError } from './error.js';
2
2
  export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.js';
3
3
  export { findPackageRoot, findPackageRootSync } from './package.js';
4
- export { d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CT7xU1f_.d.mjs';
5
- export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.js';
4
+ export { d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CpSz2EtJ.d.mjs';
5
+ export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.js';
6
6
  import '@visulima/fs';
7
7
  import 'normalize-package-data';
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{default as o}from"./packem_shared/PackageNotFoundError-4CX3Vfcu.mjs";import{findMonorepoRoot as r,findMonorepoRootSync as c}from"./monorepo.mjs";import{findPackageRoot as i,findPackageRootSync as t}from"./package.mjs";import{findPackageJson as k,findPackageJsonSync as P,getPackageJsonProperty as d,hasPackageJsonAnyDependency as s,hasPackageJsonProperty as p,parsePackageJson as y,writePackageJson as J,writePackageJsonSync as M}from"./package-json.mjs";import{findLockFile as m,findLockFileSync as x,findPackageManager as R,findPackageManagerSync as l,getPackageManagerVersion as F,identifyInitiatingPackageManager as h}from"./package-manager.mjs";export{o as PackageNotFoundError,m as findLockFile,x as findLockFileSync,r as findMonorepoRoot,c as findMonorepoRootSync,k as findPackageJson,P as findPackageJsonSync,R as findPackageManager,l as findPackageManagerSync,i as findPackageRoot,t as findPackageRootSync,d as getPackageJsonProperty,F as getPackageManagerVersion,s as hasPackageJsonAnyDependency,p as hasPackageJsonProperty,h as identifyInitiatingPackageManager,y as parsePackageJson,J as writePackageJson,M as writePackageJsonSync};
1
+ import{default as n}from"./packem_shared/PackageNotFoundError-4CX3Vfcu.mjs";import{findMonorepoRoot as r,findMonorepoRootSync as g}from"./monorepo.mjs";import{findPackageRoot as i,findPackageRootSync as t}from"./package.mjs";import{findPackageJson as k,findPackageJsonSync as P,getPackageJsonProperty as f,hasPackageJsonAnyDependency as d,hasPackageJsonProperty as p,parsePackageJson as y,writePackageJson as J,writePackageJsonSync as M}from"./package-json.mjs";import{findLockFile as l,findLockFileSync as m,findPackageManager as x,findPackageManagerSync as R,generateMissingPackagesInstallMessage as F,getPackageManagerVersion as h,identifyInitiatingPackageManager as u}from"./package-manager.mjs";export{n as PackageNotFoundError,l as findLockFile,m as findLockFileSync,r as findMonorepoRoot,g as findMonorepoRootSync,k as findPackageJson,P as findPackageJsonSync,x as findPackageManager,R as findPackageManagerSync,i as findPackageRoot,t as findPackageRootSync,F as generateMissingPackagesInstallMessage,f as getPackageJsonProperty,h as getPackageManagerVersion,d as hasPackageJsonAnyDependency,p as hasPackageJsonProperty,u as identifyInitiatingPackageManager,y as parsePackageJson,J as writePackageJson,M as writePackageJsonSync};
@@ -1,3 +1,3 @@
1
- export { N as NormalizedReadResult, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CT7xU1f_.cjs';
1
+ export { N as NormalizedReadResult, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CpSz2EtJ.cjs';
2
2
  import '@visulima/fs';
3
3
  import 'normalize-package-data';
@@ -1,3 +1,3 @@
1
- export { N as NormalizedReadResult, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CT7xU1f_.mjs';
1
+ export { N as NormalizedReadResult, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CpSz2EtJ.mjs';
2
2
  import '@visulima/fs';
3
3
  import 'normalize-package-data';
@@ -1,3 +1,3 @@
1
- export { N as NormalizedReadResult, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CT7xU1f_.d.mjs';
1
+ export { N as NormalizedReadResult, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-CpSz2EtJ.d.mjs';
2
2
  import '@visulima/fs';
3
3
  import 'normalize-package-data';
@@ -1 +1,13 @@
1
- "use strict";var l=Object.defineProperty;var s=(n,e)=>l(n,"name",{value:e,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("node:child_process"),o=require("node:fs"),t=require("@visulima/fs"),d=require("@visulima/fs/error"),r=require("@visulima/path"),p=require("./package-json.cjs");var y=Object.defineProperty,i=s((n,e)=>y(n,"name",{value:e,configurable:!0}),"e");const g=["yarn.lock","package-lock.json","pnpm-lock.yaml","npm-shrinkwrap.json","bun.lockb"],f=i(n=>{let e;if(g.forEach(c=>{!e&&o.existsSync(r.join(n,c))&&(e=r.join(n,c))}),e)return e;const a=r.join(n,"package.json");if(o.existsSync(a)&&p.parsePackageJson(o.readFileSync(a,"utf8")).packageManager!==void 0)return a},"packageMangerFindUpMatcher"),k=i(n=>{if(!n)throw new d.NotFoundError("Could not find a package manager");if(n.endsWith("package.json")){const e=p.parsePackageJson(n);if(e.packageManager){const a=["npm","yarn","pnpm","bun"].find(c=>e.packageManager.startsWith(c));if(a)return{packageManager:a,path:r.dirname(n)}}}if(n.endsWith("yarn.lock"))return{packageManager:"yarn",path:r.dirname(n)};if(n.endsWith("package-lock.json")||n.endsWith("npm-shrinkwrap.json"))return{packageManager:"npm",path:r.dirname(n)};if(n.endsWith("pnpm-lock.yaml"))return{packageManager:"pnpm",path:r.dirname(n)};if(n.endsWith("bun.lockb"))return{packageManager:"bun",path:r.dirname(n)};throw new d.NotFoundError("Could not find a package manager")},"findPackageManagerOnFile"),m=i(async n=>{const e=await t.findUp(g,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find lock file");return e},"findLockFile"),M=i(n=>{const e=t.findUpSync(g,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find lock file");return e},"findLockFileSync"),h=i(async n=>{const e=await t.findUp(f,{...n&&{cwd:n}});return k(e)},"findPackageManager"),P=i(n=>{const e=t.findUpSync(f,{...n&&{cwd:n}});return k(e)},"findPackageManagerSync"),w=i(n=>u.execSync(`${n} --version`).toString("utf8").trim(),"getPackageManagerVersion"),S=i(async()=>{if(!process.env.npm_config_user_agent)return;const n=process.env.npm_config_user_agent.split(" ")[0],e=n.lastIndexOf("/"),a=n.slice(0,Math.max(0,e));return{name:a==="npminstall"?"cnpm":a,version:n.slice(Math.max(0,e+1))}},"identifyInitiatingPackageManager");exports.findLockFile=m;exports.findLockFileSync=M;exports.findPackageManager=h;exports.findPackageManagerSync=P;exports.getPackageManagerVersion=w;exports.identifyInitiatingPackageManager=S;
1
+ "use strict";var w=Object.defineProperty;var l=(e,n)=>w(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("node:child_process"),p=require("node:fs"),o=require("@visulima/fs"),k=require("@visulima/fs/error"),i=require("@visulima/path"),f=require("./package-json.cjs");var v=Object.defineProperty,r=l((e,n)=>v(e,"name",{value:n,configurable:!0}),"r");const d=["yarn.lock","package-lock.json","pnpm-lock.yaml","npm-shrinkwrap.json","bun.lockb"],u=r(e=>{let n;if(d.forEach(t=>{!n&&p.existsSync(i.join(e,t))&&(n=i.join(e,t))}),n)return n;const a=i.join(e,"package.json");if(p.existsSync(a)&&f.parsePackageJson(p.readFileSync(a,"utf8")).packageManager!==void 0)return a},"packageMangerFindUpMatcher"),m=r(e=>{if(!e)throw new k.NotFoundError("Could not find a package manager");if(e.endsWith("package.json")){const n=f.parsePackageJson(e);if(n.packageManager){const a=["npm","yarn","pnpm","bun"].find(t=>n.packageManager.startsWith(t));if(a)return{packageManager:a,path:i.dirname(e)}}}if(e.endsWith("yarn.lock"))return{packageManager:"yarn",path:i.dirname(e)};if(e.endsWith("package-lock.json")||e.endsWith("npm-shrinkwrap.json"))return{packageManager:"npm",path:i.dirname(e)};if(e.endsWith("pnpm-lock.yaml"))return{packageManager:"pnpm",path:i.dirname(e)};if(e.endsWith("bun.lockb"))return{packageManager:"bun",path:i.dirname(e)};throw new k.NotFoundError("Could not find a package manager")},"findPackageManagerOnFile"),S=r(async e=>{const n=await o.findUp(d,{type:"file",...e&&{cwd:e}});if(!n)throw new Error("Could not find lock file");return n},"findLockFile"),j=r(e=>{const n=o.findUpSync(d,{type:"file",...e&&{cwd:e}});if(!n)throw new Error("Could not find lock file");return n},"findLockFileSync"),b=r(async e=>{const n=await o.findUp(u,{...e&&{cwd:e}});return m(n)},"findPackageManager"),F=r(e=>{const n=o.findUpSync(u,{...e&&{cwd:e}});return m(n)},"findPackageManagerSync"),$=r(e=>P.execSync(`${e} --version`).toString("utf8").trim(),"getPackageManagerVersion"),_=r(async()=>{if(!process.env.npm_config_user_agent)return;const e=process.env.npm_config_user_agent.split(" ")[0],n=e.lastIndexOf("/"),a=e.slice(0,Math.max(0,n));return{name:a==="npminstall"?"cnpm":a,version:e.slice(Math.max(0,n+1))}},"identifyInitiatingPackageManager"),E=r((e,n,a)=>{const t=n.length===1?"":"s";if(a.packageManagers===void 0&&(a.packageManagers=["npm","pnpm","yarn"]),a.packageManagers.length===0)throw new Error("No package managers provided, please provide at least one package manager");if(n.length===0)throw new Error("No missing packages provided, please provide at least one missing package");let g=`
2
+ ${a.preMessage??""}
3
+ ${e} could not find the following package${t}
4
+
5
+ ${n.join(`
6
+ `)}
7
+
8
+ To install the missing package${t}, please run the following command:
9
+ `;const M=r(s=>s.split("@").includes("@")?s:`${s}@latest`,"atLatest"),h=a.packageManagers.map(s=>{const c=n.map(y=>M(y)).join(" ");switch(s){case"bun":return` bun add ${c} -D`;case"npm":return` npm install ${c} --save-dev`;case"pnpm":return` pnpm add ${c} -D`;case"yarn":return` yarn add ${c} --dev`;default:throw new Error("Unknown package manager")}});return g+=h.join(`
10
+
11
+ or
12
+
13
+ `),a.postMessage&&(g+=a.postMessage),g},"generateMissingPackagesInstallMessage");exports.findLockFile=S;exports.findLockFileSync=j;exports.findPackageManager=b;exports.findPackageManagerSync=F;exports.generateMissingPackagesInstallMessage=E;exports.getPackageManagerVersion=$;exports.identifyInitiatingPackageManager=_;
@@ -12,5 +12,10 @@ declare const identifyInitiatingPackageManager: () => Promise<{
12
12
  name: PackageManager | "cnpm";
13
13
  version: string;
14
14
  } | undefined>;
15
+ declare const generateMissingPackagesInstallMessage: (packageName: string, missingPackages: string[], options: {
16
+ packageManagers?: PackageManager[];
17
+ postMessage?: string;
18
+ preMessage?: string;
19
+ }) => string;
15
20
 
16
- export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, getPackageManagerVersion, identifyInitiatingPackageManager };
21
+ export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager };
@@ -12,5 +12,10 @@ declare const identifyInitiatingPackageManager: () => Promise<{
12
12
  name: PackageManager | "cnpm";
13
13
  version: string;
14
14
  } | undefined>;
15
+ declare const generateMissingPackagesInstallMessage: (packageName: string, missingPackages: string[], options: {
16
+ packageManagers?: PackageManager[];
17
+ postMessage?: string;
18
+ preMessage?: string;
19
+ }) => string;
15
20
 
16
- export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, getPackageManagerVersion, identifyInitiatingPackageManager };
21
+ export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager };
@@ -12,5 +12,10 @@ declare const identifyInitiatingPackageManager: () => Promise<{
12
12
  name: PackageManager | "cnpm";
13
13
  version: string;
14
14
  } | undefined>;
15
+ declare const generateMissingPackagesInstallMessage: (packageName: string, missingPackages: string[], options: {
16
+ packageManagers?: PackageManager[];
17
+ postMessage?: string;
18
+ preMessage?: string;
19
+ }) => string;
15
20
 
16
- export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, getPackageManagerVersion, identifyInitiatingPackageManager };
21
+ export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager };
@@ -1 +1,13 @@
1
- var u=Object.defineProperty;var g=(n,e)=>u(n,"name",{value:e,configurable:!0});import{execSync as h}from"node:child_process";import{existsSync as p,readFileSync as y}from"node:fs";import{findUp as s,findUpSync as k}from"@visulima/fs";import{NotFoundError as f}from"@visulima/fs/error";import{join as c,dirname as i}from"@visulima/path";import{parsePackageJson as d}from"./package-json.mjs";var M=Object.defineProperty,r=g((n,e)=>M(n,"name",{value:e,configurable:!0}),"e");const o=["yarn.lock","package-lock.json","pnpm-lock.yaml","npm-shrinkwrap.json","bun.lockb"],l=r(n=>{let e;if(o.forEach(t=>{!e&&p(c(n,t))&&(e=c(n,t))}),e)return e;const a=c(n,"package.json");if(p(a)&&d(y(a,"utf8")).packageManager!==void 0)return a},"packageMangerFindUpMatcher"),m=r(n=>{if(!n)throw new f("Could not find a package manager");if(n.endsWith("package.json")){const e=d(n);if(e.packageManager){const a=["npm","yarn","pnpm","bun"].find(t=>e.packageManager.startsWith(t));if(a)return{packageManager:a,path:i(n)}}}if(n.endsWith("yarn.lock"))return{packageManager:"yarn",path:i(n)};if(n.endsWith("package-lock.json")||n.endsWith("npm-shrinkwrap.json"))return{packageManager:"npm",path:i(n)};if(n.endsWith("pnpm-lock.yaml"))return{packageManager:"pnpm",path:i(n)};if(n.endsWith("bun.lockb"))return{packageManager:"bun",path:i(n)};throw new f("Could not find a package manager")},"findPackageManagerOnFile"),W=r(async n=>{const e=await s(o,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find lock file");return e},"findLockFile"),x=r(n=>{const e=k(o,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find lock file");return e},"findLockFileSync"),_=r(async n=>{const e=await s(l,{...n&&{cwd:n}});return m(e)},"findPackageManager"),C=r(n=>{const e=k(l,{...n&&{cwd:n}});return m(e)},"findPackageManagerSync"),E=r(n=>h(`${n} --version`).toString("utf8").trim(),"getPackageManagerVersion"),L=r(async()=>{if(!process.env.npm_config_user_agent)return;const n=process.env.npm_config_user_agent.split(" ")[0],e=n.lastIndexOf("/"),a=n.slice(0,Math.max(0,e));return{name:a==="npminstall"?"cnpm":a,version:n.slice(Math.max(0,e+1))}},"identifyInitiatingPackageManager");export{W as findLockFile,x as findLockFileSync,_ as findPackageManager,C as findPackageManagerSync,E as getPackageManagerVersion,L as identifyInitiatingPackageManager};
1
+ var P=Object.defineProperty;var l=(n,a)=>P(n,"name",{value:a,configurable:!0});import{execSync as j}from"node:child_process";import{existsSync as d,readFileSync as $}from"node:fs";import{findUp as k,findUpSync as m}from"@visulima/fs";import{NotFoundError as f}from"@visulima/fs/error";import{join as g,dirname as o}from"@visulima/path";import{parsePackageJson as u}from"./package-json.mjs";var b=Object.defineProperty,r=l((n,a)=>b(n,"name",{value:a,configurable:!0}),"r");const p=["yarn.lock","package-lock.json","pnpm-lock.yaml","npm-shrinkwrap.json","bun.lockb"],h=r(n=>{let a;if(p.forEach(t=>{!a&&d(g(n,t))&&(a=g(n,t))}),a)return a;const e=g(n,"package.json");if(d(e)&&u($(e,"utf8")).packageManager!==void 0)return e},"packageMangerFindUpMatcher"),M=r(n=>{if(!n)throw new f("Could not find a package manager");if(n.endsWith("package.json")){const a=u(n);if(a.packageManager){const e=["npm","yarn","pnpm","bun"].find(t=>a.packageManager.startsWith(t));if(e)return{packageManager:e,path:o(n)}}}if(n.endsWith("yarn.lock"))return{packageManager:"yarn",path:o(n)};if(n.endsWith("package-lock.json")||n.endsWith("npm-shrinkwrap.json"))return{packageManager:"npm",path:o(n)};if(n.endsWith("pnpm-lock.yaml"))return{packageManager:"pnpm",path:o(n)};if(n.endsWith("bun.lockb"))return{packageManager:"bun",path:o(n)};throw new f("Could not find a package manager")},"findPackageManagerOnFile"),L=r(async n=>{const a=await k(p,{type:"file",...n&&{cwd:n}});if(!a)throw new Error("Could not find lock file");return a},"findLockFile"),C=r(n=>{const a=m(p,{type:"file",...n&&{cwd:n}});if(!a)throw new Error("Could not find lock file");return a},"findLockFileSync"),U=r(async n=>{const a=await k(h,{...n&&{cwd:n}});return M(a)},"findPackageManager"),N=r(n=>{const a=m(h,{...n&&{cwd:n}});return M(a)},"findPackageManagerSync"),O=r(n=>j(`${n} --version`).toString("utf8").trim(),"getPackageManagerVersion"),D=r(async()=>{if(!process.env.npm_config_user_agent)return;const n=process.env.npm_config_user_agent.split(" ")[0],a=n.lastIndexOf("/"),e=n.slice(0,Math.max(0,a));return{name:e==="npminstall"?"cnpm":e,version:n.slice(Math.max(0,a+1))}},"identifyInitiatingPackageManager"),V=r((n,a,e)=>{const t=a.length===1?"":"s";if(e.packageManagers===void 0&&(e.packageManagers=["npm","pnpm","yarn"]),e.packageManagers.length===0)throw new Error("No package managers provided, please provide at least one package manager");if(a.length===0)throw new Error("No missing packages provided, please provide at least one missing package");let c=`
2
+ ${e.preMessage??""}
3
+ ${n} could not find the following package${t}
4
+
5
+ ${a.join(`
6
+ `)}
7
+
8
+ To install the missing package${t}, please run the following command:
9
+ `;const w=r(i=>i.split("@").includes("@")?i:`${i}@latest`,"atLatest"),y=e.packageManagers.map(i=>{const s=a.map(v=>w(v)).join(" ");switch(i){case"bun":return` bun add ${s} -D`;case"npm":return` npm install ${s} --save-dev`;case"pnpm":return` pnpm add ${s} -D`;case"yarn":return` yarn add ${s} --dev`;default:throw new Error("Unknown package manager")}});return c+=y.join(`
10
+
11
+ or
12
+
13
+ `),e.postMessage&&(c+=e.postMessage),c},"generateMissingPackagesInstallMessage");export{L as findLockFile,C as findLockFileSync,U as findPackageManager,N as findPackageManagerSync,V as generateMissingPackagesInstallMessage,O as getPackageManagerVersion,D as identifyInitiatingPackageManager};
@@ -111,8 +111,8 @@ type Includes<Value extends readonly any[], Item> =
111
111
  @category Utilities
112
112
  */
113
113
  type IsEqual<A, B> =
114
- (<G>() => G extends A ? 1 : 2) extends
115
- (<G>() => G extends B ? 1 : 2)
114
+ (<G>() => G extends A & G | G ? 1 : 2) extends
115
+ (<G>() => G extends B & G | G ? 1 : 2)
116
116
  ? true
117
117
  : false;
118
118
 
@@ -111,8 +111,8 @@ type Includes<Value extends readonly any[], Item> =
111
111
  @category Utilities
112
112
  */
113
113
  type IsEqual<A, B> =
114
- (<G>() => G extends A ? 1 : 2) extends
115
- (<G>() => G extends B ? 1 : 2)
114
+ (<G>() => G extends A & G | G ? 1 : 2) extends
115
+ (<G>() => G extends B & G | G ? 1 : 2)
116
116
  ? true
117
117
  : false;
118
118
 
@@ -111,8 +111,8 @@ type Includes<Value extends readonly any[], Item> =
111
111
  @category Utilities
112
112
  */
113
113
  type IsEqual<A, B> =
114
- (<G>() => G extends A ? 1 : 2) extends
115
- (<G>() => G extends B ? 1 : 2)
114
+ (<G>() => G extends A & G | G ? 1 : 2) extends
115
+ (<G>() => G extends B & G | G ? 1 : 2)
116
116
  ? true
117
117
  : false;
118
118
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/package",
3
- "version": "3.1.6",
3
+ "version": "3.2.1",
4
4
  "description": "One Package to rule them all, finds your root-dir, monorepo, or package manager.",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -145,18 +145,18 @@
145
145
  "LICENSE.md"
146
146
  ],
147
147
  "dependencies": {
148
- "@visulima/fs": "2.3.1",
148
+ "@visulima/fs": "2.3.2",
149
149
  "@visulima/path": "1.1.2",
150
150
  "normalize-package-data": "^7.0.0"
151
151
  },
152
152
  "devDependencies": {
153
153
  "@anolilab/eslint-config": "^15.0.3",
154
154
  "@anolilab/prettier-config": "^5.0.14",
155
- "@anolilab/semantic-release-pnpm": "^1.1.5",
156
- "@anolilab/semantic-release-preset": "^9.0.2",
157
- "@arethetypeswrong/cli": "^0.17.1",
155
+ "@anolilab/semantic-release-pnpm": "^1.1.6",
156
+ "@anolilab/semantic-release-preset": "^9.0.3",
157
+ "@arethetypeswrong/cli": "^0.17.2",
158
158
  "@babel/core": "^7.26.0",
159
- "@pnpm/exe": "^9.15.0",
159
+ "@pnpm/exe": "^9.15.1",
160
160
  "@rushstack/eslint-plugin-security": "^0.8.3",
161
161
  "@total-typescript/ts-reset": "^0.6.1",
162
162
  "@types/node": "18.19.15",
@@ -177,12 +177,12 @@
177
177
  "eslint-plugin-vitest": "^0.4.1",
178
178
  "eslint-plugin-vitest-globals": "^1.5.0",
179
179
  "execa": "^9.5.2",
180
- "npm": "^10.9.2",
180
+ "npm": "^11.0.0",
181
181
  "prettier": "^3.4.2",
182
182
  "rimraf": "5.0.9",
183
183
  "semantic-release": "24.0.0",
184
184
  "tempy": "^3.1.0",
185
- "type-fest": "^4.30.0",
185
+ "type-fest": "^4.31.0",
186
186
  "typescript": "5.4.5",
187
187
  "vitest": "^2.1.8",
188
188
  "yarn": "^1.22.22"