mirror of
https://github.com/chenasraf/nextcloud-app-template.git
synced 2026-05-17 17:28:09 +00:00
build: replace husky with lefthook
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
export PHP_CS_FIXER_IGNORE_ENV=1
|
||||
pnpm lint-staged -- --relative
|
||||
@@ -1,17 +0,0 @@
|
||||
module.exports = {
|
||||
'*.{ts,vue}': ['eslint --fix'],
|
||||
'*.{scss,vue,ts,md}': ['prettier --write'],
|
||||
'*.json': (files) => {
|
||||
const filtered = files.filter(file => !file.includes('openapi.json'))
|
||||
return filtered.length > 0 ? `prettier --write ${filtered.join(' ')}` : []
|
||||
},
|
||||
'*.php': (files) => {
|
||||
const nonGenFiles = files.filter(file => !file.includes('/gen/'))
|
||||
const commands = []
|
||||
if (nonGenFiles.length > 0) {
|
||||
commands.push('make php-cs-fixer', 'make test')
|
||||
}
|
||||
return commands
|
||||
},
|
||||
'*Controller.php': [() => 'make openapi', () => 'git add openapi.json'],
|
||||
}
|
||||
22
lefthook.yml
Normal file
22
lefthook.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
pre-commit:
|
||||
parallel: true
|
||||
commands:
|
||||
eslint:
|
||||
glob: "*.{ts,vue}"
|
||||
run: pnpm eslint --fix {staged_files} && git add {staged_files}
|
||||
prettier:
|
||||
glob: "*.{scss,vue,ts,md}"
|
||||
run: pnpm prettier --write {staged_files} && git add {staged_files}
|
||||
prettier-json:
|
||||
glob: "*.json"
|
||||
exclude: "openapi.json"
|
||||
run: pnpm prettier --write {staged_files} && git add {staged_files}
|
||||
php-cs-fixer:
|
||||
glob: "*.php"
|
||||
exclude: "/gen/"
|
||||
env:
|
||||
PHP_CS_FIXER_IGNORE_ENV: "1"
|
||||
run: make php-cs-fixer && make test
|
||||
openapi:
|
||||
glob: "*Controller.php"
|
||||
run: make openapi && git add openapi.json
|
||||
41
package.json
41
package.json
@@ -7,12 +7,13 @@
|
||||
"node": "^22.19.0",
|
||||
"pnpm": "^10.17.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.28.0",
|
||||
"scripts": {
|
||||
"dev": "vite build --watch",
|
||||
"build": "vite build",
|
||||
"lint": "eslint src",
|
||||
"format": "eslint --fix src && prettier --write {vite.config.ts,src/,README.md}",
|
||||
"prepare": "husky",
|
||||
"prepare": "lefthook install",
|
||||
"gen": "simple-scaffold -c . -k",
|
||||
"test": "vitest",
|
||||
"test:run": "vitest run"
|
||||
@@ -22,37 +23,41 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"@nextcloud/axios": "^2.5.2",
|
||||
"@nextcloud/dialogs": "^7.3.0",
|
||||
"@nextcloud/l10n": "^3.4.1",
|
||||
"@nextcloud/router": "^3.1.0",
|
||||
"@nextcloud/vite-config": "^2.5.2",
|
||||
"@nextcloud/vue": "^9.5.0",
|
||||
"@nextcloud/vue": "^9.6.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"linkifyjs": "^4.3.2",
|
||||
"vue": "^3.5.28",
|
||||
"rrule": "^2.8.1",
|
||||
"vue": "^3.5.32",
|
||||
"vue-material-design-icons": "^5.3.1"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": ["lefthook"]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^10.0.1",
|
||||
"@nextcloud/browserslist-config": "^3.1.2",
|
||||
"@nextcloud/eslint-config": "^8.4.2",
|
||||
"@nextcloud/stylelint-config": "^3.2.1",
|
||||
"@vitejs/plugin-vue": "^6.0.4",
|
||||
"@vitejs/plugin-vue": "^6.0.5",
|
||||
"@vue/test-utils": "^2.4.6",
|
||||
"@vue/tsconfig": "^0.8.1",
|
||||
"eslint": "^10.0.2",
|
||||
"happy-dom": "^20.7.0",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.2.7",
|
||||
"@vue/tsconfig": "^0.9.1",
|
||||
"eslint": "^10.2.0",
|
||||
"happy-dom": "^20.8.9",
|
||||
"lefthook": "^1.12.5",
|
||||
"prettier": "^3.8.1",
|
||||
"rollup-plugin-visualizer": "^7.0.0",
|
||||
"sass": "^1.97.3",
|
||||
"sass-embedded": "^1.97.3",
|
||||
"typescript": "^5.9.3",
|
||||
"typescript-eslint": "^8.56.1",
|
||||
"vite": "^7.3.1",
|
||||
"rollup-plugin-visualizer": "^7.0.1",
|
||||
"sass": "^1.99.0",
|
||||
"sass-embedded": "^1.99.0",
|
||||
"typescript": "^6.0.2",
|
||||
"typescript-eslint": "^8.58.0",
|
||||
"vite": "^8.0.3",
|
||||
"vite-plugin-checker": "^0.12.0",
|
||||
"vitest": "^4.0.18",
|
||||
"vue-router": "^5.0.3",
|
||||
"vue-tsc": "^3.2.5"
|
||||
"vitest": "^4.1.2",
|
||||
"vue-router": "^5.0.4",
|
||||
"vue-tsc": "^3.2.6"
|
||||
}
|
||||
}
|
||||
|
||||
2061
pnpm-lock.yaml
generated
2061
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user