-
问题描述: 最近在使用 Vscode 的时候,默认将所有的有关 End of Line 的地方都变为了 CTRL 格式,但是每次安装依赖包的时候
package.json和pnpm-lock.yaml总是会变为 LF 格式,于是写了个脚本自动执行格式转换。 -
相关脚本
在根目录下新建一个文件 fix-eol.js:
import fs from 'fs'
import path from 'path'
import { dirname } from 'path'
import { fileURLToPath } from 'url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
const autoFixEol = (files) => {
files.forEach(file => {
if (!fs.existsSync(file)) {
return
}
const filePath = path.join(__dirname, file)
const content = fs.readFileSync(filePath, 'utf8')
const newContent = content.replace(/\r?\n/g, '\r\n')
fs.writeFileSync(filePath, newContent, 'utf8')
})
}
autoFixEol(['package.json', 'package-lock.json', 'pnpm-lock.yaml', 'yarn.lock'])
在 package.json 中添加如下代码:
"scripts": {
...
"postinstall": "node fix-eol.js"
...
}