Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4dd0b60
chore(global): WIP: bump to Angular 20.2.4 and run migrations
DenisValcke Sep 23, 2025
48790af
chore(global): WIP: bump to Angular 20.2.4 and fix linting
DenisValcke Sep 23, 2025
5ef5479
chore(global): WIP: bump to Angular 20.2.4 and fix vitest dependencies
DenisValcke Sep 23, 2025
f0ea872
chore(global): WIP: bump to Angular 20.2.4 and fix js-pagination & ng…
DenisValcke Sep 23, 2025
1e2a198
chore(global): resolve failing test suites apart from the ngx-tour
Sep 23, 2025
f8bd4ed
build(ngx-core): 20.0.0-beta.0
DenisValcke Sep 25, 2025
ddb34dc
fix(utils): remove redundant peerDependencies from the utils package
DenisValcke Sep 25, 2025
613f083
build(utils): 2.0.3
DenisValcke Sep 25, 2025
184db4d
fix(global): WIP: Fixed dependency and build issues by bumping severa…
DenisValcke Sep 25, 2025
2186655
fix(ngx-tour): WIP: fix broken unit tests that were using the NgxWind…
DenisValcke Sep 25, 2025
dbb51e6
fix(ngx-tour): WIP: disable two remaining test cases that are failing…
DenisValcke Sep 25, 2025
0afc466
fix(global): WIP: cleanup after upgrade
DenisValcke Sep 25, 2025
f43d658
fix(global): WIP: update docs and testing apps, provide more elaborat…
DenisValcke Sep 25, 2025
0511531
build(ngx-core): 20.0.0
DenisValcke Sep 25, 2025
62bc7a7
feat(global): bump dependencies on ngx-core to v20.0.0
DenisValcke Sep 25, 2025
7414210
build(ngx-auth): 20.0.0
DenisValcke Sep 25, 2025
647b33d
build(ngx-cookies): 20.0.0
DenisValcke Sep 25, 2025
7ee10c5
build(ngx-forms): 20.0.0
DenisValcke Sep 25, 2025
b0803cc
build(ngx-gov-flanders): 20.0.0
DenisValcke Sep 25, 2025
3a812c4
build(ngx-i18n): 20.0.0
DenisValcke Sep 25, 2025
e112121
build(ngx-inform): 20.0.0
DenisValcke Sep 25, 2025
7e64f8d
build(ngx-layout): 20.0.0
DenisValcke Sep 25, 2025
c89e609
build(ngx-store): 20.0.0
DenisValcke Sep 25, 2025
fab0098
build(ngx-table): 20.0.0
DenisValcke Sep 25, 2025
06eee10
build(ngx-tour): 20.0.0
DenisValcke Sep 25, 2025
66c9a00
build(ngx-utils): 20.0.0
DenisValcke Sep 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,15 @@
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-unused-vars": "off"
"@typescript-eslint/no-unused-vars": "off",
"no-unused-expressions": "off",
"@typescript-eslint/no-unused-expressions": [
"error",
{
"allowTernary": true,
"allowShortCircuit": true
}
]
}
},
{
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,7 @@ Thumbs.db

# NgDoc files
/ng-doc
vite.config.*.timestamp*
vite.config.*.timestamp*
vitest.config.*.timestamp*
.cursor/rules/nx-rules.mdc
.github/instructions/nx.instructions.md
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ then
fnm use
fi

npm run lint:all && npm run format && npm run test:all
npm run format:check && npm run lint:check && npm run test
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
lts/hydrogen
lts/jod
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
MIT License
lcMIT License
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a typo?


Copyright (c) 2023 Studio Hyperdrive

Expand Down
3 changes: 2 additions & 1 deletion apps/cookies-test/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "apps/cookies-test/jest.config.ts"
"jestConfig": "apps/cookies-test/jest.config.ts",
"tsConfig": "apps/cookies-test/tsconfig.spec.json"
}
},
"stylelint": {
Expand Down
20 changes: 6 additions & 14 deletions apps/cookies-test/src/app/app.component.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NgDocRootComponent, NgDocNavbarComponent, NgDocSidebarComponent } from '@ng-doc/app';
import { Component, AfterViewInit, OnInit } from '@angular/core';
import { Component, AfterViewInit, OnInit, inject } from '@angular/core';
import { Observable } from 'rxjs';
import { CommonModule } from '@angular/common';

