@contember/cli-common 2.1.0-alpha.36 → 2.1.0-alpha.39
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/dist/development/index.cjs +32 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +32 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/application/Application.cjs +82 -0
- package/dist/development/src/application/Application.cjs.map +1 -0
- package/dist/development/src/application/Application.js +82 -0
- package/dist/development/src/application/Application.js.map +1 -0
- package/dist/development/src/application/Argument.cjs +25 -0
- package/dist/development/src/application/Argument.cjs.map +1 -0
- package/dist/development/src/application/Argument.js +25 -0
- package/dist/development/src/application/Argument.js.map +1 -0
- package/dist/development/src/application/Command.cjs +28 -0
- package/dist/development/src/application/Command.cjs.map +1 -0
- package/dist/development/src/application/Command.js +28 -0
- package/dist/development/src/application/Command.js.map +1 -0
- package/dist/development/src/application/CommandConfiguration.cjs +44 -0
- package/dist/development/src/application/CommandConfiguration.cjs.map +1 -0
- package/dist/development/src/application/CommandConfiguration.js +44 -0
- package/dist/development/src/application/CommandConfiguration.js.map +1 -0
- package/dist/development/src/application/CommandManager.cjs +37 -0
- package/dist/development/src/application/CommandManager.cjs.map +1 -0
- package/dist/development/src/application/CommandManager.js +37 -0
- package/dist/development/src/application/CommandManager.js.map +1 -0
- package/dist/development/src/application/Input.cjs +16 -0
- package/dist/development/src/application/Input.cjs.map +1 -0
- package/dist/development/src/application/Input.js +16 -0
- package/dist/development/src/application/Input.js.map +1 -0
- package/dist/development/src/application/InputParser.cjs +117 -0
- package/dist/development/src/application/InputParser.cjs.map +1 -0
- package/dist/development/src/application/InputParser.js +117 -0
- package/dist/development/src/application/InputParser.js.map +1 -0
- package/dist/development/src/application/Option.cjs +49 -0
- package/dist/development/src/application/Option.cjs.map +1 -0
- package/dist/development/src/application/Option.js +49 -0
- package/dist/development/src/application/Option.js.map +1 -0
- package/dist/development/src/application/UsageFormatter.cjs +61 -0
- package/dist/development/src/application/UsageFormatter.cjs.map +1 -0
- package/dist/development/src/application/UsageFormatter.js +61 -0
- package/dist/development/src/application/UsageFormatter.js.map +1 -0
- package/dist/development/src/application/assertNever.cjs +7 -0
- package/dist/development/src/application/assertNever.cjs.map +1 -0
- package/dist/development/src/application/assertNever.js +7 -0
- package/dist/development/src/application/assertNever.js.map +1 -0
- package/dist/development/src/npm/CommandRunner.cjs +59 -0
- package/dist/development/src/npm/CommandRunner.cjs.map +1 -0
- package/dist/development/src/npm/CommandRunner.js +59 -0
- package/dist/development/src/npm/CommandRunner.js.map +1 -0
- package/dist/development/src/npm/Package.cjs +11 -0
- package/dist/development/src/npm/Package.cjs.map +1 -0
- package/dist/development/src/npm/Package.js +11 -0
- package/dist/development/src/npm/Package.js.map +1 -0
- package/dist/development/src/npm/PackageWorkspace.cjs +79 -0
- package/dist/development/src/npm/PackageWorkspace.cjs.map +1 -0
- package/dist/development/src/npm/PackageWorkspace.js +79 -0
- package/dist/development/src/npm/PackageWorkspace.js.map +1 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.cjs +48 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.js +48 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Bun.cjs +34 -0
- package/dist/development/src/npm/packageManagers/Bun.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Bun.js +34 -0
- package/dist/development/src/npm/packageManagers/Bun.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Npm.cjs +34 -0
- package/dist/development/src/npm/packageManagers/Npm.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Npm.js +34 -0
- package/dist/development/src/npm/packageManagers/Npm.js.map +1 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +34 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +34 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Pnpm.cjs +39 -0
- package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Pnpm.js +39 -0
- package/dist/development/src/npm/packageManagers/Pnpm.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Yarn.cjs +34 -0
- package/dist/development/src/npm/packageManagers/Yarn.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Yarn.js +34 -0
- package/dist/development/src/npm/packageManagers/Yarn.js.map +1 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.cjs +35 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.js +35 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.js.map +1 -0
- package/dist/development/src/utils/findPackageRoot.cjs +20 -0
- package/dist/development/src/utils/findPackageRoot.cjs.map +1 -0
- package/dist/development/src/utils/findPackageRoot.js +20 -0
- package/dist/development/src/utils/findPackageRoot.js.map +1 -0
- package/dist/production/index.cjs +32 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +32 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/application/Application.cjs +82 -0
- package/dist/production/src/application/Application.cjs.map +1 -0
- package/dist/production/src/application/Application.js +82 -0
- package/dist/production/src/application/Application.js.map +1 -0
- package/dist/production/src/application/Argument.cjs +25 -0
- package/dist/production/src/application/Argument.cjs.map +1 -0
- package/dist/production/src/application/Argument.js +25 -0
- package/dist/production/src/application/Argument.js.map +1 -0
- package/dist/production/src/application/Command.cjs +28 -0
- package/dist/production/src/application/Command.cjs.map +1 -0
- package/dist/production/src/application/Command.js +28 -0
- package/dist/production/src/application/Command.js.map +1 -0
- package/dist/production/src/application/CommandConfiguration.cjs +44 -0
- package/dist/production/src/application/CommandConfiguration.cjs.map +1 -0
- package/dist/production/src/application/CommandConfiguration.js +44 -0
- package/dist/production/src/application/CommandConfiguration.js.map +1 -0
- package/dist/production/src/application/CommandManager.cjs +37 -0
- package/dist/production/src/application/CommandManager.cjs.map +1 -0
- package/dist/production/src/application/CommandManager.js +37 -0
- package/dist/production/src/application/CommandManager.js.map +1 -0
- package/dist/production/src/application/Input.cjs +16 -0
- package/dist/production/src/application/Input.cjs.map +1 -0
- package/dist/production/src/application/Input.js +16 -0
- package/dist/production/src/application/Input.js.map +1 -0
- package/dist/production/src/application/InputParser.cjs +117 -0
- package/dist/production/src/application/InputParser.cjs.map +1 -0
- package/dist/production/src/application/InputParser.js +117 -0
- package/dist/production/src/application/InputParser.js.map +1 -0
- package/dist/production/src/application/Option.cjs +49 -0
- package/dist/production/src/application/Option.cjs.map +1 -0
- package/dist/production/src/application/Option.js +49 -0
- package/dist/production/src/application/Option.js.map +1 -0
- package/dist/production/src/application/UsageFormatter.cjs +61 -0
- package/dist/production/src/application/UsageFormatter.cjs.map +1 -0
- package/dist/production/src/application/UsageFormatter.js +61 -0
- package/dist/production/src/application/UsageFormatter.js.map +1 -0
- package/dist/production/src/application/assertNever.cjs +7 -0
- package/dist/production/src/application/assertNever.cjs.map +1 -0
- package/dist/production/src/application/assertNever.js +7 -0
- package/dist/production/src/application/assertNever.js.map +1 -0
- package/dist/production/src/npm/CommandRunner.cjs +59 -0
- package/dist/production/src/npm/CommandRunner.cjs.map +1 -0
- package/dist/production/src/npm/CommandRunner.js +59 -0
- package/dist/production/src/npm/CommandRunner.js.map +1 -0
- package/dist/production/src/npm/Package.cjs +11 -0
- package/dist/production/src/npm/Package.cjs.map +1 -0
- package/dist/production/src/npm/Package.js +11 -0
- package/dist/production/src/npm/Package.js.map +1 -0
- package/dist/production/src/npm/PackageWorkspace.cjs +79 -0
- package/dist/production/src/npm/PackageWorkspace.cjs.map +1 -0
- package/dist/production/src/npm/PackageWorkspace.js +79 -0
- package/dist/production/src/npm/PackageWorkspace.js.map +1 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.cjs +48 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.js +48 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Bun.cjs +34 -0
- package/dist/production/src/npm/packageManagers/Bun.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Bun.js +34 -0
- package/dist/production/src/npm/packageManagers/Bun.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Npm.cjs +34 -0
- package/dist/production/src/npm/packageManagers/Npm.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Npm.js +34 -0
- package/dist/production/src/npm/packageManagers/Npm.js.map +1 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +34 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +34 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Pnpm.cjs +39 -0
- package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Pnpm.js +39 -0
- package/dist/production/src/npm/packageManagers/Pnpm.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Yarn.cjs +34 -0
- package/dist/production/src/npm/packageManagers/Yarn.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Yarn.js +34 -0
- package/dist/production/src/npm/packageManagers/Yarn.js.map +1 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.cjs +35 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.js +35 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.js.map +1 -0
- package/dist/production/src/utils/findPackageRoot.cjs +20 -0
- package/dist/production/src/utils/findPackageRoot.cjs.map +1 -0
- package/dist/production/src/utils/findPackageRoot.js +20 -0
- package/dist/production/src/utils/findPackageRoot.js.map +1 -0
- package/dist/types/application/Application.d.ts +18 -0
- package/dist/types/application/Application.d.ts.map +1 -0
- package/dist/types/application/Argument.d.ts +16 -0
- package/dist/types/application/Argument.d.ts.map +1 -0
- package/dist/types/application/Command.d.ts +10 -0
- package/dist/types/application/Command.d.ts.map +1 -0
- package/dist/types/application/CommandConfiguration.d.ts +23 -0
- package/dist/types/application/CommandConfiguration.d.ts.map +1 -0
- package/dist/types/application/CommandManager.d.ts +11 -0
- package/dist/types/application/CommandManager.d.ts.map +1 -0
- package/dist/types/application/Input.d.ts +10 -0
- package/dist/types/application/Input.d.ts.map +1 -0
- package/dist/types/application/InputParser.d.ts +13 -0
- package/dist/types/application/InputParser.d.ts.map +1 -0
- package/dist/types/application/Option.d.ts +27 -0
- package/dist/types/application/Option.d.ts.map +1 -0
- package/dist/types/application/UsageFormatter.d.ts +11 -0
- package/dist/types/application/UsageFormatter.d.ts.map +1 -0
- package/dist/types/application/assertNever.d.ts +2 -0
- package/dist/types/application/assertNever.d.ts.map +1 -0
- package/dist/types/application/index.d.ts +11 -0
- package/dist/types/application/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/npm/CommandRunner.d.ts +22 -0
- package/dist/types/npm/CommandRunner.d.ts.map +1 -0
- package/dist/types/npm/FileSystem.d.ts +7 -0
- package/dist/types/npm/FileSystem.d.ts.map +1 -0
- package/dist/types/npm/Package.d.ts +8 -0
- package/dist/types/npm/Package.d.ts.map +1 -0
- package/dist/types/npm/PackageJson.d.ts +13 -0
- package/dist/types/npm/PackageJson.d.ts.map +1 -0
- package/dist/types/npm/PackageWorkspace.d.ts +25 -0
- package/dist/types/npm/PackageWorkspace.d.ts.map +1 -0
- package/dist/types/npm/PackageWorkspaceResolver.d.ts +13 -0
- package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +1 -0
- package/dist/types/npm/index.d.ts +9 -0
- package/dist/types/npm/index.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/Bun.d.ts +24 -0
- package/dist/types/npm/packageManagers/Bun.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/Npm.d.ts +24 -0
- package/dist/types/npm/packageManagers/Npm.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/PackageManager.d.ts +18 -0
- package/dist/types/npm/packageManagers/PackageManager.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts +15 -0
- package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/Pnpm.d.ts +24 -0
- package/dist/types/npm/packageManagers/Pnpm.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/Yarn.d.ts +24 -0
- package/dist/types/npm/packageManagers/Yarn.d.ts.map +1 -0
- package/dist/types/npm/packageManagers/YarnClassic.d.ts +24 -0
- package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/utils/findPackageRoot.d.ts +2 -0
- package/dist/types/utils/findPackageRoot.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const node_path = require("node:path");
|
|
4
|
+
const Package = require("./Package.cjs");
|
|
5
|
+
const PackageWorkspace = require("./PackageWorkspace.cjs");
|
|
6
|
+
class PackageWorkspaceResolver {
|
|
7
|
+
constructor(dir, fs, packageManagers) {
|
|
8
|
+
this.dir = dir;
|
|
9
|
+
this.fs = fs;
|
|
10
|
+
this.packageManagers = packageManagers;
|
|
11
|
+
}
|
|
12
|
+
async resolve() {
|
|
13
|
+
return await this.resolveInternal(this.dir);
|
|
14
|
+
}
|
|
15
|
+
async resolveInternal(dir, packageJsonFound = false) {
|
|
16
|
+
if (!await this.fs.pathExists(node_path.join(dir, "package.json"))) {
|
|
17
|
+
if (dir === "/") {
|
|
18
|
+
if (packageJsonFound) {
|
|
19
|
+
throw `No lockfile found. Please install dependencies using package manager of your choice.`;
|
|
20
|
+
} else {
|
|
21
|
+
throw `package.json not found.`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return await this.resolveInternal(node_path.dirname(dir), packageJsonFound);
|
|
25
|
+
}
|
|
26
|
+
const packageJson = JSON.parse(await this.fs.readFile(node_path.join(dir, "package.json"), "utf-8"));
|
|
27
|
+
const pm = await this.resolvePackageManager({ dir, packageJson });
|
|
28
|
+
if (!pm) {
|
|
29
|
+
if (dir === "/") {
|
|
30
|
+
throw `No lockfile found. Please install dependencies using package manager of your choice.`;
|
|
31
|
+
}
|
|
32
|
+
return await this.resolveInternal(node_path.dirname(dir), true);
|
|
33
|
+
}
|
|
34
|
+
const rootPackage = new Package.Package(dir, true, packageJson);
|
|
35
|
+
const workspacePackages = await pm.readWorkspacePackages({ dir, packageJson });
|
|
36
|
+
return new PackageWorkspace.PackageWorkspace(pm, this.fs, rootPackage, workspacePackages);
|
|
37
|
+
}
|
|
38
|
+
async resolvePackageManager(args) {
|
|
39
|
+
for (const pm of this.packageManagers) {
|
|
40
|
+
if (await pm.isActive(args)) {
|
|
41
|
+
return pm;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.PackageWorkspaceResolver = PackageWorkspaceResolver;
|
|
48
|
+
//# sourceMappingURL=PackageWorkspaceResolver.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageWorkspaceResolver.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["join","dirname","Package","PackageWorkspace"],"mappings":";;;;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAET;AAAA,EAEA,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACvG,QAAI,CAAE,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACrB,gBAAM;AAAA,QACP,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO,MAAM,KAAK,gBAAgBC,UAAAA,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IACjE;AAEA,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAASD,UAAAA,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AAChB,cAAM;AAAA,MACP;AACA,aAAO,MAAM,KAAK,gBAAgBC,UAAAA,QAAQ,GAAG,GAAG,IAAI;AAAA,IACrD;AAEA,UAAM,cAAc,IAAIC,QAAAA,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAIC,iBAAAA,iBAAiB,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EACxE;AAAA,EAEA,MAAc,sBAAsB,MAAiF;AACpH,eAAW,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AAC5B,eAAO;AAAA,MACR;AAAA,IACD;AACA,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { join, dirname } from "node:path";
|
|
2
|
+
import { Package } from "./Package.js";
|
|
3
|
+
import { PackageWorkspace } from "./PackageWorkspace.js";
|
|
4
|
+
class PackageWorkspaceResolver {
|
|
5
|
+
constructor(dir, fs, packageManagers) {
|
|
6
|
+
this.dir = dir;
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
this.packageManagers = packageManagers;
|
|
9
|
+
}
|
|
10
|
+
async resolve() {
|
|
11
|
+
return await this.resolveInternal(this.dir);
|
|
12
|
+
}
|
|
13
|
+
async resolveInternal(dir, packageJsonFound = false) {
|
|
14
|
+
if (!await this.fs.pathExists(join(dir, "package.json"))) {
|
|
15
|
+
if (dir === "/") {
|
|
16
|
+
if (packageJsonFound) {
|
|
17
|
+
throw `No lockfile found. Please install dependencies using package manager of your choice.`;
|
|
18
|
+
} else {
|
|
19
|
+
throw `package.json not found.`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return await this.resolveInternal(dirname(dir), packageJsonFound);
|
|
23
|
+
}
|
|
24
|
+
const packageJson = JSON.parse(await this.fs.readFile(join(dir, "package.json"), "utf-8"));
|
|
25
|
+
const pm = await this.resolvePackageManager({ dir, packageJson });
|
|
26
|
+
if (!pm) {
|
|
27
|
+
if (dir === "/") {
|
|
28
|
+
throw `No lockfile found. Please install dependencies using package manager of your choice.`;
|
|
29
|
+
}
|
|
30
|
+
return await this.resolveInternal(dirname(dir), true);
|
|
31
|
+
}
|
|
32
|
+
const rootPackage = new Package(dir, true, packageJson);
|
|
33
|
+
const workspacePackages = await pm.readWorkspacePackages({ dir, packageJson });
|
|
34
|
+
return new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages);
|
|
35
|
+
}
|
|
36
|
+
async resolvePackageManager(args) {
|
|
37
|
+
for (const pm of this.packageManagers) {
|
|
38
|
+
if (await pm.isActive(args)) {
|
|
39
|
+
return pm;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
PackageWorkspaceResolver
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=PackageWorkspaceResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageWorkspaceResolver.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAET;AAAA,EAEA,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACvG,QAAI,CAAE,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACrB,gBAAM;AAAA,QACP,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IACjE;AAEA,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AAChB,cAAM;AAAA,MACP;AACA,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,IAAI;AAAA,IACrD;AAEA,UAAM,cAAc,IAAI,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAI,iBAAiB,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EACxE;AAAA,EAEA,MAAc,sBAAsB,MAAiF;AACpH,eAAW,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AAC5B,eAAO;AAAA,MACR;AAAA,IACD;AACA,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const node_path = require("node:path");
|
|
4
|
+
const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
|
|
5
|
+
class Bun {
|
|
6
|
+
constructor(fs, commandRunner) {
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
this.commandRunner = commandRunner;
|
|
9
|
+
}
|
|
10
|
+
async install({ pckg, dependencies, isDev }) {
|
|
11
|
+
const { output } = this.commandRunner.runCommand("bun", [
|
|
12
|
+
"add",
|
|
13
|
+
isDev ? "--dev" : void 0,
|
|
14
|
+
...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
15
|
+
], {
|
|
16
|
+
cwd: pckg.dir,
|
|
17
|
+
stderr: process.stderr,
|
|
18
|
+
stdout: process.stdout
|
|
19
|
+
});
|
|
20
|
+
await output;
|
|
21
|
+
}
|
|
22
|
+
async isActive({ dir }) {
|
|
23
|
+
return await this.fs.pathExists(node_path.join(dir, "bun.lock")) || await this.fs.pathExists(node_path.join(dir, "bun.lockb"));
|
|
24
|
+
}
|
|
25
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
26
|
+
return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
|
|
27
|
+
fs: this.fs,
|
|
28
|
+
dir,
|
|
29
|
+
workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.Bun = Bun;
|
|
34
|
+
//# sourceMappingURL=Bun.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bun.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Bun.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Bun implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('bun', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'bun.lock')) || await this.fs.pathExists(join(dir, 'bun.lockb'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,OAAoE;AACpF,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EAC1G;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
|
|
3
|
+
class Bun {
|
|
4
|
+
constructor(fs, commandRunner) {
|
|
5
|
+
this.fs = fs;
|
|
6
|
+
this.commandRunner = commandRunner;
|
|
7
|
+
}
|
|
8
|
+
async install({ pckg, dependencies, isDev }) {
|
|
9
|
+
const { output } = this.commandRunner.runCommand("bun", [
|
|
10
|
+
"add",
|
|
11
|
+
isDev ? "--dev" : void 0,
|
|
12
|
+
...PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
13
|
+
], {
|
|
14
|
+
cwd: pckg.dir,
|
|
15
|
+
stderr: process.stderr,
|
|
16
|
+
stdout: process.stdout
|
|
17
|
+
});
|
|
18
|
+
await output;
|
|
19
|
+
}
|
|
20
|
+
async isActive({ dir }) {
|
|
21
|
+
return await this.fs.pathExists(join(dir, "bun.lock")) || await this.fs.pathExists(join(dir, "bun.lockb"));
|
|
22
|
+
}
|
|
23
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
24
|
+
return await PackageManagerHelpers.readWorkspacePackages({
|
|
25
|
+
fs: this.fs,
|
|
26
|
+
dir,
|
|
27
|
+
workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
Bun
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=Bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bun.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Bun.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Bun implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('bun', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'bun.lock')) || await this.fs.pathExists(join(dir, 'bun.lockb'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,OAAoE;AACpF,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC;AAAA,EAC1G;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const node_path = require("node:path");
|
|
4
|
+
const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
|
|
5
|
+
class Npm {
|
|
6
|
+
constructor(fs, commandRunner) {
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
this.commandRunner = commandRunner;
|
|
9
|
+
}
|
|
10
|
+
async install({ pckg, dependencies, isDev }) {
|
|
11
|
+
const { output } = this.commandRunner.runCommand("npm", [
|
|
12
|
+
"install",
|
|
13
|
+
isDev ? "--save-dev" : "--save",
|
|
14
|
+
...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
15
|
+
], {
|
|
16
|
+
cwd: pckg.dir,
|
|
17
|
+
stderr: process.stderr,
|
|
18
|
+
stdout: process.stdout
|
|
19
|
+
});
|
|
20
|
+
await output;
|
|
21
|
+
}
|
|
22
|
+
async isActive({ dir, packageJson }) {
|
|
23
|
+
return await this.fs.pathExists(node_path.join(dir, "package-lock.json"));
|
|
24
|
+
}
|
|
25
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
26
|
+
return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
|
|
27
|
+
fs: this.fs,
|
|
28
|
+
dir,
|
|
29
|
+
workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.Npm = Npm;
|
|
34
|
+
//# sourceMappingURL=Npm.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Npm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
|
|
3
|
+
class Npm {
|
|
4
|
+
constructor(fs, commandRunner) {
|
|
5
|
+
this.fs = fs;
|
|
6
|
+
this.commandRunner = commandRunner;
|
|
7
|
+
}
|
|
8
|
+
async install({ pckg, dependencies, isDev }) {
|
|
9
|
+
const { output } = this.commandRunner.runCommand("npm", [
|
|
10
|
+
"install",
|
|
11
|
+
isDev ? "--save-dev" : "--save",
|
|
12
|
+
...PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
13
|
+
], {
|
|
14
|
+
cwd: pckg.dir,
|
|
15
|
+
stderr: process.stderr,
|
|
16
|
+
stdout: process.stdout
|
|
17
|
+
});
|
|
18
|
+
await output;
|
|
19
|
+
}
|
|
20
|
+
async isActive({ dir, packageJson }) {
|
|
21
|
+
return await this.fs.pathExists(join(dir, "package-lock.json"));
|
|
22
|
+
}
|
|
23
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
24
|
+
return await PackageManagerHelpers.readWorkspacePackages({
|
|
25
|
+
fs: this.fs,
|
|
26
|
+
dir,
|
|
27
|
+
workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
Npm
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=Npm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Npm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Package = require("../Package.cjs");
|
|
4
|
+
const node_path = require("node:path");
|
|
5
|
+
class PackageManagerHelpers {
|
|
6
|
+
static async readWorkspacePackages({ fs, dir, workspaces }) {
|
|
7
|
+
const dirs = await fs.listDirectories(dir, workspaces);
|
|
8
|
+
const packageJson = await Promise.all(dirs.map(async (it) => {
|
|
9
|
+
const packageJsonPath = node_path.join(dir, it, "package.json");
|
|
10
|
+
if (!await fs.pathExists(packageJsonPath)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const packageJson2 = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
|
|
14
|
+
return [packageJson2, it];
|
|
15
|
+
}));
|
|
16
|
+
return packageJson.filter((it) => it !== null).map(
|
|
17
|
+
([packageJson2, subDir]) => new Package.Package(node_path.join(dir, subDir), false, packageJson2)
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
static getWorkspacesFromPackageJson({ packageJson }) {
|
|
21
|
+
if (!packageJson.workspaces) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
if (Array.isArray(packageJson.workspaces)) {
|
|
25
|
+
return packageJson.workspaces;
|
|
26
|
+
}
|
|
27
|
+
return [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []];
|
|
28
|
+
}
|
|
29
|
+
static formatPackagesToInstall(packages) {
|
|
30
|
+
return Object.entries(packages).map(([name, version]) => `${name}@${version}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.PackageManagerHelpers = PackageManagerHelpers;
|
|
34
|
+
//# sourceMappingURL=PackageManagerHelpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageManagerHelpers.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) =>\n\t\t\tnew Package(join(dir, subDir), false, packageJson)\n\t\t)\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["join","packageJson","Package"],"mappings":";;;;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkBA,UAAAA,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AAC5C,eAAO;AAAA,MACR;AACA,YAAMC,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AACvF,aAAO,CAACA,cAAa,EAAE;AAAA,IACxB,CAAC,CAAC;AAEF,WAAO,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE;AAAA,MAAI,CAAC,CAACA,cAAa,MAAM,MAC7F,IAAIC,QAAAA,QAAQF,UAAAA,KAAK,KAAK,MAAM,GAAG,OAAOC,YAAW;AAAA,IAAA;AAAA,EAEnD;AAAA,EAEA,OAAO,6BAA6B,EAAE,eAAuD;AAC5F,QAAI,CAAC,YAAY,YAAY;AAC5B,aAAO,CAAA;AAAA,IACR;AACA,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IACpB;AACA,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,IAAI,GAAG,YAAY,YAAY,WAAW,EAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAC9E;AACD;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Package } from "../Package.js";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
class PackageManagerHelpers {
|
|
4
|
+
static async readWorkspacePackages({ fs, dir, workspaces }) {
|
|
5
|
+
const dirs = await fs.listDirectories(dir, workspaces);
|
|
6
|
+
const packageJson = await Promise.all(dirs.map(async (it) => {
|
|
7
|
+
const packageJsonPath = join(dir, it, "package.json");
|
|
8
|
+
if (!await fs.pathExists(packageJsonPath)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const packageJson2 = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
|
|
12
|
+
return [packageJson2, it];
|
|
13
|
+
}));
|
|
14
|
+
return packageJson.filter((it) => it !== null).map(
|
|
15
|
+
([packageJson2, subDir]) => new Package(join(dir, subDir), false, packageJson2)
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
static getWorkspacesFromPackageJson({ packageJson }) {
|
|
19
|
+
if (!packageJson.workspaces) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
if (Array.isArray(packageJson.workspaces)) {
|
|
23
|
+
return packageJson.workspaces;
|
|
24
|
+
}
|
|
25
|
+
return [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []];
|
|
26
|
+
}
|
|
27
|
+
static formatPackagesToInstall(packages) {
|
|
28
|
+
return Object.entries(packages).map(([name, version]) => `${name}@${version}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
PackageManagerHelpers
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=PackageManagerHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageManagerHelpers.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) =>\n\t\t\tnew Package(join(dir, subDir), false, packageJson)\n\t\t)\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["packageJson"],"mappings":";;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkB,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AAC5C,eAAO;AAAA,MACR;AACA,YAAMA,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AACvF,aAAO,CAACA,cAAa,EAAE;AAAA,IACxB,CAAC,CAAC;AAEF,WAAO,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE;AAAA,MAAI,CAAC,CAACA,cAAa,MAAM,MAC7F,IAAI,QAAQ,KAAK,KAAK,MAAM,GAAG,OAAOA,YAAW;AAAA,IAAA;AAAA,EAEnD;AAAA,EAEA,OAAO,6BAA6B,EAAE,eAAuD;AAC5F,QAAI,CAAC,YAAY,YAAY;AAC5B,aAAO,CAAA;AAAA,IACR;AACA,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IACpB;AACA,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,IAAI,GAAG,YAAY,YAAY,WAAW,EAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAC9E;AACD;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const node_path = require("node:path");
|
|
4
|
+
const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
|
|
5
|
+
class Pnpm {
|
|
6
|
+
constructor(fs, commandRunner) {
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
this.commandRunner = commandRunner;
|
|
9
|
+
}
|
|
10
|
+
async install({ pckg, dependencies, isDev }) {
|
|
11
|
+
const { output } = this.commandRunner.runCommand("pnpm", [
|
|
12
|
+
"add",
|
|
13
|
+
isDev ? "--save-dev" : "--save",
|
|
14
|
+
pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
|
|
15
|
+
...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
16
|
+
], {
|
|
17
|
+
cwd: pckg.dir,
|
|
18
|
+
stderr: process.stderr,
|
|
19
|
+
stdout: process.stdout
|
|
20
|
+
});
|
|
21
|
+
await output;
|
|
22
|
+
}
|
|
23
|
+
async isActive({ dir, packageJson }) {
|
|
24
|
+
return await this.fs.pathExists(node_path.join(dir, "pnpm-lock.yaml"));
|
|
25
|
+
}
|
|
26
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
27
|
+
let pnpmWorkspaces;
|
|
28
|
+
if (await this.fs.pathExists(node_path.join(dir, "pnpm-workspace.yaml"))) {
|
|
29
|
+
pnpmWorkspaces = JSON.parse(await this.fs.readFile(node_path.join(dir, "pnpm-workspace.yaml"), "utf-8"));
|
|
30
|
+
}
|
|
31
|
+
return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
|
|
32
|
+
fs: this.fs,
|
|
33
|
+
dir,
|
|
34
|
+
workspaces: pnpmWorkspaces.packages
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.Pnpm = Pnpm;
|
|
39
|
+
//# sourceMappingURL=Pnpm.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pnpm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,QAAI;AACJ,QAAI,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC/D,uBAAiB,KAAK,MAAM,MAAM,KAAK,GAAG,SAASA,UAAAA,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACA,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EACF;AACD;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
|
|
3
|
+
class Pnpm {
|
|
4
|
+
constructor(fs, commandRunner) {
|
|
5
|
+
this.fs = fs;
|
|
6
|
+
this.commandRunner = commandRunner;
|
|
7
|
+
}
|
|
8
|
+
async install({ pckg, dependencies, isDev }) {
|
|
9
|
+
const { output } = this.commandRunner.runCommand("pnpm", [
|
|
10
|
+
"add",
|
|
11
|
+
isDev ? "--save-dev" : "--save",
|
|
12
|
+
pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
|
|
13
|
+
...PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
14
|
+
], {
|
|
15
|
+
cwd: pckg.dir,
|
|
16
|
+
stderr: process.stderr,
|
|
17
|
+
stdout: process.stdout
|
|
18
|
+
});
|
|
19
|
+
await output;
|
|
20
|
+
}
|
|
21
|
+
async isActive({ dir, packageJson }) {
|
|
22
|
+
return await this.fs.pathExists(join(dir, "pnpm-lock.yaml"));
|
|
23
|
+
}
|
|
24
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
25
|
+
let pnpmWorkspaces;
|
|
26
|
+
if (await this.fs.pathExists(join(dir, "pnpm-workspace.yaml"))) {
|
|
27
|
+
pnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, "pnpm-workspace.yaml"), "utf-8"));
|
|
28
|
+
}
|
|
29
|
+
return await PackageManagerHelpers.readWorkspacePackages({
|
|
30
|
+
fs: this.fs,
|
|
31
|
+
dir,
|
|
32
|
+
workspaces: pnpmWorkspaces.packages
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
Pnpm
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Pnpm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pnpm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,QAAI;AACJ,QAAI,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC/D,uBAAiB,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACA,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EACF;AACD;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const node_path = require("node:path");
|
|
4
|
+
const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
|
|
5
|
+
class Yarn {
|
|
6
|
+
constructor(fs, commandRunner) {
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
this.commandRunner = commandRunner;
|
|
9
|
+
}
|
|
10
|
+
async install({ pckg, dependencies, isDev }) {
|
|
11
|
+
const { output } = this.commandRunner.runCommand("yarn", [
|
|
12
|
+
"add",
|
|
13
|
+
isDev ? "--dev" : void 0,
|
|
14
|
+
...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
15
|
+
], {
|
|
16
|
+
cwd: pckg.dir,
|
|
17
|
+
stderr: process.stderr,
|
|
18
|
+
stdout: process.stdout
|
|
19
|
+
});
|
|
20
|
+
await output;
|
|
21
|
+
}
|
|
22
|
+
async isActive({ dir, packageJson }) {
|
|
23
|
+
return await this.fs.pathExists(node_path.join(dir, "yarn.lock")) && (!packageJson.packageManager || packageJson.packageManager.startsWith("yarn@4") || packageJson.packageManager.startsWith("yarn@3") || packageJson.packageManager.startsWith("yarn@2"));
|
|
24
|
+
}
|
|
25
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
26
|
+
return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
|
|
27
|
+
fs: this.fs,
|
|
28
|
+
dir,
|
|
29
|
+
workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.Yarn = Yarn;
|
|
34
|
+
//# sourceMappingURL=Yarn.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Yarn.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4')\n\t\t\t\t|| (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KACxF,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC/H;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
|
|
3
|
+
class Yarn {
|
|
4
|
+
constructor(fs, commandRunner) {
|
|
5
|
+
this.fs = fs;
|
|
6
|
+
this.commandRunner = commandRunner;
|
|
7
|
+
}
|
|
8
|
+
async install({ pckg, dependencies, isDev }) {
|
|
9
|
+
const { output } = this.commandRunner.runCommand("yarn", [
|
|
10
|
+
"add",
|
|
11
|
+
isDev ? "--dev" : void 0,
|
|
12
|
+
...PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
13
|
+
], {
|
|
14
|
+
cwd: pckg.dir,
|
|
15
|
+
stderr: process.stderr,
|
|
16
|
+
stdout: process.stdout
|
|
17
|
+
});
|
|
18
|
+
await output;
|
|
19
|
+
}
|
|
20
|
+
async isActive({ dir, packageJson }) {
|
|
21
|
+
return await this.fs.pathExists(join(dir, "yarn.lock")) && (!packageJson.packageManager || packageJson.packageManager.startsWith("yarn@4") || packageJson.packageManager.startsWith("yarn@3") || packageJson.packageManager.startsWith("yarn@2"));
|
|
22
|
+
}
|
|
23
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
24
|
+
return await PackageManagerHelpers.readWorkspacePackages({
|
|
25
|
+
fs: this.fs,
|
|
26
|
+
dir,
|
|
27
|
+
workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
Yarn
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=Yarn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Yarn.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4')\n\t\t\t\t|| (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KACxF,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC/H;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const node_path = require("node:path");
|
|
4
|
+
const PackageManagerHelpers = require("./PackageManagerHelpers.cjs");
|
|
5
|
+
class YarnClassic {
|
|
6
|
+
constructor(fs, commandRunner) {
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
this.commandRunner = commandRunner;
|
|
9
|
+
}
|
|
10
|
+
async install({ pckg, dependencies, isDev }) {
|
|
11
|
+
const { output } = this.commandRunner.runCommand("yarn", [
|
|
12
|
+
"add",
|
|
13
|
+
isDev ? "--dev" : void 0,
|
|
14
|
+
pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
|
|
15
|
+
...PackageManagerHelpers.PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
16
|
+
], {
|
|
17
|
+
cwd: pckg.dir,
|
|
18
|
+
stderr: process.stderr,
|
|
19
|
+
stdout: process.stdout
|
|
20
|
+
});
|
|
21
|
+
await output;
|
|
22
|
+
}
|
|
23
|
+
async isActive({ dir, packageJson }) {
|
|
24
|
+
return await this.fs.pathExists(node_path.join(dir, "yarn.lock"));
|
|
25
|
+
}
|
|
26
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
27
|
+
return await PackageManagerHelpers.PackageManagerHelpers.readWorkspacePackages({
|
|
28
|
+
fs: this.fs,
|
|
29
|
+
dir,
|
|
30
|
+
workspaces: PackageManagerHelpers.PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.YarnClassic = YarnClassic;
|
|
35
|
+
//# sourceMappingURL=YarnClassic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YarnClassic.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/YarnClassic.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class YarnClassic implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,YAAsC;AAAA,EAClD,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAA,IAAW,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACD,UAAM;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAChH,WAAO,MAAMD,sBAAAA,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { PackageManagerHelpers } from "./PackageManagerHelpers.js";
|
|
3
|
+
class YarnClassic {
|
|
4
|
+
constructor(fs, commandRunner) {
|
|
5
|
+
this.fs = fs;
|
|
6
|
+
this.commandRunner = commandRunner;
|
|
7
|
+
}
|
|
8
|
+
async install({ pckg, dependencies, isDev }) {
|
|
9
|
+
const { output } = this.commandRunner.runCommand("yarn", [
|
|
10
|
+
"add",
|
|
11
|
+
isDev ? "--dev" : void 0,
|
|
12
|
+
pckg.isRoot ? "--ignore-workspace-root-check" : void 0,
|
|
13
|
+
...PackageManagerHelpers.formatPackagesToInstall(dependencies)
|
|
14
|
+
], {
|
|
15
|
+
cwd: pckg.dir,
|
|
16
|
+
stderr: process.stderr,
|
|
17
|
+
stdout: process.stdout
|
|
18
|
+
});
|
|
19
|
+
await output;
|
|
20
|
+
}
|
|
21
|
+
async isActive({ dir, packageJson }) {
|
|
22
|
+
return await this.fs.pathExists(join(dir, "yarn.lock"));
|
|
23
|
+
}
|
|
24
|
+
async readWorkspacePackages({ dir, packageJson }) {
|
|
25
|
+
return await PackageManagerHelpers.readWorkspacePackages({
|
|
26
|
+
fs: this.fs,
|
|
27
|
+
dir,
|
|
28
|
+
workspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson })
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
YarnClassic
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=YarnClassic.js.map
|