Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch CodeSandbox repros to pnpm #63038

Merged
merged 3 commits into from
Mar 8, 2024
Merged

Switch CodeSandbox repros to pnpm #63038

merged 3 commits into from
Mar 8, 2024

Conversation

karlhorky
Copy link
Contributor

@karlhorky karlhorky commented Mar 8, 2024

Closes #57895
Closes #57896

What?

Switch Yarn v1 to pnpm for reproduction repos, avoiding the CodeSandbox Yarn v1 yarn.lock caching problem described below

Why?

As confirmed with @CompuIves, CodeSandbox caches the yarn.lock file generated after the first start + yarn install of a GitHub template (Yarn v1) - this saves old versions of Next.js (not the latest canary) in the lockfile and causes old versions of Next.js to be installed when users click on the CodeSandbox Reproduction link during issue creation.

This leads to the current breakage, where Next.js actually cannot even start in the reproduction sandbox:

  1. Start creating a new GitHub issue on the vercel/next GitHub repo
  2. Open the CodeSandbox reproduction link linked in the Link to the code that reproduces this issue section
  3. Observe the error message below in the dev task started below (experimental.appDir: true was required in the 13.0.8-canary.0 version of Next.js in the cached yarn.lock file, but the next.config.js file no longer includes this config)
$ yarn dev
yarn run v1.22.19
$ next dev
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
Error: > The `app` directory is experimental. To enable, add `appDir: true` to your `next.config.js` configuration under `experimental`. See https://nextjs.org/docs/messages/experimental-app-dir-config
    at Object.findPagesDir (/project/sandbox/node_modules/next/dist/lib/find-pages-dir.js:80:19)
    at new DevServer (/project/sandbox/node_modules/next/dist/server/dev/next-dev-server.js:110:59)
    at NextServer.createServer (/project/sandbox/node_modules/next/dist/server/next.js:140:20)
    at /project/sandbox/node_modules/next/dist/server/next.js:155:42
    at async NextServer.prepare (/project/sandbox/node_modules/next/dist/server/next.js:130:24)
    at async /project/sandbox/node_modules/next/dist/cli/next-dev.js:344:17
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Sandbox demo: https://codesandbox.io/p/sandbox/quirky-pascal-n32xk2?file=%2Fnext.config.js%3A5%2C1

Screenshot 2023-11-01 at 16 09 59

How?

Switch to pnpm installation commands instead of Yarn v1

Caveats

This uses CodeSandbox-specific config

Alternatives considered

cc @samcx @CompuIves

@karlhorky karlhorky requested review from a team as code owners March 8, 2024 09:31
@karlhorky karlhorky requested review from delbaoliveira and StephDietz and removed request for a team March 8, 2024 09:31
@ijjk ijjk added the examples Issue/PR related to examples label Mar 8, 2024
@karlhorky karlhorky changed the title Switch-repros-to-pnpm Switch CodeSandbox repros to pnpm Mar 8, 2024
@ijjk
Copy link
Member

ijjk commented Mar 8, 2024

Allow CI Workflow Run

  • approve CI run for commit: 835bfe2

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

@ijjk
Copy link
Member

ijjk commented Mar 8, 2024

Allow CI Workflow Run

  • approve CI run for commit: d50e77c

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

@styfle styfle enabled auto-merge (squash) March 8, 2024 14:07
@styfle styfle added the CI approved Approve running CI for fork label Mar 8, 2024
@styfle styfle merged commit d71a842 into vercel:canary Mar 8, 2024
29 checks passed
@karlhorky
Copy link
Contributor Author

@styfle Thanks for the review and merge!

Just confirmed - sandboxes created from the CodeSandbox reproduction link are working again 🚀

Screenshot 2024-03-08 at 15 29 27

@karlhorky karlhorky deleted the switch-repros-to-pnpm branch March 8, 2024 14:30
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CI approved Approve running CI for fork examples Issue/PR related to examples locked
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants