diff --git a/API.md b/API.md
index b2c648b4..a6c6977f 100644
--- a/API.md
+++ b/API.md
@@ -5025,6 +5025,7 @@ const cDKDiffOptionsConfig: cdkDiffWorkflow.CDKDiffOptionsConfig = { ... }
| nodeVersion
| string
| Specify a nodeVersion. |
| envsToDiff
| @time-loop/clickup-projen.cdkDiffWorkflow.EnvToDiff \| @time-loop/clickup-projen.cdkDiffWorkflow.ExplicitStacksEnvToDiff[]
| Collection of environments to cdk diff. |
| createOidcRoleStack
| boolean
| Detrmines if the OIDC role stack should be created. |
+| packageManager
| projen.javascript.NodePackageManager
| Which package manager is being used? |
---
@@ -5065,6 +5066,19 @@ Detrmines if the OIDC role stack should be created.
---
+##### `packageManager`Optional
+
+```typescript
+public readonly packageManager: NodePackageManager;
+```
+
+- *Type:* projen.javascript.NodePackageManager
+- *Default:* the packageManager in the project
+
+Which package manager is being used?
+
+---
+
### ClickUpCdkCommonOptions
#### Initializer
diff --git a/src/cdk-diff-workflow.ts b/src/cdk-diff-workflow.ts
index 7da0fc7b..aa9c3275 100644
--- a/src/cdk-diff-workflow.ts
+++ b/src/cdk-diff-workflow.ts
@@ -1,4 +1,4 @@
-import { SampleFile, YamlFile } from 'projen';
+import { SampleFile, YamlFile, javascript } from 'projen';
import { NodePackage } from 'projen/lib/javascript';
import { clickupCdk } from './clickup-cdk';
import { OptionalNodeVersion } from './optional-node-version';
@@ -6,6 +6,11 @@ import { parameters } from './utils/parameters';
export module cdkDiffWorkflow {
function createCdkDiffWorkflow(options: CDKDiffOptionsConfig) {
+ const installDeps =
+ options.packageManager === javascript.NodePackageManager.PNPM
+ ? 'pnpm i --frozen-lockfile'
+ : 'yarn install --check-files';
+
const defaultWorkflow = {
name: 'cdk-diff',
on: {
@@ -51,7 +56,7 @@ export module cdkDiffWorkflow {
},
{
name: 'Install dependencies',
- run: 'yarn install --check-files',
+ run: installDeps,
},
createStackCaptureStep(options.envsToDiff),
...createDiffSteps(options.envsToDiff).flat(),
@@ -283,6 +288,12 @@ export module cdkDiffWorkflow {
* Detrmines if the OIDC role stack should be created
*/
readonly createOidcRoleStack?: boolean;
+
+ /**
+ * Which package manager is being used?
+ * @default - the packageManager in the project
+ */
+ readonly packageManager?: javascript.NodePackageManager;
}
export function getCDKDiffOptions(options?: CDKDiffOptionsConfig) {
@@ -295,7 +306,14 @@ export module cdkDiffWorkflow {
override?: any,
): void {
new YamlFile(project, '.github/workflows/cdk-diff.yml', {
- obj: { ...createCdkDiffWorkflow({ nodeVersion: project.workflowNodeVersion, ...options }), ...override },
+ obj: {
+ ...createCdkDiffWorkflow({
+ nodeVersion: project.workflowNodeVersion,
+ packageManager: project.package.packageManager,
+ ...options,
+ }),
+ ...override,
+ },
});
}