chore: migrate from yarn to pnpm - #5849
Draft
jmfrancois wants to merge 12 commits into
Draft
Conversation
Switches package management from Yarn Classic to pnpm (isolated linker), retiring the webpack/CDN tooling that carried yarn-hoisting assumptions (scripts-config-react-webpack, scripts-config-cdn) instead of patching them, in line with the ongoing webpack->vite and jest->vitest migration. - Delete scripts-config-react-webpack and scripts-config-cdn (dead, no real consumers; held every yarn-hoisting-coupled hack found). - Remove dead jest branch in scripts-core/extends.js and orphaned jest config block in packages/http. - Declare scripts-config-prettier/stylelint as real deps of scripts-core (previously phantom deps that only worked via yarn's flat hoist). - Rewrite scripts-yarn-workspace to shell out to `pnpm -r run --if-present` instead of parsing `yarn workspaces info`. - Swap scripts-publish-local's yarn CLI calls (registry/cache config) to pnpm equivalents. - Root package.json/pnpm-workspace.yaml: packageManager, workspaces, resolutions -> overrides (including a stray per-package resolutions block pnpm doesn't read), script invocations, linkWorkspacePackages (needed since internal @talend/* deps don't use the workspace: protocol, so plain pnpm install silently resolved from the registry instead of linking local packages). - Convert yarn.lock to pnpm-lock.yaml, update CI (composite setup action + all workflows), retire yarn-deduplicate.yml (pnpm dedupes natively). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 2a71e68 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Per-package changesets for the packages whose behavior actually changed in the yarn->pnpm migration: react-components (build script + dropped resolutions), http (dropped orphaned jest config), scripts-core (real deps instead of phantom hoisted ones, dropped jest-config generation), scripts-yarn-workspace (rewritten to shell out to pnpm, now requires pnpm), scripts-publish-local (registry/cache setup now uses pnpm, now requires pnpm). scripts-config-cdn and scripts-config-react-webpack are deleted entirely, so changesets can't target them (not in the workspace); no changeset added for those two. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The package had already been rewritten to shell out to pnpm during the yarn->pnpm migration, making it a thin wrapper around `pnpm -r run <script> --if-present --workspace-concurrency=1`. Inline that pnpm command directly into the two root scripts that used it (vitest:update, test:cron) and remove the now-unused package, its devDependency, and the superseded changeset that documented its rewrite. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Unused local-registry helper superseded by pnpm equivalents; remove package and its pending changeset. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
Author
|
@copilot resolve the merge conflicts in this pull request by droping the yarn.lock file |
Contributor
Verified that |
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 4, 2026 16:10 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 4, 2026 16:10 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 4, 2026 16:10 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 7, 2026 07:08 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 7, 2026 07:08 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 7, 2026 07:08 — with
GitHub Actions
Failure
GITHUB_TOKEN can't read private cross-repo packages. @talend/daikon-tql-client is still private, so pnpm's cold install hits a 403 that yarn's warm cache was masking. Revert the NPM_TOKEN input (and NODE_AUTH_TOKEN env) back to secrets.NPM_TOKEN, as it was before ad59239. Requires the NPM_TOKEN repo secret (a PAT with read:packages) to be recreated in repo settings. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 7, 2026 09:11 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 7, 2026 09:11 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 7, 2026 09:11 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 13:53 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 13:53 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 13:53 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 13:54 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 13:54 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 13:54 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 15:25 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 15:25 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 15:25 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 15:31 — with
GitHub Actions
Failure
jmfrancois
had a problem deploying
to
pull_request_unsafe
September 9, 2026 15:31 — with
GitHub Actions
Failure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
node_modules), converting root config, alltools/scripts-*CLIs that shelled out to yarn, and CI workflows.tools/scripts-config-react-webpackandtools/scripts-config-cdn(dead, zero real consumers) instead of patching their yarn-hoisting-coupled code, in line with the ongoing webpack→vite / jest→vitest migration.scripts-core's prettier/stylelint resolution, per-packageresolutionsinpackages/components) and a critical one caught during validation: internal@talend/*deps don't use theworkspace:protocol, so plainpnpm installsilently resolved them from the npm registry instead of linking local workspace code — fixed vialinkWorkspacePackages: true..github/workflows/yarn-deduplicate.yml(pnpm dedupes natively).@talend/scripts-publish-localentirely (unused local-registry helper, no consumers) and its pending changeset.Test plan
pnpm installcompletes clean with no phantom-dependency errorspnpm build:libsucceeds across all 26 workspace packagestalend-scripts extendsresolves all 5 generated config branches (prettier/stylelint/eslint/babel/typescript) end-to-endtalend-yarn-workspaceCLI runs correctly againstpnpm -r run --if-present🤖 Generated with Claude Code