@visulima/package 3.6.0 → 4.0.0
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 +22 -0
- package/LICENSE.md +0 -116
- package/README.md +153 -51
- package/dist/error.js +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1 -0
- package/dist/monorepo.js +1 -0
- package/dist/package-json.d.ts +3 -1
- package/dist/package-json.js +3 -0
- package/dist/package-manager.js +13 -0
- package/dist/package.js +1 -0
- package/dist/packem_shared/PackageNotFoundError-BictYTIA.js +1 -0
- package/dist/packem_shared/json-value.d-DU4PzU4Z.d.ts +33 -0
- package/dist/packem_shared/{package-json-KA2fTML0.d.cts → package-json-k3TJ_oy7.d.ts} +1056 -710
- package/dist/pnpm.d.ts +15 -0
- package/dist/pnpm.js +1 -0
- package/package.json +27 -78
- package/dist/error.cjs +0 -1
- package/dist/error.d.cts +0 -9
- package/dist/error.d.mts +0 -9
- package/dist/error.mjs +0 -1
- package/dist/index.cjs +0 -1
- package/dist/index.d.cts +0 -7
- package/dist/index.d.mts +0 -7
- package/dist/index.mjs +0 -1
- package/dist/monorepo.cjs +0 -1
- package/dist/monorepo.d.cts +0 -9
- package/dist/monorepo.d.mts +0 -9
- package/dist/monorepo.mjs +0 -1
- package/dist/package-json.cjs +0 -3
- package/dist/package-json.d.cts +0 -3
- package/dist/package-json.d.mts +0 -3
- package/dist/package-json.mjs +0 -3
- package/dist/package-manager.cjs +0 -13
- package/dist/package-manager.d.cts +0 -21
- package/dist/package-manager.d.mts +0 -21
- package/dist/package-manager.mjs +0 -13
- package/dist/package.cjs +0 -1
- package/dist/package.d.cts +0 -4
- package/dist/package.d.mts +0 -4
- package/dist/package.mjs +0 -1
- package/dist/packem_shared/PackageNotFoundError-CEETCi0X.mjs +0 -1
- package/dist/packem_shared/PackageNotFoundError-CY57YCot.cjs +0 -1
- package/dist/packem_shared/package-json-KA2fTML0.d.mts +0 -2405
- package/dist/packem_shared/package-json-KA2fTML0.d.ts +0 -2405
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": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "4.0.0",
|
|
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
|
-
"
|
|
56
|
-
|
|
57
|
-
"default": "./dist/index.cjs"
|
|
58
|
-
},
|
|
59
|
-
"import": {
|
|
60
|
-
"types": "./dist/index.d.mts",
|
|
61
|
-
"default": "./dist/index.mjs"
|
|
62
|
-
}
|
|
59
|
+
"types": "./dist/index.d.ts",
|
|
60
|
+
"default": "./dist/index.js"
|
|
63
61
|
},
|
|
64
62
|
"./monorepo": {
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
"default": "./dist/monorepo.cjs"
|
|
68
|
-
},
|
|
69
|
-
"import": {
|
|
70
|
-
"types": "./dist/monorepo.d.mts",
|
|
71
|
-
"default": "./dist/monorepo.mjs"
|
|
72
|
-
}
|
|
63
|
+
"types": "./dist/monorepo.d.ts",
|
|
64
|
+
"default": "./dist/monorepo.js"
|
|
73
65
|
},
|
|
74
66
|
"./package": {
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
"default": "./dist/package.cjs"
|
|
78
|
-
},
|
|
79
|
-
"import": {
|
|
80
|
-
"types": "./dist/package.d.mts",
|
|
81
|
-
"default": "./dist/package.mjs"
|
|
82
|
-
}
|
|
67
|
+
"types": "./dist/package.d.ts",
|
|
68
|
+
"default": "./dist/package.js"
|
|
83
69
|
},
|
|
84
70
|
"./package-json": {
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
"default": "./dist/package-json.cjs"
|
|
88
|
-
},
|
|
89
|
-
"import": {
|
|
90
|
-
"types": "./dist/package-json.d.mts",
|
|
91
|
-
"default": "./dist/package-json.mjs"
|
|
92
|
-
}
|
|
71
|
+
"types": "./dist/package-json.d.ts",
|
|
72
|
+
"default": "./dist/package-json.js"
|
|
93
73
|
},
|
|
94
74
|
"./package-manager": {
|
|
95
|
-
"
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
"default": "./dist/package-manager.mjs"
|
|
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
|
-
"
|
|
106
|
-
|
|
107
|
-
"default": "./dist/error.cjs"
|
|
108
|
-
},
|
|
109
|
-
"import": {
|
|
110
|
-
"types": "./dist/error.d.mts",
|
|
111
|
-
"default": "./dist/error.mjs"
|
|
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": {
|
|
148
|
-
"
|
|
95
|
+
"yaml": "^2.8.1",
|
|
96
|
+
"@antfu/install-pkg": "^1.1.0",
|
|
97
|
+
"@inquirer/confirm": "^5.1.18",
|
|
149
98
|
"@visulima/fs": "3.1.9",
|
|
150
99
|
"@visulima/path": "1.4.0",
|
|
151
|
-
"normalize-package-data": "^
|
|
100
|
+
"normalize-package-data": "^8.0.0"
|
|
152
101
|
},
|
|
153
102
|
"engines": {
|
|
154
|
-
"node": ">=
|
|
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
package/dist/error.d.mts
DELETED
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-KA2fTML0.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-KA2fTML0.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;
|
package/dist/monorepo.d.cts
DELETED
|
@@ -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.d.mts
DELETED
|
@@ -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};
|
package/dist/package-json.cjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";var Oe=Object.defineProperty;var l=(e,t)=>Oe(e,"name",{value:t,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("node:fs"),Se=require("node:process"),Ce=require("node:fs/promises"),X=require("node:path"),Je=require("node:module"),Ae=require("child_process"),q=require("path"),Ne=require("process"),Te=require("stream"),De=require("readline"),Ie=require("@inquirer/confirm"),N=require("@visulima/fs"),ce=require("@visulima/fs/error"),W=require("@visulima/fs/utils"),le=require("@visulima/path"),Me=require("normalize-package-data");var z=typeof document<"u"?document.currentScript:null;const M=l(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),F=M(Se),ue=M(Ce),O=M(X),qe=M(De),Fe=M(Ie),Ue=M(Me),pe=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],oe={"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"},se={"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 Le=Object.defineProperty,P=l((e,t)=>Le(e,"name",{value:t,configurable:!0}),"i$1");async function L(e,t){try{const n=await ue.stat(e);return t==="file"?n.isFile():n.isDirectory()}catch{return!1}}l(L,"g$2");P(L,"pathExists");function We(){const e=F.env.npm_config_user_agent;if(!e)return null;const t=e.split("/")[0];return pe.includes(t)?t:null}l(We,"M$1");P(We,"getUserAgent");function*fe(e=F.cwd()){let t=O.resolve(e);const{root:n}=O.parse(t);for(;t&&t!==n;)yield t,t=O.dirname(t)}l(fe,"h$2");P(fe,"lookup");async function Y(e,t){return!e||!L(e,"file")?null:await ge(e,t)}l(Y,"m$1");P(Y,"parsePackageJson");async function de(e={}){const{cwd:t,strategies:n=["lockfile","packageManager-field","devEngines-field"],onUnknown:r}=e;let o;if(typeof e.stopDir=="string"){const a=O.resolve(e.stopDir);o=P(i=>i===a,"stopDir")}else o=e.stopDir;for(const a of fe(t)){for(const i of n)switch(i){case"lockfile":{for(const s of Object.keys(oe))if(await L(O.join(a,s),"file")){const c=oe[s];return await Y(O.join(a,"package.json"),r)||{name:c,agent:c}}break}case"packageManager-field":case"devEngines-field":{const s=await Y(O.join(a,"package.json"),r);if(s)return s;break}case"install-metadata":{for(const s of Object.keys(se)){const c=s.endsWith("/")?"dir":"file";if(await L(O.join(a,s),c)){const u=se[s],p=u==="yarn"?ye(s)?"yarn":"yarn@berry":u;return{name:u,agent:p}}}break}}if(o?.(a))break}return null}l(de,"A");P(de,"detect");function he(e){const t=P(n=>n?.match(/\d+(\.\d+){0,2}/)?.[0]??n,"handelVer");if(typeof e.packageManager=="string"){const[n,r]=e.packageManager.replace(/^\^/,"").split("@");return{name:n,ver:t(r)}}if(typeof e.devEngines?.packageManager?.name=="string")return{name:e.devEngines.packageManager.name,ver:t(e.devEngines.packageManager.version)}}l(he,"j$1");P(he,"getNameAndVer");async function ge(e,t){try{const n=JSON.parse(await ue.readFile(e,"utf8"));let r;const o=he(n);if(o){const a=o.name,i=o.ver;let s=i;return a==="yarn"&&i&&Number.parseInt(i)>1?(r="yarn@berry",s="berry",{name:a,agent:r,version:s}):a==="pnpm"&&i&&Number.parseInt(i)<7?(r="pnpm@6",{name:a,agent:r,version:s}):pe.includes(a)?(r=a,{name:a,agent:r,version:s}):t?.(n.packageManager)??null}}catch{}return null}l(ge,"E$1");P(ge,"handlePackageManager");function ye(e){return e.endsWith(".yarn_integrity")}l(ye,"D$1");P(ye,"isMetadataYarnClassic");var He=Object.defineProperty,f=l((e,t)=>He(e,"name",{value:t,configurable:!0}),"l$1");const D=Je.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:z&&z.tagName.toUpperCase()==="SCRIPT"&&z.src||new URL("package-json.cjs",document.baseURI).href);var Re=Object.create,me=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,Ke=Object.getPrototypeOf,Ye=Object.prototype.hasOwnProperty,C=(e=>typeof D<"u"?D:typeof Proxy<"u"?new Proxy(e,{get:f((t,n)=>(typeof D<"u"?D:t)[n],"get")}):e)(function(e){if(typeof D<"u")return D.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),k=f((e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),"l"),Be=f((e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ze(t))!Ye.call(e,o)&&o!==n&&me(e,o,{get:f(()=>t[o],"get"),enumerable:!(r=Ve(t,o))||r.enumerable});return e},"$t"),Xe=f((e,t,n)=>(n=e!=null?Re(Ke(e)):{},Be(t||!e||!e.__esModule?me(n,"default",{value:e,enumerable:!0}):n,e)),"Nt"),Ge=k((e,t)=>{t.exports=a,a.sync=i;var n=C("fs");function r(s,c){var u=c.pathExt!==void 0?c.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&&s.substr(-h.length).toLowerCase()===h)return!0}return!1}l(r,"o"),f(r,"Ht");function o(s,c,u){return!s.isSymbolicLink()&&!s.isFile()?!1:r(c,u)}l(o,"i"),f(o,"F");function a(s,c,u){n.stat(s,function(p,h){u(p,p?!1:o(h,s,c))})}l(a,"u"),f(a,"z");function i(s,c){return o(n.statSync(s),s,c)}l(i,"d"),f(i,"Wt")}),Qe=k((e,t)=>{t.exports=r,r.sync=o;var n=C("fs");function r(s,c,u){n.stat(s,function(p,h){u(p,p?!1:a(h,c))})}l(r,"o"),f(r,"K");function o(s,c){return a(n.statSync(s),c)}l(o,"i"),f(o,"Dt");function a(s,c){return s.isFile()&&i(s,c)}l(a,"u"),f(a,"M");function i(s,c){var u=s.mode,p=s.uid,h=s.gid,d=c.uid!==void 0?c.uid:process.getuid&&process.getuid(),g=c.gid!==void 0?c.gid:process.getgid&&process.getgid(),y=parseInt("100",8),m=parseInt("010",8),_=parseInt("001",8),E=y|m,J=u&_||u&m&&h===g||u&y&&p===d||u&E&&d===0;return J}l(i,"d"),f(i,"Kt")}),Ze=k((e,t)=>{C("fs");var n;process.platform==="win32"||global.TESTING_WINDOWS?n=Ge():n=Qe(),t.exports=r,r.sync=o;function r(a,i,s){if(typeof i=="function"&&(s=i,i={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(c,u){r(a,i||{},function(p,h){p?u(p):c(h)})})}n(a,i||{},function(c,u){c&&(c.code==="EACCES"||i&&i.ignoreErrors)&&(c=null,u=!1),s(c,u)})}l(r,"i"),f(r,"y");function o(a,i){try{return n.sync(a,i||{})}catch(s){if(i&&i.ignoreErrors||s.code==="EACCES")return!1;throw s}}l(o,"u"),f(o,"Mt")}),et=k((e,t)=>{var n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",r=C("path"),o=n?";":":",a=Ze(),i=f(p=>Object.assign(new Error(`not found: ${p}`),{code:"ENOENT"}),"J"),s=f((p,h)=>{let d=h.colon||o,g=p.match(/\//)||n&&p.match(/\\/)?[""]:[...n?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],y=n?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=n?y.split(d):[""];return n&&p.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:g,pathExt:m,pathExtExe:y}},"Q"),c=f((p,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:y,pathExtExe:m}=s(p,h),_=[],E=f(v=>new Promise((A,$)=>{if(v===g.length)return h.all&&_.length?A(_):$(i(p));let b=g[v],R=/^".*"$/.test(b)?b.slice(1,-1):b,T=r.join(R,p),V=!R&&/^\.[\\\/]/.test(p)?p.slice(0,2)+T:T;A(J(V,v,0))}),"a"),J=f((v,A,$)=>new Promise((b,R)=>{if($===y.length)return b(E(A+1));let T=y[$];a(v+T,{pathExt:m},(V,je)=>{if(!V&&je)if(h.all)_.push(v+T);else return b(v+T);return b(J(v,A,$+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}=s(p,h),m=[];for(let _=0;_<d.length;_++){let E=d[_],J=/^".*"$/.test(E)?E.slice(1,-1):E,v=r.join(J,p),A=!J&&/^\.[\\\/]/.test(p)?p.slice(0,2)+v:v;for(let $=0;$<g.length;$++){let b=A+g[$];try{if(a.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 i(p)},"Xt");t.exports=c,c.sync=u}),tt=k((e,t)=>{var n=f((r={})=>{let o=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(a=>a.toUpperCase()==="PATH")||"Path"},"nt");t.exports=n,t.exports.default=n}),rt=k((e,t)=>{var n=C("path"),r=et(),o=tt();function a(s,c){let u=s.options.env||process.env,p=process.cwd(),h=s.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(s.options.cwd)}catch{}let g;try{g=r.sync(s.command,{path:u[o({env:u})],pathExt:c?n.delimiter:void 0})}catch{}finally{d&&process.chdir(p)}return g&&(g=n.resolve(h?s.options.cwd:"",g)),g}l(a,"u"),f(a,"ot");function i(s){return a(s)||a(s,!0)}l(i,"d"),f(i,"Yt"),t.exports=i}),nt=k((e,t)=>{var n=/([()\][%!^"`<>&|;, *?])/g;function r(a){return a=a.replace(n,"^$1"),a}l(r,"o"),f(r,"Vt");function o(a,i){return a=`${a}`,a=a.replace(/(\\*)"/g,'$1$1\\"'),a=a.replace(/(\\*)$/,"$1$1"),a=`"${a}"`,a=a.replace(n,"^$1"),i&&(a=a.replace(n,"^$1")),a}l(o,"i"),f(o,"Jt"),t.exports.command=r,t.exports.argument=o}),ot=k((e,t)=>{t.exports=/^#!(.*)/}),st=k((e,t)=>{var n=ot();t.exports=(r="")=>{let o=r.match(n);if(!o)return null;let[a,i]=o[0].replace(/#! ?/,"").split(" "),s=a.split("/").pop();return s==="env"?i:i?`${s} ${i}`:s}}),at=k((e,t)=>{var n=C("fs"),r=st();function o(a){let i=Buffer.alloc(150),s;try{s=n.openSync(a,"r"),n.readSync(s,i,0,150,0),n.closeSync(s)}catch{}return r(i.toString())}l(o,"i"),f(o,"te"),t.exports=o}),it=k((e,t)=>{var n=C("path"),r=rt(),o=nt(),a=at(),i=process.platform==="win32",s=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u(d){d.file=r(d);let g=d.file&&a(d.file);return g?(d.args.unshift(d.file),d.command=g,r(d)):d.file}l(u,"h"),f(u,"ie");function p(d){if(!i)return d;let g=u(d),y=!s.test(g);if(d.options.forceShell||y){let m=c.test(g);d.command=n.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"),t.exports=h}),ct=k((e,t)=>{var n=process.platform==="win32";function r(s,c){return Object.assign(new Error(`${c} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${c} ${s.command}`,path:s.command,spawnargs:s.args})}l(r,"o"),f(r,"k");function o(s,c){if(!n)return;let u=s.emit;s.emit=function(p,h){if(p==="exit"){let d=a(h,c);if(d)return u.call(s,"error",d)}return u.apply(s,arguments)}}l(o,"i"),f(o,"ae");function a(s,c){return n&&s===1&&!c.file?r(c.original,"spawn"):null}l(a,"u"),f(a,"xt");function i(s,c){return n&&s===1&&!c.file?r(c.original,"spawnSync"):null}l(i,"d"),f(i,"le"),t.exports={hookChildProcess:o,verifyENOENT:a,verifyENOENTSync:i,notFoundError:r}}),lt=k((e,t)=>{var n=C("child_process"),r=it(),o=ct();function a(s,c,u){let p=r(s,c,u),h=n.spawn(p.command,p.args,p.options);return o.hookChildProcess(h,p),h}l(a,"u"),f(a,"_t");function i(s,c,u){let p=r(s,c,u),h=n.spawnSync(p.command,p.args,p.options);return h.error=h.error||o.verifyENOENTSync(h.status,p),h}l(i,"d"),f(i,"pe"),t.exports=a,t.exports.spawn=a,t.exports.sync=i,t.exports._parse=r,t.exports._enoent=o}),ut=/^path$/i,ae={key:"PATH",value:""};function we(e){for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t)||!ut.test(t))continue;let n=e[t];return n?{key:t,value:n}:ae}return ae}l(we,"hr");f(we,"jt");function ve(e,t){let n=t.value.split(q.delimiter),r=e,o;do n.push(q.resolve(r,"node_modules",".bin")),o=r,r=q.dirname(r);while(r!==o);return{key:t.key,value:n.join(q.delimiter)}}l(ve,"dr");f(ve,"Ft");function ke(e,t){let n={...process.env,...t},r=ve(e,we(n));return n[r.key]=r.value,n}l(ke,"fr");f(ke,"I");var pt=f(e=>{let t=e.length,n=new Te.PassThrough,r=f(()=>{--t===0&&n.emit("end")},"r");for(let o of e)o.pipe(n,{end:!1}),o.on("end",r);return n},"L"),ft=Xe(lt(),1),ie=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(e,t){super(`Process exited with non-zero status (${e.exitCode})`),this.result=e,this.output=t}},dt={timeout:void 0,persist:!1},ht={windowsHide:!0};function _e(e,t){return{command:q.normalize(e),args:t??[]}}l(_e,"yr");f(_e,"we");function Ee(e){let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(),n;let r=f(()=>{t.abort(n.reason)},"r");n.addEventListener("abort",r,{signal:t.signal})}return t.signal}l(Ee,"xr");f(Ee,"xe");var gt=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,t,n){this._options={...dt,...n},this._command=e,this._args=t??[],this._processClosed=new Promise(r=>{this._resolveClose=r})}kill(e){return this._process?.kill(e)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(e,t,n){return yt(e,t,{...n,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let t=[];this._streamErr&&t.push(this._streamErr),this._streamOut&&t.push(this._streamOut);let n=pt(t),r=qe.createInterface({input:n});for await(let o of r)yield o.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 ie(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let t="",n="";if(this._streamOut)for await(let o of this._streamOut)n+=o.toString();if(this._streamErr)for await(let o of this._streamErr)t+=o.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let r={stderr:t,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ie(this,r);return r}then(e,t){return this._waitForOutput().then(e,t)}_streamOut;_streamErr;spawn(){let e=Ne.cwd(),t=this._options,n={...ht,...t.nodeOptions},r=[];this._resetState(),t.timeout!==void 0&&r.push(AbortSignal.timeout(t.timeout)),t.signal!==void 0&&r.push(t.signal),t.persist===!0&&(n.detached=!0),r.length>0&&(n.signal=Ee(r)),n.env=ke(e,n.env);let{command:o,args:a}=_e(this._command,this._args),i=(0,ft._parse)(o,a,n),s=Ae.spawn(i.command,i.args,i.options);if(s.stderr&&(this._streamErr=s.stderr),s.stdout&&(this._streamOut=s.stdout),this._process=s,s.once("error",this._onError),s.once("close",this._onClose),t.stdin!==void 0&&s.stdin&&t.stdin.process){let{stdout:c}=t.stdin.process;c&&c.pipe(s.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")},G=f((e,t,n)=>{let r=new gt(e,t,n);return r.spawn(),r},"ve"),yt=G,mt=Object.defineProperty,Q=l((e,t)=>mt(e,"name",{value:t,configurable:!0}),"i");async function Z(e=F.cwd()){return(await de({cwd:e,onUnknown(t){console.warn("[@antfu/install-pkg] Unknown packageManager:",t)}}))?.agent||null}l(Z,"c$2");Q(Z,"detectPackageManager");async function be(e,t={}){const n=t.packageManager||await Z(t.cwd)||"npm",[r]=n.split("@");Array.isArray(e)||(e=[e]);const o=(typeof t.additionalArgs=="function"?t.additionalArgs(r,n):t.additionalArgs)||[];return t.preferOffline&&(n==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),r==="pnpm"&&(o.unshift("--prod=false"),B.existsSync(X.resolve(t.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),G(r,[r==="yarn"?"add":"install",t.dev?"-D":"",...o,...e].filter(Boolean),{nodeOptions:{stdio:t.silent?"ignore":"inherit",cwd:t.cwd},throwOnError:!0})}l(be,"p$1");Q(be,"installPackage");async function wt(e,t={}){const n=t.packageManager||await Z(t.cwd)||"npm",[r]=n.split("@");Array.isArray(e)||(e=[e]);const o=t.additionalArgs||[];return r==="pnpm"&&B.existsSync(X.resolve(t.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),G(r,[r==="yarn"?"remove":"uninstall",t.dev?"-D":"",...o,...e].filter(Boolean),{nodeOptions:{stdio:t.silent?"ignore":"inherit",cwd:t.cwd},throwOnError:!0})}l(wt,"h$1");Q(wt,"uninstallPackage");var vt=Object.defineProperty,w=l((e,t)=>vt(e,"name",{value:t,configurable:!0}),"s");const j=w(e=>{const t=typeof e;return e!==null&&(t==="object"||t==="function")},"isObject"),kt=w(e=>j(e)&&Object.keys(e).length===0,"isEmptyObject"),K=new Set(["__proto__","prototype","constructor"]),_t=new Set("0123456789");function U(e){const t=[];let n="",r="start",o=!1;for(const a of e)switch(a){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");o&&(n+=a),r="property",o=!o;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(o){o=!1,n+=a;break}if(K.has(n))return[];t.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(o){o=!1,n+=a;break}if(r==="property"){if(K.has(n))return[];t.push(n),n=""}r="index";break}case"]":{if(r==="index"){t.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!_t.has(a))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),o&&(o=!1,n+="\\"),n+=a}}switch(o&&(n+="\\"),r){case"property":{if(K.has(n))return[];t.push(n);break}case"index":throw new Error("Index was not closed");case"start":{t.push("");break}}return t}l(U,"d");w(U,"getPathSegments");function H(e,t){if(typeof t!="number"&&Array.isArray(e)){const n=Number.parseInt(t,10);return Number.isInteger(n)&&e[n]===e[t]}return!1}l(H,"l");w(H,"isStringIndex");function ee(e,t){if(H(e,t))throw new Error("Cannot use string index")}l(ee,"p");w(ee,"assertNotStringIndex");function S(e,t,n){if(!j(e)||typeof t!="string")return n===void 0?e:n;const r=U(t);if(r.length===0)return n;for(let o=0;o<r.length;o++){const a=r[o];if(H(e,a)?e=o===r.length-1?void 0:null:e=e[a],e==null){if(o!==r.length-1)return n;break}}return e===void 0?n:e}l(S,"getProperty");w(S,"getProperty");function Et(e,t,n){if(!j(e)||typeof t!="string")return e;const r=e,o=U(t);for(let a=0;a<o.length;a++){const i=o[a];ee(e,i),a===o.length-1?e[i]=n:j(e[i])||(e[i]=typeof o[a+1]=="number"?[]:{}),e=e[i]}return r}l(Et,"setProperty");w(Et,"setProperty");function bt(e,t){if(!j(e)||typeof t!="string")return!1;const n=U(t);for(let r=0;r<n.length;r++){const o=n[r];if(ee(e,o),r===n.length-1)return delete e[o],!0;if(e=e[o],!j(e))return!1}}l(bt,"deleteProperty");w(bt,"deleteProperty");function I(e,t){if(!j(e)||typeof t!="string")return!1;const n=U(t);if(n.length===0)return!1;for(const r of n){if(!j(e)||!(r in e)||H(e,r))return!1;e=e[r]}return!0}l(I,"hasProperty");w(I,"hasProperty");function xe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replaceAll(/[\\.[]/g,"\\$&")}l(xe,"escapePath");w(xe,"escapePath");function te(e){const t=Object.entries(e);return Array.isArray(e)?t.map(([n,r])=>[Number(n),r]):t}l(te,"h");w(te,"entries");function Pe(e){let t="";for(let[n,r]of te(e))typeof r=="number"?t+=`[${r}]`:(r=xe(r),t+=n===0?r:`.${r}`);return t}l(Pe,"w$1");w(Pe,"stringifyPath");function*re(e,t=[]){if(!j(e)||kt(e)){t.length>0&&(yield Pe(t));return}for(const[n,r]of te(e))yield*re(r,[...t,n])}l(re,"y");w(re,"deepKeysIterator");function xt(e){return[...re(e)]}l(xt,"deepKeys");w(xt,"deepKeys");const Pt=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var $t=Object.defineProperty,x=l((e,t)=>$t(e,"name",{value:t,configurable:!0}),"c");const $e=new Map;class jt extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(t){super(`The following warnings were encountered while normalizing package data:
|
|
2
|
-
- ${t.join(`
|
|
3
|
-
- `)}`),this.name="PackageJsonValidationError"}}const ne=x((e,t,n=[])=>{const r=[];if(Ue(e,o=>{r.push(o)},t),t&&r.length>0){const o=r.filter(a=>!n.some(i=>i instanceof RegExp?i.test(a):i===a));if(o.length>0)throw new jt(o)}return e},"normalizeInput"),Ot=x(async(e,t={})=>{const n={type:"file"};e&&(n.cwd=e);const r=await N.findUp("package.json",n);if(!r)throw new ce.NotFoundError("No such file or directory, for package.json found.");const o=t.cache&&typeof t.cache!="boolean"?t.cache:$e;if(t.cache&&o.has(r))return o.get(r);const a=await N.readJson(r);ne(a,t.strict??!1,t.ignoreWarnings);const i={packageJson:a,path:r};return o.set(r,i),i},"findPackageJson"),St=x((e,t={})=>{const n={type:"file"};e&&(n.cwd=e);const r=N.findUpSync("package.json",n);if(!r)throw new ce.NotFoundError("No such file or directory, for package.json found.");const o=t.cache&&typeof t.cache!="boolean"?t.cache:$e;if(t.cache&&o.has(r))return o.get(r);const a=N.readJsonSync(r);ne(a,t.strict??!1,t.ignoreWarnings);const i={packageJson:a,path:r};return o.set(r,i),i},"findPackageJsonSync"),Ct=x(async(e,t={})=>{const{cwd:n,...r}=t,o=W.toPath(t.cwd??process.cwd());await N.writeJson(le.join(o,"package.json"),e,r)},"writePackageJson"),Jt=x((e,t={})=>{const{cwd:n,...r}=t,o=W.toPath(t.cwd??process.cwd());N.writeJsonSync(le.join(o,"package.json"),e,r)},"writePackageJsonSync"),At=x((e,t)=>{const n=e!==null&&typeof e=="object"&&!Array.isArray(e);if(!n&&typeof e!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");const r=n?structuredClone(e):B.existsSync(e)?N.readJsonSync(e):W.parseJson(e);return ne(r,t?.strict??!1,t?.ignoreWarnings),r},"parsePackageJson"),Nt=x((e,t,n)=>S(e,t,n),"getPackageJsonProperty"),Tt=x((e,t)=>I(e,t),"hasPackageJsonProperty"),Dt=x((e,t,n)=>{const r=S(e,"dependencies",{}),o=S(e,"devDependencies",{}),a=S(e,"peerDependencies",{}),i={...r,...o,...n?.peerDeps===!1?{}:a};for(const s of t)if(I(i,s))return!0;return!1},"hasPackageJsonAnyDependency"),It=x(async(e,t,n="dependencies",r={})=>{if(process.env.CI||Pt&&!process.stdout?.isTTY){const u=`Skipping package installation for [${t.join(", ")}] because the process is not interactive.`;if(r.throwOnWarn)throw new Error(u);r.logger?.warn?r.logger.warn(u):console.warn(u);return}const o=S(e,"dependencies",{}),a=S(e,"devDependencies",{}),i=S(e,"peerDependencies",{}),s=[],c={deps:!0,devDeps:!0,peerDeps:!1,...r};for(const u of t)c.deps&&I(o,u)||c.devDeps&&I(a,u)||c.peerDeps&&I(i,u)||s.push(u);if(s.length!==0){if(typeof c.confirm?.message=="function"&&(c.confirm.message=c.confirm.message(s)),c.confirm?.message===void 0){const u=`${s.length===1?"Package is":"Packages are"} required for this config: ${s.join(", ")}. Do you want to install them?`;c.confirm===void 0?c.confirm={message:u}:c.confirm.message=u}await Fe(c.confirm)&&await be(s,{...c.installPackage,cwd:c.cwd?W.toPath(c.cwd):void 0,dev:n==="devDependencies"})}},"ensurePackages");exports.ensurePackages=It;exports.findPackageJson=Ot;exports.findPackageJsonSync=St;exports.getPackageJsonProperty=Nt;exports.hasPackageJsonAnyDependency=Dt;exports.hasPackageJsonProperty=Tt;exports.parsePackageJson=At;exports.writePackageJson=Ct;exports.writePackageJsonSync=Jt;
|
package/dist/package-json.d.cts
DELETED
|
@@ -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-KA2fTML0.cjs';
|
|
3
|
-
import 'normalize-package-data';
|
package/dist/package-json.d.mts
DELETED
|
@@ -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-KA2fTML0.mjs';
|
|
3
|
-
import 'normalize-package-data';
|
package/dist/package-json.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
var $e=Object.defineProperty;var l=(t,e)=>$e(t,"name",{value:e,configurable:!0});import{existsSync as z}from"node:fs";import I from"node:process";import oe from"node:fs/promises";import j,{resolve as se}from"node:path";import{createRequire as Oe}from"node:module";import{spawn as je}from"child_process";import{delimiter as Z,resolve as Ce,dirname as Se,normalize as Ae}from"path";import{cwd as Ne}from"process";import{PassThrough as Je}from"stream";import Te from"readline";import De from"@inquirer/confirm";import{readJsonSync as ie,findUp as Ie,readJson as Me,findUpSync as Fe,writeJson as We,writeJsonSync as He}from"@visulima/fs";import{NotFoundError as ae}from"@visulima/fs/error";import{parseJson as Le,toPath as K}from"@visulima/fs/utils";import{join as ce}from"@visulima/path";import Ue from"normalize-package-data";const le=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],ee={"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"},te={"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 Ve=Object.defineProperty,P=l((t,e)=>Ve(t,"name",{value:e,configurable:!0}),"i$1");async function F(t,e){try{const n=await oe.stat(t);return e==="file"?n.isFile():n.isDirectory()}catch{return!1}}l(F,"g$2");P(F,"pathExists");function ze(){const t=I.env.npm_config_user_agent;if(!t)return null;const e=t.split("/")[0];return le.includes(e)?e:null}l(ze,"M$1");P(ze,"getUserAgent");function*pe(t=I.cwd()){let e=j.resolve(t);const{root:n}=j.parse(e);for(;e&&e!==n;)yield e,e=j.dirname(e)}l(pe,"h$2");P(pe,"lookup");async function V(t,e){return!t||!F(t,"file")?null:await de(t,e)}l(V,"m$1");P(V,"parsePackageJson");async function ue(t={}){const{cwd:e,strategies:n=["lockfile","packageManager-field","devEngines-field"],onUnknown:r}=t;let o;if(typeof t.stopDir=="string"){const i=j.resolve(t.stopDir);o=P(a=>a===i,"stopDir")}else o=t.stopDir;for(const i of pe(e)){for(const a of n)switch(a){case"lockfile":{for(const s of Object.keys(ee))if(await F(j.join(i,s),"file")){const c=ee[s];return await V(j.join(i,"package.json"),r)||{name:c,agent:c}}break}case"packageManager-field":case"devEngines-field":{const s=await V(j.join(i,"package.json"),r);if(s)return s;break}case"install-metadata":{for(const s of Object.keys(te)){const c=s.endsWith("/")?"dir":"file";if(await F(j.join(i,s),c)){const p=te[s],u=p==="yarn"?he(s)?"yarn":"yarn@berry":p;return{name:p,agent:u}}}break}}if(o?.(i))break}return null}l(ue,"A");P(ue,"detect");function fe(t){const e=P(n=>n?.match(/\d+(\.\d+){0,2}/)?.[0]??n,"handelVer");if(typeof t.packageManager=="string"){const[n,r]=t.packageManager.replace(/^\^/,"").split("@");return{name:n,ver:e(r)}}if(typeof t.devEngines?.packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}l(fe,"j$1");P(fe,"getNameAndVer");async function de(t,e){try{const n=JSON.parse(await oe.readFile(t,"utf8"));let r;const o=fe(n);if(o){const i=o.name,a=o.ver;let s=a;return i==="yarn"&&a&&Number.parseInt(a)>1?(r="yarn@berry",s="berry",{name:i,agent:r,version:s}):i==="pnpm"&&a&&Number.parseInt(a)<7?(r="pnpm@6",{name:i,agent:r,version:s}):le.includes(i)?(r=i,{name:i,agent:r,version:s}):e?.(n.packageManager)??null}}catch{}return null}l(de,"E$1");P(de,"handlePackageManager");function he(t){return t.endsWith(".yarn_integrity")}l(he,"D$1");P(he,"isMetadataYarnClassic");var Ke=Object.defineProperty,f=l((t,e)=>Ke(t,"name",{value:e,configurable:!0}),"l$1");const T=Oe(import.meta.url);var Ye=Object.create,ge=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Xe=Object.getOwnPropertyNames,qe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty,S=(t=>typeof T<"u"?T:typeof Proxy<"u"?new Proxy(t,{get:f((e,n)=>(typeof T<"u"?T:e)[n],"get")}):t)(function(t){if(typeof T<"u")return T.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"),Ge=f((t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Xe(e))!Re.call(t,o)&&o!==n&&ge(t,o,{get:f(()=>e[o],"get"),enumerable:!(r=Be(e,o))||r.enumerable});return t},"$t"),Qe=f((t,e,n)=>(n=t!=null?Ye(qe(t)):{},Ge(e||!t||!t.__esModule?ge(n,"default",{value:t,enumerable:!0}):n,t)),"Nt"),Ze=E((t,e)=>{e.exports=i,i.sync=a;var n=S("fs");function r(s,c){var p=c.pathExt!==void 0?c.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&&s.substr(-h.length).toLowerCase()===h)return!0}return!1}l(r,"o"),f(r,"Ht");function o(s,c,p){return!s.isSymbolicLink()&&!s.isFile()?!1:r(c,p)}l(o,"i"),f(o,"F");function i(s,c,p){n.stat(s,function(u,h){p(u,u?!1:o(h,s,c))})}l(i,"u"),f(i,"z");function a(s,c){return o(n.statSync(s),s,c)}l(a,"d"),f(a,"Wt")}),et=E((t,e)=>{e.exports=r,r.sync=o;var n=S("fs");function r(s,c,p){n.stat(s,function(u,h){p(u,u?!1:i(h,c))})}l(r,"o"),f(r,"K");function o(s,c){return i(n.statSync(s),c)}l(o,"i"),f(o,"Dt");function i(s,c){return s.isFile()&&a(s,c)}l(i,"u"),f(i,"M");function a(s,c){var p=s.mode,u=s.uid,h=s.gid,d=c.uid!==void 0?c.uid:process.getuid&&process.getuid(),g=c.gid!==void 0?c.gid:process.getgid&&process.getgid(),m=parseInt("100",8),y=parseInt("010",8),k=parseInt("001",8),b=m|y,A=p&k||p&y&&h===g||p&m&&u===d||p&b&&d===0;return A}l(a,"d"),f(a,"Kt")}),tt=E((t,e)=>{S("fs");var n;process.platform==="win32"||global.TESTING_WINDOWS?n=Ze():n=et(),e.exports=r,r.sync=o;function r(i,a,s){if(typeof a=="function"&&(s=a,a={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(c,p){r(i,a||{},function(u,h){u?p(u):c(h)})})}n(i,a||{},function(c,p){c&&(c.code==="EACCES"||a&&a.ignoreErrors)&&(c=null,p=!1),s(c,p)})}l(r,"i"),f(r,"y");function o(i,a){try{return n.sync(i,a||{})}catch(s){if(a&&a.ignoreErrors||s.code==="EACCES")return!1;throw s}}l(o,"u"),f(o,"Mt")}),rt=E((t,e)=>{var n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",r=S("path"),o=n?";":":",i=tt(),a=f(u=>Object.assign(new Error(`not found: ${u}`),{code:"ENOENT"}),"J"),s=f((u,h)=>{let d=h.colon||o,g=u.match(/\//)||n&&u.match(/\\/)?[""]:[...n?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],m=n?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",y=n?m.split(d):[""];return n&&u.indexOf(".")!==-1&&y[0]!==""&&y.unshift(""),{pathEnv:g,pathExt:y,pathExtExe:m}},"Q"),c=f((u,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:m,pathExtExe:y}=s(u,h),k=[],b=f(v=>new Promise((N,$)=>{if(v===g.length)return h.all&&k.length?N(k):$(a(u));let _=g[v],H=/^".*"$/.test(_)?_.slice(1,-1):_,J=r.join(H,u),L=!H&&/^\.[\\\/]/.test(u)?u.slice(0,2)+J:J;N(A(L,v,0))}),"a"),A=f((v,N,$)=>new Promise((_,H)=>{if($===m.length)return _(b(N+1));let J=m[$];i(v+J,{pathExt:y},(L,Pe)=>{if(!L&&Pe)if(h.all)k.push(v+J);else return _(v+J);return _(A(v,N,$+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}=s(u,h),y=[];for(let k=0;k<d.length;k++){let b=d[k],A=/^".*"$/.test(b)?b.slice(1,-1):b,v=r.join(A,u),N=!A&&/^\.[\\\/]/.test(u)?u.slice(0,2)+v:v;for(let $=0;$<g.length;$++){let _=N+g[$];try{if(i.sync(_,{pathExt:m}))if(h.all)y.push(_);else return _}catch{}}}if(h.all&&y.length)return y;if(h.nothrow)return null;throw a(u)},"Xt");e.exports=c,c.sync=p}),nt=E((t,e)=>{var n=f((r={})=>{let o=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"},"nt");e.exports=n,e.exports.default=n}),ot=E((t,e)=>{var n=S("path"),r=rt(),o=nt();function i(s,c){let p=s.options.env||process.env,u=process.cwd(),h=s.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(s.options.cwd)}catch{}let g;try{g=r.sync(s.command,{path:p[o({env:p})],pathExt:c?n.delimiter:void 0})}catch{}finally{d&&process.chdir(u)}return g&&(g=n.resolve(h?s.options.cwd:"",g)),g}l(i,"u"),f(i,"ot");function a(s){return i(s)||i(s,!0)}l(a,"d"),f(a,"Yt"),e.exports=a}),st=E((t,e)=>{var n=/([()\][%!^"`<>&|;, *?])/g;function r(i){return i=i.replace(n,"^$1"),i}l(r,"o"),f(r,"Vt");function o(i,a){return i=`${i}`,i=i.replace(/(\\*)"/g,'$1$1\\"'),i=i.replace(/(\\*)$/,"$1$1"),i=`"${i}"`,i=i.replace(n,"^$1"),a&&(i=i.replace(n,"^$1")),i}l(o,"i"),f(o,"Jt"),e.exports.command=r,e.exports.argument=o}),it=E((t,e)=>{e.exports=/^#!(.*)/}),at=E((t,e)=>{var n=it();e.exports=(r="")=>{let o=r.match(n);if(!o)return null;let[i,a]=o[0].replace(/#! ?/,"").split(" "),s=i.split("/").pop();return s==="env"?a:a?`${s} ${a}`:s}}),ct=E((t,e)=>{var n=S("fs"),r=at();function o(i){let a=Buffer.alloc(150),s;try{s=n.openSync(i,"r"),n.readSync(s,a,0,150,0),n.closeSync(s)}catch{}return r(a.toString())}l(o,"i"),f(o,"te"),e.exports=o}),lt=E((t,e)=>{var n=S("path"),r=ot(),o=st(),i=ct(),a=process.platform==="win32",s=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function p(d){d.file=r(d);let g=d.file&&i(d.file);return g?(d.args.unshift(d.file),d.command=g,r(d)):d.file}l(p,"h"),f(p,"ie");function u(d){if(!a)return d;let g=p(d),m=!s.test(g);if(d.options.forceShell||m){let y=c.test(g);d.command=n.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}),pt=E((t,e)=>{var n=process.platform==="win32";function r(s,c){return Object.assign(new Error(`${c} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${c} ${s.command}`,path:s.command,spawnargs:s.args})}l(r,"o"),f(r,"k");function o(s,c){if(!n)return;let p=s.emit;s.emit=function(u,h){if(u==="exit"){let d=i(h,c);if(d)return p.call(s,"error",d)}return p.apply(s,arguments)}}l(o,"i"),f(o,"ae");function i(s,c){return n&&s===1&&!c.file?r(c.original,"spawn"):null}l(i,"u"),f(i,"xt");function a(s,c){return n&&s===1&&!c.file?r(c.original,"spawnSync"):null}l(a,"d"),f(a,"le"),e.exports={hookChildProcess:o,verifyENOENT:i,verifyENOENTSync:a,notFoundError:r}}),ut=E((t,e)=>{var n=S("child_process"),r=lt(),o=pt();function i(s,c,p){let u=r(s,c,p),h=n.spawn(u.command,u.args,u.options);return o.hookChildProcess(h,u),h}l(i,"u"),f(i,"_t");function a(s,c,p){let u=r(s,c,p),h=n.spawnSync(u.command,u.args,u.options);return h.error=h.error||o.verifyENOENTSync(h.status,u),h}l(a,"d"),f(a,"pe"),e.exports=i,e.exports.spawn=i,e.exports.sync=a,e.exports._parse=r,e.exports._enoent=o}),ft=/^path$/i,re={key:"PATH",value:""};function me(t){for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||!ft.test(e))continue;let n=t[e];return n?{key:e,value:n}:re}return re}l(me,"hr");f(me,"jt");function ye(t,e){let n=e.value.split(Z),r=t,o;do n.push(Ce(r,"node_modules",".bin")),o=r,r=Se(r);while(r!==o);return{key:e.key,value:n.join(Z)}}l(ye,"dr");f(ye,"Ft");function we(t,e){let n={...process.env,...e},r=ye(t,me(n));return n[r.key]=r.value,n}l(we,"fr");f(we,"I");var dt=f(t=>{let e=t.length,n=new Je,r=f(()=>{--e===0&&n.emit("end")},"r");for(let o of t)o.pipe(n,{end:!1}),o.on("end",r);return n},"L"),ht=Qe(ut(),1),ne=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}},gt={timeout:void 0,persist:!1},mt={windowsHide:!0};function ve(t,e){return{command:Ae(t),args:e??[]}}l(ve,"yr");f(ve,"we");function Ee(t){let e=new AbortController;for(let n of t){if(n.aborted)return e.abort(),n;let r=f(()=>{e.abort(n.reason)},"r");n.addEventListener("abort",r,{signal:e.signal})}return e.signal}l(Ee,"xr");f(Ee,"xe");var yt=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(t,e,n){this._options={...gt,...n},this._command=t,this._args=e??[],this._processClosed=new Promise(r=>{this._resolveClose=r})}kill(t){return this._process?.kill(t)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(t,e,n){return wt(t,e,{...n,stdin:this})}async*[Symbol.asyncIterator](){let t=this._process;if(!t)return;let e=[];this._streamErr&&e.push(this._streamErr),this._streamOut&&e.push(this._streamOut);let n=dt(e),r=Te.createInterface({input:n});for await(let o of r)yield o.toString();if(await this._processClosed,t.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ne(this)}async _waitForOutput(){let t=this._process;if(!t)throw new Error("No process was started");let e="",n="";if(this._streamOut)for await(let o of this._streamOut)n+=o.toString();if(this._streamErr)for await(let o of this._streamErr)e+=o.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,t.removeAllListeners(),this._thrownError)throw this._thrownError;let r={stderr:e,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ne(this,r);return r}then(t,e){return this._waitForOutput().then(t,e)}_streamOut;_streamErr;spawn(){let t=Ne(),e=this._options,n={...mt,...e.nodeOptions},r=[];this._resetState(),e.timeout!==void 0&&r.push(AbortSignal.timeout(e.timeout)),e.signal!==void 0&&r.push(e.signal),e.persist===!0&&(n.detached=!0),r.length>0&&(n.signal=Ee(r)),n.env=we(t,n.env);let{command:o,args:i}=ve(this._command,this._args),a=(0,ht._parse)(o,i,n),s=je(a.command,a.args,a.options);if(s.stderr&&(this._streamErr=s.stderr),s.stdout&&(this._streamOut=s.stdout),this._process=s,s.once("error",this._onError),s.once("close",this._onClose),e.stdin!==void 0&&s.stdin&&e.stdin.process){let{stdout:c}=e.stdin.process;c&&c.pipe(s.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(t=>{this._resolveClose=t}),this._thrownError=void 0}_onError=f(t=>{if(t.name==="AbortError"&&(!(t.cause instanceof Error)||t.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=t},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},Y=f((t,e,n)=>{let r=new yt(t,e,n);return r.spawn(),r},"ve"),wt=Y,vt=Object.defineProperty,B=l((t,e)=>vt(t,"name",{value:e,configurable:!0}),"i");async function X(t=I.cwd()){return(await ue({cwd:t,onUnknown(e){console.warn("[@antfu/install-pkg] Unknown packageManager:",e)}}))?.agent||null}l(X,"c$2");B(X,"detectPackageManager");async function ke(t,e={}){const n=e.packageManager||await X(e.cwd)||"npm",[r]=n.split("@");Array.isArray(t)||(t=[t]);const o=(typeof e.additionalArgs=="function"?e.additionalArgs(r,n):e.additionalArgs)||[];return e.preferOffline&&(n==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),r==="pnpm"&&(o.unshift("--prod=false"),z(se(e.cwd??I.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),Y(r,[r==="yarn"?"add":"install",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(ke,"p$1");B(ke,"installPackage");async function Et(t,e={}){const n=e.packageManager||await X(e.cwd)||"npm",[r]=n.split("@");Array.isArray(t)||(t=[t]);const o=e.additionalArgs||[];return r==="pnpm"&&z(se(e.cwd??I.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),Y(r,[r==="yarn"?"remove":"uninstall",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(Et,"h$1");B(Et,"uninstallPackage");var kt=Object.defineProperty,w=l((t,e)=>kt(t,"name",{value:e,configurable:!0}),"s");const O=w(t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},"isObject"),bt=w(t=>O(t)&&Object.keys(t).length===0,"isEmptyObject"),U=new Set(["__proto__","prototype","constructor"]),_t=new Set("0123456789");function M(t){const e=[];let n="",r="start",o=!1;for(const i of t)switch(i){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");o&&(n+=i),r="property",o=!o;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(o){o=!1,n+=i;break}if(U.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(o){o=!1,n+=i;break}if(r==="property"){if(U.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!_t.has(i))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),o&&(o=!1,n+="\\"),n+=i}}switch(o&&(n+="\\"),r){case"property":{if(U.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}l(M,"d");w(M,"getPathSegments");function W(t,e){if(typeof e!="number"&&Array.isArray(t)){const n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}l(W,"l");w(W,"isStringIndex");function q(t,e){if(W(t,e))throw new Error("Cannot use string index")}l(q,"p");w(q,"assertNotStringIndex");function C(t,e,n){if(!O(t)||typeof e!="string")return n===void 0?t:n;const r=M(e);if(r.length===0)return n;for(let o=0;o<r.length;o++){const i=r[o];if(W(t,i)?t=o===r.length-1?void 0:null:t=t[i],t==null){if(o!==r.length-1)return n;break}}return t===void 0?n:t}l(C,"getProperty");w(C,"getProperty");function xt(t,e,n){if(!O(t)||typeof e!="string")return t;const r=t,o=M(e);for(let i=0;i<o.length;i++){const a=o[i];q(t,a),i===o.length-1?t[a]=n:O(t[a])||(t[a]=typeof o[i+1]=="number"?[]:{}),t=t[a]}return r}l(xt,"setProperty");w(xt,"setProperty");function Pt(t,e){if(!O(t)||typeof e!="string")return!1;const n=M(e);for(let r=0;r<n.length;r++){const o=n[r];if(q(t,o),r===n.length-1)return delete t[o],!0;if(t=t[o],!O(t))return!1}}l(Pt,"deleteProperty");w(Pt,"deleteProperty");function D(t,e){if(!O(t)||typeof e!="string")return!1;const n=M(e);if(n.length===0)return!1;for(const r of n){if(!O(t)||!(r in t)||W(t,r))return!1;t=t[r]}return!0}l(D,"hasProperty");w(D,"hasProperty");function be(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replaceAll(/[\\.[]/g,"\\$&")}l(be,"escapePath");w(be,"escapePath");function R(t){const e=Object.entries(t);return Array.isArray(t)?e.map(([n,r])=>[Number(n),r]):e}l(R,"h");w(R,"entries");function _e(t){let e="";for(let[n,r]of R(t))typeof r=="number"?e+=`[${r}]`:(r=be(r),e+=n===0?r:`.${r}`);return e}l(_e,"w$1");w(_e,"stringifyPath");function*G(t,e=[]){if(!O(t)||bt(t)){e.length>0&&(yield _e(e));return}for(const[n,r]of R(t))yield*G(r,[...e,n])}l(G,"y");w(G,"deepKeysIterator");function $t(t){return[...G(t)]}l($t,"deepKeys");w($t,"deepKeys");const Ot=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var jt=Object.defineProperty,x=l((t,e)=>jt(t,"name",{value:e,configurable:!0}),"c");const xe=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 Q=x((t,e,n=[])=>{const r=[];if(Ue(t,o=>{r.push(o)},e),e&&r.length>0){const o=r.filter(i=>!n.some(a=>a instanceof RegExp?a.test(i):a===i));if(o.length>0)throw new Ct(o)}return t},"normalizeInput"),Bt=x(async(t,e={})=>{const n={type:"file"};t&&(n.cwd=t);const r=await Ie("package.json",n);if(!r)throw new ae("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:xe;if(e.cache&&o.has(r))return o.get(r);const i=await Me(r);Q(i,e.strict??!1,e.ignoreWarnings);const a={packageJson:i,path:r};return o.set(r,a),a},"findPackageJson"),Xt=x((t,e={})=>{const n={type:"file"};t&&(n.cwd=t);const r=Fe("package.json",n);if(!r)throw new ae("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:xe;if(e.cache&&o.has(r))return o.get(r);const i=ie(r);Q(i,e.strict??!1,e.ignoreWarnings);const a={packageJson:i,path:r};return o.set(r,a),a},"findPackageJsonSync"),qt=x(async(t,e={})=>{const{cwd:n,...r}=e,o=K(e.cwd??process.cwd());await We(ce(o,"package.json"),t,r)},"writePackageJson"),Rt=x((t,e={})=>{const{cwd:n,...r}=e,o=K(e.cwd??process.cwd());He(ce(o,"package.json"),t,r)},"writePackageJsonSync"),Gt=x((t,e)=>{const n=t!==null&&typeof t=="object"&&!Array.isArray(t);if(!n&&typeof t!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");const r=n?structuredClone(t):z(t)?ie(t):Le(t);return Q(r,e?.strict??!1,e?.ignoreWarnings),r},"parsePackageJson"),Qt=x((t,e,n)=>C(t,e,n),"getPackageJsonProperty"),Zt=x((t,e)=>D(t,e),"hasPackageJsonProperty"),er=x((t,e,n)=>{const r=C(t,"dependencies",{}),o=C(t,"devDependencies",{}),i=C(t,"peerDependencies",{}),a={...r,...o,...n?.peerDeps===!1?{}:i};for(const s of e)if(D(a,s))return!0;return!1},"hasPackageJsonAnyDependency"),tr=x(async(t,e,n="dependencies",r={})=>{if(process.env.CI||Ot&&!process.stdout?.isTTY){const p=`Skipping package installation for [${e.join(", ")}] because the process is not interactive.`;if(r.throwOnWarn)throw new Error(p);r.logger?.warn?r.logger.warn(p):console.warn(p);return}const o=C(t,"dependencies",{}),i=C(t,"devDependencies",{}),a=C(t,"peerDependencies",{}),s=[],c={deps:!0,devDeps:!0,peerDeps:!1,...r};for(const p of e)c.deps&&D(o,p)||c.devDeps&&D(i,p)||c.peerDeps&&D(a,p)||s.push(p);if(s.length!==0){if(typeof c.confirm?.message=="function"&&(c.confirm.message=c.confirm.message(s)),c.confirm?.message===void 0){const p=`${s.length===1?"Package is":"Packages are"} required for this config: ${s.join(", ")}. Do you want to install them?`;c.confirm===void 0?c.confirm={message:p}:c.confirm.message=p}await De(c.confirm)&&await ke(s,{...c.installPackage,cwd:c.cwd?K(c.cwd):void 0,dev:n==="devDependencies"})}},"ensurePackages");export{tr as ensurePackages,Bt as findPackageJson,Xt as findPackageJsonSync,Qt as getPackageJsonProperty,er as hasPackageJsonAnyDependency,Zt as hasPackageJsonProperty,Gt as parsePackageJson,qt as writePackageJson,Rt as writePackageJsonSync};
|
package/dist/package-manager.cjs
DELETED
|
@@ -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 };
|
package/dist/package-manager.mjs
DELETED
|
@@ -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;
|
package/dist/package.d.cts
DELETED
package/dist/package.d.mts
DELETED
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;
|