feat(doc): move bug-cd

This commit is contained in:
thomas
2023-10-18 09:58:17 +02:00
parent a4edf05eac
commit db75a7bb7e
35 changed files with 43 additions and 39 deletions

View File

@@ -1,5 +1,5 @@
{
"extends": ["../../.eslintrc.json"],
"extends": ["../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{

View File

@@ -5,9 +5,9 @@
### Run Application
```bash
npx nx serve bug-cd
npx nx serve angular-bug-cd
```
### Documentation and Instruction
Challenge documentation is [here](https://angular-challenges.vercel.app/challenges/angular-performance/32-bug-cd/).
Challenge documentation is [here](https://angular-challenges.vercel.app/challenges/angular-performance/32-angular-bug-cd/).

View File

@@ -1,9 +1,9 @@
/* eslint-disable */
export default {
displayName: 'bug-cd',
preset: '../../jest.preset.js',
displayName: 'angular-bug-cd',
preset: '../../../jest.preset.js',
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
coverageDirectory: '../../coverage/apps/bug-cd',
coverageDirectory: '../../../coverage/apps/angular/bug-cd',
transform: {
'^.+\\.(ts|mjs|js|html)$': [
'jest-preset-angular',

View File

@@ -1,22 +1,25 @@
{
"name": "bug-cd",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"name": "angular-bug-cd",
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"projectType": "application",
"prefix": "app",
"sourceRoot": "apps/bug-cd/src",
"sourceRoot": "apps/angular/bug-cd/src",
"tags": [],
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:browser",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/apps/bug-cd",
"index": "apps/bug-cd/src/index.html",
"main": "apps/bug-cd/src/main.ts",
"outputPath": "dist/apps/angular/bug-cd",
"index": "apps/angular/bug-cd/src/index.html",
"main": "apps/angular/bug-cd/src/main.ts",
"polyfills": ["zone.js"],
"tsConfig": "apps/bug-cd/tsconfig.app.json",
"assets": ["apps/bug-cd/src/favicon.ico", "apps/bug-cd/src/assets"],
"styles": ["apps/bug-cd/src/styles.scss"],
"tsConfig": "apps/angular/bug-cd/tsconfig.app.json",
"assets": [
"apps/angular/bug-cd/src/favicon.ico",
"apps/angular/bug-cd/src/assets"
],
"styles": ["apps/angular/bug-cd/src/styles.scss"],
"scripts": []
},
"configurations": {
@@ -50,10 +53,10 @@
"executor": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"browserTarget": "bug-cd:build:production"
"browserTarget": "angular-bug-cd:build:production"
},
"development": {
"browserTarget": "bug-cd:build:development"
"browserTarget": "angular-bug-cd:build:development"
}
},
"defaultConfiguration": "development"
@@ -61,21 +64,24 @@
"extract-i18n": {
"executor": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "bug-cd:build"
"browserTarget": "angular-bug-cd:build"
}
},
"lint": {
"executor": "@nx/linter:eslint",
"outputs": ["{options.outputFile}"],
"options": {
"lintFilePatterns": ["apps/bug-cd/**/*.ts", "apps/bug-cd/**/*.html"]
"lintFilePatterns": [
"apps/angular/bug-cd/**/*.ts",
"apps/angular/bug-cd/**/*.html"
]
}
},
"test": {
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "apps/bug-cd/jest.config.ts",
"jestConfig": "apps/angular/bug-cd/jest.config.ts",
"passWithNoTests": true
},
"configurations": {

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,7 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"outDir": "../../../dist/out-tsc",
"types": []
},
"files": ["src/main.ts"],

View File

@@ -22,7 +22,7 @@
"path": "./tsconfig.editor.json"
}
],
"extends": "../../tsconfig.base.json",
"extends": "../../../tsconfig.base.json",
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,

View File

@@ -1,7 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"outDir": "../../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node", "@testing-library/jest-dom"]
},

View File

@@ -3,7 +3,7 @@ title: 🟢 Projection
description: Challenge 1 is about learning how to project DOM element through components
author: Thomas Laforge
challengeNumber: 1
command: projection
command: angular-projection
blogLink: https://medium.com/@thomas.laforge/create-a-highly-customizable-component-cc3a9805e4c5
videoLink:
link: https://www.youtube.com/watch?v=npyEyUZxoIw&ab_channel=ArthurLannelucq

View File

@@ -3,7 +3,7 @@ title: 🟠 Highly Customizable CSS
description: Challenge 13 is about creating highly customizable CSS styles
author: Thomas Laforge
challengeNumber: 13
command: styling
command: angular-styling
sidebar:
order: 104
---
@@ -12,8 +12,6 @@ sidebar:
WIP: The following documentation will be reviewed and improved. However, you can still take on the challenge. If you don't understand a certain part, please feel free to reach out or create an issue.
:::
<div class="chip">Challenge #13</div>
## Information
Styling is an important aspect of a frontend developer's day job, but it is often underestimated. In Angular applications, I frequently see people using `@Input()` to customize the style of their components. However, `@Input()` should only be used for logic; and other techniques, such as CSS variables and host-context, should be used for styling.

View File

@@ -3,7 +3,7 @@ title: 🔴 Master Dependancy Injection
description: Challenge 16 is about masjering how dependancy injection works
author: Thomas Laforge
challengeNumber: 16
command: di
command: angular-di
sidebar:
order: 203
---

View File

@@ -3,7 +3,7 @@ title: 🟢 @RouterInput()
description: Challenge 22 is about using the @Input decorator to retreive router params.
author: Thomas Laforge
challengeNumber: 22
command: router-input
command: angular-router-input
blogLink: https://medium.com/ngconf/accessing-route-params-in-angular-1f8e12770617
sidebar:
order: 5

View File

@@ -3,7 +3,7 @@ title: 🟠 Directive Enhancement
description: Challenge 3 is about enhancing a built-in directive
author: Thomas Laforge
challengeNumber: 3
command: ngfor-enhancement
command: angular-ngfor-enhancement
blogLink: https://medium.com/@thomas.laforge/ngfor-enhancement-716b44656a6c
sidebar:
order: 101

View File

@@ -3,7 +3,7 @@ title: 🔴 Interoperability Rxjs/Signal
description: Challenge 30 is about learning how to mix signal with Rxjs
author: Thomas Laforge
challengeNumber: 30
command: interop-rxjs-signal
command: angular-interop-rxjs-signal
sidebar:
order: 204
---

View File

@@ -3,7 +3,7 @@ title: 🟢 Module to Standalone
description: Challenge 31 is about migrating a module based application to a standalone application.
author: Thomas Laforge
challengeNumber: 31
command: module-to-standalone
command: angular-module-to-standalone
sidebar:
order: 6
---

View File

@@ -3,7 +3,7 @@ title: 🟠 Change Detection Bug
description: Challenge 32 is about debugging an application that has issue when change detection is triggered
author: Thomas Laforge
challengeNumber: 32
command: bug-cd
command: angular-bug-cd
blogLink: https://medium.com/ngconf/function-calls-inside-template-are-dangerous-15f9822a6629
sidebar:
order: 105

View File

@@ -3,7 +3,7 @@ title: 🟠 Decoupling Components
description: Challenge 33 is about decoupling two strongly coupled components using Injection Token
author: Thomas Laforge
challengeNumber: 33
command: decoupling
command: angular-decoupling
sidebar:
order: 106
---

View File

@@ -3,7 +3,7 @@ title: 🔴 Typed ContextOutlet
description: Challenge 4 is about strongly typing ngContextOutlet directives
author: Thomas Laforge
challengeNumber: 4
command: context-outlet-type
command: angular-context-outlet-type
blogLink: https://medium.com/@thomas.laforge/ngtemplateoutlet-type-checking-5d2dcb07a2c6
sidebar:
order: 201

View File

@@ -3,7 +3,7 @@ title: 🟢 Crud application
description: Challenge 5 is about refactoring a crud application
author: Thomas Laforge
challengeNumber: 5
command: crud
command: angular-crud
sidebar:
order: 2
---

View File

@@ -3,7 +3,7 @@ title: 🟠 Structural Directive
description: Challenge 6 is about creating a structural directive to handle permissions
author: Thomas Laforge
challengeNumber: 6
command: permissions
command: angular-permissions
blogLink: https://medium.com/@thomas.laforge/create-a-custom-structural-directive-to-manage-permissions-like-a-pro-11a1acad30ad
sidebar:
order: 102

View File

@@ -3,7 +3,7 @@ title: 🟢 Pure Pipe
description: Challenge 8 is about creating a pure pipe
author: Thomas Laforge
challengeNumber: 8
command: pipe-easy
command: angular-pipe-easy
blogLink: https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d
sidebar:
order: 3

View File

@@ -3,7 +3,7 @@ title: 🟠 Wrap Function Pipe
description: Challenge 9 is about creating a pipe to wrap component fonctions
author: Thomas Laforge
challengeNumber: 9
command: pipe-intermediate
command: angular-pipe-intermediate
blogLink: https://medium.com/ngconf/boost-your-apps-performance-by-wrapping-your-functions-inside-a-pipe-7e889a901d1d
sidebar:
order: 103