Compare commits

..

4 Commits

Author SHA1 Message Date
5a2610066d add settings.json
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-23 20:51:58 -05:00
1eb3ee5e9d Integrating Prettier with ESLint 2025-02-23 20:47:32 -05:00
cfaacc2e0a add prettier 2025-02-23 20:42:52 -05:00
9ca074ab4e add eslint 2025-02-23 20:38:00 -05:00
7 changed files with 1924 additions and 3 deletions

4
.prettierignore Normal file
View File

@@ -0,0 +1,4 @@
build
coverage
e2e
node_modules

22
.prettierrc Normal file
View File

@@ -0,0 +1,22 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 120,
"tabWidth": 2,
"endOfLine": "auto",
"bracketSpacing": true,
"overrides": [
{
"files": "*.scss",
"options": {
"singleQuote": false
}
}, {
"files": "*.html",
"options": {
"printWidth": 120
}
}
]
}

15
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,15 @@
{
"css.lint.unknownAtRules": "ignore",
"scss.lint.unknownAtRules": "ignore",
"eslint.enable": true,
"eslint.format.enable": true,
"eslint.validate": ["javascript", "typescript", "html"],
"eslint.useFlatConfig": true,
"eslint.workingDirectories": ["../src"],
"eslint.options": {
"overrideConfigFile": ".eslintrc.json"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.configPath": ".prettierrc.json",
"editor.formatOnSave": true
}

View File

@@ -95,8 +95,22 @@
], ],
"scripts": [] "scripts": []
} }
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
} }
} }
} }
},
"cli": {
"schematicCollections": [
"angular-eslint"
]
} }
} }

52
eslint.config.js Normal file
View File

@@ -0,0 +1,52 @@
// @ts-check
const eslint = require("@eslint/js");
const tseslint = require("typescript-eslint");
const angular = require("angular-eslint");
const eslintPluginPrettierRecommended = require("eslint-plugin-prettier/recommended");
module.exports = tseslint.config(
{
files: ["**/*.ts"],
extends: [
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.stylistic,
...angular.configs.tsRecommended,
eslintPluginPrettierRecommended
],
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",
},
],
'@typescript-eslint/no-explicit-any': ['off'],
'@typescript-eslint/member-ordering': 0,
'@typescript-eslint/naming-convention': 0,
'@angular-eslint/no-host-metadata-property': 'off',
'@angular-eslint/no-output-on-prefix': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-inferrable-types': 'off',
},
},
{
files: ["**/*.html"],
extends: [
...angular.configs.templateRecommended,
...angular.configs.templateAccessibility,
],
rules: {},
}
);

1809
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,8 @@
"start": "ng serve", "start": "ng serve",
"build": "ng build", "build": "ng build",
"watch": "ng build --watch --configuration development", "watch": "ng build --watch --configuration development",
"test": "ng test" "test": "ng test",
"lint": "ng lint"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
@@ -27,12 +28,18 @@
"@angular/cli": "^19.1.8", "@angular/cli": "^19.1.8",
"@angular/compiler-cli": "^19.1.0", "@angular/compiler-cli": "^19.1.0",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"angular-eslint": "19.1.0",
"eslint": "^9.20.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.3",
"jasmine-core": "~5.5.0", "jasmine-core": "~5.5.0",
"karma": "~6.4.0", "karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0", "karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0", "karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0", "karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0", "karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.7.2" "prettier": "^3.5.2",
"typescript": "~5.7.2",
"typescript-eslint": "8.23.0"
} }
} }