mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
### Why? Since dep installation within next-codemod runs `pnpm install` on the Next.js repo, it installs in the workspace root scope during testing. We could add a layer for testing like adding a flag `--no-workspace`, but it will reduce confidence between the actual running and testing. Therefore added an empty `pnpm-workspace.yaml` file to each fixture. ### How? By doing this, both installation and testing will have same environment of running, `pnpm install` only. To prevent created `pnpm-lockfile` to be shipped, gitignored it. This way, we keep things simple and make sure tests match real-world use better. The empty `pnpm-workspace.yaml` files make `pnpm` treat each fixture separately, which is closer to how it'll work for users.
19 lines
552 B
Bash
Executable File
19 lines
552 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Simple test runner for upgrade fixtures.
|
|
# For manual verification only (check the README.md) in the fixtures
|
|
# for the expected behavior.
|
|
# Usage:
|
|
# - cwd must be ~/packages/next-codemod
|
|
# - `pnpm test:upgrade-fixture <fixture-name> <...next-codemod-args>`
|
|
|
|
NEXT_CODEMOD_BIN=$(pwd)/bin/next-codemod.js
|
|
cd "$1" || exit 1
|
|
# We're only interested in the changes the upgrade command does.
|
|
git add -A .
|
|
rm -rf node_modules
|
|
pnpm install
|
|
node "$NEXT_CODEMOD_BIN" upgrade "${@:2}"
|
|
git --no-pager diff .
|
|
git restore .
|
|
git reset HEAD -- .
|