ph-cmd 5.0.3 → 5.0.5
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/src/commands/checkout.d.ts +9 -0
- package/dist/src/commands/checkout.d.ts.map +1 -0
- package/dist/src/commands/checkout.js +37 -0
- package/dist/src/commands/checkout.js.map +1 -0
- package/dist/src/commands/index.d.ts +2 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +3 -1
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts +1 -0
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +43 -8
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/setup-globals.js +1 -1
- package/dist/src/commands/setup-globals.js.map +1 -1
- package/dist/src/help.d.ts +5 -1
- package/dist/src/help.d.ts.map +1 -1
- package/dist/src/help.js +37 -4
- package/dist/src/help.js.map +1 -1
- package/dist/src/utils/help-formatting.js +1 -1
- package/dist/src/utils/help-formatting.js.map +1 -1
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/package-manager.d.ts +2 -1
- package/dist/src/utils/package-manager.d.ts.map +1 -1
- package/dist/src/utils/package-manager.js +25 -2
- package/dist/src/utils/package-manager.js.map +1 -1
- package/dist/src/utils/types.d.ts +1 -1
- package/dist/src/utils/types.d.ts.map +1 -1
- package/dist/src/utils/validate-remote-drive-checkout.d.ts +7 -0
- package/dist/src/utils/validate-remote-drive-checkout.d.ts.map +1 -0
- package/dist/src/utils/validate-remote-drive-checkout.js +45 -0
- package/dist/src/utils/validate-remote-drive-checkout.js.map +1 -0
- package/dist/src/utils/validate-remote-drive.d.ts +6 -0
- package/dist/src/utils/validate-remote-drive.d.ts.map +1 -0
- package/dist/src/utils/validate-remote-drive.js +37 -0
- package/dist/src/utils/validate-remote-drive.js.map +1 -0
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +3 -0
- package/dist/src/version.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/dist/src/utils/create-global-project.d.ts +0 -3
- package/dist/src/utils/create-global-project.d.ts.map +0 -1
- package/dist/src/utils/create-global-project.js +0 -28
- package/dist/src/utils/create-global-project.js.map +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import type { CommandActionType } from "../types.js";
|
|
3
|
+
export type CheckoutOptions = {
|
|
4
|
+
remoteDrive: string;
|
|
5
|
+
packageManager?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const checkout: CommandActionType<[CheckoutOptions]>;
|
|
8
|
+
export declare function checkoutCommand(program: Command): Command;
|
|
9
|
+
//# sourceMappingURL=checkout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/commands/checkout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAgCzD,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAWzD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { cloneRepository, installDependencies } from "@powerhousedao/codegen";
|
|
2
|
+
import { checkoutHelp } from "../help.js";
|
|
3
|
+
import { withCustomHelp } from "../utils/index.js";
|
|
4
|
+
import { getPackageManagerFromLockfile } from "../utils/package-manager.js";
|
|
5
|
+
import { getPackageDocument } from "../utils/validate-remote-drive-checkout.js";
|
|
6
|
+
export const checkout = async (options) => {
|
|
7
|
+
console.log("Checking out project from remote drive...");
|
|
8
|
+
try {
|
|
9
|
+
// Validate remote drive and get GitHub URL
|
|
10
|
+
const packageDocument = await getPackageDocument(options.remoteDrive);
|
|
11
|
+
if (!packageDocument.isValid) {
|
|
12
|
+
console.error(packageDocument.error);
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
// Clone repository
|
|
16
|
+
const projectPath = cloneRepository(packageDocument.githubUrl);
|
|
17
|
+
// Detect package manager from lock files or use user-provided one
|
|
18
|
+
const detectedPackageManager = getPackageManagerFromLockfile(projectPath);
|
|
19
|
+
const packageManager = options.packageManager ?? detectedPackageManager;
|
|
20
|
+
// Install dependencies
|
|
21
|
+
installDependencies(projectPath, packageManager);
|
|
22
|
+
console.log("\x1b[32m", "Checkout completed successfully!", "\x1b[0m");
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error("Failed to checkout the project", error instanceof Error ? error.message : String(error));
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export function checkoutCommand(program) {
|
|
30
|
+
const checkoutCmd = program
|
|
31
|
+
.command("checkout")
|
|
32
|
+
.description("Checkout an existing project from a remote drive")
|
|
33
|
+
.requiredOption("-r, --remote-drive <remoteDrive>", "Remote drive identifier")
|
|
34
|
+
.option("--package-manager <packageManager>", "Package manager to use");
|
|
35
|
+
return withCustomHelp(checkoutCmd, checkout, checkoutHelp);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=checkout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/commands/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAOhF,MAAM,CAAC,MAAM,QAAQ,GAAyC,KAAK,EACjE,OAAO,EACP,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,CAAC,SAAU,CAAC,CAAC;QAEhE,kEAAkE;QAClE,MAAM,sBAAsB,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,sBAAsB,CAAC;QAExE,uBAAuB;QACvB,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,kCAAkC,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,gCAAgC,EAChC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,WAAW,GAAG,OAAO;SACxB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,cAAc,CACb,kCAAkC,EAClC,yBAAyB,CAC1B;SACA,MAAM,CAAC,oCAAoC,EAAE,wBAAwB,CAAC,CAAC;IAE1E,OAAO,cAAc,CAAoB,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
|
+
import { checkoutCommand } from "./checkout.js";
|
|
2
3
|
import { helpCommand } from "./help.js";
|
|
3
4
|
import { initCommand } from "./init.js";
|
|
4
5
|
import { setupGlobalsCommand } from "./setup-globals.js";
|
|
5
6
|
import { updateCommand } from "./update.js";
|
|
6
7
|
import { useCommand } from "./use.js";
|
|
7
8
|
import { versionOption } from "./version.js";
|
|
8
|
-
export { helpCommand, initCommand, setupGlobalsCommand, updateCommand, useCommand, versionOption, };
|
|
9
|
+
export { checkoutCommand, helpCommand, initCommand, setupGlobalsCommand, updateCommand, useCommand, versionOption, };
|
|
9
10
|
export declare const commands: (typeof helpCommand)[];
|
|
10
11
|
export default function registerCommands(program: Command): void;
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,aAAa,GACd,CAAC;AACF,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,aAAa,GACd,CAAC;AACF,eAAO,MAAM,QAAQ,wBAQpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAExD"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import { checkoutCommand } from "./checkout.js";
|
|
1
2
|
import { helpCommand } from "./help.js";
|
|
2
3
|
import { initCommand } from "./init.js";
|
|
3
4
|
import { setupGlobalsCommand } from "./setup-globals.js";
|
|
4
5
|
import { updateCommand } from "./update.js";
|
|
5
6
|
import { useCommand } from "./use.js";
|
|
6
7
|
import { versionOption } from "./version.js";
|
|
7
|
-
export { helpCommand, initCommand, setupGlobalsCommand, updateCommand, useCommand, versionOption, };
|
|
8
|
+
export { checkoutCommand, helpCommand, initCommand, setupGlobalsCommand, updateCommand, useCommand, versionOption, };
|
|
8
9
|
export const commands = [
|
|
9
10
|
setupGlobalsCommand,
|
|
10
11
|
initCommand,
|
|
12
|
+
checkoutCommand,
|
|
11
13
|
useCommand,
|
|
12
14
|
updateCommand,
|
|
13
15
|
helpCommand,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,aAAa,GACd,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,mBAAmB;IACnB,WAAW;IACX,UAAU;IACV,aAAa;IACb,WAAW;IACX,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAgB;IACvD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,aAAa,GACd,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,mBAAmB;IACnB,WAAW;IACX,eAAe;IACf,UAAU;IACV,aAAa;IACb,WAAW;IACX,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAgB;IACvD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUrD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,iBAAiB,CAClC;IAAC,MAAM,GAAG,SAAS;IAAE,WAAW;CAAC,CAsBlC,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAkErD"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { createProject,
|
|
1
|
+
import { createProject, parseTag } from "@powerhousedao/codegen";
|
|
2
2
|
import { initHelp } from "../help.js";
|
|
3
|
-
import { getPackageManagerFromPath, PH_BIN_PATH, resolvePackageManagerOptions, withCustomHelp, } from "../utils/index.js";
|
|
3
|
+
import { getPackageManagerFromPath, PH_BIN_PATH, resolvePackageManagerOptions, validateRemoteDrive, withCustomHelp, } from "../utils/index.js";
|
|
4
4
|
export const init = async (projectName, options) => {
|
|
5
5
|
console.log("Initializing a new project...");
|
|
6
6
|
try {
|
|
7
7
|
await createProject({
|
|
8
8
|
name: options.project ?? projectName,
|
|
9
9
|
interactive: options.interactive ?? false,
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
tag: parseTag({
|
|
11
|
+
tag: options.tag,
|
|
12
12
|
dev: options.dev,
|
|
13
13
|
staging: options.staging,
|
|
14
14
|
}),
|
|
15
|
+
branch: options.branch,
|
|
15
16
|
packageManager: resolvePackageManagerOptions(options) ??
|
|
16
17
|
getPackageManagerFromPath(PH_BIN_PATH),
|
|
18
|
+
vetraDriveUrl: options.remoteDrive,
|
|
17
19
|
});
|
|
18
20
|
}
|
|
19
21
|
catch (error) {
|
|
@@ -27,15 +29,48 @@ export function initCommand(program) {
|
|
|
27
29
|
.argument("[project-name]", "Name of the project")
|
|
28
30
|
.option("-p, --project", "Name of the project")
|
|
29
31
|
.option("-i, --interactive", "Run the command in interactive mode")
|
|
30
|
-
.option("--branch <branch>",
|
|
31
|
-
.option("--tag <tag>",
|
|
32
|
+
.option("-b, --branch <branch>", "Specify custom boilerplate branch to use.")
|
|
33
|
+
.option("-t, --tag <tag>", 'Version of the Powerhouse dependencies to use. Defaults to "main"')
|
|
32
34
|
.option("--dev", 'Use "development" version of the boilerplate')
|
|
33
|
-
.option("--staging", 'Use "
|
|
35
|
+
.option("--staging", 'Use "staging" version of the boilerplate')
|
|
34
36
|
.option("--package-manager <packageManager>", "package manager to be used")
|
|
35
37
|
.option("--npm", "Use 'npm' as package manager")
|
|
36
38
|
.option("--pnpm", "Use 'pnpm' as package manager")
|
|
37
39
|
.option("--yarn", "Use 'yarn' as package manager")
|
|
38
|
-
.option("--bun", "Use 'bun' as package manager")
|
|
40
|
+
.option("--bun", "Use 'bun' as package manager")
|
|
41
|
+
.option("-r, --remote-drive <remoteDrive>", "Remote drive identifier");
|
|
42
|
+
initCmd.hook("preAction", async (thisCommand) => {
|
|
43
|
+
const options = thisCommand.opts();
|
|
44
|
+
if (options.remoteDrive) {
|
|
45
|
+
const isValid = await validateRemoteDrive(options.remoteDrive);
|
|
46
|
+
if (!isValid) {
|
|
47
|
+
process.exit(1); // Exit if validation fails
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
initCmd.hook("postAction", (thisCommand) => {
|
|
52
|
+
const options = thisCommand.opts();
|
|
53
|
+
if (options.remoteDrive) {
|
|
54
|
+
const args = thisCommand.args;
|
|
55
|
+
const projectName = options.project ?? args[0];
|
|
56
|
+
let branchName = "main";
|
|
57
|
+
if (options.dev) {
|
|
58
|
+
branchName = "dev";
|
|
59
|
+
}
|
|
60
|
+
else if (options.staging) {
|
|
61
|
+
branchName = "staging";
|
|
62
|
+
}
|
|
63
|
+
console.log();
|
|
64
|
+
console.log("To link your project to GitHub:");
|
|
65
|
+
console.log();
|
|
66
|
+
console.log(" 1. Create a new repository on GitHub");
|
|
67
|
+
console.log(` 2. cd ${projectName}`);
|
|
68
|
+
console.log(" 3. git add . && git commit -m 'Initial commit'");
|
|
69
|
+
console.log(" 4. git remote add origin <your-github-url>");
|
|
70
|
+
console.log(` 5. git push -u origin ${branchName}`);
|
|
71
|
+
console.log();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
39
74
|
// Use withCustomHelp instead of withHelpAction and addHelpText
|
|
40
75
|
return withCustomHelp(initCmd, init, initHelp);
|
|
41
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export function setupGlobalsCommand(program) {
|
|
|
10
10
|
.argument("[project-name]", "Name of the project")
|
|
11
11
|
.option("-p, --project", "Name of the project")
|
|
12
12
|
.option("-i, --interactive", "Run the command in interactive mode")
|
|
13
|
-
.option("-
|
|
13
|
+
.option("-t, --tag", 'Specify development version to use. Defaults to "main"')
|
|
14
14
|
.option("--dev", 'Use "development" version of the boilerplate')
|
|
15
15
|
.option("--staging", 'Use "development" version of the boilerplate')
|
|
16
16
|
.option("--package-manager <packageManager>", "package manager to be used")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-globals.js","sourceRoot":"","sources":["../../../src/commands/setup-globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBxE,MAAM,CAAC,MAAM,YAAY,GAErB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,eAAe,GAAG,OAAO;SAC5B,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,0BAA0B,CAAC;SACvC,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;SAClE,MAAM,CACL,
|
|
1
|
+
{"version":3,"file":"setup-globals.js","sourceRoot":"","sources":["../../../src/commands/setup-globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBxE,MAAM,CAAC,MAAM,YAAY,GAErB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,eAAe,GAAG,OAAO;SAC5B,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,0BAA0B,CAAC;SACvC,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;SAClE,MAAM,CACL,WAAW,EACX,wDAAwD,CACzD;SACA,MAAM,CAAC,OAAO,EAAE,8CAA8C,CAAC;SAC/D,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;SACnE,MAAM,CAAC,oCAAoC,EAAE,4BAA4B,CAAC;SAC1E,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACjD,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IAEnD,+DAA+D;IAC/D,OAAO,cAAc,CACnB,eAAe,EACf,YAAY,EACZ,gBAAgB,CACjB,CAAC;AACJ,CAAC"}
|
package/dist/src/help.d.ts
CHANGED
|
@@ -17,5 +17,9 @@ export declare const setupGlobalsHelp = "\nCommand Overview:\n The setup-global
|
|
|
17
17
|
/**
|
|
18
18
|
* Help text for the init command
|
|
19
19
|
*/
|
|
20
|
-
export declare const initHelp = "\nCommand Overview:\n The init command creates a new Powerhouse project with optimal defaults. It sets up a fully \n configured project structure with all necessary dependencies, configurations, and boilerplate.\n\n This command:\n 1. Creates a new project with the specified name\n 2. Installs all required dependencies for Powerhouse development\n 3. Sets up a proper project structure and configuration files\n 4. Can run in interactive mode for customized setup\n\nArguments:\n [project-name] Optional. Name of the project to create. If not provided,\n you'll be prompted to provide a name, or the current directory \n will be used if in interactive mode.\n\nOptions:\n -p, --project Specify the name of the project to create.\n \n -i, --interactive Run the command in interactive mode, which will guide you\n through the project setup with customizable options.\n
|
|
20
|
+
export declare const initHelp = "\nCommand Overview:\n The init command creates a new Powerhouse project with optimal defaults. It sets up a fully \n configured project structure with all necessary dependencies, configurations, and boilerplate.\n\n This command:\n 1. Creates a new project with the specified name\n 2. Installs all required dependencies for Powerhouse development\n 3. Sets up a proper project structure and configuration files\n 4. Can run in interactive mode for customized setup\n\nArguments:\n [project-name] Optional. Name of the project to create. If not provided,\n you'll be prompted to provide a name, or the current directory \n will be used if in interactive mode.\n\nOptions:\n -p, --project Specify the name of the project to create.\n \n -i, --interactive Run the command in interactive mode, which will guide you\n through the project setup with customizable options.\n \n -t, --tag Version of the Powerhouse dependencies to use. Defaults to \"main\"\n \n --dev Use the \"development\" version.\n \n --staging Use the \"staging\" version.\n\n -b, --branch Specify custom boilerplate branch to use.\n \n --package-manager Override the auto-detected package manager with the specified one.\n\nProject Structure:\n The command will create a complete project with:\n - Properly configured TypeScript and build settings\n - Powerhouse document-model integration\n - All necessary package.json dependencies\n - Development scripts and tooling\n\nExamples:\n $ ph init my-awesome-project # Create a new project named \"my-awesome-project\"\n $ ph init -i # Create a project in interactive mode\n $ ph init -p my-project # Same as ph init my-project\n $ ph init --dev # Use development version of boilerplate\n $ ph init -v beta # Use specific version\n $ ph init --package-manager yarn # Use yarn as package manager\n $ ph init my-awesome-project --dev --package-manager pnpm # Create a project with Powerhouse dev packages and pnpm as package manager\n";
|
|
21
|
+
/**
|
|
22
|
+
* Help text for the checkout command
|
|
23
|
+
*/
|
|
24
|
+
export declare const checkoutHelp = "\nCommand Overview:\n The checkout command clones an existing Powerhouse project from a remote Vetra drive.\n This allows you to work on projects that have been initialized and configured by others.\n\n This command:\n 1. Fetches the GitHub repository URL from the specified Vetra remote drive\n 2. Clones the repository to your local machine\n 3. Installs all project dependencies\n\nRequired Options:\n -r, --remote-drive <url> URL of the Vetra remote drive containing the project.\n The drive must have a Vetra package with a configured GitHub URL.\n\nOptions:\n --package-manager <pm> Specify which package manager to use for installing dependencies.\n Supported: npm, yarn, pnpm, bun\n If not specified, uses the detected package manager from your environment.\n\nExamples:\n $ ph checkout --remote-drive https://vetra.example.com/d/abc123 # Clone project using default package manager\n $ ph checkout --remote-drive https://vetra.example.com/d/abc123 --package-manager pnpm # Clone and install with pnpm\n\nNotes:\n - The remote drive must contain a Vetra package document with a GitHub URL configured\n - If no GitHub URL is found, you'll need to use 'ph init --remote-drive' instead to create a new project\n - The repository will be cloned into a directory named after the repository\n";
|
|
21
25
|
//# sourceMappingURL=help.d.ts.map
|
package/dist/src/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,miEAmCtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,wtFAgDnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,kgEA0C5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,miEAmCtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,wtFAgDnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,kgEA0C5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,w4EA+CpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,64CA2BxB,CAAC"}
|
package/dist/src/help.js
CHANGED
|
@@ -163,12 +163,14 @@ Options:
|
|
|
163
163
|
|
|
164
164
|
-i, --interactive Run the command in interactive mode, which will guide you
|
|
165
165
|
through the project setup with customizable options.
|
|
166
|
+
|
|
167
|
+
-t, --tag Version of the Powerhouse dependencies to use. Defaults to "main"
|
|
166
168
|
|
|
167
|
-
|
|
169
|
+
--dev Use the "development" version.
|
|
168
170
|
|
|
169
|
-
--
|
|
170
|
-
|
|
171
|
-
--
|
|
171
|
+
--staging Use the "staging" version.
|
|
172
|
+
|
|
173
|
+
-b, --branch Specify custom boilerplate branch to use.
|
|
172
174
|
|
|
173
175
|
--package-manager Override the auto-detected package manager with the specified one.
|
|
174
176
|
|
|
@@ -188,5 +190,36 @@ Examples:
|
|
|
188
190
|
$ ph init --package-manager yarn # Use yarn as package manager
|
|
189
191
|
$ ph init my-awesome-project --dev --package-manager pnpm # Create a project with Powerhouse dev packages and pnpm as package manager
|
|
190
192
|
`;
|
|
193
|
+
/**
|
|
194
|
+
* Help text for the checkout command
|
|
195
|
+
*/
|
|
196
|
+
export const checkoutHelp = `
|
|
197
|
+
Command Overview:
|
|
198
|
+
The checkout command clones an existing Powerhouse project from a remote Vetra drive.
|
|
199
|
+
This allows you to work on projects that have been initialized and configured by others.
|
|
200
|
+
|
|
201
|
+
This command:
|
|
202
|
+
1. Fetches the GitHub repository URL from the specified Vetra remote drive
|
|
203
|
+
2. Clones the repository to your local machine
|
|
204
|
+
3. Installs all project dependencies
|
|
205
|
+
|
|
206
|
+
Required Options:
|
|
207
|
+
-r, --remote-drive <url> URL of the Vetra remote drive containing the project.
|
|
208
|
+
The drive must have a Vetra package with a configured GitHub URL.
|
|
209
|
+
|
|
210
|
+
Options:
|
|
211
|
+
--package-manager <pm> Specify which package manager to use for installing dependencies.
|
|
212
|
+
Supported: npm, yarn, pnpm, bun
|
|
213
|
+
If not specified, uses the detected package manager from your environment.
|
|
214
|
+
|
|
215
|
+
Examples:
|
|
216
|
+
$ ph checkout --remote-drive https://vetra.example.com/d/abc123 # Clone project using default package manager
|
|
217
|
+
$ ph checkout --remote-drive https://vetra.example.com/d/abc123 --package-manager pnpm # Clone and install with pnpm
|
|
218
|
+
|
|
219
|
+
Notes:
|
|
220
|
+
- The remote drive must contain a Vetra package document with a GitHub URL configured
|
|
221
|
+
- If no GitHub URL is found, you'll need to use 'ph init --remote-drive' instead to create a new project
|
|
222
|
+
- The repository will be cloned into a directory named after the repository
|
|
223
|
+
`;
|
|
191
224
|
// Add other command help texts here as needed
|
|
192
225
|
//# sourceMappingURL=help.js.map
|
package/dist/src/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B3B,CAAC;AAEF,8CAA8C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { forwardPHCommand, getPackageManagerFromLockfile, getProjectInfo, } from "
|
|
1
|
+
import { forwardPHCommand, getPackageManagerFromLockfile, getProjectInfo, } from "./package-manager.js";
|
|
2
2
|
// Configuration constants for help formatting
|
|
3
3
|
export const HELP_FORMATTING_CONFIG = {
|
|
4
4
|
// Column width for command descriptions alignment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-formatting.js","sourceRoot":"","sources":["../../../src/utils/help-formatting.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,cAAc,GACf,MAAM,
|
|
1
|
+
{"version":3,"file":"help-formatting.js","sourceRoot":"","sources":["../../../src/utils/help-formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export * from "./constants.js";
|
|
2
|
-
export * from "./create-global-project.js";
|
|
3
2
|
export * from "./dependencies.js";
|
|
4
3
|
export * from "./help-formatting.js";
|
|
5
4
|
export * from "./help.js";
|
|
6
5
|
export * from "./package-manager.js";
|
|
7
6
|
export type * from "./types.js";
|
|
7
|
+
export * from "./validate-remote-drive.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,mBAAmB,YAAY,CAAC;AAChC,cAAc,4BAA4B,CAAC"}
|
package/dist/src/utils/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./constants.js";
|
|
2
|
-
export * from "./create-global-project.js";
|
|
3
2
|
export * from "./dependencies.js";
|
|
4
3
|
export * from "./help-formatting.js";
|
|
5
4
|
export * from "./help.js";
|
|
6
5
|
export * from "./package-manager.js";
|
|
6
|
+
export * from "./validate-remote-drive.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PackageManager, PathValidation, ProjectInfo } from "./types.js";
|
|
1
|
+
import type { GlobalProjectOptions, PackageManager, PathValidation, ProjectInfo } from "./types.js";
|
|
2
2
|
export declare function resolvePackageManagerOptions(options: {
|
|
3
3
|
packageManager?: string;
|
|
4
4
|
npm?: boolean;
|
|
@@ -30,4 +30,5 @@ export declare function forwardPHCommand(packageManager: PackageManager, project
|
|
|
30
30
|
* const packageDir = findContainerDirectory('/path/to/project/src/components', 'package.json');
|
|
31
31
|
*/
|
|
32
32
|
export declare const findContainerDirectory: (startPath: string, targetFile: string) => string | null;
|
|
33
|
+
export declare const createGlobalProject: (projectName?: string, options?: GlobalProjectOptions) => Promise<void>;
|
|
33
34
|
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/package-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/package-manager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,sBAsBA;AAED,wBAAgB,qBAAqB,YAEpC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,WAI9C;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,cAAsC,iBAevD;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAYrE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAUzE;AAED,wBAAsB,cAAc,CAClC,KAAK,CAAC,EAAE,OAAO,EACf,qBAAqB,UAAO,GAC3B,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,OAAO,EACf,aAAa,UAAQ,UAoCtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,YAAY,MAAM,KACjB,MAAM,GAAG,IAeX,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,cAAc,MAAM,EACpB,UAAS,oBAAyB,kBA6BnC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { createProject, parseTag } from "@powerhousedao/codegen";
|
|
1
2
|
import { execSync } from "node:child_process";
|
|
2
3
|
import { existsSync } from "node:fs";
|
|
3
4
|
import path, { dirname } from "node:path";
|
|
4
|
-
import { POWERHOUSE_CONFIG_FILE, POWERHOUSE_GLOBAL_DIR, packageManagers, } from "./constants.js";
|
|
5
|
-
import { createGlobalProject } from "./create-global-project.js";
|
|
5
|
+
import { HOME_DIR, PH_BIN_PATH, PH_GLOBAL_PROJECT_NAME, POWERHOUSE_CONFIG_FILE, POWERHOUSE_GLOBAL_DIR, packageManagers, } from "./constants.js";
|
|
6
6
|
export function resolvePackageManagerOptions(options) {
|
|
7
7
|
if (options.packageManager) {
|
|
8
8
|
return options.packageManager;
|
|
@@ -149,4 +149,27 @@ export const findContainerDirectory = (startPath, targetFile) => {
|
|
|
149
149
|
}
|
|
150
150
|
return findContainerDirectory(parentDir, targetFile);
|
|
151
151
|
};
|
|
152
|
+
export const createGlobalProject = async (projectName, options = {}) => {
|
|
153
|
+
// check if the global project already exists
|
|
154
|
+
const globalProjectExists = existsSync(POWERHOUSE_GLOBAL_DIR);
|
|
155
|
+
if (globalProjectExists) {
|
|
156
|
+
console.log(`📦 Using global project: ${POWERHOUSE_GLOBAL_DIR}`);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
console.log("📦 Initializing global project...");
|
|
160
|
+
process.chdir(HOME_DIR);
|
|
161
|
+
try {
|
|
162
|
+
await createProject({
|
|
163
|
+
name: PH_GLOBAL_PROJECT_NAME,
|
|
164
|
+
interactive: false,
|
|
165
|
+
tag: parseTag(options),
|
|
166
|
+
packageManager: resolvePackageManagerOptions(options) ??
|
|
167
|
+
getPackageManagerFromPath(PH_BIN_PATH),
|
|
168
|
+
});
|
|
169
|
+
console.log(`🚀 Global project initialized successfully: ${POWERHOUSE_GLOBAL_DIR}`);
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
console.error("❌ Failed to initialize the global project", error);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
152
175
|
//# sourceMappingURL=package-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/utils/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface PackageDocumentResult {
|
|
2
|
+
isValid: boolean;
|
|
3
|
+
githubUrl?: string;
|
|
4
|
+
error?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function getPackageDocument(remoteDriveUrl: string): Promise<PackageDocumentResult>;
|
|
7
|
+
//# sourceMappingURL=validate-remote-drive-checkout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-remote-drive-checkout.d.ts","sourceRoot":"","sources":["../../../src/utils/validate-remote-drive-checkout.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAoDhC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getVetraDocuments } from "@powerhousedao/common/utils";
|
|
2
|
+
export async function getPackageDocument(remoteDriveUrl) {
|
|
3
|
+
try {
|
|
4
|
+
const driveId = remoteDriveUrl.split("/").pop();
|
|
5
|
+
const url = new URL(remoteDriveUrl);
|
|
6
|
+
const graphqlEndpoint = `${url.protocol}//${url.host}/graphql`;
|
|
7
|
+
if (!driveId) {
|
|
8
|
+
return {
|
|
9
|
+
isValid: false,
|
|
10
|
+
error: "❌ Invalid remote drive URL: unable to extract drive ID",
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const documents = await getVetraDocuments(graphqlEndpoint, driveId);
|
|
14
|
+
// Check if no documents found
|
|
15
|
+
if (documents.length === 0) {
|
|
16
|
+
return {
|
|
17
|
+
isValid: false,
|
|
18
|
+
error: "❌ No Vetra package documents found in the remote drive. Use 'ph init --remote-drive' to create a new project first.",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// Find documents with githubUrl
|
|
22
|
+
const documentsWithUrl = documents.filter((doc) => doc.githubUrl);
|
|
23
|
+
if (documentsWithUrl.length === 0) {
|
|
24
|
+
return {
|
|
25
|
+
isValid: false,
|
|
26
|
+
error: "❌ No GitHub URL configured in the Vetra package. Use 'ph init --remote-drive' to create a new project first.",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// Warn if multiple documents found
|
|
30
|
+
if (documents.length > 1) {
|
|
31
|
+
console.warn(`⚠️ Warning: Multiple Vetra package documents found (${documents.length}). Using first document with GitHub URL.`);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
isValid: true,
|
|
35
|
+
githubUrl: documentsWithUrl[0].githubUrl,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return {
|
|
40
|
+
isValid: false,
|
|
41
|
+
error: `❌ Unable to fetch remote drive info: ${error instanceof Error ? error.message : String(error)}`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=validate-remote-drive-checkout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-remote-drive-checkout.js","sourceRoot":"","sources":["../../../src/utils/validate-remote-drive-checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAQhE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,UAAU,CAAC;QAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,wDAAwD;aAChE,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAEpE,8BAA8B;QAC9B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,qHAAqH;aACxH,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAElE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,8GAA8G;aACjH,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CACV,wDAAwD,SAAS,CAAC,MAAM,0CAA0C,CACnH,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;SACzC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACxG,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates a remote drive for initialization.
|
|
3
|
+
* Returns true if validation passes, false if it should stop execution.
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateRemoteDrive(remoteDriveUrl: string): Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=validate-remote-drive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-remote-drive.d.ts","sourceRoot":"","sources":["../../../src/utils/validate-remote-drive.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CA2ClB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getVetraDocuments } from "@powerhousedao/common/utils";
|
|
2
|
+
/**
|
|
3
|
+
* Validates a remote drive for initialization.
|
|
4
|
+
* Returns true if validation passes, false if it should stop execution.
|
|
5
|
+
*/
|
|
6
|
+
export async function validateRemoteDrive(remoteDriveUrl) {
|
|
7
|
+
try {
|
|
8
|
+
// Parse driveId from URL
|
|
9
|
+
const driveId = remoteDriveUrl.split("/").pop();
|
|
10
|
+
if (!remoteDriveUrl || remoteDriveUrl.trim() === "") {
|
|
11
|
+
console.error("❌ Remote drive URL is required");
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
// Construct GraphQL endpoint from base URL
|
|
15
|
+
const url = new URL(remoteDriveUrl);
|
|
16
|
+
const graphqlEndpoint = `${url.protocol}//${url.host}/graphql`;
|
|
17
|
+
const documents = await getVetraDocuments(graphqlEndpoint, driveId);
|
|
18
|
+
if (documents.length === 0) {
|
|
19
|
+
console.error("❌ No vetra package document were found in the provided drive");
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (documents.length > 1) {
|
|
23
|
+
console.warn("⚠️ Multiple vetra package documents were found in the provided remote drive, this might be an error in your remote drive");
|
|
24
|
+
}
|
|
25
|
+
const hasGithubUrl = documents.some((doc) => doc.githubUrl);
|
|
26
|
+
if (hasGithubUrl) {
|
|
27
|
+
console.error("❌ The remote drive provided already has been configured with a github url, please use the checkout command instead: ph checkout --remote-drive <remote drive url>");
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error("❌ Unable to fetch remote drive info:", error);
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=validate-remote-drive.js.map
|