From c55f19a11eab6e4f264e8912704eee5d2c5e769f Mon Sep 17 00:00:00 2001 From: David Scourfield Date: Mon, 7 Jul 2025 10:00:33 +0100 Subject: [PATCH 1/4] .gitignore specstory dir --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 44b1d93..7af2a2b 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,5 @@ Thumbs.db .angular .nx/cache -.nx/workspace-data \ No newline at end of file +.nx/workspace-data +.specstory From 850074becf13df8450664e01a09290dd4f0ae0c5 Mon Sep 17 00:00:00 2001 From: David Scourfield Date: Mon, 7 Jul 2025 10:03:18 +0100 Subject: [PATCH 2/4] nx migrate latest --- .gitignore | 2 + apps/examples-e2e/cypress.config.ts | 7 +- apps/examples/project.json | 3 +- .../basic-dumb-alt.component.html | 15 +- .../basic-dumb-alt.component.ts | 4 +- .../basic-dumb/basic-dumb.component.html | 15 +- .../basic-dumb/basic-dumb.component.ts | 4 +- .../brewery-details.component.html | 7 +- .../brewery-details.component.ts | 3 +- .../book-list/book-list.component.html | 24 +- .../book-list/book-list.component.ts | 3 +- .../infinite-scroller.component.ts | 4 +- .../error/error.component.html | 8 +- .../error/error.component.ts | 3 +- .../spinner/spinner.component.html | 4 +- .../spinner/spinner.component.ts | 3 +- .../beer-list/beer-list.component.html | 40 +- .../beer-list/beer-list.component.ts | 4 +- .../multiple-sources-layout.component.html | 20 +- .../multiple-sources-layout.component.ts | 4 +- apps/examples/src/test-setup.ts | 14 +- apps/examples/tsconfig.app.json | 3 +- libs/ngx-http-request-state/src/test-setup.ts | 14 +- nx.json | 57 +- package.json | 64 +- pnpm-lock.yaml | 7813 +++++++++++------ 26 files changed, 5232 insertions(+), 2910 deletions(-) diff --git a/.gitignore b/.gitignore index 7af2a2b..9a5e25f 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,5 @@ Thumbs.db .nx/cache .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/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 @@ -