@procedures/pnpm 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/LICENSE +21 -0
- package/README.md +792 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/module.d.ts +15 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +113 -0
- package/dist/module.js.map +1 -0
- package/dist/procedures/pnpm/add.d.ts +25 -0
- package/dist/procedures/pnpm/add.d.ts.map +1 -0
- package/dist/procedures/pnpm/add.js +34 -0
- package/dist/procedures/pnpm/add.js.map +1 -0
- package/dist/procedures/pnpm/index.d.ts +10 -0
- package/dist/procedures/pnpm/index.d.ts.map +1 -0
- package/dist/procedures/pnpm/index.js +10 -0
- package/dist/procedures/pnpm/index.js.map +1 -0
- package/dist/procedures/pnpm/install.d.ts +23 -0
- package/dist/procedures/pnpm/install.d.ts.map +1 -0
- package/dist/procedures/pnpm/install.js +36 -0
- package/dist/procedures/pnpm/install.js.map +1 -0
- package/dist/procedures/pnpm/link.d.ts +24 -0
- package/dist/procedures/pnpm/link.d.ts.map +1 -0
- package/dist/procedures/pnpm/link.js +35 -0
- package/dist/procedures/pnpm/link.js.map +1 -0
- package/dist/procedures/pnpm/remove.d.ts +18 -0
- package/dist/procedures/pnpm/remove.d.ts.map +1 -0
- package/dist/procedures/pnpm/remove.js +25 -0
- package/dist/procedures/pnpm/remove.js.map +1 -0
- package/dist/procedures/pnpm/run.d.ts +25 -0
- package/dist/procedures/pnpm/run.d.ts.map +1 -0
- package/dist/procedures/pnpm/run.js +33 -0
- package/dist/procedures/pnpm/run.js.map +1 -0
- package/dist/procedures/pnpm/shared.d.ts +25 -0
- package/dist/procedures/pnpm/shared.d.ts.map +1 -0
- package/dist/procedures/pnpm/shared.js +75 -0
- package/dist/procedures/pnpm/shared.js.map +1 -0
- package/dist/procedures/pnpm/store.d.ts +23 -0
- package/dist/procedures/pnpm/store.d.ts.map +1 -0
- package/dist/procedures/pnpm/store.js +85 -0
- package/dist/procedures/pnpm/store.js.map +1 -0
- package/dist/register.d.ts +9 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +16 -0
- package/dist/register.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +98 -0
- package/dist/types.js.map +1 -0
- package/package.json +76 -3
- package/src/index.ts +57 -0
- package/src/module.ts +142 -0
- package/src/procedures/pnpm/add.ts +40 -0
- package/src/procedures/pnpm/index.ts +10 -0
- package/src/procedures/pnpm/install.ts +43 -0
- package/src/procedures/pnpm/link.ts +43 -0
- package/src/procedures/pnpm/remove.ts +32 -0
- package/src/procedures/pnpm/run.ts +41 -0
- package/src/procedures/pnpm/shared.ts +85 -0
- package/src/procedures/pnpm/store.ts +97 -0
- package/src/register.ts +20 -0
- package/src/types.ts +180 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.add procedure
|
|
3
|
+
*
|
|
4
|
+
* Add packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
7
|
+
import type { PnpmAddInput, PnpmCommandOutput } from "../../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Add packages using pnpm
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Add a package
|
|
13
|
+
* await client.call(["pnpm", "add"], {
|
|
14
|
+
* packages: ["lodash"],
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Add as dev dependency
|
|
19
|
+
* await client.call(["pnpm", "add"], {
|
|
20
|
+
* packages: ["vitest", "@types/node"],
|
|
21
|
+
* dev: true,
|
|
22
|
+
* });
|
|
23
|
+
*/
|
|
24
|
+
export declare function pnpmAdd(input: PnpmAddInput, ctx: ProcedureContext): Promise<PnpmCommandOutput>;
|
|
25
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/add.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAU5B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.add procedure
|
|
3
|
+
*
|
|
4
|
+
* Add packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import { pnpmArg, runPnpm } from "./shared.js";
|
|
7
|
+
/**
|
|
8
|
+
* Add packages using pnpm
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Add a package
|
|
12
|
+
* await client.call(["pnpm", "add"], {
|
|
13
|
+
* packages: ["lodash"],
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Add as dev dependency
|
|
18
|
+
* await client.call(["pnpm", "add"], {
|
|
19
|
+
* packages: ["vitest", "@types/node"],
|
|
20
|
+
* dev: true,
|
|
21
|
+
* });
|
|
22
|
+
*/
|
|
23
|
+
export async function pnpmAdd(input, ctx) {
|
|
24
|
+
{
|
|
25
|
+
const args = ["add", ...input.packages.map((p) => pnpmArg("package", p))];
|
|
26
|
+
// Add flags
|
|
27
|
+
if (input.dev)
|
|
28
|
+
args.push("--save-dev");
|
|
29
|
+
if (input.global)
|
|
30
|
+
args.push("--global");
|
|
31
|
+
return runPnpm(args, input, ctx);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/add.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAmB,EACnB,GAAqB;IAErB,CAAC;QACC,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpF,YAAY;QACZ,IAAI,KAAK,CAAC,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm Procedures
|
|
3
|
+
*/
|
|
4
|
+
export { pnpmInstall } from "./install.js";
|
|
5
|
+
export { pnpmAdd } from "./add.js";
|
|
6
|
+
export { pnpmRemove } from "./remove.js";
|
|
7
|
+
export { pnpmLink } from "./link.js";
|
|
8
|
+
export { pnpmRun } from "./run.js";
|
|
9
|
+
export { pnpmStorePath } from "./store.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm Procedures
|
|
3
|
+
*/
|
|
4
|
+
export { pnpmInstall } from "./install.js";
|
|
5
|
+
export { pnpmAdd } from "./add.js";
|
|
6
|
+
export { pnpmRemove } from "./remove.js";
|
|
7
|
+
export { pnpmLink } from "./link.js";
|
|
8
|
+
export { pnpmRun } from "./run.js";
|
|
9
|
+
export { pnpmStorePath } from "./store.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.install procedure
|
|
3
|
+
*
|
|
4
|
+
* Install packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
7
|
+
import type { PnpmInstallInput, PnpmCommandOutput } from "../../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Install packages using pnpm
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Install all dependencies from package.json
|
|
13
|
+
* await client.call(["pnpm", "install"], {});
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Install specific packages as dev dependencies
|
|
17
|
+
* await client.call(["pnpm", "install"], {
|
|
18
|
+
* packages: ["vitest", "@types/node"],
|
|
19
|
+
* dev: true,
|
|
20
|
+
* });
|
|
21
|
+
*/
|
|
22
|
+
export declare function pnpmInstall(input: PnpmInstallInput, ctx: ProcedureContext): Promise<PnpmCommandOutput>;
|
|
23
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.install procedure
|
|
3
|
+
*
|
|
4
|
+
* Install packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import { pnpmArg, runPnpm } from "./shared.js";
|
|
7
|
+
/**
|
|
8
|
+
* Install packages using pnpm
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Install all dependencies from package.json
|
|
12
|
+
* await client.call(["pnpm", "install"], {});
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Install specific packages as dev dependencies
|
|
16
|
+
* await client.call(["pnpm", "install"], {
|
|
17
|
+
* packages: ["vitest", "@types/node"],
|
|
18
|
+
* dev: true,
|
|
19
|
+
* });
|
|
20
|
+
*/
|
|
21
|
+
export async function pnpmInstall(input, ctx) {
|
|
22
|
+
{
|
|
23
|
+
const args = ["install"];
|
|
24
|
+
// Add packages if specified
|
|
25
|
+
if (input.packages && input.packages.length > 0) {
|
|
26
|
+
args.push(...input.packages.map((p) => pnpmArg("package", p)));
|
|
27
|
+
}
|
|
28
|
+
// Add flags
|
|
29
|
+
if (input.dev)
|
|
30
|
+
args.push("--save-dev");
|
|
31
|
+
if (input.frozen)
|
|
32
|
+
args.push("--frozen-lockfile");
|
|
33
|
+
return runPnpm(args, input, ctx);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAuB,EACvB,GAAqB;IAErB,CAAC;QACC,MAAM,IAAI,GAAa,CAAC,SAAS,CAAC,CAAC;QAEnC,4BAA4B;QAC5B,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,YAAY;QACZ,IAAI,KAAK,CAAC,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjD,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.link procedure
|
|
3
|
+
*
|
|
4
|
+
* Link packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
7
|
+
import type { PnpmLinkInput, PnpmCommandOutput } from "../../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Link packages using pnpm
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Link current directory globally
|
|
13
|
+
* await client.call(["pnpm", "link"], {
|
|
14
|
+
* global: true,
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Link a specific path
|
|
19
|
+
* await client.call(["pnpm", "link"], {
|
|
20
|
+
* path: "../other-package",
|
|
21
|
+
* });
|
|
22
|
+
*/
|
|
23
|
+
export declare function pnpmLink(input: PnpmLinkInput, ctx: ProcedureContext): Promise<PnpmCommandOutput>;
|
|
24
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/link.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAc5B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.link procedure
|
|
3
|
+
*
|
|
4
|
+
* Link packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import { pnpmArg, runPnpm } from "./shared.js";
|
|
7
|
+
/**
|
|
8
|
+
* Link packages using pnpm
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Link current directory globally
|
|
12
|
+
* await client.call(["pnpm", "link"], {
|
|
13
|
+
* global: true,
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Link a specific path
|
|
18
|
+
* await client.call(["pnpm", "link"], {
|
|
19
|
+
* path: "../other-package",
|
|
20
|
+
* });
|
|
21
|
+
*/
|
|
22
|
+
export async function pnpmLink(input, ctx) {
|
|
23
|
+
{
|
|
24
|
+
const args = ["link"];
|
|
25
|
+
// Add path if specified
|
|
26
|
+
if (input.path !== undefined) {
|
|
27
|
+
args.push(pnpmArg("path", input.path));
|
|
28
|
+
}
|
|
29
|
+
// Add flags
|
|
30
|
+
if (input.global)
|
|
31
|
+
args.push("--global");
|
|
32
|
+
return runPnpm(args, input, ctx);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/link.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAoB,EACpB,GAAqB;IAErB,CAAC;QACC,MAAM,IAAI,GAAa,CAAC,MAAM,CAAC,CAAC;QAEhC,wBAAwB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,YAAY;QACZ,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.remove procedure
|
|
3
|
+
*
|
|
4
|
+
* Remove packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
7
|
+
import type { PnpmRemoveInput, PnpmCommandOutput } from "../../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Remove packages using pnpm
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Remove packages
|
|
13
|
+
* await client.call(["pnpm", "remove"], {
|
|
14
|
+
* packages: ["lodash"],
|
|
15
|
+
* });
|
|
16
|
+
*/
|
|
17
|
+
export declare function pnpmRemove(input: PnpmRemoveInput, ctx: ProcedureContext): Promise<PnpmCommandOutput>;
|
|
18
|
+
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/remove.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAS5B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.remove procedure
|
|
3
|
+
*
|
|
4
|
+
* Remove packages using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import { pnpmArg, runPnpm } from "./shared.js";
|
|
7
|
+
/**
|
|
8
|
+
* Remove packages using pnpm
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Remove packages
|
|
12
|
+
* await client.call(["pnpm", "remove"], {
|
|
13
|
+
* packages: ["lodash"],
|
|
14
|
+
* });
|
|
15
|
+
*/
|
|
16
|
+
export async function pnpmRemove(input, ctx) {
|
|
17
|
+
{
|
|
18
|
+
const args = ["remove", ...input.packages.map((p) => pnpmArg("package", p))];
|
|
19
|
+
// Add flags
|
|
20
|
+
if (input.global)
|
|
21
|
+
args.push("--global");
|
|
22
|
+
return runPnpm(args, input, ctx);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/remove.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAsB,EACtB,GAAqB;IAErB,CAAC;QACC,MAAM,IAAI,GAAa,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvF,YAAY;QACZ,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.run procedure
|
|
3
|
+
*
|
|
4
|
+
* Run package scripts using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
7
|
+
import type { PnpmRunInput, PnpmCommandOutput } from "../../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Run a package script using pnpm
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Run build script
|
|
13
|
+
* await client.call(["pnpm", "run"], {
|
|
14
|
+
* script: "build",
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Run test with arguments
|
|
19
|
+
* await client.call(["pnpm", "run"], {
|
|
20
|
+
* script: "test",
|
|
21
|
+
* args: ["--watch"],
|
|
22
|
+
* });
|
|
23
|
+
*/
|
|
24
|
+
export declare function pnpmRun(input: PnpmRunInput, ctx: ProcedureContext): Promise<PnpmCommandOutput>;
|
|
25
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAW5B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.run procedure
|
|
3
|
+
*
|
|
4
|
+
* Run package scripts using pnpm.
|
|
5
|
+
*/
|
|
6
|
+
import { pnpmArg, runPnpm } from "./shared.js";
|
|
7
|
+
/**
|
|
8
|
+
* Run a package script using pnpm
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Run build script
|
|
12
|
+
* await client.call(["pnpm", "run"], {
|
|
13
|
+
* script: "build",
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Run test with arguments
|
|
18
|
+
* await client.call(["pnpm", "run"], {
|
|
19
|
+
* script: "test",
|
|
20
|
+
* args: ["--watch"],
|
|
21
|
+
* });
|
|
22
|
+
*/
|
|
23
|
+
export async function pnpmRun(input, ctx) {
|
|
24
|
+
{
|
|
25
|
+
const args = ["run", pnpmArg("script", input.script)];
|
|
26
|
+
// Add additional arguments
|
|
27
|
+
if (input.args && input.args.length > 0) {
|
|
28
|
+
args.push("--", ...input.args);
|
|
29
|
+
}
|
|
30
|
+
return runPnpm(args, input, ctx);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAmB,EACnB,GAAqB;IAErB,CAAC;QACC,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhE,2BAA2B;QAC3B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The way every pnpm procedure runs pnpm: an argument list through `shell.run`, no shell.
|
|
3
|
+
*
|
|
4
|
+
* Before, each procedure joined its arguments into one string for `shell.exec`, which runs a
|
|
5
|
+
* shell, so a package name such as `x & calc` ran a second command (deep dive WRP-5).
|
|
6
|
+
*
|
|
7
|
+
* On Windows, `pnpm` is often a `.cmd` file, and Node runs a `.cmd` file only through a shell.
|
|
8
|
+
* So the helper finds the real program: a `pnpm.exe` (the standalone pnpm), or the `pnpm.cjs`
|
|
9
|
+
* script that the `.cmd` file starts, run with Node.
|
|
10
|
+
*/
|
|
11
|
+
import type { ProcedureContext } from "@procedures/client";
|
|
12
|
+
import type { PnpmCommandOutput } from "../../types.js";
|
|
13
|
+
/** A value that pnpm reads as an argument (a package, a script, a path): it must not start with "-". */
|
|
14
|
+
export declare function pnpmArg(name: string, value: string): string;
|
|
15
|
+
/** The program and the first arguments that start pnpm without a shell. */
|
|
16
|
+
export declare function resolvePnpm(): {
|
|
17
|
+
command: string;
|
|
18
|
+
prefix: string[];
|
|
19
|
+
};
|
|
20
|
+
/** This function runs `pnpm <args>` and gives its result. It does not throw for a failed command. */
|
|
21
|
+
export declare function runPnpm(args: string[], input: {
|
|
22
|
+
cwd?: string | undefined;
|
|
23
|
+
timeout?: number | undefined;
|
|
24
|
+
}, ctx: ProcedureContext): Promise<PnpmCommandOutput>;
|
|
25
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,wGAAwG;AACxG,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBnE;AAED,qGAAqG;AACrG,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACjE,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The way every pnpm procedure runs pnpm: an argument list through `shell.run`, no shell.
|
|
3
|
+
*
|
|
4
|
+
* Before, each procedure joined its arguments into one string for `shell.exec`, which runs a
|
|
5
|
+
* shell, so a package name such as `x & calc` ran a second command (deep dive WRP-5).
|
|
6
|
+
*
|
|
7
|
+
* On Windows, `pnpm` is often a `.cmd` file, and Node runs a `.cmd` file only through a shell.
|
|
8
|
+
* So the helper finds the real program: a `pnpm.exe` (the standalone pnpm), or the `pnpm.cjs`
|
|
9
|
+
* script that the `.cmd` file starts, run with Node.
|
|
10
|
+
*/
|
|
11
|
+
import { existsSync } from "node:fs";
|
|
12
|
+
import { delimiter, join } from "node:path";
|
|
13
|
+
/** A value that pnpm reads as an argument (a package, a script, a path): it must not start with "-". */
|
|
14
|
+
export function pnpmArg(name, value) {
|
|
15
|
+
if (value.startsWith("-")) {
|
|
16
|
+
throw new Error(`Invalid ${name} (starts with "-"): ${value}`);
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
/** The program and the first arguments that start pnpm without a shell. */
|
|
21
|
+
export function resolvePnpm() {
|
|
22
|
+
// When pnpm runs this process, npm_execpath is its script
|
|
23
|
+
const execPath = process.env["npm_execpath"];
|
|
24
|
+
if (execPath && /pnpm\.c?js$/.test(execPath) && existsSync(execPath)) {
|
|
25
|
+
return { command: process.execPath, prefix: [execPath] };
|
|
26
|
+
}
|
|
27
|
+
if (process.platform !== "win32") {
|
|
28
|
+
return { command: "pnpm", prefix: [] };
|
|
29
|
+
}
|
|
30
|
+
for (const dir of (process.env["PATH"] ?? "").split(delimiter)) {
|
|
31
|
+
if (!dir)
|
|
32
|
+
continue;
|
|
33
|
+
if (existsSync(join(dir, "pnpm.exe"))) {
|
|
34
|
+
return { command: join(dir, "pnpm.exe"), prefix: [] };
|
|
35
|
+
}
|
|
36
|
+
const script = join(dir, "node_modules", "pnpm", "bin", "pnpm.cjs");
|
|
37
|
+
if (existsSync(script)) {
|
|
38
|
+
return { command: process.execPath, prefix: [script] };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
throw new Error("pnpm was not found: install pnpm, or run this from a pnpm script");
|
|
42
|
+
}
|
|
43
|
+
/** This function runs `pnpm <args>` and gives its result. It does not throw for a failed command. */
|
|
44
|
+
export async function runPnpm(args, input, ctx) {
|
|
45
|
+
const startTime = Date.now();
|
|
46
|
+
try {
|
|
47
|
+
const pnpm = resolvePnpm();
|
|
48
|
+
const shellInput = {
|
|
49
|
+
command: pnpm.command,
|
|
50
|
+
args: [...pnpm.prefix, ...args],
|
|
51
|
+
};
|
|
52
|
+
if (input.cwd !== undefined)
|
|
53
|
+
shellInput.cwd = input.cwd;
|
|
54
|
+
if (input.timeout !== undefined)
|
|
55
|
+
shellInput.timeout = input.timeout;
|
|
56
|
+
const result = await ctx.client.call(["shell", "run"], shellInput);
|
|
57
|
+
return {
|
|
58
|
+
exitCode: result.exitCode,
|
|
59
|
+
stdout: result.stdout,
|
|
60
|
+
stderr: result.stderr,
|
|
61
|
+
success: result.exitCode === 0,
|
|
62
|
+
duration: Date.now() - startTime,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return {
|
|
67
|
+
exitCode: 1,
|
|
68
|
+
stdout: "",
|
|
69
|
+
stderr: error instanceof Error ? error.message : String(error),
|
|
70
|
+
success: false,
|
|
71
|
+
duration: Date.now() - startTime,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.store.path procedure
|
|
3
|
+
*
|
|
4
|
+
* Get the pnpm store path for snapshot/restore operations.
|
|
5
|
+
* Cross-platform support for Windows, macOS, and Linux.
|
|
6
|
+
*/
|
|
7
|
+
import type { PnpmStorePathInput, PnpmStorePathOutput } from "../../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Get pnpm store path
|
|
10
|
+
*
|
|
11
|
+
* Uses `pnpm store path` command to get the actual store location.
|
|
12
|
+
* Falls back to platform-specific defaults if command fails.
|
|
13
|
+
*
|
|
14
|
+
* Store locations by platform:
|
|
15
|
+
* - Windows: %LocalAppData%\pnpm\store or %AppData%\pnpm\store
|
|
16
|
+
* - macOS/Linux: ~/.local/share/pnpm/store or ~/.pnpm-store
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const result = await client.call(["pnpm", "store", "path"], {});
|
|
20
|
+
* console.log(result.path); // "C:\Users\user\AppData\Local\pnpm\store\v3"
|
|
21
|
+
*/
|
|
22
|
+
export declare function pnpmStorePath(input: PnpmStorePathInput): Promise<PnpmStorePathOutput>;
|
|
23
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/procedures/pnpm/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsB3F"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pnpm.store.path procedure
|
|
3
|
+
*
|
|
4
|
+
* Get the pnpm store path for snapshot/restore operations.
|
|
5
|
+
* Cross-platform support for Windows, macOS, and Linux.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync } from "node:fs";
|
|
8
|
+
import { execSync } from "node:child_process";
|
|
9
|
+
/**
|
|
10
|
+
* Get pnpm store path
|
|
11
|
+
*
|
|
12
|
+
* Uses `pnpm store path` command to get the actual store location.
|
|
13
|
+
* Falls back to platform-specific defaults if command fails.
|
|
14
|
+
*
|
|
15
|
+
* Store locations by platform:
|
|
16
|
+
* - Windows: %LocalAppData%\pnpm\store or %AppData%\pnpm\store
|
|
17
|
+
* - macOS/Linux: ~/.local/share/pnpm/store or ~/.pnpm-store
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const result = await client.call(["pnpm", "store", "path"], {});
|
|
21
|
+
* console.log(result.path); // "C:\Users\user\AppData\Local\pnpm\store\v3"
|
|
22
|
+
*/
|
|
23
|
+
export async function pnpmStorePath(input) {
|
|
24
|
+
const platform = process.platform;
|
|
25
|
+
let storePath = "";
|
|
26
|
+
try {
|
|
27
|
+
// Try to get store path from pnpm directly
|
|
28
|
+
const opts = { encoding: "utf8" };
|
|
29
|
+
if (input.cwd) {
|
|
30
|
+
opts.cwd = input.cwd;
|
|
31
|
+
}
|
|
32
|
+
storePath = execSync("pnpm store path", opts).trim();
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Fallback to platform-specific defaults
|
|
36
|
+
storePath = getDefaultStorePath(platform);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
path: storePath,
|
|
40
|
+
exists: existsSync(storePath),
|
|
41
|
+
platform,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get default pnpm store path based on platform
|
|
46
|
+
*/
|
|
47
|
+
function getDefaultStorePath(platform) {
|
|
48
|
+
if (platform === "win32") {
|
|
49
|
+
// Windows: Check LocalAppData first, then AppData
|
|
50
|
+
const localAppData = process.env["LOCALAPPDATA"];
|
|
51
|
+
const appData = process.env["APPDATA"];
|
|
52
|
+
if (localAppData) {
|
|
53
|
+
const localPath = `${localAppData}\\pnpm\\store\\v3`;
|
|
54
|
+
if (existsSync(localPath)) {
|
|
55
|
+
return localPath;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (appData) {
|
|
59
|
+
const appDataPath = `${appData}\\pnpm\\store\\v3`;
|
|
60
|
+
if (existsSync(appDataPath)) {
|
|
61
|
+
return appDataPath;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Return default LocalAppData path even if it doesn't exist
|
|
65
|
+
return localAppData
|
|
66
|
+
? `${localAppData}\\pnpm\\store\\v3`
|
|
67
|
+
: `${process.env["USERPROFILE"]}\\AppData\\Local\\pnpm\\store\\v3`;
|
|
68
|
+
}
|
|
69
|
+
// macOS/Linux
|
|
70
|
+
const home = process.env["HOME"] || "";
|
|
71
|
+
// Check XDG data home first
|
|
72
|
+
const xdgDataHome = process.env["XDG_DATA_HOME"] || `${home}/.local/share`;
|
|
73
|
+
const xdgPath = `${xdgDataHome}/pnpm/store/v3`;
|
|
74
|
+
if (existsSync(xdgPath)) {
|
|
75
|
+
return xdgPath;
|
|
76
|
+
}
|
|
77
|
+
// Check legacy ~/.pnpm-store
|
|
78
|
+
const legacyPath = `${home}/.pnpm-store/v3`;
|
|
79
|
+
if (existsSync(legacyPath)) {
|
|
80
|
+
return legacyPath;
|
|
81
|
+
}
|
|
82
|
+
// Return XDG path as default
|
|
83
|
+
return xdgPath;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/procedures/pnpm/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,IAAI,GAAuC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtE,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACvB,CAAC;QAED,SAAS,GAAG,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;QAC7B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,kDAAkD;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,GAAG,YAAY,mBAAmB,CAAC;YACrD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,GAAG,OAAO,mBAAmB,CAAC;YAClD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5B,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,OAAO,YAAY;YACjB,CAAC,CAAC,GAAG,YAAY,mBAAmB;YACpC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,mCAAmC,CAAC;IACvE,CAAC;IAED,cAAc;IACd,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEvC,4BAA4B;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC;IAC3E,MAAM,OAAO,GAAG,GAAG,WAAW,gBAAgB,CAAC;IAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,GAAG,IAAI,iBAAiB,CAAC;IAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6BAA6B;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Importing this file registers the procedures of @procedures/pnpm in the global registry
|
|
3
|
+
* (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as data
|
|
4
|
+
* are in `module.ts`, which registers nothing: a host with its own registry uses that one.
|
|
5
|
+
*/
|
|
6
|
+
import "@procedures/shell";
|
|
7
|
+
export * from "./module.js";
|
|
8
|
+
export declare function registerPnpmProcedures(): void;
|
|
9
|
+
//# sourceMappingURL=register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,mBAAmB,CAAC;AAK3B,cAAc,aAAa,CAAC;AAE5B,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
package/dist/register.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Importing this file registers the procedures of @procedures/pnpm in the global registry
|
|
3
|
+
* (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as data
|
|
4
|
+
* are in `module.ts`, which registers nothing: a host with its own registry uses that one.
|
|
5
|
+
*/
|
|
6
|
+
// Import shell dependency to ensure shell.exec is registered
|
|
7
|
+
import "@procedures/shell";
|
|
8
|
+
import { registerProcedures } from "@procedures/client";
|
|
9
|
+
import { pnpmModule } from "./module.js";
|
|
10
|
+
export * from "./module.js";
|
|
11
|
+
export function registerPnpmProcedures() {
|
|
12
|
+
registerProcedures(pnpmModule.procedures);
|
|
13
|
+
}
|
|
14
|
+
// Auto-register when this module is loaded
|
|
15
|
+
registerPnpmProcedures();
|
|
16
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6DAA6D;AAC7D,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,cAAc,aAAa,CAAC;AAE5B,MAAM,UAAU,sBAAsB;IACpC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,2CAA2C;AAC3C,sBAAsB,EAAE,CAAC"}
|