@visulima/package 3.6.1 → 4.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 (45) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE.md +0 -116
  3. package/README.md +153 -51
  4. package/dist/error.js +1 -0
  5. package/dist/index.d.ts +4 -1
  6. package/dist/index.js +1 -0
  7. package/dist/monorepo.js +1 -0
  8. package/dist/package-json.d.ts +3 -1
  9. package/dist/package-json.js +3 -0
  10. package/dist/package-manager.js +13 -0
  11. package/dist/package.js +1 -0
  12. package/dist/packem_shared/PackageNotFoundError-BictYTIA.js +1 -0
  13. package/dist/packem_shared/json-value.d-DU4PzU4Z.d.ts +33 -0
  14. package/dist/packem_shared/{package-json-DoazDpIb.d.cts → package-json-k3TJ_oy7.d.ts} +10 -43
  15. package/dist/pnpm.d.ts +15 -0
  16. package/dist/pnpm.js +1 -0
  17. package/package.json +25 -76
  18. package/dist/error.cjs +0 -1
  19. package/dist/error.d.cts +0 -9
  20. package/dist/error.d.mts +0 -9
  21. package/dist/error.mjs +0 -1
  22. package/dist/index.cjs +0 -1
  23. package/dist/index.d.cts +0 -7
  24. package/dist/index.d.mts +0 -7
  25. package/dist/index.mjs +0 -1
  26. package/dist/monorepo.cjs +0 -1
  27. package/dist/monorepo.d.cts +0 -9
  28. package/dist/monorepo.d.mts +0 -9
  29. package/dist/monorepo.mjs +0 -1
  30. package/dist/package-json.cjs +0 -3
  31. package/dist/package-json.d.cts +0 -3
  32. package/dist/package-json.d.mts +0 -3
  33. package/dist/package-json.mjs +0 -3
  34. package/dist/package-manager.cjs +0 -13
  35. package/dist/package-manager.d.cts +0 -21
  36. package/dist/package-manager.d.mts +0 -21
  37. package/dist/package-manager.mjs +0 -13
  38. package/dist/package.cjs +0 -1
  39. package/dist/package.d.cts +0 -4
  40. package/dist/package.d.mts +0 -4
  41. package/dist/package.mjs +0 -1
  42. package/dist/packem_shared/PackageNotFoundError-CEETCi0X.mjs +0 -1
  43. package/dist/packem_shared/PackageNotFoundError-CY57YCot.cjs +0 -1
  44. package/dist/packem_shared/package-json-DoazDpIb.d.mts +0 -2784
  45. package/dist/packem_shared/package-json-DoazDpIb.d.ts +0 -2784
package/dist/pnpm.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { J as JsonObject } from './packem_shared/json-value.d-DU4PzU4Z.js';
2
+
3
+ type PnpmCatalog = Record<string, string>;
4
+ type PnpmCatalogs = {
5
+ catalog?: PnpmCatalog;
6
+ catalogs?: Record<string, PnpmCatalog>;
7
+ };
8
+ declare const isPackageInWorkspace: (workspacePath: string, packagePath: string, workspacePackages: string[]) => boolean;
9
+ declare const readPnpmCatalogs: (packagePath: string) => Promise<PnpmCatalogs | undefined>;
10
+ declare const readPnpmCatalogsSync: (packagePath: string) => PnpmCatalogs | undefined;
11
+ declare const resolveCatalogReference: (packageName: string, versionSpec: string, catalogs: PnpmCatalogs) => string | undefined;
12
+ declare const resolveDependenciesCatalogReferences: (dependencies: Record<string, string>, catalogs: PnpmCatalogs) => void;
13
+ declare const resolveCatalogReferences: (packageJson: JsonObject, catalogs: PnpmCatalogs) => void;
14
+
15
+ export { type PnpmCatalog, type PnpmCatalogs, isPackageInWorkspace, readPnpmCatalogs, readPnpmCatalogsSync, resolveCatalogReference, resolveCatalogReferences, resolveDependenciesCatalogReferences };
package/dist/pnpm.js ADDED
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var f=(t,a)=>y(t,"name",{value:a,configurable:!0});import{findUpSync as u,findUp as m}from"@visulima/fs";import{readYamlSync as v,readYaml as k}from"@visulima/fs/yaml";import{dirname as l,relative as b}from"@visulima/path";var h=Object.defineProperty,i=f((t,a)=>h(t,"name",{value:a,configurable:!0}),"c");const d=i((t,a,e)=>{const c=l(t),o=l(a),g=o===c?".":b(c,o);return e.some(p=>{const n=p.startsWith("./")?p.slice(2):p,s=g.startsWith("./")?g.slice(2):g;if(n==="."&&s===".")return!0;if(n.endsWith("/**")){const r=n.slice(0,-3);return s===r||s.startsWith(`${r}/`)}if(n.endsWith("/*")){const r=n.slice(0,-2);return r===""?s!=="."&&!s.includes("/"):s.startsWith(`${r}/`)||s===r}return s===n||s.startsWith(`${n}/`)})},"isPackageInWorkspace"),D=i(async t=>{const a=await m("pnpm-workspace.yaml",{cwd:l(t),type:"file"});if(!a)return;const e=await k(a),c=Array.isArray(e.packages)?e.packages:[];if(!d(a,t,c))return;const o={};return e.catalog&&typeof e.catalog=="object"&&(o.catalog=e.catalog),e.catalogs&&typeof e.catalogs=="object"&&(o.catalogs=e.catalogs),Object.keys(o).length>0?o:void 0},"readPnpmCatalogs"),A=i(t=>{const a=u("pnpm-workspace.yaml",{cwd:l(t),type:"file"});if(!a)return;const e=v(a),c=Array.isArray(e.packages)?e.packages:[];if(!d(a,t,c))return;const o={};return e.catalog&&typeof e.catalog=="object"&&(o.catalog=e.catalog),e.catalogs&&typeof e.catalogs=="object"&&(o.catalogs=e.catalogs),Object.keys(o).length>0?o:void 0},"readPnpmCatalogsSync"),C=i((t,a,e)=>{if(a==="catalog:")return e.catalog?.[t];if(a.startsWith("catalog:")){const c=a.slice(8);return e.catalogs?.[c]?.[t]}},"resolveCatalogReference"),W=i((t,a)=>{for(const[e,c]of Object.entries(t)){if(typeof c!="string")continue;const o=C(e,c,a);o&&(t[e]=o)}},"resolveDependenciesCatalogReferences"),O=i((t,a)=>{const e=["dependencies","devDependencies","peerDependencies","optionalDependencies"];for(const c of e){if(!t[c]||typeof t[c]!="object")continue;const o=t[c];W(o,a)}},"resolveCatalogReferences");export{d as isPackageInWorkspace,D as readPnpmCatalogs,A as readPnpmCatalogsSync,C as resolveCatalogReference,O as resolveCatalogReferences,W as resolveDependenciesCatalogReferences};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@visulima/package",
3
- "version": "3.6.1",
4
- "description": "One Package to rule them all, finds your root-dir, monorepo, or package manager.",
3
+ "version": "4.0.1",
4
+ "description": "A comprehensive package management utility that helps you find root directories, monorepos, package managers, and parse package.json files with advanced features like catalog resolution.",
5
5
  "keywords": [
6
6
  "anolilab",
7
7
  "find",
@@ -22,6 +22,10 @@
22
22
  "read-pkg",
23
23
  "read-pkg-up",
24
24
  "root",
25
+ "pnpm",
26
+ "bun",
27
+ "npm",
28
+ "yarn",
25
29
  "visulima"
26
30
  ],
27
31
  "homepage": "https://www.visulima.com/docs/package/package",
@@ -52,92 +56,35 @@
52
56
  "type": "module",
53
57
  "exports": {
54
58
  ".": {
55
- "import": {
56
- "types": "./dist/index.d.mts",
57
- "default": "./dist/index.mjs"
58
- },
59
- "require": {
60
- "types": "./dist/index.d.cts",
61
- "default": "./dist/index.cjs"
62
- }
59
+ "types": "./dist/index.d.ts",
60
+ "default": "./dist/index.js"
63
61
  },
64
62
  "./monorepo": {
65
- "import": {
66
- "types": "./dist/monorepo.d.mts",
67
- "default": "./dist/monorepo.mjs"
68
- },
69
- "require": {
70
- "types": "./dist/monorepo.d.cts",
71
- "default": "./dist/monorepo.cjs"
72
- }
63
+ "types": "./dist/monorepo.d.ts",
64
+ "default": "./dist/monorepo.js"
73
65
  },
74
66
  "./package": {
75
- "import": {
76
- "types": "./dist/package.d.mts",
77
- "default": "./dist/package.mjs"
78
- },
79
- "require": {
80
- "types": "./dist/package.d.cts",
81
- "default": "./dist/package.cjs"
82
- }
67
+ "types": "./dist/package.d.ts",
68
+ "default": "./dist/package.js"
83
69
  },
84
70
  "./package-json": {
85
- "import": {
86
- "types": "./dist/package-json.d.mts",
87
- "default": "./dist/package-json.mjs"
88
- },
89
- "require": {
90
- "types": "./dist/package-json.d.cts",
91
- "default": "./dist/package-json.cjs"
92
- }
71
+ "types": "./dist/package-json.d.ts",
72
+ "default": "./dist/package-json.js"
93
73
  },
94
74
  "./package-manager": {
95
- "import": {
96
- "types": "./dist/package-manager.d.mts",
97
- "default": "./dist/package-manager.mjs"
98
- },
99
- "require": {
100
- "types": "./dist/package-manager.d.cts",
101
- "default": "./dist/package-manager.cjs"
102
- }
75
+ "types": "./dist/package-manager.d.ts",
76
+ "default": "./dist/package-manager.js"
77
+ },
78
+ "./pnpm": {
79
+ "types": "./dist/pnpm.d.ts",
80
+ "default": "./dist/pnpm.js"
103
81
  },
104
82
  "./error": {
105
- "import": {
106
- "types": "./dist/error.d.mts",
107
- "default": "./dist/error.mjs"
108
- },
109
- "require": {
110
- "types": "./dist/error.d.cts",
111
- "default": "./dist/error.cjs"
112
- }
83
+ "types": "./dist/error.d.ts",
84
+ "default": "./dist/error.js"
113
85
  },
114
86
  "./package.json": "./package.json"
115
87
  },
