Skip to content

Commit c2f3cc3

Browse files
committed
feat(): create new challenge
1 parent 4a35a39 commit c2f3cc3

24 files changed

+280
-16
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ If you would like to propose a challenge, this project is open source, so feel f
2424
2525
## Challenges
2626

27-
Check [all 59 challenges](https://angular-challenges.vercel.app/)
27+
Check [all 60 challenges](https://angular-challenges.vercel.app/)
2828

2929
## Contributors ✨
3030

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"extends": ["../../../.eslintrc.json"],
3+
"ignorePatterns": ["!**/*"],
4+
"overrides": [
5+
{
6+
"files": ["*.ts"],
7+
"extends": [
8+
"plugin:@nx/angular",
9+
"plugin:@angular-eslint/template/process-inline-templates"
10+
],
11+
"rules": {
12+
"@angular-eslint/directive-selector": [
13+
"error",
14+
{
15+
"type": "attribute",
16+
"prefix": "app",
17+
"style": "camelCase"
18+
}
19+
],
20+
"@angular-eslint/component-selector": [
21+
"error",
22+
{
23+
"type": "element",
24+
"prefix": "app",
25+
"style": "kebab-case"
26+
}
27+
]
28+
}
29+
},
30+
{
31+
"files": ["*.html"],
32+
"extends": ["plugin:@nx/angular-template"],
33+
"rules": {}
34+
}
35+
]
36+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# async-redirect
2+
3+
> author: thomas-laforge
4+
5+
### Run Application
6+
7+
```bash
8+
npx nx serve angular-async-redirect
9+
```
10+
11+
### Documentation and Instruction
12+
13+
Challenge documentation is [here](https://angular-challenges.vercel.app/challenges/angular/60-async-redirect/).
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
{
2+
"name": "angular-async-redirect",
3+
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
4+
"projectType": "application",
5+
"prefix": "app",
6+
"sourceRoot": "apps/angular/60-async-redirect/src",
7+
"tags": [],
8+
"targets": {
9+
"build": {
10+
"executor": "@angular/build:application",
11+
"outputs": ["{options.outputPath}"],
12+
"options": {
13+
"outputPath": "dist/apps/angular/60-async-redirect",
14+
"browser": "apps/angular/60-async-redirect/src/main.ts",
15+
"polyfills": ["zone.js"],
16+
"tsConfig": "apps/angular/60-async-redirect/tsconfig.app.json",
17+
"inlineStyleLanguage": "scss",
18+
"assets": [
19+
{
20+
"glob": "**/*",
21+
"input": "apps/angular/60-async-redirect/public"
22+
}
23+
],
24+
"styles": ["apps/angular/60-async-redirect/src/styles.scss"]
25+
},
26+
"configurations": {
27+
"production": {
28+
"budgets": [
29+
{
30+
"type": "initial",
31+
"maximumWarning": "500kb",
32+
"maximumError": "1mb"
33+
},
34+
{
35+
"type": "anyComponentStyle",
36+
"maximumWarning": "4kb",
37+
"maximumError": "8kb"
38+
}
39+
],
40+
"outputHashing": "all"
41+
},
42+
"development": {
43+
"optimization": false,
44+
"extractLicenses": false,
45+
"sourceMap": true
46+
}
47+
},
48+
"defaultConfiguration": "production"
49+
},
50+
"serve": {
51+
"continuous": true,
52+
"executor": "@angular/build:dev-server",
53+
"configurations": {
54+
"production": {
55+
"buildTarget": "angular-async-redirect:build:production"
56+
},
57+
"development": {
58+
"buildTarget": "angular-async-redirect:build:development"
59+
}
60+
},
61+
"defaultConfiguration": "development"
62+
},
63+
"extract-i18n": {
64+
"executor": "@angular/build:extract-i18n",
65+
"options": {
66+
"buildTarget": "angular-async-redirect:build"
67+
}
68+
},
69+
"lint": {
70+
"executor": "@nx/eslint:lint"
71+
},
72+
"serve-static": {
73+
"continuous": true,
74+
"executor": "@nx/web:file-server",
75+
"options": {
76+
"buildTarget": "angular-async-redirect:build",
77+
"staticFilePath": "dist/apps/angular/60-async-redirect/browser",
78+
"spa": true
79+
}
80+
}
81+
}
82+
}
Binary file not shown.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Component } from '@angular/core';
2+
3+
@Component({
4+
imports: [],
5+
selector: 'app-root',
6+
template: ``,
7+
styles: [''],
8+
})
9+
export class AppComponent {}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {
2+
ApplicationConfig,
3+
provideBrowserGlobalErrorListeners,
4+
provideZoneChangeDetection,
5+
} from '@angular/core';
6+
7+
export const appConfig: ApplicationConfig = {
8+
providers: [
9+
provideBrowserGlobalErrorListeners(),
10+
provideZoneChangeDetection({ eventCoalescing: true }),
11+
],
12+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<title>angular-async-redirect</title>
6+
<base href="/" />
7+
<meta name="viewport" content="width=device-width, initial-scale=1" />
8+
<link rel="icon" type="image/x-icon" href="favicon.ico" />
9+
</head>
10+
<body>
11+
<app-root></app-root>
12+
</body>
13+
</html>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { bootstrapApplication } from '@angular/platform-browser';
2+
import { AppComponent } from './app/app.component';
3+
import { appConfig } from './app/app.config';
4+
5+
bootstrapApplication(AppComponent, appConfig).catch((err) =>
6+
console.error(err),
7+
);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;
4+
5+
/* You can add global styles to this file, and also import other style files */

0 commit comments

Comments
 (0)