mirror of
https://github.com/Raghu-Ch/angular-challenges.git
synced 2026-02-10 12:53:03 -05:00
feat(doc): move bug-cd
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"extends": ["../../.eslintrc.json"],
|
||||
"extends": ["../../../.eslintrc.json"],
|
||||
"ignorePatterns": ["!**/*"],
|
||||
"overrides": [
|
||||
{
|
||||
@@ -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/).
|
||||
@@ -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',
|
||||
@@ -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": {
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../../dist/out-tsc",
|
||||
"outDir": "../../../dist/out-tsc",
|
||||
"types": []
|
||||
},
|
||||
"files": ["src/main.ts"],
|
||||
@@ -22,7 +22,7 @@
|
||||
"path": "./tsconfig.editor.json"
|
||||
}
|
||||
],
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"extends": "../../../tsconfig.base.json",
|
||||
"angularCompilerOptions": {
|
||||
"enableI18nLegacyMessageIdFormat": false,
|
||||
"strictInjectionParameters": true,
|
||||
@@ -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"]
|
||||
},
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
---
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
---
|
||||
|
||||
@@ -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
|
||||
---
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
---
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
---
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user