vercel / next.js

The React Framework
https://nextjs.org
MIT License
122.99k stars 26.28k forks source link

[next-codemod] codemod changes all line endings to carriage returns on windows #42437

Open timmywil opened 1 year ago

timmywil commented 1 year ago

Verify canary release

Provide environment information

Operating System:
Platform: win32
Arch: x64 Version: Windows 10 Pro Binaries: Node: 18.12.0 npm: N/A Yarn: N/A pnpm: N/A Relevant packages:
next: 13.0.1 eslint-config-next: N/A react: 18.2.0 react-dom: 18.2.0

What browser are you using? (if relevant)

No response

How are you deploying your application? (if relevant)

No response

Describe the Bug

Running either of the following commands on windows results in all newlines in all files to be changed to carriage returns.

$ npx @next/codemod@latest new-link
$ npx @next/codemod@canary new-link
image

Expected Behavior

Running codemod does not alter line endings one way or the other.

Link to reproduction

This can be reproduced in any project, but only on Windows

To Reproduce

Run npx @next/codemod@latest new-link on Windows.

dopry commented 1 year ago

I encountered this with bash on windows 11. Please don't mess with my line endings.

$ npx @next/codemod@latest --version
13.0.2
sacru2red commented 3 months ago

Here's how to temporarily resolve the issue: (Passing arguments to jscodeshift)

npx @next/codemod@latest next-image-to-legacy-image . --jscodeshift="--lineTerminator=\"\n\""

but I don't know why under code not working

npx @next/codemod@latest new-link . --jscodeshift="--lineTerminator=\"\n\""

oh.. next-image-to-legacy-image vs new-link

https://github.com/facebook/jscodeshift/issues/262