116
- "main": "dist/index.cjs",
117
- "module": "dist/index.mjs",
118
- "types": "dist/index.d.ts",
119
- "typesVersions": {
120
- ">=5.0": {
121
- ".": [
122
- "./dist/index.d.ts"
123
- ],
124
- "monorepo": [
125
- "./dist/monorepo.d.ts"
126
- ],
127
- "package": [
128
- "./dist/package.d.ts"
129
- ],
130
- "package-json": [
131
- "./dist/package-json.d.ts"
132
- ],
133
- "package-manager": [
134
- "./dist/package-manager.d.ts"
135
- ],
136
- "error": [
137
- "./dist/error.d.ts"
138
- ]
139
- }
140
- },
141
88
  "files": [
142
89
  "dist/**",
143
90
  "README.md",
@@ -145,13 +92,15 @@
145
92
  "LICENSE.md"
146
93
  ],
147
94
  "dependencies": {
95
+ "yaml": "^2.8.1",
96
+ "@antfu/install-pkg": "^1.1.0",
148
97
  "@inquirer/confirm": "^5.1.18",
149
98
  "@visulima/fs": "3.1.9",
150
99
  "@visulima/path": "1.4.0",
151
100
  "normalize-package-data": "^8.0.0"
152
101
  },
153
102
  "engines": {
154
- "node": ">=18.0.0 <=23.x"
103
+ "node": ">=20.19 <=24.*"
155
104
  },
