diff --git a/.gitignore b/.gitignore index 44b1d93..9a5e25f 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,7 @@ Thumbs.db .angular .nx/cache -.nx/workspace-data \ No newline at end of file +.nx/workspace-data +.specstory +.cursor/rules/nx-rules.mdc +.github/instructions/nx.instructions.md diff --git a/apps/examples-e2e/cypress.config.ts b/apps/examples-e2e/cypress.config.ts index bc91e98..01b5723 100644 --- a/apps/examples-e2e/cypress.config.ts +++ b/apps/examples-e2e/cypress.config.ts @@ -2,5 +2,10 @@ import { defineConfig } from 'cypress'; import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset'; export default defineConfig({ - e2e: nxE2EPreset(__dirname), + e2e: { + ...nxE2EPreset(__dirname), + // Please ensure you use `cy.origin()` when navigating between domains and remove this option. + // See https://docs.cypress.io/app/references/migration-guide#Changes-to-cyorigin + injectDocumentDomain: true, + }, }); diff --git a/apps/examples/project.json b/apps/examples/project.json index e9acf27..3596115 100644 --- a/apps/examples/project.json +++ b/apps/examples/project.json @@ -56,7 +56,8 @@ "buildTarget": "examples:build:development" } }, - "defaultConfiguration": "development" + "defaultConfiguration": "development", + "continuous": true }, "extract-i18n": { "executor": "@angular-devkit/build-angular:extract-i18n", diff --git a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.html b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.html index 4c2c2a8..7c28489 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.html +++ b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.html @@ -4,11 +4,10 @@

Random brewery

- - - - - +@if (brewery) { + +} @if (loading) { + +} @if (error) { + +} diff --git a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.ts b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.ts index 0f291b7..d55353b 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.ts +++ b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb-alt/basic-dumb-alt.component.ts @@ -7,7 +7,7 @@ import { } from '@angular/core'; import { HttpErrorResponse } from '@angular/common/http'; import { Brewery } from '../model/brewery'; -import { NgIf } from '@angular/common'; + import { ErrorComponent, SpinnerComponent, @@ -15,7 +15,7 @@ import { import { BreweryDetailsComponent } from '../brewery-details/brewery-details.component'; @Component({ - imports: [NgIf, ErrorComponent, SpinnerComponent, BreweryDetailsComponent], + imports: [ErrorComponent, SpinnerComponent, BreweryDetailsComponent], selector: 'examples-basic-dumb-alt', templateUrl: './basic-dumb-alt.component.html', changeDetection: ChangeDetectionStrategy.OnPush, diff --git a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.html b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.html index 3a0689b..668bb66 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.html +++ b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.html @@ -4,11 +4,10 @@

Random brewery

- - - - - +@if (brewery.value) { + +} @if (brewery.isLoading) { + +} @if (brewery.error) { + +} diff --git a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.ts b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.ts index 6a05151..d0c5384 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.ts +++ b/apps/examples/src/app/basic-smart-dumb-example/basic-dumb/basic-dumb.component.ts @@ -7,7 +7,7 @@ import { } from '@angular/core'; import { HttpRequestState } from 'ngx-http-request-state'; import { Brewery } from '../model/brewery'; -import { NgIf } from '@angular/common'; + import { ErrorComponent, SpinnerComponent, @@ -15,7 +15,7 @@ import { import { BreweryDetailsComponent } from '../brewery-details/brewery-details.component'; @Component({ - imports: [NgIf, SpinnerComponent, ErrorComponent, BreweryDetailsComponent], + imports: [SpinnerComponent, ErrorComponent, BreweryDetailsComponent], selector: 'examples-basic-dumb', templateUrl: './basic-dumb.component.html', changeDetection: ChangeDetectionStrategy.OnPush, diff --git a/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.html b/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.html index ef644d1..c40991a 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.html +++ b/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.html @@ -1,11 +1,12 @@

{{ brewery.name }}

- {{ brewery.city }}, - {{ brewery.state }}, + {{ brewery.city }}, @if (brewery.state) { {{ brewery.state }}, } {{ brewery.country }}

-

+@if (brewery.website_url) { +

Website

+} diff --git a/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.ts b/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.ts index 31eb98f..2dff087 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.ts +++ b/apps/examples/src/app/basic-smart-dumb-example/brewery-details/brewery-details.component.ts @@ -1,10 +1,9 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { Brewery } from '../model/brewery'; -import { NgIf } from '@angular/common'; @Component({ selector: 'examples-brewery-details', - imports: [NgIf], + imports: [], templateUrl: './brewery-details.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) diff --git a/apps/examples/src/app/basic-smart-dumb-example/random-brewery.service.ts b/apps/examples/src/app/basic-smart-dumb-example/random-brewery.service.ts index e4bd2f8..8650719 100644 --- a/apps/examples/src/app/basic-smart-dumb-example/random-brewery.service.ts +++ b/apps/examples/src/app/basic-smart-dumb-example/random-brewery.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { Brewery, RandomBreweryResponse } from './model/brewery'; @@ -9,10 +9,10 @@ import { maybeFakeAnErrorResponse } from '../utils/maybeError'; providedIn: 'root', }) export class RandomBreweryService { - constructor(private readonly httpClient: HttpClient) {} + readonly #httpClient = inject(HttpClient); randomBrewery(): Observable { - return this.httpClient + return this.#httpClient .get( 'https://api.openbrewerydb.org/v1/breweries/random', { diff --git a/apps/examples/src/app/infinite-scroll-example/infinite-scroller/book-list/book-list.component.html b/apps/examples/src/app/infinite-scroll-example/infinite-scroller/book-list/book-list.component.html index 92bac8c..4a93164 100644 --- a/apps/examples/src/app/infinite-scroll-example/infinite-scroller/book-list/book-list.component.html +++ b/apps/examples/src/app/infinite-scroll-example/infinite-scroller/book-list/book-list.component.html @@ -1,20 +1,28 @@ -