@cedarjs/cli-helpers 4.2.1-next.0 → 4.2.1-next.269
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/cjs/packageManager/display.d.ts +3 -3
- package/dist/cjs/packageManager/display.d.ts.map +1 -1
- package/dist/cjs/packageManager/display.js +1 -4
- package/dist/cjs/packageManager/exec.d.ts +27 -3
- package/dist/cjs/packageManager/exec.d.ts.map +1 -1
- package/dist/cjs/packageManager/exec.js +27 -0
- package/dist/cjs/packageManager/packages.d.ts +1 -1
- package/dist/cjs/packageManager/packages.d.ts.map +1 -1
- package/dist/cjs/packageManager/packages.js +2 -1
- package/dist/cjs/packageManager/workspaces.d.ts +4 -0
- package/dist/cjs/packageManager/workspaces.d.ts.map +1 -0
- package/dist/cjs/packageManager/workspaces.js +93 -0
- package/dist/packageManager/display.d.ts +3 -3
- package/dist/packageManager/display.d.ts.map +1 -1
- package/dist/packageManager/display.js +1 -4
- package/dist/packageManager/exec.d.ts +27 -3
- package/dist/packageManager/exec.d.ts.map +1 -1
- package/dist/packageManager/exec.js +24 -0
- package/dist/packageManager/packages.d.ts +1 -1
- package/dist/packageManager/packages.d.ts.map +1 -1
- package/dist/packageManager/packages.js +2 -1
- package/dist/packageManager/workspaces.d.ts +4 -0
- package/dist/packageManager/workspaces.d.ts.map +1 -0
- package/dist/packageManager/workspaces.js +59 -0
- package/package.json +16 -7
- package/dist/auth/__tests__/authFiles.test.d.ts +0 -2
- package/dist/auth/__tests__/authFiles.test.d.ts.map +0 -1
- package/dist/auth/__tests__/authTasks.test.d.ts +0 -2
- package/dist/auth/__tests__/authTasks.test.d.ts.map +0 -1
- package/dist/auth/__tests__/mockFsFiles.d.ts +0 -14
- package/dist/auth/__tests__/mockFsFiles.d.ts.map +0 -1
- package/dist/auth/__tests__/setupHelpers.test.d.ts +0 -2
- package/dist/auth/__tests__/setupHelpers.test.d.ts.map +0 -1
- package/dist/cjs/auth/__tests__/authFiles.test.d.ts +0 -2
- package/dist/cjs/auth/__tests__/authFiles.test.d.ts.map +0 -1
- package/dist/cjs/auth/__tests__/authTasks.test.d.ts +0 -2
- package/dist/cjs/auth/__tests__/authTasks.test.d.ts.map +0 -1
- package/dist/cjs/auth/__tests__/mockFsFiles.d.ts +0 -14
- package/dist/cjs/auth/__tests__/mockFsFiles.d.ts.map +0 -1
- package/dist/cjs/auth/__tests__/setupHelpers.test.d.ts +0 -2
- package/dist/cjs/auth/__tests__/setupHelpers.test.d.ts.map +0 -1
- package/dist/cjs/lib/__tests__/index.test.d.ts +0 -2
- package/dist/cjs/lib/__tests__/index.test.d.ts.map +0 -1
- package/dist/cjs/lib/__tests__/loadEnvFiles.test.d.ts +0 -2
- package/dist/cjs/lib/__tests__/loadEnvFiles.test.d.ts.map +0 -1
- package/dist/cjs/lib/__tests__/project.addTomlSetting.test.d.ts +0 -2
- package/dist/cjs/lib/__tests__/project.addTomlSetting.test.d.ts.map +0 -1
- package/dist/cjs/lib/__tests__/project.test.d.ts +0 -2
- package/dist/cjs/lib/__tests__/project.test.d.ts.map +0 -1
- package/dist/cjs/lib/__tests__/version.test.d.ts +0 -2
- package/dist/cjs/lib/__tests__/version.test.d.ts.map +0 -1
- package/dist/cjs/packageManager/__tests__/display.test.d.ts +0 -2
- package/dist/cjs/packageManager/__tests__/display.test.d.ts.map +0 -1
- package/dist/cjs/packageManager/__tests__/exec.test.d.ts +0 -2
- package/dist/cjs/packageManager/__tests__/exec.test.d.ts.map +0 -1
- package/dist/cjs/packageManager/__tests__/index.test.d.ts +0 -2
- package/dist/cjs/packageManager/__tests__/index.test.d.ts.map +0 -1
- package/dist/cjs/packageManager/__tests__/packages.test.d.ts +0 -2
- package/dist/cjs/packageManager/__tests__/packages.test.d.ts.map +0 -1
- package/dist/lib/__tests__/index.test.d.ts +0 -2
- package/dist/lib/__tests__/index.test.d.ts.map +0 -1
- package/dist/lib/__tests__/loadEnvFiles.test.d.ts +0 -2
- package/dist/lib/__tests__/loadEnvFiles.test.d.ts.map +0 -1
- package/dist/lib/__tests__/project.addTomlSetting.test.d.ts +0 -2
- package/dist/lib/__tests__/project.addTomlSetting.test.d.ts.map +0 -1
- package/dist/lib/__tests__/project.test.d.ts +0 -2
- package/dist/lib/__tests__/project.test.d.ts.map +0 -1
- package/dist/lib/__tests__/version.test.d.ts +0 -2
- package/dist/lib/__tests__/version.test.d.ts.map +0 -1
- package/dist/packageManager/__tests__/display.test.d.ts +0 -2
- package/dist/packageManager/__tests__/display.test.d.ts.map +0 -1
- package/dist/packageManager/__tests__/exec.test.d.ts +0 -2
- package/dist/packageManager/__tests__/exec.test.d.ts.map +0 -1
- package/dist/packageManager/__tests__/index.test.d.ts +0 -2
- package/dist/packageManager/__tests__/index.test.d.ts.map +0 -1
- package/dist/packageManager/__tests__/packages.test.d.ts +0 -2
- package/dist/packageManager/__tests__/packages.test.d.ts.map +0 -1
|
@@ -10,17 +10,17 @@ export declare function formatInstallCommand(): string;
|
|
|
10
10
|
* Returns a formatted string for running a Cedar CLI command via the detected
|
|
11
11
|
* package manager.
|
|
12
12
|
*
|
|
13
|
-
* yarn → `yarn cedar <args>`
|
|
14
13
|
* npm → `npx cedar <args>`
|
|
15
|
-
*
|
|
14
|
+
* yarn → `yarn cedar <args>`
|
|
15
|
+
* pnpm → `pnpm cedar <args>`
|
|
16
16
|
*/
|
|
17
17
|
export declare function formatCedarCommand(args: string[]): string;
|
|
18
18
|
/**
|
|
19
19
|
* Returns a formatted string for running a package.json script via the
|
|
20
20
|
* detected package manager.
|
|
21
21
|
*
|
|
22
|
-
* yarn → `yarn <script> [args]`
|
|
23
22
|
* npm → `npm run <script>[ -- args]`
|
|
23
|
+
* yarn → `yarn <script> [args]`
|
|
24
24
|
* pnpm → `pnpm <script> [args]`
|
|
25
25
|
*/
|
|
26
26
|
export declare function formatRunScriptCommand(script: string, args?: string[]): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/packageManager/display.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/packageManager/display.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CASzD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,GAClB,MAAM,CAUR;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,GAClB,MAAM,CAgBR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAa5E;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,GAClB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAS7E;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,UAAQ,GACV,MAAM,CAOR;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,UAAQ,GACV,MAAM,CAeR;AAED;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,CAcR"}
|
|
@@ -40,10 +40,7 @@ function formatCedarCommand(args) {
|
|
|
40
40
|
if (pm === "npm") {
|
|
41
41
|
return `npx cedar${argStr}`;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
return `pnpm exec cedar${argStr}`;
|
|
45
|
-
}
|
|
46
|
-
return `yarn cedar${argStr}`;
|
|
43
|
+
return `${pm} cedar${argStr}`;
|
|
47
44
|
}
|
|
48
45
|
function formatRunScriptCommand(script, args = []) {
|
|
49
46
|
const pm = (0, import_packageManager.getPackageManager)();
|
|
@@ -22,16 +22,16 @@ export declare function runScriptSync(script: string, args?: string[], options?:
|
|
|
22
22
|
export declare function runWorkspaceScript(workspace: string, script: string, args?: string[], options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
23
23
|
/**
|
|
24
24
|
* Run a local binary from node_modules/.bin (PnP-safe for Yarn).
|
|
25
|
+
* Does not support running transitive dependencies, like prisma
|
|
25
26
|
*
|
|
26
27
|
* - yarn: `yarn <bin> [args]`
|
|
27
28
|
* - npm: `npx <bin> [args]`
|
|
28
29
|
* - pnpm: `pnpm exec <bin> [args]`
|
|
29
30
|
*/
|
|
30
31
|
export declare function runBin(bin: string, args?: string[], options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
31
|
-
/**
|
|
32
|
-
* Synchronous variant of {@link runBin}.
|
|
33
|
-
*/
|
|
32
|
+
/** Synchronous variant of {@link runBin} */
|
|
34
33
|
export declare function runBinSync(bin: string, args?: string[], options?: ExecaSyncOptions): execa.ExecaSyncReturnValue<string>;
|
|
34
|
+
export declare function runTransitiveBinSync(bin: string, args?: string[], options?: ExecaSyncOptions): execa.ExecaSyncReturnValue<string>;
|
|
35
35
|
/**
|
|
36
36
|
* Run a local binary in a workspace context.
|
|
37
37
|
*
|
|
@@ -48,4 +48,28 @@ export declare function runWorkspaceBin(workspace: string, bin: string, args?: s
|
|
|
48
48
|
* - pnpm: `pnpm dlx <command> [args]`
|
|
49
49
|
*/
|
|
50
50
|
export declare function dlx(command: string, args?: string[], options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns spawn-compatible `[cmd, args]` for running a node script.
|
|
53
|
+
*
|
|
54
|
+
* Yarn PnP requires wrapping node via `yarn node` so module resolution works.
|
|
55
|
+
* npm and pnpm use standard `node_modules`, so running `node <script>`
|
|
56
|
+
* directly is sufficient.
|
|
57
|
+
*
|
|
58
|
+
* - yarn: `yarn node <script>`
|
|
59
|
+
* - npm: `node <script>`
|
|
60
|
+
* - pnpm: `node <script>`
|
|
61
|
+
*/
|
|
62
|
+
export declare function getNodeRunnerArgs(scriptPath: string): [string, string[]];
|
|
63
|
+
/**
|
|
64
|
+
* Run a node script via execa.
|
|
65
|
+
*
|
|
66
|
+
* Yarn PnP requires wrapping node via `yarn node` so module resolution works.
|
|
67
|
+
* npm and pnpm use standard `node_modules`, so running `node <script>`
|
|
68
|
+
* directly is sufficient.
|
|
69
|
+
*
|
|
70
|
+
* - yarn: `yarn node <script>`
|
|
71
|
+
* - npm: `node <script>`
|
|
72
|
+
* - pnpm: `node <script>`
|
|
73
|
+
*/
|
|
74
|
+
export declare function runWithNode(scriptPath: string, options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
51
75
|
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/packageManager/exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EACV,OAAO,IAAI,YAAY,EACvB,WAAW,IAAI,gBAAgB,EAChC,MAAM,OAAO,CAAA;AAId;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAWvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/packageManager/exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EACV,OAAO,IAAI,YAAY,EACvB,WAAW,IAAI,gBAAgB,EAChC,MAAM,OAAO,CAAA;AAId;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAWvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,sCAkB3B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAsBvB;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAcvB;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,sCAc3B;AAWD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,sCAU3B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAcvB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCASvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,mCAGrE"}
|
|
@@ -29,10 +29,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var exec_exports = {};
|
|
30
30
|
__export(exec_exports, {
|
|
31
31
|
dlx: () => dlx,
|
|
32
|
+
getNodeRunnerArgs: () => getNodeRunnerArgs,
|
|
32
33
|
runBin: () => runBin,
|
|
33
34
|
runBinSync: () => runBinSync,
|
|
34
35
|
runScript: () => runScript,
|
|
35
36
|
runScriptSync: () => runScriptSync,
|
|
37
|
+
runTransitiveBinSync: () => runTransitiveBinSync,
|
|
38
|
+
runWithNode: () => runWithNode,
|
|
36
39
|
runWorkspaceBin: () => runWorkspaceBin,
|
|
37
40
|
runWorkspaceScript: () => runWorkspaceScript
|
|
38
41
|
});
|
|
@@ -50,6 +53,9 @@ function runScript(script, args = [], options) {
|
|
|
50
53
|
function runScriptSync(script, args = [], options) {
|
|
51
54
|
const pm = (0, import_packageManager.getPackageManager)();
|
|
52
55
|
if (pm === "npm") {
|
|
56
|
+
if (script === "run" && args.length === 0) {
|
|
57
|
+
return import_execa.default.sync(pm, ["run"], options);
|
|
58
|
+
}
|
|
53
59
|
const npmArgs = args.length > 0 ? ["run", script, "--", ...args] : ["run", script];
|
|
54
60
|
return import_execa.default.sync(pm, npmArgs, options);
|
|
55
61
|
}
|
|
@@ -87,6 +93,13 @@ function runBinSync(bin, args = [], options) {
|
|
|
87
93
|
}
|
|
88
94
|
return import_execa.default.sync(pm, [bin, ...args], options);
|
|
89
95
|
}
|
|
96
|
+
function runTransitiveBinSync(bin, args = [], options) {
|
|
97
|
+
const pm = (0, import_packageManager.getPackageManager)();
|
|
98
|
+
if (pm === "pnpm") {
|
|
99
|
+
return import_execa.default.sync(pm, ["exec", bin, ...args], options);
|
|
100
|
+
}
|
|
101
|
+
return import_execa.default.sync("npx", [bin, ...args], options);
|
|
102
|
+
}
|
|
90
103
|
function runWorkspaceBin(workspace, bin, args = [], options) {
|
|
91
104
|
const pm = (0, import_packageManager.getPackageManager)();
|
|
92
105
|
if (pm === "yarn") {
|
|
@@ -104,13 +117,27 @@ function dlx(command, args = [], options) {
|
|
|
104
117
|
}
|
|
105
118
|
return (0, import_execa.default)(pm, ["dlx", command, ...args], options);
|
|
106
119
|
}
|
|
120
|
+
function getNodeRunnerArgs(scriptPath) {
|
|
121
|
+
const pm = (0, import_packageManager.getPackageManager)();
|
|
122
|
+
if (pm === "yarn") {
|
|
123
|
+
return ["yarn", ["node", scriptPath]];
|
|
124
|
+
}
|
|
125
|
+
return ["node", [scriptPath]];
|
|
126
|
+
}
|
|
127
|
+
function runWithNode(scriptPath, options) {
|
|
128
|
+
const [cmd, args] = getNodeRunnerArgs(scriptPath);
|
|
129
|
+
return (0, import_execa.default)(cmd, args, options);
|
|
130
|
+
}
|
|
107
131
|
// Annotate the CommonJS export names for ESM import in node:
|
|
108
132
|
0 && (module.exports = {
|
|
109
133
|
dlx,
|
|
134
|
+
getNodeRunnerArgs,
|
|
110
135
|
runBin,
|
|
111
136
|
runBinSync,
|
|
112
137
|
runScript,
|
|
113
138
|
runScriptSync,
|
|
139
|
+
runTransitiveBinSync,
|
|
140
|
+
runWithNode,
|
|
114
141
|
runWorkspaceBin,
|
|
115
142
|
runWorkspaceScript
|
|
116
143
|
});
|
|
@@ -8,7 +8,7 @@ type AddOptions = ExecaOptions & {
|
|
|
8
8
|
*
|
|
9
9
|
* - yarn: `yarn add [-D] <packages>`
|
|
10
10
|
* - npm: `npm install [-D] <packages>`
|
|
11
|
-
* - pnpm: `pnpm add [-D] <packages>`
|
|
11
|
+
* - pnpm: `pnpm add -w [-D] <packages>`
|
|
12
12
|
*/
|
|
13
13
|
export declare function addRootPackages(packages: string[], options?: AddOptions): execa.ExecaChildProcess<string>;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../../src/packageManager/packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAIpD,KAAK,UAAU,GAAG,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAElD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../../src/packageManager/packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAIpD,KAAK,UAAU,GAAG,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAElD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,mCAQvE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,UAAU,mCA4BrB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,YAAY,mCAcvB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,mCAGrD"}
|
|
@@ -41,7 +41,8 @@ function addRootPackages(packages, options) {
|
|
|
41
41
|
const { dev, ...execaOptions } = options ?? {};
|
|
42
42
|
const addCmd = pm === "npm" ? "install" : "add";
|
|
43
43
|
const devFlag = dev ? ["-D"] : [];
|
|
44
|
-
|
|
44
|
+
const rootFlag = pm === "pnpm" ? ["-w"] : [];
|
|
45
|
+
return (0, import_execa.default)(pm, [addCmd, ...rootFlag, ...devFlag, ...packages], execaOptions);
|
|
45
46
|
}
|
|
46
47
|
function addWorkspacePackages(workspace, packages, options) {
|
|
47
48
|
const pm = (0, import_packageManager.getPackageManager)();
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PackageManager } from '@cedarjs/project-config/packageManager';
|
|
2
|
+
export type AddWorkspaceDirResult = 'exists' | 'added';
|
|
3
|
+
export declare function addWorkspaceDir(baseDir: string, packagePath: string, pm: PackageManager): AddWorkspaceDirResult;
|
|
4
|
+
//# sourceMappingURL=workspaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/packageManager/workspaces.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAE5E,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEtD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,cAAc,GACjB,qBAAqB,CAMvB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var workspaces_exports = {};
|
|
30
|
+
__export(workspaces_exports, {
|
|
31
|
+
addWorkspaceDir: () => addWorkspaceDir
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(workspaces_exports);
|
|
34
|
+
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
35
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
36
|
+
function addWorkspaceDir(baseDir, packagePath, pm) {
|
|
37
|
+
if (pm === "pnpm") {
|
|
38
|
+
return addPnpmWorkspaceDir(baseDir, packagePath);
|
|
39
|
+
}
|
|
40
|
+
return addPackageJsonWorkspaceDir(baseDir, packagePath);
|
|
41
|
+
}
|
|
42
|
+
function addPnpmWorkspaceDir(baseDir, packagePath) {
|
|
43
|
+
const yamlPath = import_node_path.default.join(baseDir, "pnpm-workspace.yaml");
|
|
44
|
+
if (!import_node_fs.default.existsSync(yamlPath)) {
|
|
45
|
+
throw new Error("Invalid workspace config in " + yamlPath);
|
|
46
|
+
}
|
|
47
|
+
const content = import_node_fs.default.readFileSync(yamlPath, "utf8");
|
|
48
|
+
const packageEntry = ` - ${packagePath}`;
|
|
49
|
+
if (content.includes(packageEntry)) {
|
|
50
|
+
return "exists";
|
|
51
|
+
}
|
|
52
|
+
const match = content.match(/^(packages:[\s\S]*?)(?=^\w|(?![\s\S]))/m);
|
|
53
|
+
if (!match) {
|
|
54
|
+
throw new Error("Invalid workspace config in " + yamlPath);
|
|
55
|
+
}
|
|
56
|
+
const packagesSection = match[1];
|
|
57
|
+
const lines = packagesSection.split("\n");
|
|
58
|
+
const lastPackageLine = lines.map((line, i) => ({ line, i })).filter(({ line }) => line.trimStart().startsWith("- ")).pop();
|
|
59
|
+
if (!lastPackageLine) {
|
|
60
|
+
throw new Error("Invalid workspace config in " + yamlPath);
|
|
61
|
+
}
|
|
62
|
+
const insertAfter = lastPackageLine.i;
|
|
63
|
+
lines.splice(insertAfter + 1, 0, packageEntry);
|
|
64
|
+
const updatedContent = content.replace(packagesSection, lines.join("\n"));
|
|
65
|
+
import_node_fs.default.writeFileSync(yamlPath, updatedContent, "utf8");
|
|
66
|
+
return "added";
|
|
67
|
+
}
|
|
68
|
+
function addPackageJsonWorkspaceDir(baseDir, packagePath) {
|
|
69
|
+
const pkgPath = import_node_path.default.join(baseDir, "package.json");
|
|
70
|
+
const pkg = JSON.parse(import_node_fs.default.readFileSync(pkgPath, "utf8"));
|
|
71
|
+
if (!Array.isArray(pkg.workspaces)) {
|
|
72
|
+
throw new Error("Invalid workspace config in " + pkgPath);
|
|
73
|
+
}
|
|
74
|
+
const hasWildcardPackagesWorkspace = pkg.workspaces.includes("packages/*");
|
|
75
|
+
const hasNamedPackagesWorkspace = pkg.workspaces.includes(packagePath);
|
|
76
|
+
const hasOtherNamedPackages = pkg.workspaces.some(
|
|
77
|
+
(workspace) => workspace.startsWith("packages/") && workspace !== packagePath
|
|
78
|
+
);
|
|
79
|
+
if (hasWildcardPackagesWorkspace || hasNamedPackagesWorkspace) {
|
|
80
|
+
return "exists";
|
|
81
|
+
}
|
|
82
|
+
if (hasOtherNamedPackages) {
|
|
83
|
+
pkg.workspaces.push(packagePath);
|
|
84
|
+
} else {
|
|
85
|
+
pkg.workspaces.push("packages/*");
|
|
86
|
+
}
|
|
87
|
+
import_node_fs.default.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
|
|
88
|
+
return "added";
|
|
89
|
+
}
|
|
90
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
91
|
+
0 && (module.exports = {
|
|
92
|
+
addWorkspaceDir
|
|
93
|
+
});
|
|
@@ -10,17 +10,17 @@ export declare function formatInstallCommand(): string;
|
|
|
10
10
|
* Returns a formatted string for running a Cedar CLI command via the detected
|
|
11
11
|
* package manager.
|
|
12
12
|
*
|
|
13
|
-
* yarn → `yarn cedar <args>`
|
|
14
13
|
* npm → `npx cedar <args>`
|
|
15
|
-
*
|
|
14
|
+
* yarn → `yarn cedar <args>`
|
|
15
|
+
* pnpm → `pnpm cedar <args>`
|
|
16
16
|
*/
|
|
17
17
|
export declare function formatCedarCommand(args: string[]): string;
|
|
18
18
|
/**
|
|
19
19
|
* Returns a formatted string for running a package.json script via the
|
|
20
20
|
* detected package manager.
|
|
21
21
|
*
|
|
22
|
-
* yarn → `yarn <script> [args]`
|
|
23
22
|
* npm → `npm run <script>[ -- args]`
|
|
23
|
+
* yarn → `yarn <script> [args]`
|
|
24
24
|
* pnpm → `pnpm <script> [args]`
|
|
25
25
|
*/
|
|
26
26
|
export declare function formatRunScriptCommand(script: string, args?: string[]): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/packageManager/display.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/packageManager/display.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CASzD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,GAClB,MAAM,CAUR;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,GAClB,MAAM,CAgBR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAa5E;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,GAClB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAS7E;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,UAAQ,GACV,MAAM,CAOR;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,UAAQ,GACV,MAAM,CAeR;AAED;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,CAcR"}
|
|
@@ -8,10 +8,7 @@ function formatCedarCommand(args) {
|
|
|
8
8
|
if (pm === "npm") {
|
|
9
9
|
return `npx cedar${argStr}`;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
return `pnpm exec cedar${argStr}`;
|
|
13
|
-
}
|
|
14
|
-
return `yarn cedar${argStr}`;
|
|
11
|
+
return `${pm} cedar${argStr}`;
|
|
15
12
|
}
|
|
16
13
|
function formatRunScriptCommand(script, args = []) {
|
|
17
14
|
const pm = getPackageManager();
|
|
@@ -22,16 +22,16 @@ export declare function runScriptSync(script: string, args?: string[], options?:
|
|
|
22
22
|
export declare function runWorkspaceScript(workspace: string, script: string, args?: string[], options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
23
23
|
/**
|
|
24
24
|
* Run a local binary from node_modules/.bin (PnP-safe for Yarn).
|
|
25
|
+
* Does not support running transitive dependencies, like prisma
|
|
25
26
|
*
|
|
26
27
|
* - yarn: `yarn <bin> [args]`
|
|
27
28
|
* - npm: `npx <bin> [args]`
|
|
28
29
|
* - pnpm: `pnpm exec <bin> [args]`
|
|
29
30
|
*/
|
|
30
31
|
export declare function runBin(bin: string, args?: string[], options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
31
|
-
/**
|
|
32
|
-
* Synchronous variant of {@link runBin}.
|
|
33
|
-
*/
|
|
32
|
+
/** Synchronous variant of {@link runBin} */
|
|
34
33
|
export declare function runBinSync(bin: string, args?: string[], options?: ExecaSyncOptions): execa.ExecaSyncReturnValue<string>;
|
|
34
|
+
export declare function runTransitiveBinSync(bin: string, args?: string[], options?: ExecaSyncOptions): execa.ExecaSyncReturnValue<string>;
|
|
35
35
|
/**
|
|
36
36
|
* Run a local binary in a workspace context.
|
|
37
37
|
*
|
|
@@ -48,4 +48,28 @@ export declare function runWorkspaceBin(workspace: string, bin: string, args?: s
|
|
|
48
48
|
* - pnpm: `pnpm dlx <command> [args]`
|
|
49
49
|
*/
|
|
50
50
|
export declare function dlx(command: string, args?: string[], options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns spawn-compatible `[cmd, args]` for running a node script.
|
|
53
|
+
*
|
|
54
|
+
* Yarn PnP requires wrapping node via `yarn node` so module resolution works.
|
|
55
|
+
* npm and pnpm use standard `node_modules`, so running `node <script>`
|
|
56
|
+
* directly is sufficient.
|
|
57
|
+
*
|
|
58
|
+
* - yarn: `yarn node <script>`
|
|
59
|
+
* - npm: `node <script>`
|
|
60
|
+
* - pnpm: `node <script>`
|
|
61
|
+
*/
|
|
62
|
+
export declare function getNodeRunnerArgs(scriptPath: string): [string, string[]];
|
|
63
|
+
/**
|
|
64
|
+
* Run a node script via execa.
|
|
65
|
+
*
|
|
66
|
+
* Yarn PnP requires wrapping node via `yarn node` so module resolution works.
|
|
67
|
+
* npm and pnpm use standard `node_modules`, so running `node <script>`
|
|
68
|
+
* directly is sufficient.
|
|
69
|
+
*
|
|
70
|
+
* - yarn: `yarn node <script>`
|
|
71
|
+
* - npm: `node <script>`
|
|
72
|
+
* - pnpm: `node <script>`
|
|
73
|
+
*/
|
|
74
|
+
export declare function runWithNode(scriptPath: string, options?: ExecaOptions): execa.ExecaChildProcess<string>;
|
|
51
75
|
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/packageManager/exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EACV,OAAO,IAAI,YAAY,EACvB,WAAW,IAAI,gBAAgB,EAChC,MAAM,OAAO,CAAA;AAId;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAWvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/packageManager/exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EACV,OAAO,IAAI,YAAY,EACvB,WAAW,IAAI,gBAAgB,EAChC,MAAM,OAAO,CAAA;AAId;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAWvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,sCAkB3B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAsBvB;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAcvB;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,sCAc3B;AAWD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,gBAAgB,sCAU3B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCAcvB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,YAAY,mCASvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,mCAGrE"}
|
|
@@ -11,6 +11,9 @@ function runScript(script, args = [], options) {
|
|
|
11
11
|
function runScriptSync(script, args = [], options) {
|
|
12
12
|
const pm = getPackageManager();
|
|
13
13
|
if (pm === "npm") {
|
|
14
|
+
if (script === "run" && args.length === 0) {
|
|
15
|
+
return execa.sync(pm, ["run"], options);
|
|
16
|
+
}
|
|
14
17
|
const npmArgs = args.length > 0 ? ["run", script, "--", ...args] : ["run", script];
|
|
15
18
|
return execa.sync(pm, npmArgs, options);
|
|
16
19
|
}
|
|
@@ -48,6 +51,13 @@ function runBinSync(bin, args = [], options) {
|
|
|
48
51
|
}
|
|
49
52
|
return execa.sync(pm, [bin, ...args], options);
|
|
50
53
|
}
|
|
54
|
+
function runTransitiveBinSync(bin, args = [], options) {
|
|
55
|
+
const pm = getPackageManager();
|
|
56
|
+
if (pm === "pnpm") {
|
|
57
|
+
return execa.sync(pm, ["exec", bin, ...args], options);
|
|
58
|
+
}
|
|
59
|
+
return execa.sync("npx", [bin, ...args], options);
|
|
60
|
+
}
|
|
51
61
|
function runWorkspaceBin(workspace, bin, args = [], options) {
|
|
52
62
|
const pm = getPackageManager();
|
|
53
63
|
if (pm === "yarn") {
|
|
@@ -65,12 +75,26 @@ function dlx(command, args = [], options) {
|
|
|
65
75
|
}
|
|
66
76
|
return execa(pm, ["dlx", command, ...args], options);
|
|
67
77
|
}
|
|
78
|
+
function getNodeRunnerArgs(scriptPath) {
|
|
79
|
+
const pm = getPackageManager();
|
|
80
|
+
if (pm === "yarn") {
|
|
81
|
+
return ["yarn", ["node", scriptPath]];
|
|
82
|
+
}
|
|
83
|
+
return ["node", [scriptPath]];
|
|
84
|
+
}
|
|
85
|
+
function runWithNode(scriptPath, options) {
|
|
86
|
+
const [cmd, args] = getNodeRunnerArgs(scriptPath);
|
|
87
|
+
return execa(cmd, args, options);
|
|
88
|
+
}
|
|
68
89
|
export {
|
|
69
90
|
dlx,
|
|
91
|
+
getNodeRunnerArgs,
|
|
70
92
|
runBin,
|
|
71
93
|
runBinSync,
|
|
72
94
|
runScript,
|
|
73
95
|
runScriptSync,
|
|
96
|
+
runTransitiveBinSync,
|
|
97
|
+
runWithNode,
|
|
74
98
|
runWorkspaceBin,
|
|
75
99
|
runWorkspaceScript
|
|
76
100
|
};
|
|
@@ -8,7 +8,7 @@ type AddOptions = ExecaOptions & {
|
|
|
8
8
|
*
|
|
9
9
|
* - yarn: `yarn add [-D] <packages>`
|
|
10
10
|
* - npm: `npm install [-D] <packages>`
|
|
11
|
-
* - pnpm: `pnpm add [-D] <packages>`
|
|
11
|
+
* - pnpm: `pnpm add -w [-D] <packages>`
|
|
12
12
|
*/
|
|
13
13
|
export declare function addRootPackages(packages: string[], options?: AddOptions): execa.ExecaChildProcess<string>;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/packageManager/packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAIpD,KAAK,UAAU,GAAG,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAElD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/packageManager/packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAIpD,KAAK,UAAU,GAAG,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAElD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,mCAQvE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,UAAU,mCA4BrB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,YAAY,mCAcvB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,mCAGrD"}
|
|
@@ -5,7 +5,8 @@ function addRootPackages(packages, options) {
|
|
|
5
5
|
const { dev, ...execaOptions } = options ?? {};
|
|
6
6
|
const addCmd = pm === "npm" ? "install" : "add";
|
|
7
7
|
const devFlag = dev ? ["-D"] : [];
|
|
8
|
-
|
|
8
|
+
const rootFlag = pm === "pnpm" ? ["-w"] : [];
|
|
9
|
+
return execa(pm, [addCmd, ...rootFlag, ...devFlag, ...packages], execaOptions);
|
|
9
10
|
}
|
|
10
11
|
function addWorkspacePackages(workspace, packages, options) {
|
|
11
12
|
const pm = getPackageManager();
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PackageManager } from '@cedarjs/project-config/packageManager';
|
|
2
|
+
export type AddWorkspaceDirResult = 'exists' | 'added';
|
|
3
|
+
export declare function addWorkspaceDir(baseDir: string, packagePath: string, pm: PackageManager): AddWorkspaceDirResult;
|
|
4
|
+
//# sourceMappingURL=workspaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/packageManager/workspaces.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAE5E,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEtD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,cAAc,GACjB,qBAAqB,CAMvB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
function addWorkspaceDir(baseDir, packagePath, pm) {
|
|
4
|
+
if (pm === "pnpm") {
|
|
5
|
+
return addPnpmWorkspaceDir(baseDir, packagePath);
|
|
6
|
+
}
|
|
7
|
+
return addPackageJsonWorkspaceDir(baseDir, packagePath);
|
|
8
|
+
}
|
|
9
|
+
function addPnpmWorkspaceDir(baseDir, packagePath) {
|
|
10
|
+
const yamlPath = path.join(baseDir, "pnpm-workspace.yaml");
|
|
11
|
+
if (!fs.existsSync(yamlPath)) {
|
|
12
|
+
throw new Error("Invalid workspace config in " + yamlPath);
|
|
13
|
+
}
|
|
14
|
+
const content = fs.readFileSync(yamlPath, "utf8");
|
|
15
|
+
const packageEntry = ` - ${packagePath}`;
|
|
16
|
+
if (content.includes(packageEntry)) {
|
|
17
|
+
return "exists";
|
|
18
|
+
}
|
|
19
|
+
const match = content.match(/^(packages:[\s\S]*?)(?=^\w|(?![\s\S]))/m);
|
|
20
|
+
if (!match) {
|
|
21
|
+
throw new Error("Invalid workspace config in " + yamlPath);
|
|
22
|
+
}
|
|
23
|
+
const packagesSection = match[1];
|
|
24
|
+
const lines = packagesSection.split("\n");
|
|
25
|
+
const lastPackageLine = lines.map((line, i) => ({ line, i })).filter(({ line }) => line.trimStart().startsWith("- ")).pop();
|
|
26
|
+
if (!lastPackageLine) {
|
|
27
|
+
throw new Error("Invalid workspace config in " + yamlPath);
|
|
28
|
+
}
|
|
29
|
+
const insertAfter = lastPackageLine.i;
|
|
30
|
+
lines.splice(insertAfter + 1, 0, packageEntry);
|
|
31
|
+
const updatedContent = content.replace(packagesSection, lines.join("\n"));
|
|
32
|
+
fs.writeFileSync(yamlPath, updatedContent, "utf8");
|
|
33
|
+
return "added";
|
|
34
|
+
}
|
|
35
|
+
function addPackageJsonWorkspaceDir(baseDir, packagePath) {
|
|
36
|
+
const pkgPath = path.join(baseDir, "package.json");
|
|
37
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
38
|
+
if (!Array.isArray(pkg.workspaces)) {
|
|
39
|
+
throw new Error("Invalid workspace config in " + pkgPath);
|
|
40
|
+
}
|
|
41
|
+
const hasWildcardPackagesWorkspace = pkg.workspaces.includes("packages/*");
|
|
42
|
+
const hasNamedPackagesWorkspace = pkg.workspaces.includes(packagePath);
|
|
43
|
+
const hasOtherNamedPackages = pkg.workspaces.some(
|
|
44
|
+
(workspace) => workspace.startsWith("packages/") && workspace !== packagePath
|
|
45
|
+
);
|
|
46
|
+
if (hasWildcardPackagesWorkspace || hasNamedPackagesWorkspace) {
|
|
47
|
+
return "exists";
|
|
48
|
+
}
|
|
49
|
+
if (hasOtherNamedPackages) {
|
|
50
|
+
pkg.workspaces.push(packagePath);
|
|
51
|
+
} else {
|
|
52
|
+
pkg.workspaces.push("packages/*");
|
|
53
|
+
}
|
|
54
|
+
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2));
|
|
55
|
+
return "added";
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
addWorkspaceDir
|
|
59
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/cli-helpers",
|
|
3
|
-
"version": "4.2.1-next.
|
|
3
|
+
"version": "4.2.1-next.269",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -78,6 +78,16 @@
|
|
|
78
78
|
"types": "./dist/cjs/packageManager/display.d.ts",
|
|
79
79
|
"default": "./dist/cjs/packageManager/display.js"
|
|
80
80
|
}
|
|
81
|
+
},
|
|
82
|
+
"./packageManager/workspaces": {
|
|
83
|
+
"import": {
|
|
84
|
+
"types": "./dist/packageManager/workspaces.d.ts",
|
|
85
|
+
"default": "./dist/packageManager/workspaces.js"
|
|
86
|
+
},
|
|
87
|
+
"default": {
|
|
88
|
+
"types": "./dist/cjs/packageManager/workspaces.d.ts",
|
|
89
|
+
"default": "./dist/cjs/packageManager/workspaces.js"
|
|
90
|
+
}
|
|
81
91
|
}
|
|
82
92
|
},
|
|
83
93
|
"types": "./dist/index.d.ts",
|
|
@@ -85,7 +95,7 @@
|
|
|
85
95
|
"dist"
|
|
86
96
|
],
|
|
87
97
|
"scripts": {
|
|
88
|
-
"build": "
|
|
98
|
+
"build": "node ./build.ts && yarn build:types",
|
|
89
99
|
"build:pack": "yarn pack -o cedarjs-cli-helpers.tgz",
|
|
90
100
|
"build:types": "tsc --build --verbose ./tsconfig.build.json ./tsconfig.cjs.json",
|
|
91
101
|
"build:watch": "nodemon --watch src --ext \"js,jsx,ts,tsx\" --ignore dist --exec \"yarn build\"",
|
|
@@ -98,7 +108,7 @@
|
|
|
98
108
|
"@cedarjs/project-config": "4.2.0",
|
|
99
109
|
"@cedarjs/telemetry": "4.2.0",
|
|
100
110
|
"@listr2/prompt-adapter-enquirer": "4.2.1",
|
|
101
|
-
"@opentelemetry/api": "1.9.
|
|
111
|
+
"@opentelemetry/api": "1.9.1",
|
|
102
112
|
"ansis": "4.2.0",
|
|
103
113
|
"dotenv": "16.6.1",
|
|
104
114
|
"dotenv-defaults": "5.0.2",
|
|
@@ -107,7 +117,7 @@
|
|
|
107
117
|
"listr2": "10.2.1",
|
|
108
118
|
"lodash": "4.18.1",
|
|
109
119
|
"pascalcase": "1.0.0",
|
|
110
|
-
"prettier": "3.8.
|
|
120
|
+
"prettier": "3.8.4",
|
|
111
121
|
"prompts": "2.4.2",
|
|
112
122
|
"semver": "7.7.4",
|
|
113
123
|
"smol-toml": "1.6.1",
|
|
@@ -122,10 +132,9 @@
|
|
|
122
132
|
"@types/semver": "^7",
|
|
123
133
|
"@types/yargs": "17.0.35",
|
|
124
134
|
"@types/yargs-parser": "21.0.3",
|
|
125
|
-
"prettier-plugin-tailwindcss": "0.
|
|
126
|
-
"tsx": "4.21.0",
|
|
135
|
+
"prettier-plugin-tailwindcss": "0.8.0",
|
|
127
136
|
"typescript": "5.9.3",
|
|
128
|
-
"vitest": "3.2.
|
|
137
|
+
"vitest": "3.2.6"
|
|
129
138
|
},
|
|
130
139
|
"engines": {
|
|
131
140
|
"node": ">=24"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authFiles.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/authFiles.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authTasks.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/authTasks.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const webAppTsx: string;
|
|
2
|
-
export declare const graphqlTs: string;
|
|
3
|
-
export declare const auth0WebAuthTsTemplate: string;
|
|
4
|
-
export declare const clerkWebAuthTsTemplate: string;
|
|
5
|
-
export declare const routesTsx: string;
|
|
6
|
-
export declare const legacyAuthWebAppTsx: string;
|
|
7
|
-
export declare const customApolloAppTsx: string;
|
|
8
|
-
export declare const customPropsRoutesTsx: string;
|
|
9
|
-
export declare const useAuthRoutesTsx: string;
|
|
10
|
-
export declare const explicitReturnAppTsx: string;
|
|
11
|
-
export declare const withoutRedwoodApolloAppTsx: string;
|
|
12
|
-
export declare const withAuthDecoderGraphqlTs: string;
|
|
13
|
-
export declare const nonStandardAuthDecoderGraphqlTs: string;
|
|
14
|
-
//# sourceMappingURL=mockFsFiles.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mockFsFiles.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/mockFsFiles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,QAoBrB,CAAA;AAED,eAAO,MAAM,SAAS,QAoBrB,CAAA;AAED,eAAO,MAAM,sBAAsB,QAyBlC,CAAA;AAED,eAAO,MAAM,sBAAsB,QAsDlC,CAAA;AAED,eAAO,MAAM,SAAS,QAqBrB,CAAA;AAED,eAAO,MAAM,mBAAmB,QA4B/B,CAAA;AAED,eAAO,MAAM,kBAAkB,QAoB9B,CAAA;AAED,eAAO,MAAM,oBAAoB,QA8BhC,CAAA;AAED,eAAO,MAAM,gBAAgB,QAkC5B,CAAA;AAED,eAAO,MAAM,oBAAoB,QA+BhC,CAAA;AAED,eAAO,MAAM,0BAA0B,QAuBtC,CAAA;AAED,eAAO,MAAM,wBAAwB,QAwBpC,CAAA;AAED,eAAO,MAAM,+BAA+B,QAwB3C,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setupHelpers.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/setupHelpers.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authFiles.test.d.ts","sourceRoot":"","sources":["../../../../src/auth/__tests__/authFiles.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authTasks.test.d.ts","sourceRoot":"","sources":["../../../../src/auth/__tests__/authTasks.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const webAppTsx: string;
|
|
2
|
-
export declare const graphqlTs: string;
|
|
3
|
-
export declare const auth0WebAuthTsTemplate: string;
|
|
4
|
-
export declare const clerkWebAuthTsTemplate: string;
|
|
5
|
-
export declare const routesTsx: string;
|
|
6
|
-
export declare const legacyAuthWebAppTsx: string;
|
|
7
|
-
export declare const customApolloAppTsx: string;
|
|
8
|
-
export declare const customPropsRoutesTsx: string;
|
|
9
|
-
export declare const useAuthRoutesTsx: string;
|
|
10
|
-
export declare const explicitReturnAppTsx: string;
|
|
11
|
-
export declare const withoutRedwoodApolloAppTsx: string;
|
|
12
|
-
export declare const withAuthDecoderGraphqlTs: string;
|
|
13
|
-
export declare const nonStandardAuthDecoderGraphqlTs: string;
|
|
14
|
-
//# sourceMappingURL=mockFsFiles.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mockFsFiles.d.ts","sourceRoot":"","sources":["../../../../src/auth/__tests__/mockFsFiles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,QAoBrB,CAAA;AAED,eAAO,MAAM,SAAS,QAoBrB,CAAA;AAED,eAAO,MAAM,sBAAsB,QAyBlC,CAAA;AAED,eAAO,MAAM,sBAAsB,QAsDlC,CAAA;AAED,eAAO,MAAM,SAAS,QAqBrB,CAAA;AAED,eAAO,MAAM,mBAAmB,QA4B/B,CAAA;AAED,eAAO,MAAM,kBAAkB,QAoB9B,CAAA;AAED,eAAO,MAAM,oBAAoB,QA8BhC,CAAA;AAED,eAAO,MAAM,gBAAgB,QAkC5B,CAAA;AAED,eAAO,MAAM,oBAAoB,QA+BhC,CAAA;AAED,eAAO,MAAM,0BAA0B,QAuBtC,CAAA;AAED,eAAO,MAAM,wBAAwB,QAwBpC,CAAA;AAED,eAAO,MAAM,+BAA+B,QAwB3C,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setupHelpers.test.d.ts","sourceRoot":"","sources":["../../../../src/auth/__tests__/setupHelpers.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/__tests__/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnvFiles.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/__tests__/loadEnvFiles.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.addTomlSetting.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/__tests__/project.addTomlSetting.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/__tests__/project.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/__tests__/version.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"display.test.d.ts","sourceRoot":"","sources":["../../../../src/packageManager/__tests__/display.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.test.d.ts","sourceRoot":"","sources":["../../../../src/packageManager/__tests__/exec.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/packageManager/__tests__/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packages.test.d.ts","sourceRoot":"","sources":["../../../../src/packageManager/__tests__/packages.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnvFiles.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/loadEnvFiles.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.addTomlSetting.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/project.addTomlSetting.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/project.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/version.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"display.test.d.ts","sourceRoot":"","sources":["../../../src/packageManager/__tests__/display.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.test.d.ts","sourceRoot":"","sources":["../../../src/packageManager/__tests__/exec.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/packageManager/__tests__/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packages.test.d.ts","sourceRoot":"","sources":["../../../src/packageManager/__tests__/packages.test.ts"],"names":[],"mappings":""}
|