Skip to content

Commit 44bc9c8

Browse files
authored
Merge pull request #57 from joematthews/misc-changes-and-updates
Misc changes and updates
2 parents 0c0e0f9 + 62fbd2e commit 44bc9c8

File tree

4 files changed

+777
-27
lines changed

4 files changed

+777
-27
lines changed

.prettierrc.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"htmlWhitespaceSensitivity": "ignore",
33
"plugins": [
4-
"prettier-plugin-sh",
54
"prettier-plugin-css-order",
6-
"prettier-plugin-organize-imports"
5+
"prettier-plugin-organize-imports",
6+
"prettier-plugin-sh"
77
]
88
}

README.md

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@
44

55
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).
66

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:
88

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.
1014

1115
## Contributions, Issues, & Suggestions
1216

@@ -33,7 +37,7 @@ Thank you for your contributions!
3337
- [Continuous Integration (CI) Using GitHub Actions](#continuous-integration-ci-using-github-actions)
3438
- [Optional Angular Schematics](#optional-angular-schematics)
3539
- [Angular Material & Angular CDK](#angular-material--angular-cdk)
36-
- [Server-side & hybrid rendering (SSR)](#server-side--hybrid-rendering-ssr)
40+
- [Server-side & hybrid rendering (SSR, SSG, Hydration)](#server-side--hybrid-rendering-ssr-ssg-hydration)
3741
- [Internationalization (i18n)](#internationalization-i18n)
3842
- [End to End Testing (e2e)](#end-to-end-testing-e2e)
3943
- [Tips & Tricks](#tips--tricks)
@@ -141,13 +145,13 @@ To ensure effective linting for all project files, the following ESLint plugins
141145
- [@typescript-eslint](https://typescript-eslint.io/)
142146
- 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.
143147
- [typescript-eslint rules configuration matrix](https://typescript-eslint.io/rules/).
144-
- [eslint-plugin-jasmine](https://www.npmjs.com/package/eslint-plugin-jasmine)
148+
- [eslint-plugin-jasmine](https://github.com/tlvince/eslint-plugin-jasmine)
145149
- Uses `recommended` rule set.
146150
- [eslint-plugin-jasmine rules configuration matrix](https://typescript-eslint.io/rules/).
147-
- [eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc)
151+
- [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc)
148152
- Uses `recommended` rule set.
149153
- [eslint-plugin-jsonc rules configuration matrix](https://ota-meshi.github.io/eslint-plugin-jsonc/rules/).
150-
- [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier)
154+
- [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier)
151155
- Disables rules that may conflict with Prettier formatting.
152156

153157
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/):
156160
npm run lint
157161
```
158162

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+
159169
> [!TIP]
160170
> 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.
161171
@@ -189,8 +199,8 @@ In [.prettierrc.json](./.prettierrc.json), the `htmlWhitespaceSensitivity` optio
189199

190200
The following Prettier plugins are used:
191201

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)
194204
- [prettier-plugin-organize-imports](https://github.com/trivago/prettier-plugin-sort-imports): Automatically organizes, arranges, and removes unused imports.
195205

196206
To format files within the project:
@@ -245,9 +255,9 @@ The following VSCode settings have been set in [.vscode/settings.json](.vscode/s
245255

246256
[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.
247257

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).
249259

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)
251261

252262
### Shove Progress
253263

@@ -293,7 +303,7 @@ ng add @angular/cdk
293303

294304
To add animations to your own components, check out [Introduction to Angular animations](https://angular.dev/guide/animations)
295305

296-
### Server-side & hybrid rendering (SSR)
306+
### Server-side & hybrid rendering (SSR, SSG, Hydration)
297307

298308
Consider enabling [Server-side & hybrid rendering](https://angular.dev/guide/performance) to improve SEO and user experience (at the cost of increased deployment complexity).
299309

@@ -305,10 +315,8 @@ If you plan to implement internationalization in the future, adding i18n attribu
305315

306316
To enable the i18n ESLint rule, simply remove or configure the following rule from the \*.html section of [eslint.config.js](./eslint.config.js):
307317

308-
```json
309-
rules: {
310-
"@angular-eslint/template/i18n": "off",
311-
},
318+
```js
319+
"@angular-eslint/template/i18n": "off",
312320
```
313321

314322
> [!NOTE]

0 commit comments

Comments
 (0)