add ESLint configuration and update scripts (#46)

Reviewed-on: http://git.simonis.lol/angular/ems-frontend/pulls/46
Co-authored-by: Jan-Marlon Leibl <jleibl@proton.me>
Co-committed-by: Jan-Marlon Leibl <jleibl@proton.me>
This commit is contained in:
Hop In, I Have Puppies AND WiFi 2025-01-23 10:59:15 +00:00 committed by Hop In, I Have Puppies AND WiFi
parent 556ba08234
commit 26ba6b1054
4 changed files with 64 additions and 4 deletions

View File

@ -91,11 +91,23 @@
],
"scripts": []
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
}
}
}
},
"cli": {
"analytics": "33c8483f-3876-4eb5-9c9b-1001cab9b273"
"analytics": "33c8483f-3876-4eb5-9c9b-1001cab9b273",
"schematicCollections": [
"angular-eslint"
]
}
}

BIN
bun.lockb

Binary file not shown.

43
eslint.config.js Normal file
View File

@ -0,0 +1,43 @@
// @ts-check
const eslint = require("@eslint/js");
const tseslint = require("typescript-eslint");
const angular = require("angular-eslint");
module.exports = tseslint.config(
{
files: ["**/*.ts"],
extends: [
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.stylistic,
...angular.configs.tsRecommended,
],
processor: angular.processInlineTemplates,
rules: {
"@angular-eslint/directive-selector": [
"error",
{
type: "attribute",
prefix: "app",
style: "camelCase",
},
],
"@angular-eslint/component-selector": [
"error",
{
type: "element",
prefix: "app",
style: "kebab-case",
},
],
},
},
{
files: ["**/*.html"],
extends: [
...angular.configs.templateRecommended,
...angular.configs.templateAccessibility,
],
rules: {},
}
);

View File

@ -6,7 +6,8 @@
"start": "ng serve --proxy-config src/proxy.conf.json",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test"
"test": "ng test",
"lint": "ng lint"
},
"private": true,
"dependencies": {
@ -21,6 +22,7 @@
"@angular/platform-browser-dynamic": "^19.0.4",
"@angular/router": "^19.0.4",
"keycloak-angular": "^16.1.0",
"prettier": "^3.4.2",
"rxjs": "~7.8.1",
"tailwind": "4.0.0",
"tailwindcss": "^3.4.17",
@ -32,7 +34,9 @@
"@angular/cli": "^19.0.5",
"@angular/compiler-cli": "^19.0.4",
"@types/jasmine": "~5.1.5",
"angular-eslint": "19.0.2",
"autoprefixer": "^10.4.20",
"eslint": "^9.16.0",
"jasmine-core": "~5.2.0",
"karma": "~6.4.4",
"karma-chrome-launcher": "~3.2.0",
@ -40,6 +44,7 @@
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"postcss": "^8.4.49",
"typescript": "~5.5.4"
"typescript": "~5.5.4",
"typescript-eslint": "8.18.0"
}
}