chore: upgrade pnpm from 9 to 11 - #4498
Conversation
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Upgrades the server workspace to pnpm 11, centralizes dependency versions, and aligns CI and Docker installations.
Changes:
- Pins pnpm 11.22.0 and Node 24.
- Introduces dependency catalogs and explicit build permissions.
- Uses package-local tooling and unified CI/Docker setup.
Blocking findings:
- Docker runner images use an ignored camelCase pnpm environment variable; it must be
pnpm_config_verify_deps_before_run. - The PR title lacks the required trailing JIRA key.
Reviewed changes
Copilot reviewed 85 out of 86 changed files in this pull request and generated 26 comments.
Show a summary per file
| File | Description |
|---|---|
package.json |
Pins pnpm and Node runtime. |
pnpm-workspace.yaml |
Adds catalogs and build permissions. |
pnpm-lock.yaml |
Regenerates pnpm 11 resolutions. |
backend/package.json |
Adopts catalogs and local binaries. |
backend/.prettierrc.cjs |
Resolves the Prettier plugin explicitly. |
services/package.json |
Removes nested pnpm pin; catalogs tools. |
services/.prettierrc.cjs |
Resolves the Prettier plugin explicitly. |
services/libs/types/package.json |
Uses local cataloged tooling. |
services/libs/test-kit/package.json |
Catalogs tooling and pg-promise. |
services/libs/temporal/package.json |
Catalogs Temporal and tooling dependencies. |
services/libs/telemetry/package.json |
Uses local cataloged tooling. |
services/libs/snowflake/package.json |
Catalogs TypeScript tooling. |
services/libs/slack/package.json |
Uses local cataloged tooling. |
services/libs/redis/package.json |
Uses local cataloged tooling. |
services/libs/queue/package.json |
Uses local cataloged tooling. |
services/libs/opensearch/package.json |
Catalogs tooling and Axios. |
services/libs/nango/package.json |
Catalogs tooling and Axios. |
services/libs/logging/package.json |
Uses local cataloged tooling. |
services/libs/integrations/package.json |
Catalogs tooling and Axios. |
services/libs/database/package.json |
Catalogs shared database dependencies. |
services/libs/data-access-layer/package.json |
Catalogs tooling and pg-promise. |
services/libs/common/package.json |
Catalogs tooling and config. |
services/libs/common_services/package.json |
Catalogs tooling and Axios. |
services/libs/audit-logs/package.json |
Uses local cataloged tooling. |
services/libs/anthropic-aws/package.json |
Uses local cataloged tooling. |
services/archetypes/worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/archetypes/standard/package.json |
Catalogs tooling and pg-promise. |
services/archetypes/consumer/package.json |
Uses local cataloged tooling. |
services/apps/webhook_api/package.json |
Catalogs runtime and development tooling. |
services/apps/temporal_codec_server/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/template_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/template_consumer/package.json |
Catalogs runtime and development tooling. |
services/apps/snowflake_connectors/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/security_best_practices_worker/package.json |
Catalogs shared runtime dependencies. |
services/apps/search_sync_worker/package.json |
Catalogs runtime and development tooling. |
services/apps/search_sync_api/package.json |
Catalogs runtime and development tooling. |
services/apps/script_executor_worker/package.json |
Removes npx and catalogs dependencies. |
services/apps/projects_evaluation_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/profiles_worker/package.json |
Catalogs shared runtime dependencies. |
services/apps/pcc_sync_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/packages_worker/package.json |
Catalogs shared worker dependencies. |
services/apps/organizations_enrichment_worker/package.json |
Catalogs shared runtime dependencies. |
services/apps/nango_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/nango_webhook_api/package.json |
Catalogs runtime and development tooling. |
services/apps/merge_suggestions_worker/package.json |
Catalogs shared runtime dependencies. |
services/apps/members_enrichment_worker/package.json |
Catalogs shared runtime dependencies. |
services/apps/kafka_connect_monitor/package.json |
Catalogs runtime and development tooling. |
services/apps/integration_stream_worker/package.json |
Catalogs runtime and development tooling. |
services/apps/integration_run_worker/package.json |
Catalogs shared runtime dependencies. |
services/apps/exports_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/entity_merging_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/data_sink_worker/package.json |
Catalogs runtime and development tooling. |
services/apps/cron_service/package.json |
Catalogs runtime and development tooling. |
services/apps/categorization_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/cache_worker/package.json |
Catalogs Temporal and tooling dependencies. |
services/apps/automatic_projects_discovery_worker/package.json |
Catalogs Temporal and tooling dependencies. |
.github/workflows/server-tests.yml |
Uses combined pnpm/Node setup. |
.github/workflows/backend-lint.yaml |
Uses combined pnpm/Node setup. |
.github/actions/node/package.json |
Catalogs Node and TypeScript versions. |
scripts/services/docker/Dockerfile.backend |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.packages |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.webhook_api |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.snowflake_connectors_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.security_best_practices_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.search_sync_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.search_sync_api |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.script_executor_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.script_executor |
Uses root pnpm pin. |
scripts/services/docker/Dockerfile.projects_evaluation_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.profiles_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.pcc_sync_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.organizations_enrichment_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.nango_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.nango_webhook_api |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.merge_suggestions_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.members_enrichment_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.kafka_connect_monitor |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.integration_stream_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.integration_run_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.exports_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.entity_merging_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.data_sink_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.cron_service |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.categorization_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.cache_worker |
Uses root pnpm pin; override is malformed. |
scripts/services/docker/Dockerfile.automatic_projects_discovery_worker |
Uses root pnpm pin; override is malformed. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 85 out of 86 changed files in this pull request and generated no new comments.
Suppressed comments (26)
scripts/services/docker/Dockerfile.merge_suggestions_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.cache_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.script_executor_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.backend:15
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.kafka_connect_monitor:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.search_sync_api:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
scripts/services/docker/Dockerfile.categorization_worker:16 - This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.data_sink_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.search_sync_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
scripts/services/docker/Dockerfile.integration_run_worker:16 - This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.nango_webhook_api:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.exports_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.profiles_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.projects_evaluation_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.nango_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.entity_merging_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.snowflake_connectors_worker:18
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
scripts/services/docker/Dockerfile.automatic_projects_discovery_worker:16 - This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.integration_stream_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.security_best_practices_worker:46
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
scripts/services/docker/Dockerfile.webhook_api:16 - This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
scripts/services/docker/Dockerfile.members_enrichment_worker:16 - This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.pcc_sync_worker:18
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.packages:19
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.cron_service:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
scripts/services/docker/Dockerfile.organizations_enrichment_worker:16
- This camelCase environment key is ignored by pnpm 11.22, whose config reader checks
pnpm_config_verify_deps_before_run. The defaultinstallbehavior therefore remains active and can trigger a failing reinstall in this runner, which does not contain the workspace or lockfile.
ENV pnpm_config_verifyDepsBeforeRun=false
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
Summary
Upgrade the workspace from pnpm 9 to pnpm 11, following pnpm's recommended setup: one version pin, workspace settings in
pnpm-workspace.yaml, packages declaring the tools they run, andpnpm/setupfor GitHub Actions.pnpm 11 also tightens install security. Dependency postinstall scripts are blocked unless we list them in
allowBuilds. Transitive git/tarball dependencies are blocked by default.What changed
11.22.0via rootpackageManageronly. Nested pins onbackend/andservices/(which had drifted) are gone.devEngines.runtimeso Corepack, CI (pnpm/setup@v2), and Docker all read the same files.pnpm-workspace.yaml:typescript,@types/node,tsx,eslint,prettier, Temporal SDK,axios,config,pg-promise). Packages use"catalog:"instead of copy-pasted ranges.eslint/prettier/tsxnow declare those deps and call the local binary.npxis gone so we do not pick up a random version from the registry.pnpm/setup@v2as pnpm documents for GitHub Actions (installs pnpm + Node and runs install). Docker copies rootpackage.jsonso Corepack gets the same pnpm version, usespnpm fetchthenpnpm i --frozen-lockfile, and setsverifyDepsBeforeRun=falseonly on the runner image (pnpm 11 would otherwise try to reinstall beforepnpm run start).