我有一个 .Net 5 应用程序,想要使用 dotnet 格式。首先,我将commitlint、husky和lint-staged添加到存储库中。文件夹结构如下
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 MyCsharpProject\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyCsharpProject.sln\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Assembly1\nRun Code Online (Sandbox Code Playgroud)\n配置的 package.json 文件如下所示
\n{\n "lint-staged": {\n "*.cs": "dotnet format --include"\n },\n "devDependencies": {\n "@commitlint/cli": "^12.1.1",\n "@commitlint/config-conventional": "^12.1.1",\n "husky": "^6.0.0",\n "lint-staged": "^10.5.4"\n },\n "scripts": {\n "prepare": "husky install"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n挂钩失败并显示此输出
\n> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -\n[STARTED] Preparing...\n[SUCCESS] Preparing...\n[STARTED] Running tasks...\n[STARTED] Running tasks for *.cs\n[STARTED] dotnet format --include\n[FAILED] dotnet format --include [FAILED]\n[FAILED] dotnet format --include [FAILED]\n[SUCCESS] Running …Run Code Online (Sandbox Code Playgroud) 我创建了一个节点应用程序并安装了 Husky7.0.4 和 lint-staged12.3.5
\n以下是\n.husky/pre-commit --- 文件的配置
\n#!/bin/sh\n. "$(dirname "$0")/_/husky.sh"\n\nnpm run pre-commit\nRun Code Online (Sandbox Code Playgroud)\n以下是 package.json 配置
\n"scripts": {\n "test": "echo \\"Error: no test specified\\" && exit 1",\n "start": "nodemon --exec babel-node index.js",\n "build": "rimraf dist/ && babel ./ --out-dir dist/ --ignore ./node_modules,./.babelrc,./package.json,./npm-debug.log --copy-files",\n "prettier:check": "prettier --check .",\n "prettier:fix": "prettier --write .",\n "lint:check": "eslint .",\n "lint:fix": "eslint --fix .",\n "pre-commit": "lint-staged",\n "prepare": "husky install"\n },\n "lint-staged": {\n "*.js": [\n "lint:check",\n "lint:fix",\n "prettier:fix"\n ]\n },\n "dependencies": {\n "lint-staged": "^12.3.5",\n …Run Code Online (Sandbox Code Playgroud) 我正在使用赫斯基与Lint-staged和Stylelint
"scripts": {
"precommit": "lint-staged",
},
"lint-staged": {
"*.scss": ["stylelint --syntax scss"
]
},
Run Code Online (Sandbox Code Playgroud)
OS - 最新的OSX
节点 - 6.10.0
NPM - 3.10.00
我收到了这个错误 git commit
> husky - npm run -s precommit
/Users/jitendravyas/app/node_modules/lint-staged/src/index.js:6
const path = require('path')
^^^^^
SyntaxError: Use of const in strict mode.
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/jitendravyas/app/node_modules/lint-staged/index.js:2:1)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js …Run Code Online (Sandbox Code Playgroud) 我必须尝试用 lint-staged 设置一只哈士奇。最初,我试图设置如下,但这不起作用。
"lint-staged": {
"*.js": [
"prettier --write",
"eslint src/ --fix",
"npm run test",
"git add"
]
}
Run Code Online (Sandbox Code Playgroud)
然后我经过一些搜索我将我的设置更改为以下但那再次报告了差异错误
"lint-staged": {
"*.js": [
"prettier --write",
"eslint src/ --fix",
"jest --bail --findRelatedTests",
"git add"
]
}
Run Code Online (Sandbox Code Playgroud)
错误描述
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules". …Run Code Online (Sandbox Code Playgroud) 我正在创建一个新的 Vue 项目npm init vue@latest并选择所有内容(Eslint 和 Prettier)
我正在使用以下设置
我通过设置lint-stagednpx mrm@2 lint-staged。出于测试目的,我在src目录中添加一个新文件
// calc.js
function
add
(numOne,
numTwo) {
return numOne +
numTwo;
}
Run Code Online (Sandbox Code Playgroud)
提交新文件时,linter 会按预期修复代码样式。但之后我必须手动删除生成的.eslintcache文件。
较旧的帖子说我应该添加
*.eslintcache
到.gitignore文件。但我将生成的.gitignore文件与 Vue CLI 生成的文件进行了比较,发现两者都没有这一行。使用 Vue CLI 时,不会出现缓存文件。
那么还有其他解决方案还是我错过了什么?