You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-15Lines changed: 23 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,13 @@
4
4
5
5
Extreme Angular is pre-configured with a strict and opinionated set of development tools that enforce best practices, ensure consistent code quality, and promote accessibility while remaining fully compatible with the [official Angular documentation](https://angular.dev/overview).
6
6
7
-
However, Extreme Angular is not a fully-featured dashboard or a component library. It contains no custom application logic, components, or complex modifications. Instead, it offers a clean, strict base for your Angular project.
7
+
However, Extreme Angular is not a fully-featured dashboard or a component library. It contains no custom application logic, components, or complex modifications. Instead, it offers a clean, strict base for your Angular project. The underlining Angular project was generated with:
8
8
9
-
For additional utility like Angular Material, server-side rendering (SSR), internationalization (i18n), or End to End Testing (e2e) check out the [Optional Angular Schematics](#optional-angular-schematics) section.
9
+
```
10
+
ng new --strict --style=scss --ssr=false
11
+
```
12
+
13
+
For additional utility like Angular Material, Server-side & hybrid rendering (SSR, SSG, Hydration), Internationalization (i18n), or End to End testing (e2e) check out the [Optional Angular Schematics](#optional-angular-schematics) section.
10
14
11
15
## Contributions, Issues, & Suggestions
12
16
@@ -33,7 +37,7 @@ Thank you for your contributions!
33
37
-[Continuous Integration (CI) Using GitHub Actions](#continuous-integration-ci-using-github-actions)
- Uses both [strict-type-checked](https://typescript-eslint.io/linting/configs#strict-type-checked) and [stylistic-type-checked](https://typescript-eslint.io/linting/configs#stylistic-type-checked) rule sets.
- Disables rules that may conflict with Prettier formatting.
152
156
153
157
To lint all relevant files in the project (not just those in src/):
@@ -156,6 +160,12 @@ To lint all relevant files in the project (not just those in src/):
156
160
npm run lint
157
161
```
158
162
163
+
ESLint output is formatted using [eslint-formatter-mo](https://github.com/fengzilong/eslint-formatter-mo). To use normal formatting, remove the `-f mo` option from the `lint` script in [package.json](package.json):
164
+
165
+
```json
166
+
"lint": "eslint -f mo \"**/*.{js,ts,html,json}\"",
167
+
```
168
+
159
169
> [!TIP]
160
170
> Suppress the urge to immediately set rules to "off" or "warn". First, look up the rule and the problem it is correcting for and discuss the rule with other developers on the project.
161
171
@@ -189,8 +199,8 @@ In [.prettierrc.json](./.prettierrc.json), the `htmlWhitespaceSensitivity` optio
189
199
190
200
The following Prettier plugins are used:
191
201
192
-
-[prettier-plugin-sh](https://www.npmjs.com/package/prettier-plugin-sh): Formats shell scripts, such as Git hooks.
193
-
-[prettier-plugin-css-order](https://www.npmjs.com/package/prettier-plugin-css-order): Automatically organizes SCSS/CSS properties using [concentric-css](https://github.com/brandon-rhodes/Concentric-CSS)
202
+
-[prettier-plugin-sh](https://github.com/un-ts/prettier/tree/master/packages/sh): Formats shell scripts, such as Git hooks.
203
+
-[prettier-plugin-css-order](https://github.com/Siilwyn/prettier-plugin-css-order): Automatically organizes SCSS/CSS properties using [concentric-css](https://github.com/brandon-rhodes/Concentric-CSS)
194
204
-[prettier-plugin-organize-imports](https://github.com/trivago/prettier-plugin-sort-imports): Automatically organizes, arranges, and removes unused imports.
195
205
196
206
To format files within the project:
@@ -245,9 +255,9 @@ The following VSCode settings have been set in [.vscode/settings.json](.vscode/s
245
255
246
256
[Husky](https://typicode.github.io/husky/) is used to manage the [pre-commit](.husky/pre-commit), [pre-push](.husky/pre-push), and [commit-msg](.husky/commit-msg) git hooks.
247
257
248
-
[Commitlint](https://commitlint.js.org/#/) is used to enforce good commit messages according to the [@commitlint/config-conventional](https://www.npmjs.com/package/@commitlint/config-conventional) configuration in the commit-msg git hook. Additional Commitlint configuration is kept in [commitlint.config.js](./commitlint.config.js).
258
+
[Commitlint](https://commitlint.js.org/#/) is used to enforce good commit messages according to the [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint) configuration in the commit-msg git hook. Additional Commitlint configuration is kept in [commitlint.config.js](./commitlint.config.js).
249
259
250
-
[Lint-staged](https://www.npmjs.com/package/lint-staged) is used to run Prettier, ESLint, Stylelint, CSpell, and [tsc-files](https://www.npmjs.com/package/tsc-files) in the pre-commit git hook against all staged files. Lint-staged configuration is kept in [.lintstagedrc.json](.lintstagedrc.json)
260
+
[Lint-staged](https://github.com/lint-staged/lint-staged) is used to run Prettier, ESLint, Stylelint, CSpell, and [tsc-files](https://github.com/gustavopch/tsc-files) in the pre-commit git hook against all staged files. Lint-staged configuration is kept in [.lintstagedrc.json](.lintstagedrc.json)
251
261
252
262
### Shove Progress
253
263
@@ -293,7 +303,7 @@ ng add @angular/cdk
293
303
294
304
To add animations to your own components, check out [Introduction to Angular animations](https://angular.dev/guide/animations)
Consider enabling [Server-side & hybrid rendering](https://angular.dev/guide/performance) to improve SEO and user experience (at the cost of increased deployment complexity).
299
309
@@ -305,10 +315,8 @@ If you plan to implement internationalization in the future, adding i18n attribu
305
315
306
316
To enable the i18n ESLint rule, simply remove or configure the following rule from the \*.html section of [eslint.config.js](./eslint.config.js):
0 commit comments