156
105
  "os": [
157
106
  "darwin",
package/dist/error.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./packem_shared/PackageNotFoundError-CY57YCot.cjs");exports.PackageNotFoundError=e;
package/dist/error.d.cts DELETED
@@ -1,9 +0,0 @@
1
- declare class PackageNotFoundError extends Error {
2
- constructor(packageName: string[] | string, packageManager?: string);
3
- get code(): string;
4
- set code(_name: string);
5
- get name(): string;
6
- set name(_name: string);
7
- }
8
-
9
- export { PackageNotFoundError };
package/dist/error.d.mts DELETED
@@ -1,9 +0,0 @@
1
- declare class PackageNotFoundError extends Error {
2
- constructor(packageName: string[] | string, packageManager?: string);
3
- get code(): string;
4
- set code(_name: string);
5
- get name(): string;
6
- set name(_name: string);
7
- }
8
-
9
- export { PackageNotFoundError };
package/dist/error.mjs DELETED
@@ -1 +0,0 @@
1
- import{default as a}from"./packem_shared/PackageNotFoundError-CEETCi0X.mjs";export{a as PackageNotFoundError};
package/dist/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("./packem_shared/PackageNotFoundError-CY57YCot.cjs"),n=require("./monorepo.cjs"),o=require("./package.cjs"),e=require("./package-json.cjs"),a=require("./package-manager.cjs");exports.PackageNotFoundError=g;exports.findMonorepoRoot=n.findMonorepoRoot;exports.findMonorepoRootSync=n.findMonorepoRootSync;exports.findPackageRoot=o.findPackageRoot;exports.findPackageRootSync=o.findPackageRootSync;exports.ensurePackages=e.ensurePackages;exports.findPackageJson=e.findPackageJson;exports.findPackageJsonSync=e.findPackageJsonSync;exports.getPackageJsonProperty=e.getPackageJsonProperty;exports.hasPackageJsonAnyDependency=e.hasPackageJsonAnyDependency;exports.hasPackageJsonProperty=e.hasPackageJsonProperty;exports.parsePackageJson=e.parsePackageJson;exports.writePackageJson=e.writePackageJson;exports.writePackageJsonSync=e.writePackageJsonSync;exports.findLockFile=a.findLockFile;exports.findLockFileSync=a.findLockFileSync;exports.findPackageManager=a.findPackageManager;exports.findPackageManagerSync=a.findPackageManagerSync;exports.generateMissingPackagesInstallMessage=a.generateMissingPackagesInstallMessage;exports.getPackageManagerVersion=a.getPackageManagerVersion;exports.identifyInitiatingPackageManager=a.identifyInitiatingPackageManager;
package/dist/index.d.cts DELETED
@@ -1,7 +0,0 @@
1
- export { PackageNotFoundError } from './error.cjs';
2
- export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.cjs';
3
- export { findPackageRoot, findPackageRootSync } from './package.cjs';
4
- export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, 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-DoazDpIb.cjs';
5
- export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.cjs';
6
- import '@visulima/fs';
7
- import 'normalize-package-data';
package/dist/index.d.mts DELETED
@@ -1,7 +0,0 @@
1
- export { PackageNotFoundError } from './error.mjs';
2
- export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.mjs';
3
- export { findPackageRoot, findPackageRootSync } from './package.mjs';
4
- export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, 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-DoazDpIb.mjs';
5
- export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.mjs';
6
- import '@visulima/fs';
7
- import 'normalize-package-data';
package/dist/index.mjs DELETED
@@ -1 +0,0 @@
1
- import{default as n}from"./packem_shared/PackageNotFoundError-CEETCi0X.mjs";import{findMonorepoRoot as r,findMonorepoRootSync as g}from"./monorepo.mjs";import{findPackageRoot as i,findPackageRootSync as t}from"./package.mjs";import{ensurePackages as k,findPackageJson as P,findPackageJsonSync as f,getPackageJsonProperty as d,hasPackageJsonAnyDependency as p,hasPackageJsonProperty as y,parsePackageJson as J,writePackageJson as M,writePackageJsonSync as S}from"./package-json.mjs";import{findLockFile as m,findLockFileSync as x,findPackageManager as R,findPackageManagerSync as u,generateMissingPackagesInstallMessage as F,getPackageManagerVersion as h,identifyInitiatingPackageManager as w}from"./package-manager.mjs";export{n as PackageNotFoundError,k as ensurePackages,m as findLockFile,x as findLockFileSync,r as findMonorepoRoot,g as findMonorepoRootSync,P as findPackageJson,f as findPackageJsonSync,R as findPackageManager,u as findPackageManagerSync,i as findPackageRoot,t as findPackageRootSync,F as generateMissingPackagesInstallMessage,d as getPackageJsonProperty,h as getPackageManagerVersion,p as hasPackageJsonAnyDependency,y as hasPackageJsonProperty,w as identifyInitiatingPackageManager,J as parsePackageJson,M as writePackageJson,S as writePackageJsonSync};
package/dist/monorepo.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var y=Object.defineProperty;var p=(e,n)=>y(e,"name",{value:n,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("node:fs"),c=require("@visulima/fs"),u=require("@visulima/fs/error"),a=require("@visulima/path"),d=require("./package-manager.cjs");var l=Object.defineProperty,f=p((e,n)=>l(e,"name",{value:n,configurable:!0}),"i");const g=f(async e=>{const n=await c.findUp(["lerna.json","turbo.json"],{type:"file",...e&&{cwd:e}});if(n?.endsWith("lerna.json")){const o=await c.readJson(n);if(o.useWorkspaces||o.packages)return{path:a.dirname(n),strategy:"lerna"}}const i=n?.endsWith("turbo.json");try{const{packageManager:o,path:r}=await d.findPackageManager(e);if(["npm","yarn"].includes(o)){const t=a.join(r,"package.json");if(s.existsSync(t)&&s.readFileSync(a.join(r,"package.json"),"utf8").includes("workspaces"))return{path:r,strategy:i?"turbo":o}}else if(o==="pnpm"){const t=a.join(r,"pnpm-workspace.yaml");if(s.existsSync(t))return{path:r,strategy:i?"turbo":"pnpm"}}}catch(o){if(!(o instanceof u.NotFoundError))throw o}throw new Error(`No monorepo root could be found upwards from the directory ${e} using lerna, yarn, pnpm, or npm as indicators.`)},"findMonorepoRoot"),m=f(e=>{const n=c.findUpSync(["lerna.json","turbo.json"],{type:"file",...e&&{cwd:e}});if(n?.endsWith("lerna.json")){const o=c.readJsonSync(n);if(o.useWorkspaces||o.packages)return{path:a.dirname(n),strategy:"lerna"}}const i=n?.endsWith("turbo.json");try{const{packageManager:o,path:r}=d.findPackageManagerSync(e);if(["npm","yarn"].includes(o)){const t=a.join(r,"package.json");if(s.existsSync(t)&&s.readFileSync(a.join(r,"package.json"),"utf8").includes("workspaces"))return{path:r,strategy:i?"turbo":o}}else if(o==="pnpm"){const t=a.join(r,"pnpm-workspace.yaml");if(s.existsSync(t))return{path:r,strategy:i?"turbo":"pnpm"}}}catch(o){if(!(o instanceof u.NotFoundError))throw o}throw new Error(`No monorepo root could be found upwards from the directory ${e} using lerna, yarn, pnpm, or npm as indicators.`)},"findMonorepoRootSync");exports.findMonorepoRoot=g;exports.findMonorepoRootSync=m;
@@ -1,9 +0,0 @@
1
- type Strategy = "lerna" | "npm" | "pnpm" | "turbo" | "yarn";
2
- interface RootMonorepo<T extends Strategy = Strategy> {
3
- path: string;
4
- strategy: T;
5
- }
6
- declare const findMonorepoRoot: (cwd?: URL | string) => Promise<RootMonorepo>;
7
- declare const findMonorepoRootSync: (cwd?: URL | string) => RootMonorepo;
8
-
9
- export { type RootMonorepo, type Strategy, findMonorepoRoot, findMonorepoRootSync };
@@ -1,9 +0,0 @@
1
- type Strategy = "lerna" | "npm" | "pnpm" | "turbo" | "yarn";
2
- interface RootMonorepo<T extends Strategy = Strategy> {
3
- path: string;
4
- strategy: T;
5
- }
6
- declare const findMonorepoRoot: (cwd?: URL | string) => Promise<RootMonorepo>;
7
- declare const findMonorepoRootSync: (cwd?: URL | string) => RootMonorepo;
8
-
9
- export { type RootMonorepo, type Strategy, findMonorepoRoot, findMonorepoRootSync };
package/dist/monorepo.mjs DELETED
@@ -1 +0,0 @@
1
- var m=Object.defineProperty;var c=(r,n)=>m(r,"name",{value:n,configurable:!0});import{existsSync as p,readFileSync as i}from"node:fs";import{findUp as y,readJson as g,findUpSync as l,readJsonSync as h}from"@visulima/fs";import{NotFoundError as f}from"@visulima/fs/error";import{dirname as u,join as a}from"@visulima/path";import{findPackageManager as w,findPackageManagerSync as k}from"./package-manager.mjs";var j=Object.defineProperty,d=c((r,n)=>j(r,"name",{value:n,configurable:!0}),"i");const E=d(async r=>{const n=await y(["lerna.json","turbo.json"],{type:"file",...r&&{cwd:r}});if(n?.endsWith("lerna.json")){const o=await g(n);if(o.useWorkspaces||o.packages)return{path:u(n),strategy:"lerna"}}const s=n?.endsWith("turbo.json");try{const{packageManager:o,path:e}=await w(r);if(["npm","yarn"].includes(o)){const t=a(e,"package.json");if(p(t)&&i(a(e,"package.json"),"utf8").includes("workspaces"))return{path:e,strategy:s?"turbo":o}}else if(o==="pnpm"){const t=a(e,"pnpm-workspace.yaml");if(p(t))return{path:e,strategy:s?"turbo":"pnpm"}}}catch(o){if(!(o instanceof f))throw o}throw new Error(`No monorepo root could be found upwards from the directory ${r} using lerna, yarn, pnpm, or npm as indicators.`)},"findMonorepoRoot"),N=d(r=>{const n=l(["lerna.json","turbo.json"],{type:"file",...r&&{cwd:r}});if(n?.endsWith("lerna.json")){const o=h(n);if(o.useWorkspaces||o.packages)return{path:u(n),strategy:"lerna"}}const s=n?.endsWith("turbo.json");try{const{packageManager:o,path:e}=k(r);if(["npm","yarn"].includes(o)){const t=a(e,"package.json");if(p(t)&&i(a(e,"package.json"),"utf8").includes("workspaces"))return{path:e,strategy:s?"turbo":o}}else if(o==="pnpm"){const t=a(e,"pnpm-workspace.yaml");if(p(t))return{path:e,strategy:s?"turbo":"pnpm"}}}catch(o){if(!(o instanceof f))throw o}throw new Error(`No monorepo root could be found upwards from the directory ${r} using lerna, yarn, pnpm, or npm as indicators.`)},"findMonorepoRootSync");export{E as findMonorepoRoot,N as findMonorepoRootSync};
@@ -1,3 +0,0 @@
1
- "use strict";var Ae=Object.defineProperty;var l=(t,e)=>Ae(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const X=require("node:fs"),Je=require("node:process"),Ne=require("node:fs/promises"),G=require("node:path"),Ie=require("node:module"),Te=require("child_process"),q=require("path"),De=require("process"),Me=require("stream"),qe=require("readline"),Fe=require("@inquirer/confirm"),N=require("@visulima/fs"),ue=require("@visulima/fs/error"),H=require("@visulima/fs/utils"),pe=require("@visulima/path"),Ue=require("normalize-package-data");var K=typeof document<"u"?document.currentScript:null;const M=l(t=>t&&typeof t=="object"&&"default"in t?t.default:t,"_interopDefaultCompat"),F=M(Je),fe=M(Ne),O=M(G),We=M(qe),Le=M(Fe),He=M(Ue),de=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],ie={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},ae={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};var Re=Object.defineProperty,$=l((t,e)=>Re(t,"name",{value:e,configurable:!0}),"i$1");async function L(t,e){try{const r=await fe.stat(t);return e==="file"?r.isFile():r.isDirectory()}catch{return!1}}l(L,"g$2");$(L,"pathExists");function Ve(){const t=F.env.npm_config_user_agent;if(!t)return null;const e=t.split("/")[0];return de.includes(e)?e:null}l(Ve,"M$1");$(Ve,"getUserAgent");function*he(t=F.cwd()){let e=O.resolve(t);const{root:r}=O.parse(e);for(;e&&e!==r;)yield e,e=O.dirname(e)}l(he,"h$2");$(he,"lookup");async function B(t,e){return!t||!L(t,"file")?null:await me(t,e)}l(B,"m$1");$(B,"parsePackageJson");async function ge(t={}){const{cwd:e,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:n}=t;let o;if(typeof t.stopDir=="string"){const s=O.resolve(t.stopDir);o=$(c=>c===s,"stopDir")}else o=t.stopDir;for(const s of he(e)){for(const c of r)switch(c){case"lockfile":{for(const i of Object.keys(ie))if(await L(O.join(s,i),"file")){const a=ie[i];return await B(O.join(s,"package.json"),n)||{name:a,agent:a}}break}case"packageManager-field":case"devEngines-field":{const i=await B(O.join(s,"package.json"),n);if(i)return i;break}case"install-metadata":{for(const i of Object.keys(ae)){const a=i.endsWith("/")?"dir":"file";if(await L(O.join(s,i),a)){const u=ae[i],p=u==="yarn"?we(i)?"yarn":"yarn@berry":u;return{name:u,agent:p}}}break}}if(o?.(s))break}return null}l(ge,"A$1");$(ge,"detect");function ye(t){const e=$(r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r,"handelVer");if(typeof t.packageManager=="string"){const[r,n]=t.packageManager.replace(/^\^/,"").split("@");return{name:r,ver:e(n)}}if(typeof t.devEngines?.packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}l(ye,"j$1");$(ye,"getNameAndVer");async function me(t,e){try{const r=JSON.parse(await fe.readFile(t,"utf8"));let n;const o=ye(r);if(o){const s=o.name,c=o.ver;let i=c;return s==="yarn"&&c&&Number.parseInt(c)>1?(n="yarn@berry",i="berry",{name:s,agent:n,version:i}):s==="pnpm"&&c&&Number.parseInt(c)<7?(n="pnpm@6",{name:s,agent:n,version:i}):de.includes(s)?(n=s,{name:s,agent:n,version:i}):e?.(r.packageManager)??null}}catch{}return null}l(me,"E$2");$(me,"handlePackageManager");function we(t){return t.endsWith(".yarn_integrity")}l(we,"D$1");$(we,"isMetadataYarnClassic");var ze=Object.defineProperty,f=l((t,e)=>ze(t,"name",{value:e,configurable:!0}),"l$1");const T=Ie.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:K&&K.tagName.toUpperCase()==="SCRIPT"&&K.src||new URL("package-json.cjs",document.baseURI).href);var Ke=Object.create,ve=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Be=Object.getOwnPropertyNames,Xe=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty,C=(t=>typeof T<"u"?T:typeof Proxy<"u"?new Proxy(t,{get:f((e,r)=>(typeof T<"u"?T:e)[r],"get")}):t)(function(t){if(typeof T<"u")return T.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),k=f((t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),"l"),Qe=f((t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Be(e))!Ge.call(t,o)&&o!==r&&ve(t,o,{get:f(()=>e[o],"get"),enumerable:!(n=Ye(e,o))||n.enumerable});return t},"$t"),Ze=f((t,e,r)=>(r=t!=null?Ke(Xe(t)):{},Qe(e||!t||!t.__esModule?ve(r,"default",{value:t,enumerable:!0}):r,t)),"Nt"),et=k((t,e)=>{e.exports=s,s.sync=c;var r=C("fs");function n(i,a){var u=a.pathExt!==void 0?a.pathExt:process.env.PATHEXT;if(!u||(u=u.split(";"),u.indexOf("")!==-1))return!0;for(var p=0;p<u.length;p++){var h=u[p].toLowerCase();if(h&&i.substr(-h.length).toLowerCase()===h)return!0}return!1}l(n,"o"),f(n,"Ht");function o(i,a,u){return!i.isSymbolicLink()&&!i.isFile()?!1:n(a,u)}l(o,"i"),f(o,"F");function s(i,a,u){r.stat(i,function(p,h){u(p,p?!1:o(h,i,a))})}l(s,"u"),f(s,"z");function c(i,a){return o(r.statSync(i),i,a)}l(c,"d"),f(c,"Wt")}),tt=k((t,e)=>{e.exports=n,n.sync=o;var r=C("fs");function n(i,a,u){r.stat(i,function(p,h){u(p,p?!1:s(h,a))})}l(n,"o"),f(n,"K");function o(i,a){return s(r.statSync(i),a)}l(o,"i"),f(o,"Dt");function s(i,a){return i.isFile()&&c(i,a)}l(s,"u"),f(s,"M");function c(i,a){var u=i.mode,p=i.uid,h=i.gid,d=a.uid!==void 0?a.uid:process.getuid&&process.getuid(),g=a.gid!==void 0?a.gid:process.getgid&&process.getgid(),y=parseInt("100",8),m=parseInt("010",8),_=parseInt("001",8),E=y|m,A=u&_||u&m&&h===g||u&y&&p===d||u&E&&d===0;return A}l(c,"d"),f(c,"Kt")}),rt=k((t,e)=>{C("fs");var r;process.platform==="win32"||global.TESTING_WINDOWS?r=et():r=tt(),e.exports=n,n.sync=o;function n(s,c,i){if(typeof c=="function"&&(i=c,c={}),!i){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,u){n(s,c||{},function(p,h){p?u(p):a(h)})})}r(s,c||{},function(a,u){a&&(a.code==="EACCES"||c&&c.ignoreErrors)&&(a=null,u=!1),i(a,u)})}l(n,"i"),f(n,"y");function o(s,c){try{return r.sync(s,c||{})}catch(i){if(c&&c.ignoreErrors||i.code==="EACCES")return!1;throw i}}l(o,"u"),f(o,"Mt")}),nt=k((t,e)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",n=C("path"),o=r?";":":",s=rt(),c=f(p=>Object.assign(new Error(`not found: ${p}`),{code:"ENOENT"}),"J"),i=f((p,h)=>{let d=h.colon||o,g=p.match(/\//)||r&&p.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],y=r?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=r?y.split(d):[""];return r&&p.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:g,pathExt:m,pathExtExe:y}},"Q"),a=f((p,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:y,pathExtExe:m}=i(p,h),_=[],E=f(v=>new Promise((J,j)=>{if(v===g.length)return h.all&&_.length?J(_):j(c(p));let b=g[v],V=/^".*"$/.test(b)?b.slice(1,-1):b,I=n.join(V,p),z=!V&&/^\.[\\\/]/.test(p)?p.slice(0,2)+I:I;J(A(z,v,0))}),"a"),A=f((v,J,j)=>new Promise((b,V)=>{if(j===y.length)return b(E(J+1));let I=y[j];s(v+I,{pathExt:m},(z,Ce)=>{if(!z&&Ce)if(h.all)_.push(v+I);else return b(v+I);return b(A(v,J,j+1))})}),"c");return d?E(0).then(v=>d(null,v),d):E(0)},"Z"),u=f((p,h)=>{h=h||{};let{pathEnv:d,pathExt:g,pathExtExe:y}=i(p,h),m=[];for(let _=0;_<d.length;_++){let E=d[_],A=/^".*"$/.test(E)?E.slice(1,-1):E,v=n.join(A,p),J=!A&&/^\.[\\\/]/.test(p)?p.slice(0,2)+v:v;for(let j=0;j<g.length;j++){let b=J+g[j];try{if(s.sync(b,{pathExt:y}))if(h.all)m.push(b);else return b}catch{}}}if(h.all&&m.length)return m;if(h.nothrow)return null;throw c(p)},"Xt");e.exports=a,a.sync=u}),ot=k((t,e)=>{var r=f((n={})=>{let o=n.env||process.env;return(n.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"},"nt");e.exports=r,e.exports.default=r}),st=k((t,e)=>{var r=C("path"),n=nt(),o=ot();function s(i,a){let u=i.options.env||process.env,p=process.cwd(),h=i.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(i.options.cwd)}catch{}let g;try{g=n.sync(i.command,{path:u[o({env:u})],pathExt:a?r.delimiter:void 0})}catch{}finally{d&&process.chdir(p)}return g&&(g=r.resolve(h?i.options.cwd:"",g)),g}l(s,"u"),f(s,"ot");function c(i){return s(i)||s(i,!0)}l(c,"d"),f(c,"Yt"),e.exports=c}),it=k((t,e)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function n(s){return s=s.replace(r,"^$1"),s}l(n,"o"),f(n,"Vt");function o(s,c){return s=`${s}`,s=s.replace(/(\\*)"/g,'$1$1\\"'),s=s.replace(/(\\*)$/,"$1$1"),s=`"${s}"`,s=s.replace(r,"^$1"),c&&(s=s.replace(r,"^$1")),s}l(o,"i"),f(o,"Jt"),e.exports.command=n,e.exports.argument=o}),at=k((t,e)=>{e.exports=/^#!(.*)/}),ct=k((t,e)=>{var r=at();e.exports=(n="")=>{let o=n.match(r);if(!o)return null;let[s,c]=o[0].replace(/#! ?/,"").split(" "),i=s.split("/").pop();return i==="env"?c:c?`${i} ${c}`:i}}),lt=k((t,e)=>{var r=C("fs"),n=ct();function o(s){let c=Buffer.alloc(150),i;try{i=r.openSync(s,"r"),r.readSync(i,c,0,150,0),r.closeSync(i)}catch{}return n(c.toString())}l(o,"i"),f(o,"te"),e.exports=o}),ut=k((t,e)=>{var r=C("path"),n=st(),o=it(),s=lt(),c=process.platform==="win32",i=/\.(?:com|exe)$/i,a=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u(d){d.file=n(d);let g=d.file&&s(d.file);return g?(d.args.unshift(d.file),d.command=g,n(d)):d.file}l(u,"h"),f(u,"ie");function p(d){if(!c)return d;let g=u(d),y=!i.test(g);if(d.options.forceShell||y){let m=a.test(g);d.command=r.normalize(d.command),d.command=o.command(d.command),d.args=d.args.map(E=>o.argument(E,m));let _=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${_}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}l(p,"a"),f(p,"ce");function h(d,g,y){g&&!Array.isArray(g)&&(y=g,g=null),g=g?g.slice(0):[],y=Object.assign({},y);let m={command:d,args:g,options:y,file:void 0,original:{command:d,args:g}};return y.shell?m:p(m)}l(h,"p"),f(h,"ue"),e.exports=h}),pt=k((t,e)=>{var r=process.platform==="win32";function n(i,a){return Object.assign(new Error(`${a} ${i.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${a} ${i.command}`,path:i.command,spawnargs:i.args})}l(n,"o"),f(n,"k");function o(i,a){if(!r)return;let u=i.emit;i.emit=function(p,h){if(p==="exit"){let d=s(h,a);if(d)return u.call(i,"error",d)}return u.apply(i,arguments)}}l(o,"i"),f(o,"ae");function s(i,a){return r&&i===1&&!a.file?n(a.original,"spawn"):null}l(s,"u"),f(s,"xt");function c(i,a){return r&&i===1&&!a.file?n(a.original,"spawnSync"):null}l(c,"d"),f(c,"le"),e.exports={hookChildProcess:o,verifyENOENT:s,verifyENOENTSync:c,notFoundError:n}}),ft=k((t,e)=>{var r=C("child_process"),n=ut(),o=pt();function s(i,a,u){let p=n(i,a,u),h=r.spawn(p.command,p.args,p.options);return o.hookChildProcess(h,p),h}l(s,"u"),f(s,"_t");function c(i,a,u){let p=n(i,a,u),h=r.spawnSync(p.command,p.args,p.options);return h.error=h.error||o.verifyENOENTSync(h.status,p),h}l(c,"d"),f(c,"pe"),e.exports=s,e.exports.spawn=s,e.exports.sync=c,e.exports._parse=n,e.exports._enoent=o}),dt=/^path$/i,ce={key:"PATH",value:""};function ke(t){for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||!dt.test(e))continue;let r=t[e];return r?{key:e,value:r}:ce}return ce}l(ke,"hr");f(ke,"jt");function _e(t,e){let r=e.value.split(q.delimiter),n=t,o;do r.push(q.resolve(n,"node_modules",".bin")),o=n,n=q.dirname(n);while(n!==o);return{key:e.key,value:r.join(q.delimiter)}}l(_e,"dr");f(_e,"Ft");function Ee(t,e){let r={...process.env,...e},n=_e(t,ke(r));return r[n.key]=n.value,r}l(Ee,"fr");f(Ee,"I");var ht=f(t=>{let e=t.length,r=new Me.PassThrough,n=f(()=>{--e===0&&r.emit("end")},"r");for(let o of t)o.pipe(r,{end:!1}),o.on("end",n);return r},"L"),gt=Ze(ft(),1),le=class extends Error{static{l(this,"N")}static{f(this,"x")}result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(t,e){super(`Process exited with non-zero status (${t.exitCode})`),this.result=t,this.output=e}},yt={timeout:void 0,persist:!1},mt={windowsHide:!0};function be(t,e){return{command:q.normalize(t),args:e??[]}}l(be,"yr");f(be,"we");function xe(t){let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(),r;let n=f(()=>{e.abort(r.reason)},"r");r.addEventListener("abort",n,{signal:e.signal})}return e.signal}l(xe,"xr");f(xe,"xe");var wt=class{static{l(this,"I")}static{f(this,"R")}_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,r,n){this._options={...yt,...n},this._command=e,this._args=r??[],this._processClosed=new Promise(o=>{this._resolveClose=o})}kill(e){return this._process?.kill(e)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(e,r,n){return vt(e,r,{...n,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let r=[];this._streamErr&&r.push(this._streamErr),this._streamOut&&r.push(this._streamOut);let n=ht(r),o=We.createInterface({input:n});for await(let s of o)yield s.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new le(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let r="",n="";if(this._streamOut)for await(let s of this._streamOut)n+=s.toString();if(this._streamErr)for await(let s of this._streamErr)r+=s.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let o={stderr:r,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new le(this,o);return o}then(e,r){return this._waitForOutput().then(e,r)}_streamOut;_streamErr;spawn(){let e=De.cwd(),r=this._options,n={...mt,...r.nodeOptions},o=[];this._resetState(),r.timeout!==void 0&&o.push(AbortSignal.timeout(r.timeout)),r.signal!==void 0&&o.push(r.signal),r.persist===!0&&(n.detached=!0),o.length>0&&(n.signal=xe(o)),n.env=Ee(e,n.env);let{command:s,args:c}=be(this._command,this._args),i=(0,gt._parse)(s,c,n),a=Te.spawn(i.command,i.args,i.options);if(a.stderr&&(this._streamErr=a.stderr),a.stdout&&(this._streamOut=a.stdout),this._process=a,a.once("error",this._onError),a.once("close",this._onClose),r.stdin!==void 0&&a.stdin&&r.stdin.process){let{stdout:u}=r.stdin.process;u&&u.pipe(a.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(e=>{this._resolveClose=e}),this._thrownError=void 0}_onError=f(e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=e},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},Q=f((t,e,r)=>{let n=new wt(t,e,r);return n.spawn(),n},"ve"),vt=Q,kt=Object.defineProperty,Z=l((t,e)=>kt(t,"name",{value:e,configurable:!0}),"i");async function ee(t=F.cwd()){return(await ge({cwd:t,onUnknown(e){console.warn("[@antfu/install-pkg] Unknown packageManager:",e)}}))?.agent||null}l(ee,"c$2");Z(ee,"detectPackageManager");async function Pe(t,e={}){const r=e.packageManager||await ee(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=(typeof e.additionalArgs=="function"?e.additionalArgs(n,r):e.additionalArgs)||[];return e.preferOffline&&(r==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),n==="pnpm"&&(o.unshift("--prod=false"),X.existsSync(G.resolve(e.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),Q(n,[n==="yarn"?"add":"install",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(Pe,"p");Z(Pe,"installPackage");async function _t(t,e={}){const r=e.packageManager||await ee(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=e.additionalArgs||[];return n==="pnpm"&&X.existsSync(G.resolve(e.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),Q(n,[n==="yarn"?"remove":"uninstall",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(_t,"h$1");Z(_t,"uninstallPackage");var Et=Object.defineProperty,w=l((t,e)=>Et(t,"name",{value:e,configurable:!0}),"f");const P=w(t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},"isObject"),bt=w(t=>P(t)&&Object.keys(t).length===0,"isEmptyObject"),Y=new Set(["__proto__","prototype","constructor"]),xt=new Set("0123456789");function te(t){return typeof t=="string"&&/^\d+$/.test(t)&&Number.parseInt(t,10)>=0&&(t==="0"||!t.startsWith("0"))}l(te,"h");w(te,"isValidArrayIndex");function U(t,e,r){return r>0&&typeof t=="string"&&Array.isArray(e)&&te(t)?Number.parseInt(t,10):t}l(U,"u");w(U,"normalizeKey");function W(t){const e=[];let r="",n="start",o=!1;for(const s of t)switch(s){case"\\":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");o&&(r+=s),n="property",o=!o;break}case".":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="property";break}if(o){o=!1,r+=s;break}if(Y.has(r))return[];e.push(r),r="",n="property";break}case"[":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="index";break}if(o){o=!1,r+=s;break}if(n==="property"){if(Y.has(r))return[];e.push(r),r=""}n="index";break}case"]":{if(n==="index"){e.push(Number.parseInt(r,10)),r="",n="indexEnd";break}if(n==="indexEnd")throw new Error("Invalid character after an index")}default:{if(n==="index"&&!xt.has(s))throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");n==="start"&&(n="property"),o&&(o=!1,r+="\\"),r+=s}}switch(o&&(r+="\\"),n){case"property":{if(Y.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}l(W,"l");w(W,"getPathSegments");function R(t,e){if(!Array.isArray(t)||typeof e=="number")return!1;const r=Number.parseInt(e,10);return Number.isInteger(r)&&String(r)===e}l(R,"c$1");w(R,"isStringIndex");function re(t,e){if(R(t,e))throw new Error("Cannot use string index")}l(re,"x");w(re,"assertNotStringIndex");function S(t,e,r){if(!P(t)||typeof e!="string")return r===void 0?t:r;const n=W(e);if(n.length===0)return r;for(let o=0;o<n.length;o++){const s=n[o],c=U(s,t,o);if(c===s&&R(t,s)?t=o===n.length-1?void 0:null:t=t[c],t==null){if(o!==n.length-1)return r;break}}return t===void 0?r:t}l(S,"getProperty");w(S,"getProperty");function $e(t,e,r){if(!P(t)||typeof e!="string")return t;const n=t,o=W(e);for(let s=0;s<o.length;s++){const c=o[s],i=U(c,t,s);if(i===c&&re(t,c),s===o.length-1)t[i]=r;else if(!P(t[i])){const a=o[s+1],u=typeof a=="number"||typeof a=="string"&&te(a);t[i]=u?[]:{}}t=t[i]}return n}l($e,"setProperty");w($e,"setProperty");function Pt(t,e){if(!P(t)||typeof e!="string")return!1;const r=W(e);for(let n=0;n<r.length;n++){const o=r[n],s=U(o,t,n);if(s===o&&re(t,o),n===r.length-1)return Object.hasOwn(t,s)?(delete t[s],!0):!1;if(t=t[s],!P(t))return!1}}l(Pt,"deleteProperty");w(Pt,"deleteProperty");function D(t,e){if(!P(t)||typeof e!="string")return!1;const r=W(e);if(r.length===0)return!1;for(const[n,o]of r.entries()){const s=U(o,t,n),c=s===o&&R(t,o);if(!P(t)||!(s in t)||c)return!1;t=t[s]}return!0}l(D,"hasProperty");w(D,"hasProperty");function je(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replaceAll(/[\\.[]/g,String.raw`\$&`)}l(je,"escapePath");w(je,"escapePath");function ne(t){const e=Object.entries(t);return Array.isArray(t)?e.map(([r,n])=>[Number(r),n]):e}l(ne,"g");w(ne,"entries");function Oe(t){let e="";for(let[r,n]of ne(t))typeof n=="number"?e+=`[${n}]`:(n=je(n),e+=r===0?n:`.${n}`);return e}l(Oe,"A");w(Oe,"stringifyPath");function*oe(t,e=[]){if(!P(t)||bt(t)){e.length>0&&(yield Oe(e));return}for(const[r,n]of ne(t))yield*oe(n,[...e,r])}l(oe,"w$1");w(oe,"deepKeysIterator");function $t(t){return[...oe(t)]}l($t,"deepKeys");w($t,"deepKeys");function jt(t){const e={};if(!P(t))return e;for(const[r,n]of Object.entries(t))$e(e,r,n);return e}l(jt,"unflatten");w(jt,"unflatten");const Ot=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var St=Object.defineProperty,x=l((t,e)=>St(t,"name",{value:e,configurable:!0}),"c");const Se=new Map;class Ct extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(e){super(`The following warnings were encountered while normalizing package data:
2
- - ${e.join(`
3
- - `)}`),this.name="PackageJsonValidationError"}}const se=x((t,e,r=[])=>{const n=[];if(He(t,o=>{n.push(o)},e),e&&n.length>0){const o=n.filter(s=>!r.some(c=>c instanceof RegExp?c.test(s):c===s));if(o.length>0)throw new Ct(o)}return t},"normalizeInput"),At=x(async(t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=await N.findUp("package.json",r);if(!n)throw new ue.NotFoundError("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Se;if(e.cache&&o.has(n))return o.get(n);const s=await N.readJson(n);se(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJson"),Jt=x((t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=N.findUpSync("package.json",r);if(!n)throw new ue.NotFoundError("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Se;if(e.cache&&o.has(n))return o.get(n);const s=N.readJsonSync(n);se(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJsonSync"),Nt=x(async(t,e={})=>{const{cwd:r,...n}=e,o=H.toPath(e.cwd??process.cwd());await N.writeJson(pe.join(o,"package.json"),t,n)},"writePackageJson"),It=x((t,e={})=>{const{cwd:r,...n}=e,o=H.toPath(e.cwd??process.cwd());N.writeJsonSync(pe.join(o,"package.json"),t,n)},"writePackageJsonSync"),Tt=x((t,e)=>{const r=t!==null&&typeof t=="object"&&!Array.isArray(t);if(!r&&typeof t!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");let n;return r?n=structuredClone(t):X.existsSync(t)?n=N.readJsonSync(t):n=H.parseJson(t),se(n,e?.strict??!1,e?.ignoreWarnings),n},"parsePackageJson"),Dt=x((t,e,r)=>S(t,e,r),"getPackageJsonProperty"),Mt=x((t,e)=>D(t,e),"hasPackageJsonProperty"),qt=x((t,e,r)=>{const n=S(t,"dependencies",{}),o=S(t,"devDependencies",{}),s=S(t,"peerDependencies",{}),c={...n,...o,...r?.peerDeps===!1?{}:s};for(const i of e)if(D(c,i))return!0;return!1},"hasPackageJsonAnyDependency"),Ft=x(async(t,e,r="dependencies",n={})=>{const o=S(t,"dependencies",{}),s=S(t,"devDependencies",{}),c=S(t,"peerDependencies",{}),i=[],a={deps:!0,devDeps:!0,peerDeps:!1,...n};for(const u of e)a.deps&&D(o,u)||a.devDeps&&D(s,u)||a.peerDeps&&D(c,u)||i.push(u);if(i.length!==0){if(process.env.CI||Ot&&!process.stdout?.isTTY){const u=`Skipping package installation for [${e.join(", ")}] because the process is not interactive.`;if(n.throwOnWarn)throw new Error(u);n.logger?.warn?n.logger.warn(u):console.warn(u);return}if(typeof a.confirm?.message=="function"&&(a.confirm.message=a.confirm.message(i)),a.confirm?.message===void 0){const u=`${i.length===1?"Package is":"Packages are"} required for this config: ${i.join(", ")}. Do you want to install them?`;a.confirm===void 0?a.confirm={message:u}:a.confirm.message=u}await Le(a.confirm)&&await Pe(i,{...a.installPackage,cwd:a.cwd?H.toPath(a.cwd):void 0,dev:r==="devDependencies"})}},"ensurePackages");exports.ensurePackages=Ft;exports.findPackageJson=At;exports.findPackageJsonSync=Jt;exports.getPackageJsonProperty=Dt;exports.hasPackageJsonAnyDependency=qt;exports.hasPackageJsonProperty=Mt;exports.parsePackageJson=Tt;exports.writePackageJson=Nt;exports.writePackageJsonSync=It;
@@ -1,3 +0,0 @@
1
- import '@visulima/fs';
2
- export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, 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-DoazDpIb.cjs';
3
- import 'normalize-package-data';
@@ -1,3 +0,0 @@
1
- import '@visulima/fs';
2
- export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, 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-DoazDpIb.mjs';
3
- import 'normalize-package-data';
@@ -1,3 +0,0 @@
1
- var Se=Object.defineProperty;var l=(t,e)=>Se(t,"name",{value:e,configurable:!0});import{existsSync as K}from"node:fs";import D from"node:process";import ie from"node:fs/promises";import j,{resolve as ae}from"node:path";import{createRequire as Ae}from"node:module";import{spawn as Ce}from"child_process";import{delimiter as te,resolve as Ne,dirname as Ie,normalize as Je}from"path";import{cwd as Te}from"process";import{PassThrough as De}from"stream";import Me from"readline";import Fe from"@inquirer/confirm";import{readJsonSync as ce,findUp as We,readJson as He,findUpSync as Le,writeJson as Ue,writeJsonSync as Ve}from"@visulima/fs";import{NotFoundError as le}from"@visulima/fs/error";import{parseJson as ze,toPath as Y}from"@visulima/fs/utils";import{join as pe}from"@visulima/path";import Ke from"normalize-package-data";const ue=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],re={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},ne={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};var Ye=Object.defineProperty,$=l((t,e)=>Ye(t,"name",{value:e,configurable:!0}),"i$1");async function W(t,e){try{const r=await ie.stat(t);return e==="file"?r.isFile():r.isDirectory()}catch{return!1}}l(W,"g$2");$(W,"pathExists");function Be(){const t=D.env.npm_config_user_agent;if(!t)return null;const e=t.split("/")[0];return ue.includes(e)?e:null}l(Be,"M$1");$(Be,"getUserAgent");function*fe(t=D.cwd()){let e=j.resolve(t);const{root:r}=j.parse(e);for(;e&&e!==r;)yield e,e=j.dirname(e)}l(fe,"h$2");$(fe,"lookup");async function z(t,e){return!t||!W(t,"file")?null:await ge(t,e)}l(z,"m$1");$(z,"parsePackageJson");async function de(t={}){const{cwd:e,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:n}=t;let o;if(typeof t.stopDir=="string"){const s=j.resolve(t.stopDir);o=$(c=>c===s,"stopDir")}else o=t.stopDir;for(const s of fe(e)){for(const c of r)switch(c){case"lockfile":{for(const i of Object.keys(re))if(await W(j.join(s,i),"file")){const a=re[i];return await z(j.join(s,"package.json"),n)||{name:a,agent:a}}break}case"packageManager-field":case"devEngines-field":{const i=await z(j.join(s,"package.json"),n);if(i)return i;break}case"install-metadata":{for(const i of Object.keys(ne)){const a=i.endsWith("/")?"dir":"file";if(await W(j.join(s,i),a)){const p=ne[i],u=p==="yarn"?me(i)?"yarn":"yarn@berry":p;return{name:p,agent:u}}}break}}if(o?.(s))break}return null}l(de,"A$1");$(de,"detect");function he(t){const e=$(r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r,"handelVer");if(typeof t.packageManager=="string"){const[r,n]=t.packageManager.replace(/^\^/,"").split("@");return{name:r,ver:e(n)}}if(typeof t.devEngines?.packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}l(he,"j$1");$(he,"getNameAndVer");async function ge(t,e){try{const r=JSON.parse(await ie.readFile(t,"utf8"));let n;const o=he(r);if(o){const s=o.name,c=o.ver;let i=c;return s==="yarn"&&c&&Number.parseInt(c)>1?(n="yarn@berry",i="berry",{name:s,agent:n,version:i}):s==="pnpm"&&c&&Number.parseInt(c)<7?(n="pnpm@6",{name:s,agent:n,version:i}):ue.includes(s)?(n=s,{name:s,agent:n,version:i}):e?.(r.packageManager)??null}}catch{}return null}l(ge,"E$2");$(ge,"handlePackageManager");function me(t){return t.endsWith(".yarn_integrity")}l(me,"D$1");$(me,"isMetadataYarnClassic");var Xe=Object.defineProperty,f=l((t,e)=>Xe(t,"name",{value:e,configurable:!0}),"l$1");const J=Ae(import.meta.url);var qe=Object.create,ye=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Ge=Object.getOwnPropertyNames,Qe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty,A=(t=>typeof J<"u"?J:typeof Proxy<"u"?new Proxy(t,{get:f((e,r)=>(typeof J<"u"?J:e)[r],"get")}):t)(function(t){if(typeof J<"u")return J.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),E=f((t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),"l"),et=f((t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ge(e))!Ze.call(t,o)&&o!==r&&ye(t,o,{get:f(()=>e[o],"get"),enumerable:!(n=Re(e,o))||n.enumerable});return t},"$t"),tt=f((t,e,r)=>(r=t!=null?qe(Qe(t)):{},et(e||!t||!t.__esModule?ye(r,"default",{value:t,enumerable:!0}):r,t)),"Nt"),rt=E((t,e)=>{e.exports=s,s.sync=c;var r=A("fs");function n(i,a){var p=a.pathExt!==void 0?a.pathExt:process.env.PATHEXT;if(!p||(p=p.split(";"),p.indexOf("")!==-1))return!0;for(var u=0;u<p.length;u++){var h=p[u].toLowerCase();if(h&&i.substr(-h.length).toLowerCase()===h)return!0}return!1}l(n,"o"),f(n,"Ht");function o(i,a,p){return!i.isSymbolicLink()&&!i.isFile()?!1:n(a,p)}l(o,"i"),f(o,"F");function s(i,a,p){r.stat(i,function(u,h){p(u,u?!1:o(h,i,a))})}l(s,"u"),f(s,"z");function c(i,a){return o(r.statSync(i),i,a)}l(c,"d"),f(c,"Wt")}),nt=E((t,e)=>{e.exports=n,n.sync=o;var r=A("fs");function n(i,a,p){r.stat(i,function(u,h){p(u,u?!1:s(h,a))})}l(n,"o"),f(n,"K");function o(i,a){return s(r.statSync(i),a)}l(o,"i"),f(o,"Dt");function s(i,a){return i.isFile()&&c(i,a)}l(s,"u"),f(s,"M");function c(i,a){var p=i.mode,u=i.uid,h=i.gid,d=a.uid!==void 0?a.uid:process.getuid&&process.getuid(),g=a.gid!==void 0?a.gid:process.getgid&&process.getgid(),m=parseInt("100",8),y=parseInt("010",8),k=parseInt("001",8),b=m|y,C=p&k||p&y&&h===g||p&m&&u===d||p&b&&d===0;return C}l(c,"d"),f(c,"Kt")}),ot=E((t,e)=>{A("fs");var r;process.platform==="win32"||global.TESTING_WINDOWS?r=rt():r=nt(),e.exports=n,n.sync=o;function n(s,c,i){if(typeof c=="function"&&(i=c,c={}),!i){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,p){n(s,c||{},function(u,h){u?p(u):a(h)})})}r(s,c||{},function(a,p){a&&(a.code==="EACCES"||c&&c.ignoreErrors)&&(a=null,p=!1),i(a,p)})}l(n,"i"),f(n,"y");function o(s,c){try{return r.sync(s,c||{})}catch(i){if(c&&c.ignoreErrors||i.code==="EACCES")return!1;throw i}}l(o,"u"),f(o,"Mt")}),st=E((t,e)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",n=A("path"),o=r?";":":",s=ot(),c=f(u=>Object.assign(new Error(`not found: ${u}`),{code:"ENOENT"}),"J"),i=f((u,h)=>{let d=h.colon||o,g=u.match(/\//)||r&&u.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],m=r?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",y=r?m.split(d):[""];return r&&u.indexOf(".")!==-1&&y[0]!==""&&y.unshift(""),{pathEnv:g,pathExt:y,pathExtExe:m}},"Q"),a=f((u,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:m,pathExtExe:y}=i(u,h),k=[],b=f(v=>new Promise((N,O)=>{if(v===g.length)return h.all&&k.length?N(k):O(c(u));let _=g[v],L=/^".*"$/.test(_)?_.slice(1,-1):_,I=n.join(L,u),U=!L&&/^\.[\\\/]/.test(u)?u.slice(0,2)+I:I;N(C(U,v,0))}),"a"),C=f((v,N,O)=>new Promise((_,L)=>{if(O===m.length)return _(b(N+1));let I=m[O];s(v+I,{pathExt:y},(U,je)=>{if(!U&&je)if(h.all)k.push(v+I);else return _(v+I);return _(C(v,N,O+1))})}),"c");return d?b(0).then(v=>d(null,v),d):b(0)},"Z"),p=f((u,h)=>{h=h||{};let{pathEnv:d,pathExt:g,pathExtExe:m}=i(u,h),y=[];for(let k=0;k<d.length;k++){let b=d[k],C=/^".*"$/.test(b)?b.slice(1,-1):b,v=n.join(C,u),N=!C&&/^\.[\\\/]/.test(u)?u.slice(0,2)+v:v;for(let O=0;O<g.length;O++){let _=N+g[O];try{if(s.sync(_,{pathExt:m}))if(h.all)y.push(_);else return _}catch{}}}if(h.all&&y.length)return y;if(h.nothrow)return null;throw c(u)},"Xt");e.exports=a,a.sync=p}),it=E((t,e)=>{var r=f((n={})=>{let o=n.env||process.env;return(n.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"},"nt");e.exports=r,e.exports.default=r}),at=E((t,e)=>{var r=A("path"),n=st(),o=it();function s(i,a){let p=i.options.env||process.env,u=process.cwd(),h=i.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(i.options.cwd)}catch{}let g;try{g=n.sync(i.command,{path:p[o({env:p})],pathExt:a?r.delimiter:void 0})}catch{}finally{d&&process.chdir(u)}return g&&(g=r.resolve(h?i.options.cwd:"",g)),g}l(s,"u"),f(s,"ot");function c(i){return s(i)||s(i,!0)}l(c,"d"),f(c,"Yt"),e.exports=c}),ct=E((t,e)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function n(s){return s=s.replace(r,"^$1"),s}l(n,"o"),f(n,"Vt");function o(s,c){return s=`${s}`,s=s.replace(/(\\*)"/g,'$1$1\\"'),s=s.replace(/(\\*)$/,"$1$1"),s=`"${s}"`,s=s.replace(r,"^$1"),c&&(s=s.replace(r,"^$1")),s}l(o,"i"),f(o,"Jt"),e.exports.command=n,e.exports.argument=o}),lt=E((t,e)=>{e.exports=/^#!(.*)/}),pt=E((t,e)=>{var r=lt();e.exports=(n="")=>{let o=n.match(r);if(!o)return null;let[s,c]=o[0].replace(/#! ?/,"").split(" "),i=s.split("/").pop();return i==="env"?c:c?`${i} ${c}`:i}}),ut=E((t,e)=>{var r=A("fs"),n=pt();function o(s){let c=Buffer.alloc(150),i;try{i=r.openSync(s,"r"),r.readSync(i,c,0,150,0),r.closeSync(i)}catch{}return n(c.toString())}l(o,"i"),f(o,"te"),e.exports=o}),ft=E((t,e)=>{var r=A("path"),n=at(),o=ct(),s=ut(),c=process.platform==="win32",i=/\.(?:com|exe)$/i,a=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function p(d){d.file=n(d);let g=d.file&&s(d.file);return g?(d.args.unshift(d.file),d.command=g,n(d)):d.file}l(p,"h"),f(p,"ie");function u(d){if(!c)return d;let g=p(d),m=!i.test(g);if(d.options.forceShell||m){let y=a.test(g);d.command=r.normalize(d.command),d.command=o.command(d.command),d.args=d.args.map(b=>o.argument(b,y));let k=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${k}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}l(u,"a"),f(u,"ce");function h(d,g,m){g&&!Array.isArray(g)&&(m=g,g=null),g=g?g.slice(0):[],m=Object.assign({},m);let y={command:d,args:g,options:m,file:void 0,original:{command:d,args:g}};return m.shell?y:u(y)}l(h,"p"),f(h,"ue"),e.exports=h}),dt=E((t,e)=>{var r=process.platform==="win32";function n(i,a){return Object.assign(new Error(`${a} ${i.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${a} ${i.command}`,path:i.command,spawnargs:i.args})}l(n,"o"),f(n,"k");function o(i,a){if(!r)return;let p=i.emit;i.emit=function(u,h){if(u==="exit"){let d=s(h,a);if(d)return p.call(i,"error",d)}return p.apply(i,arguments)}}l(o,"i"),f(o,"ae");function s(i,a){return r&&i===1&&!a.file?n(a.original,"spawn"):null}l(s,"u"),f(s,"xt");function c(i,a){return r&&i===1&&!a.file?n(a.original,"spawnSync"):null}l(c,"d"),f(c,"le"),e.exports={hookChildProcess:o,verifyENOENT:s,verifyENOENTSync:c,notFoundError:n}}),ht=E((t,e)=>{var r=A("child_process"),n=ft(),o=dt();function s(i,a,p){let u=n(i,a,p),h=r.spawn(u.command,u.args,u.options);return o.hookChildProcess(h,u),h}l(s,"u"),f(s,"_t");function c(i,a,p){let u=n(i,a,p),h=r.spawnSync(u.command,u.args,u.options);return h.error=h.error||o.verifyENOENTSync(h.status,u),h}l(c,"d"),f(c,"pe"),e.exports=s,e.exports.spawn=s,e.exports.sync=c,e.exports._parse=n,e.exports._enoent=o}),gt=/^path$/i,oe={key:"PATH",value:""};function we(t){for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||!gt.test(e))continue;let r=t[e];return r?{key:e,value:r}:oe}return oe}l(we,"hr");f(we,"jt");function ve(t,e){let r=e.value.split(te),n=t,o;do r.push(Ne(n,"node_modules",".bin")),o=n,n=Ie(n);while(n!==o);return{key:e.key,value:r.join(te)}}l(ve,"dr");f(ve,"Ft");function Ee(t,e){let r={...process.env,...e},n=ve(t,we(r));return r[n.key]=n.value,r}l(Ee,"fr");f(Ee,"I");var mt=f(t=>{let e=t.length,r=new De,n=f(()=>{--e===0&&r.emit("end")},"r");for(let o of t)o.pipe(r,{end:!1}),o.on("end",n);return r},"L"),yt=tt(ht(),1),se=class extends Error{static{l(this,"N")}static{f(this,"x")}result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(t,e){super(`Process exited with non-zero status (${t.exitCode})`),this.result=t,this.output=e}},wt={timeout:void 0,persist:!1},vt={windowsHide:!0};function ke(t,e){return{command:Je(t),args:e??[]}}l(ke,"yr");f(ke,"we");function be(t){let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(),r;let n=f(()=>{e.abort(r.reason)},"r");r.addEventListener("abort",n,{signal:e.signal})}return e.signal}l(be,"xr");f(be,"xe");var Et=class{static{l(this,"I")}static{f(this,"R")}_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,r,n){this._options={...wt,...n},this._command=e,this._args=r??[],this._processClosed=new Promise(o=>{this._resolveClose=o})}kill(e){return this._process?.kill(e)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(e,r,n){return kt(e,r,{...n,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let r=[];this._streamErr&&r.push(this._streamErr),this._streamOut&&r.push(this._streamOut);let n=mt(r),o=Me.createInterface({input:n});for await(let s of o)yield s.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new se(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let r="",n="";if(this._streamOut)for await(let s of this._streamOut)n+=s.toString();if(this._streamErr)for await(let s of this._streamErr)r+=s.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let o={stderr:r,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new se(this,o);return o}then(e,r){return this._waitForOutput().then(e,r)}_streamOut;_streamErr;spawn(){let e=Te(),r=this._options,n={...vt,...r.nodeOptions},o=[];this._resetState(),r.timeout!==void 0&&o.push(AbortSignal.timeout(r.timeout)),r.signal!==void 0&&o.push(r.signal),r.persist===!0&&(n.detached=!0),o.length>0&&(n.signal=be(o)),n.env=Ee(e,n.env);let{command:s,args:c}=ke(this._command,this._args),i=(0,yt._parse)(s,c,n),a=Ce(i.command,i.args,i.options);if(a.stderr&&(this._streamErr=a.stderr),a.stdout&&(this._streamOut=a.stdout),this._process=a,a.once("error",this._onError),a.once("close",this._onClose),r.stdin!==void 0&&a.stdin&&r.stdin.process){let{stdout:p}=r.stdin.process;p&&p.pipe(a.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(e=>{this._resolveClose=e}),this._thrownError=void 0}_onError=f(e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=e},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},B=f((t,e,r)=>{let n=new Et(t,e,r);return n.spawn(),n},"ve"),kt=B,bt=Object.defineProperty,X=l((t,e)=>bt(t,"name",{value:e,configurable:!0}),"i");async function q(t=D.cwd()){return(await de({cwd:t,onUnknown(e){console.warn("[@antfu/install-pkg] Unknown packageManager:",e)}}))?.agent||null}l(q,"c$2");X(q,"detectPackageManager");async function _e(t,e={}){const r=e.packageManager||await q(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=(typeof e.additionalArgs=="function"?e.additionalArgs(n,r):e.additionalArgs)||[];return e.preferOffline&&(r==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),n==="pnpm"&&(o.unshift("--prod=false"),K(ae(e.cwd??D.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),B(n,[n==="yarn"?"add":"install",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(_e,"p");X(_e,"installPackage");async function _t(t,e={}){const r=e.packageManager||await q(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=e.additionalArgs||[];return n==="pnpm"&&K(ae(e.cwd??D.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),B(n,[n==="yarn"?"remove":"uninstall",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(_t,"h$1");X(_t,"uninstallPackage");var xt=Object.defineProperty,w=l((t,e)=>xt(t,"name",{value:e,configurable:!0}),"f");const P=w(t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},"isObject"),Pt=w(t=>P(t)&&Object.keys(t).length===0,"isEmptyObject"),V=new Set(["__proto__","prototype","constructor"]),$t=new Set("0123456789");function R(t){return typeof t=="string"&&/^\d+$/.test(t)&&Number.parseInt(t,10)>=0&&(t==="0"||!t.startsWith("0"))}l(R,"h");w(R,"isValidArrayIndex");function M(t,e,r){return r>0&&typeof t=="string"&&Array.isArray(e)&&R(t)?Number.parseInt(t,10):t}l(M,"u");w(M,"normalizeKey");function F(t){const e=[];let r="",n="start",o=!1;for(const s of t)switch(s){case"\\":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");o&&(r+=s),n="property",o=!o;break}case".":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="property";break}if(o){o=!1,r+=s;break}if(V.has(r))return[];e.push(r),r="",n="property";break}case"[":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="index";break}if(o){o=!1,r+=s;break}if(n==="property"){if(V.has(r))return[];e.push(r),r=""}n="index";break}case"]":{if(n==="index"){e.push(Number.parseInt(r,10)),r="",n="indexEnd";break}if(n==="indexEnd")throw new Error("Invalid character after an index")}default:{if(n==="index"&&!$t.has(s))throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");n==="start"&&(n="property"),o&&(o=!1,r+="\\"),r+=s}}switch(o&&(r+="\\"),n){case"property":{if(V.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}l(F,"l");w(F,"getPathSegments");function H(t,e){if(!Array.isArray(t)||typeof e=="number")return!1;const r=Number.parseInt(e,10);return Number.isInteger(r)&&String(r)===e}l(H,"c$1");w(H,"isStringIndex");function G(t,e){if(H(t,e))throw new Error("Cannot use string index")}l(G,"x");w(G,"assertNotStringIndex");function S(t,e,r){if(!P(t)||typeof e!="string")return r===void 0?t:r;const n=F(e);if(n.length===0)return r;for(let o=0;o<n.length;o++){const s=n[o],c=M(s,t,o);if(c===s&&H(t,s)?t=o===n.length-1?void 0:null:t=t[c],t==null){if(o!==n.length-1)return r;break}}return t===void 0?r:t}l(S,"getProperty");w(S,"getProperty");function xe(t,e,r){if(!P(t)||typeof e!="string")return t;const n=t,o=F(e);for(let s=0;s<o.length;s++){const c=o[s],i=M(c,t,s);if(i===c&&G(t,c),s===o.length-1)t[i]=r;else if(!P(t[i])){const a=o[s+1],p=typeof a=="number"||typeof a=="string"&&R(a);t[i]=p?[]:{}}t=t[i]}return n}l(xe,"setProperty");w(xe,"setProperty");function Ot(t,e){if(!P(t)||typeof e!="string")return!1;const r=F(e);for(let n=0;n<r.length;n++){const o=r[n],s=M(o,t,n);if(s===o&&G(t,o),n===r.length-1)return Object.hasOwn(t,s)?(delete t[s],!0):!1;if(t=t[s],!P(t))return!1}}l(Ot,"deleteProperty");w(Ot,"deleteProperty");function T(t,e){if(!P(t)||typeof e!="string")return!1;const r=F(e);if(r.length===0)return!1;for(const[n,o]of r.entries()){const s=M(o,t,n),c=s===o&&H(t,o);if(!P(t)||!(s in t)||c)return!1;t=t[s]}return!0}l(T,"hasProperty");w(T,"hasProperty");function Pe(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replaceAll(/[\\.[]/g,String.raw`\$&`)}l(Pe,"escapePath");w(Pe,"escapePath");function Q(t){const e=Object.entries(t);return Array.isArray(t)?e.map(([r,n])=>[Number(r),n]):e}l(Q,"g");w(Q,"entries");function $e(t){let e="";for(let[r,n]of Q(t))typeof n=="number"?e+=`[${n}]`:(n=Pe(n),e+=r===0?n:`.${n}`);return e}l($e,"A");w($e,"stringifyPath");function*Z(t,e=[]){if(!P(t)||Pt(t)){e.length>0&&(yield $e(e));return}for(const[r,n]of Q(t))yield*Z(n,[...e,r])}l(Z,"w$1");w(Z,"deepKeysIterator");function jt(t){return[...Z(t)]}l(jt,"deepKeys");w(jt,"deepKeys");function St(t){const e={};if(!P(t))return e;for(const[r,n]of Object.entries(t))xe(e,r,n);return e}l(St,"unflatten");w(St,"unflatten");const At=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var Ct=Object.defineProperty,x=l((t,e)=>Ct(t,"name",{value:e,configurable:!0}),"c");const Oe=new Map;class Nt extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(e){super(`The following warnings were encountered while normalizing package data:
2
- - ${e.join(`
3
- - `)}`),this.name="PackageJsonValidationError"}}const ee=x((t,e,r=[])=>{const n=[];if(Ke(t,o=>{n.push(o)},e),e&&n.length>0){const o=n.filter(s=>!r.some(c=>c instanceof RegExp?c.test(s):c===s));if(o.length>0)throw new Nt(o)}return t},"normalizeInput"),Gt=x(async(t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=await We("package.json",r);if(!n)throw new le("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Oe;if(e.cache&&o.has(n))return o.get(n);const s=await He(n);ee(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJson"),Qt=x((t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=Le("package.json",r);if(!n)throw new le("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Oe;if(e.cache&&o.has(n))return o.get(n);const s=ce(n);ee(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJsonSync"),Zt=x(async(t,e={})=>{const{cwd:r,...n}=e,o=Y(e.cwd??process.cwd());await Ue(pe(o,"package.json"),t,n)},"writePackageJson"),er=x((t,e={})=>{const{cwd:r,...n}=e,o=Y(e.cwd??process.cwd());Ve(pe(o,"package.json"),t,n)},"writePackageJsonSync"),tr=x((t,e)=>{const r=t!==null&&typeof t=="object"&&!Array.isArray(t);if(!r&&typeof t!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");let n;return r?n=structuredClone(t):K(t)?n=ce(t):n=ze(t),ee(n,e?.strict??!1,e?.ignoreWarnings),n},"parsePackageJson"),rr=x((t,e,r)=>S(t,e,r),"getPackageJsonProperty"),nr=x((t,e)=>T(t,e),"hasPackageJsonProperty"),or=x((t,e,r)=>{const n=S(t,"dependencies",{}),o=S(t,"devDependencies",{}),s=S(t,"peerDependencies",{}),c={...n,...o,...r?.peerDeps===!1?{}:s};for(const i of e)if(T(c,i))return!0;return!1},"hasPackageJsonAnyDependency"),sr=x(async(t,e,r="dependencies",n={})=>{const o=S(t,"dependencies",{}),s=S(t,"devDependencies",{}),c=S(t,"peerDependencies",{}),i=[],a={deps:!0,devDeps:!0,peerDeps:!1,...n};for(const p of e)a.deps&&T(o,p)||a.devDeps&&T(s,p)||a.peerDeps&&T(c,p)||i.push(p);if(i.length!==0){if(process.env.CI||At&&!process.stdout?.isTTY){const p=`Skipping package installation for [${e.join(", ")}] because the process is not interactive.`;if(n.throwOnWarn)throw new Error(p);n.logger?.warn?n.logger.warn(p):console.warn(p);return}if(typeof a.confirm?.message=="function"&&(a.confirm.message=a.confirm.message(i)),a.confirm?.message===void 0){const p=`${i.length===1?"Package is":"Packages are"} required for this config: ${i.join(", ")}. Do you want to install them?`;a.confirm===void 0?a.confirm={message:p}:a.confirm.message=p}await Fe(a.confirm)&&await _e(i,{...a.installPackage,cwd:a.cwd?Y(a.cwd):void 0,dev:r==="devDependencies"})}},"ensurePackages");export{sr as ensurePackages,Gt as findPackageJson,Qt as findPackageJsonSync,rr as getPackageJsonProperty,or as hasPackageJsonAnyDependency,nr as hasPackageJsonProperty,tr as parsePackageJson,Zt as writePackageJson,er as writePackageJsonSync};
@@ -1,13 +0,0 @@
1
- "use strict";var w=Object.defineProperty;var l=(e,n)=>w(e,"name",{value:n,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[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=$;
@@ -1,21 +0,0 @@
1
- declare const findLockFile: (cwd?: URL | string) => Promise<string>;
2
- declare const findLockFileSync: (cwd?: URL | string) => string;
3
- type PackageManager = "bun" | "npm" | "pnpm" | "yarn";
4
- type PackageManagerResult = {
5
- packageManager: PackageManager;
6
- path: string;
7
- };
8
- declare const findPackageManager: (cwd?: URL | string) => Promise<PackageManagerResult>;
9
- declare const findPackageManagerSync: (cwd?: URL | string) => PackageManagerResult;
10
- declare const getPackageManagerVersion: (name: string) => string;
11
- declare const identifyInitiatingPackageManager: () => Promise<{
12
- name: PackageManager | "cnpm";
13
- version: string;
14
- } | undefined>;
15
- declare const generateMissingPackagesInstallMessage: (packageName: string, missingPackages: string[], options: {
16
- packageManagers?: PackageManager[];
17
- postMessage?: string;
18
- preMessage?: string;
19
- }) => string;
20
-
21
- export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager };
@@ -1,21 +0,0 @@
1
- declare const findLockFile: (cwd?: URL | string) => Promise<string>;
2
- declare const findLockFileSync: (cwd?: URL | string) => string;
3
- type PackageManager = "bun" | "npm" | "pnpm" | "yarn";
4
- type PackageManagerResult = {
5
- packageManager: PackageManager;
6
- path: string;
7
- };
8
- declare const findPackageManager: (cwd?: URL | string) => Promise<PackageManagerResult>;
9
- declare const findPackageManagerSync: (cwd?: URL | string) => PackageManagerResult;
10
- declare const getPackageManagerVersion: (name: string) => string;
11
- declare const identifyInitiatingPackageManager: () => Promise<{
12
- name: PackageManager | "cnpm";
13
- version: string;
14
- } | undefined>;
15
- declare const generateMissingPackagesInstallMessage: (packageName: string, missingPackages: string[], options: {
16
- packageManagers?: PackageManager[];
17
- postMessage?: string;
18
- preMessage?: string;
19
- }) => string;
20
-
21
- export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager };
@@ -1,13 +0,0 @@
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{findUpSync as k,findUp 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 m(p,{type:"file",...n&&{cwd:n}});if(!a)throw new Error("Could not find lock file");return a},"findLockFile"),C=r(n=>{const a=k(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 m(h,{...n&&{cwd:n}});return M(a)},"findPackageManager"),N=r(n=>{const a=k(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};
package/dist/package.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var c=(e,n)=>s(e,"name",{value:n,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("node:fs"),o=require("@visulima/fs"),r=require("@visulima/path"),d=require("./package-manager.cjs");var g=Object.defineProperty,t=c((e,n)=>g(e,"name",{value:n,configurable:!0}),"r");const f=t(e=>{if(u.existsSync(r.join(e,"package.json"))){const n=o.readJsonSync(r.join(e,"package.json"));if(n.name&&n.private!==!0)return"package.json"}},"packageJsonMatcher"),y=t(async e=>{try{const a=await d.findLockFile(e);return r.dirname(a)}catch{}const n=await o.findUp(".git/config",{...e&&{cwd:e},type:"file"});if(n)return r.dirname(r.dirname(n));const i=await o.findUp(f,{...e&&{cwd:e},type:"file"});if(i)return r.dirname(i);throw new Error("Could not find root directory")},"findPackageRoot"),p=t(e=>{try{const a=d.findLockFileSync(e);return r.dirname(a)}catch{}const n=o.findUpSync(".git/config",{...e&&{cwd:e},type:"file"});if(n)return r.dirname(r.dirname(n));const i=o.findUpSync(f,{...e&&{cwd:e},type:"file"});if(i)return r.dirname(i);throw new Error("Could not find root directory")},"findPackageRootSync");exports.findPackageRoot=y;exports.findPackageRootSync=p;
@@ -1,4 +0,0 @@
1
- declare const findPackageRoot: (cwd?: URL | string) => Promise<string>;
2
- declare const findPackageRootSync: (cwd?: URL | string) => string;
3
-
4
- export { findPackageRoot, findPackageRootSync };
@@ -1,4 +0,0 @@
1
- declare const findPackageRoot: (cwd?: URL | string) => Promise<string>;
2
- declare const findPackageRootSync: (cwd?: URL | string) => string;
3
-
4
- export { findPackageRoot, findPackageRootSync };
package/dist/package.mjs DELETED
@@ -1 +0,0 @@
1
- var p=Object.defineProperty;var c=(n,o)=>p(n,"name",{value:o,configurable:!0});import{existsSync as y}from"node:fs";import{findUp as a,findUpSync as f,readJsonSync as g}from"@visulima/fs";import{dirname as r,join as d}from"@visulima/path";import{findLockFile as u,findLockFileSync as m}from"./package-manager.mjs";var w=Object.defineProperty,i=c((n,o)=>w(n,"name",{value:o,configurable:!0}),"r");const s=i(n=>{if(y(d(n,"package.json"))){const o=g(d(n,"package.json"));if(o.name&&o.private!==!0)return"package.json"}},"packageJsonMatcher"),P=i(async n=>{try{const t=await u(n);return r(t)}catch{}const o=await a(".git/config",{...n&&{cwd:n},type:"file"});if(o)return r(r(o));const e=await a(s,{...n&&{cwd:n},type:"file"});if(e)return r(e);throw new Error("Could not find root directory")},"findPackageRoot"),v=i(n=>{try{const t=m(n);return r(t)}catch{}const o=f(".git/config",{...n&&{cwd:n},type:"file"});if(o)return r(r(o));const e=f(s,{...n&&{cwd:n},type:"file"});if(e)return r(e);throw new Error("Could not find root directory")},"findPackageRootSync");export{P as findPackageRoot,v as findPackageRootSync};
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var a=(t,e)=>o(t,"name",{value:e,configurable:!0});import{findPackageManagerSync as n}from"../package-manager.mjs";var c=Object.defineProperty,i=a((t,e)=>c(t,"name",{value:e,configurable:!0}),"t");class g extends Error{static{a(this,"u")}static{i(this,"PackageNotFoundError")}constructor(e,r){if(typeof e=="string"&&(e=[e]),e.length===0){super("Package was not found.");return}if(r===void 0)try{r=n().packageManager}catch{}r===void 0&&(r="npm"),super(`Package '${e.join(" ")}' was not found. Please install it using '${r} install ${e.join(" ")}'`)}get code(){return"PACKAGE_NOT_FOUND"}set code(e){throw new Error("Cannot overwrite code PACKAGE_NOT_FOUND")}get name(){return"PackageNotFoundError"}set name(e){throw new Error("Cannot overwrite name of PackageNotFoundError")}}export{g as default};
@@ -1 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var t=(a,e)=>o(a,"name",{value:e,configurable:!0});const n=require("../package-manager.cjs");var c=Object.defineProperty,s=t((a,e)=>c(a,"name",{value:e,configurable:!0}),"t");class i extends Error{static{t(this,"u")}static{s(this,"PackageNotFoundError")}constructor(e,r){if(typeof e=="string"&&(e=[e]),e.length===0){super("Package was not found.");return}if(r===void 0)try{r=n.findPackageManagerSync().packageManager}catch{}r===void 0&&(r="npm"),super(`Package '${e.join(" ")}' was not found. Please install it using '${r} install ${e.join(" ")}'`)}get code(){return"PACKAGE_NOT_FOUND"}set code(e){throw new Error("Cannot overwrite code PACKAGE_NOT_FOUND")}get name(){return"PackageNotFoundError"}set name(e){throw new Error("Cannot overwrite name of PackageNotFoundError")}}module.exports=i;