import { RouterModule } from '@angular/router';
import { CookieAlertComponent } from './cookies.component';
import { NgxCookieService, NgxCookiesFallbackComponentToken } from '@ngx/cookies';
Expand All @@ -11,13 +11,7 @@ import { NgxStorageService } from '@ngx/utils';
selector: 'app-root',
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
imports: [
CommonModule,
RouterModule,
NgDocRootComponent,
NgDocNavbarComponent,
NgDocSidebarComponent,
],
imports: [RouterModule, NgDocRootComponent, NgDocNavbarComponent, NgDocSidebarComponent],
providers: [
{
provide: NgxCookiesFallbackComponentToken,
Expand All @@ -26,6 +20,9 @@ import { NgxStorageService } from '@ngx/utils';
],
})
export class AppComponent implements AfterViewInit, OnInit {
private readonly ngxCookieService = inject(NgxCookieService);
private readonly sessionService = inject(NgxStorageService);

title = 'cookies-test';

generalAccepted$: Observable<boolean> = this.ngxCookieService.hasAcceptedCategory('general');
Expand All @@ -39,11 +36,6 @@ export class AppComponent implements AfterViewInit, OnInit {
isAuthenticated$: Observable<boolean> =
this.ngxCookieService.getCookieObservable<boolean>('authenticated');

constructor(
private readonly ngxCookieService: NgxCookieService,
private readonly sessionService: NgxStorageService
) {}

ngAfterViewInit() {
this.ngxCookieService.setupCookiesHandler(
{
Expand Down
3 changes: 2 additions & 1 deletion apps/cookies-test/src/app/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ import { provideHttpClient, withInterceptorsFromDi, withFetch } from '@angular/c
import { provideAnimations } from '@angular/platform-browser/animations';
import { ApplicationConfig } from '@angular/core';
import { provideRouter, withInMemoryScrolling } from '@angular/router';

import { appRoutes } from './app.routes';
import { NG_DOC_ROUTING, provideNgDocContext } from '@ng-doc/generated';
import { NG_DOC_ROUTING, provideNgDocContext } from '@ng-doc/generated'; // eslint-disable-line @nx/enforce-module-boundaries

export const appConfig: ApplicationConfig = {
providers: [
Expand Down
3 changes: 2 additions & 1 deletion apps/cookies-test/tsconfig.app.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
"@ng-doc/generated/*": ["./ng-doc/cookies-test/*"],
"@ngx/cookies": ["libs/angular/cookies/src/index.ts"],
"@ngx/utils": ["libs/angular/utils/src/public-api.ts"]
}
},
"moduleResolution": "bundler"
},
"extends": "../../tsconfig.json",
"files": ["src/main.ts"],
Expand Down
3 changes: 2 additions & 1 deletion apps/docs/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@
"serverTarget": "docs:server:production"
}
},
"defaultConfiguration": "development"
"defaultConfiguration": "development",
"continuous": true
},
"prerender": {
"executor": "@angular-devkit/build-angular:prerender",
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/app/app.config.server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { provideServerRendering } from '@angular/ssr';
import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
import { provideServerRendering } from '@angular/platform-server';
import { appConfig } from './app.config';

const serverConfig: ApplicationConfig = {
Expand Down
3 changes: 2 additions & 1 deletion apps/docs/src/app/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ import { provideAnimations } from '@angular/platform-browser/animations';
import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';
import { provideRouter, withInMemoryScrolling } from '@angular/router';
import { provideClientHydration } from '@angular/platform-browser';

import { appRoutes } from './app.routes';
import { NG_DOC_ROUTING, provideNgDocContext } from '@ng-doc/generated';
import { NG_DOC_ROUTING, provideNgDocContext } from '@ng-doc/generated'; // eslint-disable-line @nx/enforce-module-boundaries

export const appConfig: ApplicationConfig = {
providers: [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// snippet#component "Typescript"
import { CommonModule } from '@angular/common';

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { DateInputComponent } from './date-input/date-input.component';

@Component({
imports: [CommonModule, ReactiveFormsModule, DateInputComponent],
imports: [ReactiveFormsModule, DateInputComponent],
selector: 'simple-demo',
templateUrl: 'simple.demo.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';

import { NgxFormsErrorAbstractComponent } from '@ngx/forms';

@Component({
Expand All @@ -15,6 +15,6 @@ import { NgxFormsErrorAbstractComponent } from '@ngx/forms';
`,
styleUrls: ['./error.component.scss'],
standalone: true,
imports: [CommonModule],
imports: [],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would delete this, since it's empty.

})
export class FormErrorComponent extends NgxFormsErrorAbstractComponent {}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// snippet#component "Typescript"
import { CommonModule } from '@angular/common';

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { FormAccessorComponent } from './form-accessor.component';
import { FormErrorComponent } from './error/error.component';
import { FormAccessorContainer, NgxFormsErrorsConfigurationToken } from '@ngx/forms';

@Component({
imports: [CommonModule, ReactiveFormsModule, FormAccessorComponent],
imports: [ReactiveFormsModule, FormAccessorComponent],
selector: 'ngxerrors-demo',
templateUrl: 'ngxerrors.demo.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// snippet-from-file="./bootstrap.demo.ts" "Application Config"

// snippet#component "Typescript"
import { CommonModule } from '@angular/common';

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { CustomTooltipComponent } from './custom-tooltip.component';
import { NgxTooltipDirective } from '@ngx/inform';

@Component({
imports: [CommonModule, NgxTooltipDirective],
imports: [NgxTooltipDirective],
selector: 'tooltip-demo',
templateUrl: './tooltip.demo.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
// snippet-from-file="./bootstrap.demo.ts" "Application Config"

// snippet#component "Typescript"
import { CommonModule } from '@angular/common';
import { ChangeDetectionStrategy, Component } from '@angular/core';

import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
import { tap } from 'rxjs';
import { ModalComponent } from './modal.component';
import { NgxModalService } from '@ngx/inform';

@Component({
imports: [CommonModule],
imports: [],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idem

selector: 'modal-demo',
templateUrl: './modal.demo.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ModalDemoComponent {
constructor(private readonly modalService: NgxModalService) {}
private readonly modalService = inject(NgxModalService);

public sayHello(): void {
this.modalService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@

// snippet#component "Typescript"
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { CommonModule } from '@angular/common';

import { NgxConfigurableLayoutComponent, NgxConfigurableLayoutItemComponent } from '@ngx/layout';

@Component({
imports: [CommonModule, NgxConfigurableLayoutComponent, NgxConfigurableLayoutItemComponent],
imports: [NgxConfigurableLayoutComponent, NgxConfigurableLayoutItemComponent],
selector: 'layout-configurable-demo',
templateUrl: './configurable.demo.component.html',
styleUrl: './configurable.demo.component.scss',
Expand Down
14 changes: 11 additions & 3 deletions apps/docs/src/app/pages/docs/angular/store/implementation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,13 +153,21 @@ export const { actions, reducers, selectors } = createStoreAssets<StoreState>('s
},
]);

// For an example where the selectors do not need to be provided:
@Injectable()
export class StoreStateService extends NgxStoreService<StoreState> {
constructor(protected readonly store: Store) {
super(store, selectors);
}
private readonly store = inject(Store);
}

// When the selectors need to be provided:
@Injectable()
export class StoreStateService extends NgxStoreService<StoreState> {
private readonly store = inject(Store);

constructor() {
super(store, selectors);
}

const storeStateService = new StoreStateService(store);

const state = storeStateService.state;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { NgxTable } from '@ngx/table';

@Component({
imports: [CommonModule, NgxTable, ReactiveFormsModule],
imports: [NgxTable, ReactiveFormsModule],
selector: 'detail-row-one-demo',
templateUrl: './detail-row-one.demo.component.html',
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { NgxTable } from '@ngx/table';

@Component({
imports: [CommonModule, NgxTable, ReactiveFormsModule],
imports: [NgxTable, ReactiveFormsModule],
selector: 'header-loading-state-demo',
templateUrl: './header-loading-state.demo.component.html',
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { NgxTable } from '@ngx/table';

@Component({
imports: [CommonModule, NgxTable, ReactiveFormsModule],
imports: [NgxTable, ReactiveFormsModule],
selector: 'loading-state-demo',
templateUrl: './loading-state.demo.component.html',
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component } from '@angular/core';
import { Component, inject } from '@angular/core';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { NgDocNotifyService } from '@ng-doc/ui-kit';
import { NgxTable } from '@ngx/table';
Expand All @@ -9,7 +9,7 @@ import { NgxTable } from '@ngx/table';
templateUrl: './actions.demo.component.html',
})
export class ActionsDemoComponent {
constructor(private readonly notifyService: NgDocNotifyService) {}
private readonly notifyService = inject(NgDocNotifyService);

public control: FormControl<number[]> = new FormControl();
public customControl: FormControl<number[]> = new FormControl();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
OnInit,
inject,
} from '@angular/core';

import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { from, map, of, tap } from 'rxjs';
Expand Down Expand Up @@ -31,6 +37,11 @@ import { NgxTourItemDirective, NgxTourService, useMockDataDuringTour } from '@ng
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class MainComponent implements OnInit {
private readonly tourService = inject(NgxTourService);
private readonly router = inject(Router);
private readonly route = inject(ActivatedRoute);
private readonly cdRef = inject(ChangeDetectorRef);

public control: FormControl<NgxConfigurableLayoutGrid> = new FormControl([]);
public isActive: FormControl<boolean> = new FormControl(false);
public dragAndDrop: FormControl<boolean> = new FormControl(true);
Expand All @@ -46,13 +57,6 @@ export class MainComponent implements OnInit {
useMockDataDuringTour<string>('The tour is running!')
);

constructor(
private readonly tourService: NgxTourService,
private readonly router: Router,
private readonly route: ActivatedRoute,
private readonly cdRef: ChangeDetectorRef
) {}

ngOnInit() {
this.control.patchValue([
[
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component } from '@angular/core';
import { Component, inject } from '@angular/core';
import { NgDocNotifyService } from '@ng-doc/ui-kit';
import { FocusClickDirective } from '@ngx/utils';

Expand All @@ -8,7 +8,7 @@ import { FocusClickDirective } from '@ngx/utils';
templateUrl: 'click-focus.demo.component.html',
})
export class ClickFocusDemoComponent {
constructor(private readonly notifyService: NgDocNotifyService) {}
private readonly notifyService = inject(NgDocNotifyService);

public doSomething(): void {
this.notifyService.notify('Done something');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component } from '@angular/core';
import { Component, inject } from '@angular/core';
import { NgDocNotifyService } from '@ng-doc/ui-kit';
import { HasObserversPipeDemoComponent } from '../has-observers-component/has-observers.demo.component';

Expand All @@ -8,7 +8,7 @@ import { HasObserversPipeDemoComponent } from '../has-observers-component/has-ob
templateUrl: 'has-observers-parent.demo.component.html',
})
export class HasObserversPipeDemoParentComponent {
constructor(private readonly notifyService: NgDocNotifyService) {}
private readonly notifyService = inject(NgDocNotifyService);

public doSomething(event: any): void {
this.notifyService.notify(event);
Expand Down
Loading