diff --git a/examples/angular/basic/package.json b/examples/angular/basic/package.json index 3b45a4f7cf..089d68f5d1 100644 --- a/examples/angular/basic/package.json +++ b/examples/angular/basic/package.json @@ -10,22 +10,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", - "@angular/router": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", + "@angular/router": "^17.3.9", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/column-ordering/package.json b/examples/angular/column-ordering/package.json index 2262b1d17d..9f3115d7a9 100644 --- a/examples/angular/column-ordering/package.json +++ b/examples/angular/column-ordering/package.json @@ -10,21 +10,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/column-pinning-sticky/package.json b/examples/angular/column-pinning-sticky/package.json index 77efca4722..a2704d13af 100644 --- a/examples/angular/column-pinning-sticky/package.json +++ b/examples/angular/column-pinning-sticky/package.json @@ -10,22 +10,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/column-pinning/package.json b/examples/angular/column-pinning/package.json index 27b68aa066..bd8e9fb943 100644 --- a/examples/angular/column-pinning/package.json +++ b/examples/angular/column-pinning/package.json @@ -10,22 +10,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/column-visibility/package.json b/examples/angular/column-visibility/package.json index e8b657a6ed..5df8482930 100644 --- a/examples/angular/column-visibility/package.json +++ b/examples/angular/column-visibility/package.json @@ -10,21 +10,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/filters/package.json b/examples/angular/filters/package.json index 611578d87c..2ca8f9271e 100644 --- a/examples/angular/filters/package.json +++ b/examples/angular/filters/package.json @@ -10,13 +10,13 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", @@ -24,9 +24,9 @@ "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/grouping/package.json b/examples/angular/grouping/package.json index adecd64612..721ec4936f 100644 --- a/examples/angular/grouping/package.json +++ b/examples/angular/grouping/package.json @@ -10,22 +10,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/row-selection/package.json b/examples/angular/row-selection/package.json index f07b118048..580178943c 100644 --- a/examples/angular/row-selection/package.json +++ b/examples/angular/row-selection/package.json @@ -10,13 +10,13 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/forms": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", @@ -24,9 +24,9 @@ "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/examples/angular/signal-input/package.json b/examples/angular/signal-input/package.json index f8fc4ed5c4..f79172c494 100644 --- a/examples/angular/signal-input/package.json +++ b/examples/angular/signal-input/package.json @@ -10,21 +10,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.1", - "@angular/common": "^17.3.1", - "@angular/compiler": "^17.3.1", - "@angular/core": "^17.3.1", - "@angular/platform-browser": "^17.3.1", - "@angular/platform-browser-dynamic": "^17.3.1", + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^9.0.0-alpha.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.1", - "@angular/cli": "^17.3.1", - "@angular/compiler-cli": "^17.3.1", + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", diff --git a/packages/angular-table/ng-package.json b/packages/angular-table/ng-package.json index 5e276bc0f6..50e459b67f 100644 --- a/packages/angular-table/ng-package.json +++ b/packages/angular-table/ng-package.json @@ -1,5 +1,5 @@ { - "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "$schema": "./node_modules/ng-packagr/ng-package.schema.json", "dest": "./dist", "lib": { "entryFile": "src/index.ts" diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index ffe7b78182..53d6869025 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -42,17 +42,23 @@ "src" ], "scripts": { + "build": "pnpm ng-packagr -p ng-package.json && rimraf ./dist/package.json", + "build:types": "tsc --emitDeclarationOnly", "clean": "rimraf ./dist", - "test:types": "tsc", "test:build": "publint --strict", - "build": "pnpm ng-packagr -p ng-package.json && rimraf ./dist/package.json" + "test:lib": "vitest", + "test:lib:dev": "vitest --watch", + "test:types": "tsc" }, "dependencies": { "@tanstack/table-core": "workspace:*", "tslib": "^2.6.2" }, "devDependencies": { - "@angular/core": "^17.3.1", + "@analogjs/vite-plugin-angular": "^1.3.1", + "@angular/core": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", "ng-packagr": "^17.3.0" }, "peerDependencies": { diff --git a/packages/angular-table/src/__tests__/createAngularTable.test.ts b/packages/angular-table/src/__tests__/createAngularTable.test.ts new file mode 100644 index 0000000000..38191f9b8a --- /dev/null +++ b/packages/angular-table/src/__tests__/createAngularTable.test.ts @@ -0,0 +1,95 @@ +import { describe, test } from 'vitest' +import { + type ColumnDef, + createAngularTable, + getCoreRowModel, + type Table, +} from '../index' +import { Component, input, isSignal, signal, untracked } from '@angular/core' +import { TestBed } from '@angular/core/testing' +import { setSignalInputs } from './test-utils' + +describe('createAngularTable', () => { + test('should render with required signal inputs', () => { + @Component({ + selector: 'app-fake', + template: ``, + standalone: true, + }) + class FakeComponent { + data = input.required() + + table = createAngularTable(() => ({ + data: this.data(), + columns: [], + getCoreRowModel: getCoreRowModel(), + })) + } + + const fixture = TestBed.createComponent(FakeComponent) + setSignalInputs(fixture.componentInstance, { + data: [], + }) + + fixture.detectChanges() + }) + + describe('Proxy table', () => { + type Data = { id: string; title: string } + const data = signal([{ id: '1', title: 'Title' }]) + const columns: ColumnDef[] = [ + { id: 'id', header: 'Id', cell: context => context.getValue() }, + { id: 'title', header: 'Title', cell: context => context.getValue() }, + ] + const table = createAngularTable(() => ({ + data: data(), + columns: columns, + getCoreRowModel: getCoreRowModel(), + getRowId: row => row.id, + })) + const tablePropertyKeys = Object.keys(table()) + + test('table must be a signal', () => { + expect(isSignal(table)).toEqual(true) + }) + + test('supports "in" operator', () => { + expect('getCoreRowModel' in table).toBe(true) + expect('options' in table).toBe(true) + expect('notFound' in table).toBe(false) + }) + + test('supports "Object.keys"', () => { + const keys = Object.keys(table()) + expect(Object.keys(table)).toEqual(keys) + }) + + test.each( + tablePropertyKeys.map(property => [ + property, + testShouldBeComputedProperty(untracked(table), property), + ]) + )('property (%s) is computed -> (%s)', (name, expected) => { + const tableProperty = table[name as keyof typeof table] + expect(isSignal(tableProperty)).toEqual(expected) + }) + }) +}) + +const testShouldBeComputedProperty = ( + table: Table, + propertyName: string +) => { + if (propertyName.endsWith('Handler') || propertyName.endsWith('Model')) { + return false + } + + if (propertyName.startsWith('get')) { + // Only properties with no arguments are computed + const fn = table[propertyName as keyof Table] + // Cannot test if is lazy computed since we return the unwrapped value + return fn instanceof Function && fn.length === 0 + } + + return false +} diff --git a/packages/angular-table/src/__tests__/flex-render.test.ts b/packages/angular-table/src/__tests__/flex-render.test.ts new file mode 100644 index 0000000000..fa3cd4fdac --- /dev/null +++ b/packages/angular-table/src/__tests__/flex-render.test.ts @@ -0,0 +1,156 @@ +import { describe, expect, test } from 'vitest' +import { + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + inject, + Input, + input, + type OnInit, + type TemplateRef, + ViewChild, +} from '@angular/core' +import { createColumnHelper } from '@tanstack/table-core' +import { + FlexRenderComponent, + FlexRenderDirective, + injectFlexRenderContext, +} from '../flex-render' +import { type ComponentFixture, TestBed } from '@angular/core/testing' +import { setFixtureSignalInput, setFixtureSignalInputs } from './test-utils' + +interface Data { + id: string + title: string + description: string + status: 'success' | 'failed' | 'pending' + favorite?: boolean +} + +describe('FlexRenderDirective', () => { + const helper = createColumnHelper() + + test('should render primitives', async () => { + const fixture = TestBed.createComponent(TestRenderComponent) + + // String + setFixtureSignalInputs(fixture, { + content: 'My value', + context: {}, + }) + expectPrimitiveValueIs(fixture, 'My value') + + // Numbers + setFixtureSignalInputs(fixture, { + content: 0, + context: {}, + }) + expectPrimitiveValueIs(fixture, '0') + + // Functions that returns primitives + setFixtureSignalInputs(fixture, { + content: () => 'My value 2', + context: {}, + }) + expectPrimitiveValueIs(fixture, 'My value 2') + + // Null + setFixtureSignalInputs(fixture, { + content: () => null, + context: {}, + }) + expectPrimitiveValueIs(fixture, '') + + // Undefined + setFixtureSignalInputs(fixture, { + content: () => undefined, + context: {}, + }) + expectPrimitiveValueIs(fixture, '') + }) + + test('should render TemplateRef', () => { + @Component({ + template: ` + {{ context.property }} + `, + standalone: true, + }) + class FakeTemplateRefComponent { + @ViewChild('template', { static: true }) + templateRef!: TemplateRef + } + + const templateRef = TestBed.createComponent(FakeTemplateRefComponent) + .componentInstance.templateRef + + const fixture = TestBed.createComponent(TestRenderComponent) + setFixtureSignalInputs(fixture, { + content: () => templateRef, + context: { + property: 'Property context value', + }, + }) + + expect(fixture.nativeElement.textContent).toEqual('Property context value') + + setFixtureSignalInput(fixture, 'context', { property: 'Updated value' }) + fixture.detectChanges() + + expect(fixture.nativeElement.textContent).toEqual('Updated value') + }) + + test('should render components', () => { + @Component({ + template: `{{ context.property }}`, + standalone: true, + }) + class FakeComponent { + context = injectFlexRenderContext<{ property: string }>() + } + + const fixture = TestBed.createComponent(TestRenderComponent) + setFixtureSignalInputs(fixture, { + content: () => new FlexRenderComponent(FakeComponent), + context: { + property: 'Context value', + }, + }) + + expect(fixture.nativeElement.textContent).toEqual('Context value') + + setFixtureSignalInput(fixture, 'context', { property: 'Updated value' }) + fixture.detectChanges() + + expect(fixture.nativeElement.textContent).toEqual('Updated value') + }) +}) + +@Component({ + selector: 'app-test-render', + template: ` + + + + `, + standalone: true, + imports: [FlexRenderDirective], +}) +class TestRenderComponent { + readonly content = input.required() + + readonly context = input.required>() +} + +type FlexRenderDirectiveAllowedContent = FlexRenderDirective< + NonNullable +>['content'] + +function expectPrimitiveValueIs( + fixture: ComponentFixture, + value: unknown +) { + const span = fixture.nativeElement.querySelector('span') + expect(span).toBeDefined() + expect(span.innerHTML).toEqual(value) +} diff --git a/packages/angular-table/src/__tests__/lazy-init.test.ts b/packages/angular-table/src/__tests__/lazy-init.test.ts new file mode 100644 index 0000000000..e953d38065 --- /dev/null +++ b/packages/angular-table/src/__tests__/lazy-init.test.ts @@ -0,0 +1,124 @@ +import { describe, expect, test } from 'vitest' +import { + ChangeDetectionStrategy, + Component, + type WritableSignal, + computed, + effect, + input, + signal, +} from '@angular/core' +import { TestBed } from '@angular/core/testing' +import { lazyInit } from '../lazy-signal-initializer' +import { flushQueue, setFixtureSignalInputs } from './test-utils' + +describe('lazyInit', () => { + test('should init lazily in next tick when not accessing manually', async () => { + const mockFn = vi.fn() + + TestBed.runInInjectionContext(() => { + lazyInit(() => { + mockFn() + return { + data: signal(true), + } + }) + }) + + expect(mockFn).not.toHaveBeenCalled() + + await new Promise(setImmediate) + + expect(mockFn).toHaveBeenCalled() + }) + + test('should init eagerly accessing manually', async () => { + const mockFn = vi.fn() + + TestBed.runInInjectionContext(() => { + const lazySignal = lazyInit(() => { + mockFn() + return { + data: signal(true), + } + }) + + lazySignal.data() + }) + + expect(mockFn).toHaveBeenCalled() + }) + + test('should init lazily and only once', async () => { + const initCallFn = vi.fn() + const registerDataValue = vi.fn<[number]>() + + let value!: { data: WritableSignal } + const outerSignal = signal(0) + + TestBed.runInInjectionContext(() => { + value = lazyInit(() => { + initCallFn() + + void outerSignal() + + return { data: signal(0) } + }) + + effect(() => registerDataValue(value.data())) + }) + + value.data() + + await flushQueue() + + expect(outerSignal).toBeDefined() + + expect(initCallFn).toHaveBeenCalledTimes(1) + + outerSignal.set(1) + await flushQueue() + outerSignal.set(2) + await flushQueue() + value.data.set(4) + await flushQueue() + + expect(initCallFn).toHaveBeenCalledTimes(1) + expect(registerDataValue).toHaveBeenCalledTimes(2) + }) + + test('should support required signal input', async () => { + @Component({ + standalone: true, + template: `{{ call }} - {{ lazySignal.data() }}`, + changeDetection: ChangeDetectionStrategy.OnPush, + }) + class Test { + readonly title = input.required() + call = 0 + + lazySignal = lazyInit(() => { + this.call++ + return { + data: computed(() => this.title()), + } + }) + } + + const fixture = TestBed.createComponent(Test) + + setFixtureSignalInputs(fixture, { title: 'newValue' }) + expect(fixture.debugElement.nativeElement.textContent).toBe('0 - newValue') + await flushQueue() + + setFixtureSignalInputs(fixture, { title: 'updatedValue' }) + expect(fixture.debugElement.nativeElement.textContent).toBe( + '1 - updatedValue' + ) + + setFixtureSignalInputs(fixture, { title: 'newUpdatedValue' }) + expect(fixture.debugElement.nativeElement.textContent).toBe( + '1 - newUpdatedValue' + ) + }) +}) diff --git a/packages/angular-table/src/__tests__/test-setup.ts b/packages/angular-table/src/__tests__/test-setup.ts new file mode 100644 index 0000000000..f7d41c2329 --- /dev/null +++ b/packages/angular-table/src/__tests__/test-setup.ts @@ -0,0 +1,12 @@ +import '@analogjs/vite-plugin-angular/setup-vitest' + +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, +} from '@angular/platform-browser-dynamic/testing' +import { getTestBed } from '@angular/core/testing' + +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +) diff --git a/packages/angular-table/src/__tests__/test-utils.ts b/packages/angular-table/src/__tests__/test-utils.ts new file mode 100644 index 0000000000..cfff0e7e69 --- /dev/null +++ b/packages/angular-table/src/__tests__/test-utils.ts @@ -0,0 +1,62 @@ +import type { InputSignal } from '@angular/core' +import { SIGNAL, signalSetFn } from '@angular/core/primitives/signals' +import type { ComponentFixture } from '@angular/core/testing' + +type ToSignalInputUpdatableMap = { + [K in keyof T as T[K] extends InputSignal + ? K + : never]: T[K] extends InputSignal ? Value : never +} + +/** + * Set required signal input value to component fixture + * @see https://github.com/angular/angular/issues/54013 + */ +export function setSignalInputs>( + component: T, + inputs: ToSignalInputUpdatableMap +) { + for (const inputKey in inputs) { + if (componentHasSignalInputProperty(component, inputKey)) { + signalSetFn(component[inputKey][SIGNAL], inputs[inputKey]) + } + } +} + +export function setFixtureSignalInputs>( + componentFixture: ComponentFixture, + inputs: ToSignalInputUpdatableMap, + options: { detectChanges: boolean } = { detectChanges: true } +) { + setSignalInputs(componentFixture.componentInstance, inputs) + if (options.detectChanges) { + componentFixture.detectChanges() + } +} + +export function setFixtureSignalInput< + T extends NonNullable, + InputMaps extends ToSignalInputUpdatableMap, + InputName extends keyof InputMaps, +>( + componentFixture: ComponentFixture, + inputName: InputName, + value: InputMaps[InputName] +) { + setSignalInputs(componentFixture.componentInstance, { + [inputName]: value, + } as ToSignalInputUpdatableMap) +} + +function componentHasSignalInputProperty( + component: object, + property: TProperty +): component is { [key in TProperty]: InputSignal } { + return ( + component.hasOwnProperty(property) && (component as any)[property][SIGNAL] + ) +} + +export async function flushQueue() { + await new Promise(setImmediate) +} diff --git a/packages/angular-table/src/flex-render.ts b/packages/angular-table/src/flex-render.ts index 46242761d9..ac74a72f83 100644 --- a/packages/angular-table/src/flex-render.ts +++ b/packages/angular-table/src/flex-render.ts @@ -4,6 +4,7 @@ import { Directive, type DoCheck, EmbeddedViewRef, + Inject, inject, InjectionToken, Injector, @@ -14,12 +15,13 @@ import { ViewContainerRef, } from '@angular/core' -type FlexRenderContent> = +export type FlexRenderContent> = | string | number | FlexRenderComponent | TemplateRef<{ $implicit: TProps }> | null + | undefined @Directive({ selector: '[flexRender]', @@ -42,8 +44,10 @@ export class FlexRenderDirective> injector: Injector = inject(Injector) constructor( - private viewContainerRef: ViewContainerRef, - private templateRef: TemplateRef + @Inject(ViewContainerRef) + private readonly viewContainerRef: ViewContainerRef, + @Inject(TemplateRef) + private readonly templateRef: TemplateRef ) {} ref?: ComponentRef | EmbeddedViewRef | null = null diff --git a/packages/angular-table/src/index.ts b/packages/angular-table/src/index.ts index b702caeb74..086671e0aa 100644 --- a/packages/angular-table/src/index.ts +++ b/packages/angular-table/src/index.ts @@ -1,4 +1,4 @@ -import { computed, signal } from '@angular/core' +import { computed, type Signal, signal } from '@angular/core' import { RowData, TableOptions, @@ -13,6 +13,7 @@ import { proxifyTable } from './proxy' export * from '@tanstack/table-core' export { + type FlexRenderContent, FlexRenderComponent, FlexRenderDirective, injectFlexRenderContext, @@ -20,7 +21,7 @@ export { export function createAngularTable( options: () => TableOptions -): Table { +): Table & Signal> { return lazyInit(() => { const resolvedOptions = { state: {}, diff --git a/packages/angular-table/src/lazy-signal-initializer.ts b/packages/angular-table/src/lazy-signal-initializer.ts index 65ca4037cd..80a97d16a8 100644 --- a/packages/angular-table/src/lazy-signal-initializer.ts +++ b/packages/angular-table/src/lazy-signal-initializer.ts @@ -15,7 +15,7 @@ export function lazyInit(initializer: () => T): T { queueMicrotask(() => initializeObject()) - function table() {} + const table = () => {} return new Proxy(table as T, { apply(target: T, thisArg: any, argArray: any[]): any { diff --git a/packages/angular-table/src/proxy.ts b/packages/angular-table/src/proxy.ts index 93de38aa7d..660bb6bc40 100644 --- a/packages/angular-table/src/proxy.ts +++ b/packages/angular-table/src/proxy.ts @@ -23,7 +23,8 @@ export function proxifyTable( */ if ( property.startsWith('get') && - (!property.endsWith('Handler') || !property.endsWith('Model')) + !property.endsWith('Handler') && + !property.endsWith('Model') ) { const maybeFn = table[property] as Function | never if (typeof maybeFn === 'function') { diff --git a/packages/angular-table/tsconfig.json b/packages/angular-table/tsconfig.json index 4073e94d11..9752af8706 100644 --- a/packages/angular-table/tsconfig.json +++ b/packages/angular-table/tsconfig.json @@ -2,11 +2,26 @@ "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "./src", - "outDir": "./build/lib" + "outDir": "./build/lib", + "useDefineForClassFields": false, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "types": ["vitest/globals"] }, "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true, "compilationMode": "partial" }, - "include": ["src"], + "include": ["src/**/*.ts"], "exclude": ["**/*.spec.ts"] } diff --git a/packages/angular-table/vitest.config.ts b/packages/angular-table/vitest.config.ts new file mode 100644 index 0000000000..e4e12f2969 --- /dev/null +++ b/packages/angular-table/vitest.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from 'vitest/config' +import packageJson from './package.json' + +export default defineConfig(({ mode }) => ({ + test: { + name: packageJson.name, + globals: true, + setupFiles: ['src/__tests__/test-setup.ts'], + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + }, + define: { + 'import.meta.vitest': mode !== 'production', + }, +})) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea541d93cb..4c6f943dd0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,29 +81,29 @@ importers: examples/angular/basic: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@angular/router': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@tanstack/angular-table': specifier: ^9.0.0-alpha.0 version: link:../../../packages/angular-table @@ -115,14 +115,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -154,26 +154,26 @@ importers: examples/angular/column-ordering: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@tanstack/angular-table': specifier: ^9.0.0-alpha.0 version: link:../../../packages/angular-table @@ -185,14 +185,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -224,26 +224,26 @@ importers: examples/angular/column-pinning: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -258,14 +258,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -297,26 +297,26 @@ importers: examples/angular/column-pinning-sticky: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -331,14 +331,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -370,26 +370,26 @@ importers: examples/angular/column-visibility: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@tanstack/angular-table': specifier: ^9.0.0-alpha.0 version: link:../../../packages/angular-table @@ -401,14 +401,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -440,26 +440,26 @@ importers: examples/angular/filters: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -477,14 +477,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -513,26 +513,26 @@ importers: examples/angular/grouping: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -547,14 +547,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -586,26 +586,26 @@ importers: examples/angular/row-selection: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/forms': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -623,14 +623,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -659,23 +659,23 @@ importers: examples/angular/signal-input: dependencies: '@angular/animations': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/common': - specifier: ^17.3.1 - version: 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.1 - version: 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) '@angular/platform-browser': - specifier: ^17.3.1 - version: 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@angular/platform-browser-dynamic': - specifier: ^17.3.1 - version: 17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))) + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -690,14 +690,14 @@ importers: version: 0.14.5 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.1 - version: 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.1 - version: 17.3.1(chokidar@3.6.0) + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^17.3.1 - version: 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + specifier: ^17.3.9 + version: 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@types/jasmine': specifier: ~5.1.4 version: 5.1.4 @@ -853,7 +853,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.5.2 - version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.10.1) + version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.11.1) serve: specifier: ^14.2.3 version: 14.2.3 @@ -875,7 +875,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.5.2 - version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.10.1) + version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.11.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -897,7 +897,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.5.2 - version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.10.1) + version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.11.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -919,7 +919,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.5.2 - version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.10.1) + version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.11.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -2659,12 +2659,21 @@ importers: specifier: ^2.6.2 version: 2.6.2 devDependencies: + '@analogjs/vite-plugin-angular': + specifier: ^1.3.1 + version: 1.3.1(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5))(@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.2))) '@angular/core': - specifier: ^17.3.1 - version: 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^17.3.9 + version: 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/platform-browser': + specifier: ^17.3.9 + version: 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/platform-browser-dynamic': + specifier: ^17.3.9 + version: 17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))) ng-packagr: specifier: ^17.3.0 - version: 17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5) + version: 17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5) packages/lit-table: dependencies: @@ -2690,7 +2699,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.5.2 - version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.10.1) + version: 1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.11.1) packages/react-table: dependencies: @@ -2783,12 +2792,18 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.1703.1': - resolution: {integrity: sha512-vkfvURv7O+3fHMTE9K+yUEiFS0v4JNYKsDP0LE1ChH5Ocy0bJXGcH2Cyz2W8qdJGDG/tKe41VzvOLpu88Xv3zQ==} + '@analogjs/vite-plugin-angular@1.3.1': + resolution: {integrity: sha512-Q/F+X5NBixMZnHDUffvB9it73326sdfVt35TJHMezMAC1ON370A2a/c/GEOZOUjczDU8JHvfgKzlsMQRHafanQ==} + peerDependencies: + '@angular-devkit/build-angular': '>=15.0.0 || ^18.0.0-rc.0' + '@ngtools/webpack': '>=15.0.0 || ^18.0.0-rc.0' + + '@angular-devkit/architect@0.1703.8': + resolution: {integrity: sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/build-angular@17.3.1': - resolution: {integrity: sha512-e+hZvLVH5AvHCFbVtKRd5oJeFsEmjg7kK1V6hsVxH4YE2f2x399TSr+AGxwV+R3jnjZ67ujIeXXd0Uuf1RwcSg==} + '@angular-devkit/build-angular@17.3.8': + resolution: {integrity: sha512-ixsdXggWaFRP7Jvxd0AMukImnePuGflT9Yy7NJ9/y0cL/k//S/3RnkQv5i411KzN+7D4RIbNkRGGTYeqH24zlg==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^17.0.0 @@ -2828,15 +2843,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.1703.1': - resolution: {integrity: sha512-nVUzewX8RCzaEPQZ1JQpE42wpsYchKQwfXUSCkoUsuCMB2c6zuEz0Jt94nzJg3UjSEEV4ZqCH8v5MDOvB49Rlw==} + '@angular-devkit/build-webpack@0.1703.8': + resolution: {integrity: sha512-9u6fl8VVOxcLOEMzrUeaybSvi9hSLSRucHnybneYrabsgreDo32tuy/4G8p6YAHQjpWEj9jvF9Um13ertdni5Q==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 - '@angular-devkit/core@17.3.1': - resolution: {integrity: sha512-EP7zwqBEaOPuBJwzKmh2abfgNFITGX178BOyTG6zTymeMzEbrvy2OdeQXSslkJ/RGLCpx60GT+0CFW7wGlQR6Q==} + '@angular-devkit/core@17.3.8': + resolution: {integrity: sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 @@ -2844,88 +2859,88 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@17.3.1': - resolution: {integrity: sha512-c3tp5zC5zp6XpK9w8wJf3d4Dyw9BNbmg/VEoXtePGivp4hzks6zuMAFknNRwdK7roOlH0HyM5No4WUZHBFpOmw==} + '@angular-devkit/schematics@17.3.8': + resolution: {integrity: sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/animations@17.3.1': - resolution: {integrity: sha512-2TZ0M5J0IizhHpb404DeqArlv8Ki9BFz5ZUuET2uFROpKW8IMDCht8fSrn/DKHpjB9lvzPUhNFaRxNWEY6klnA==} + '@angular/animations@17.3.9': + resolution: {integrity: sha512-9fSFF9Y+pKZGgGEK3IlVy9msS7LRFpD1h2rJ80N6n1k51jiKcTgOcFPPYwLNJZ2fkp+qrOAMo3ez4WYQgVPoow==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.1 + '@angular/core': 17.3.9 - '@angular/cli@17.3.1': - resolution: {integrity: sha512-IVnnbRi53BZvZ3LE0PCfFefoB2uHlO1sHtilZf/xCpdV4E1Mkz0/hHln5CRHwAXErdSiY57VoMsF5tffxAfaBQ==} + '@angular/cli@17.3.8': + resolution: {integrity: sha512-X5ZOQ6ZTKVHjhIsfl32ZRqbs+FUoeHLbT7x4fh2Os/8ObDDwrUcCJPqxe2b2RB5E2d0vepYigknHeLE7gwzlNQ==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/common@17.3.1': - resolution: {integrity: sha512-HyUTJ4RxhE3bOmFRV6Fv2y01ixbrUb8Hd4MxPm8REbNMGKsWCfXhR3FfxFL18Sc03SAF+o0Md0wwekjFKTNKfQ==} + '@angular/common@17.3.9': + resolution: {integrity: sha512-tH1VfbAvNVaz6ZYa+q0DiKtbmUql1jK/3q/af74B8nVjKLHcXVWwxvBayqvrmlUt7FGANGkETIcCWrB44k47Ug==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.1 + '@angular/core': 17.3.9 rxjs: ^6.5.3 || ^7.4.0 - '@angular/compiler-cli@17.3.8': - resolution: {integrity: sha512-/TsbCmk7QJUEEZnRdNzi6znsPfoDJuy6vHDqcwWVEcw7y6W7DjirSFmtT9u1QwrV67KM6kOh22+RvPdGM8sPmg==} + '@angular/compiler-cli@17.3.9': + resolution: {integrity: sha512-J6aqoz5wqPWaurbZFUZ7iMUlzAJYXzntziJJbalm6ceXfUWEe2Vm67nGUROWCIFvO3kWXvkgYX4ubnqtod2AxA==} engines: {node: ^18.13.0 || >=20.9.0} hasBin: true peerDependencies: - '@angular/compiler': 17.3.8 + '@angular/compiler': 17.3.9 typescript: '>=5.2 <5.5' - '@angular/compiler@17.3.8': - resolution: {integrity: sha512-7vZSh2Oa95lZdRR4MhE0icvZ7JUuYY+NSo3eTSOMZSlH5I9rtwQoSFqfoGW+35rXCzGFLOhQmZBbXkxDPDs97Q==} + '@angular/compiler@17.3.9': + resolution: {integrity: sha512-2d4bPbNm7O2GanqCj5GFgPDnmjbAcsQM502Jnvcv7Aje82yecT69JoqAVRqGOfbbxwlJiPhi31D8DPdLaOz47Q==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.8 + '@angular/core': 17.3.9 peerDependenciesMeta: '@angular/core': optional: true - '@angular/core@17.3.1': - resolution: {integrity: sha512-Qf3/sgkXS1LHwOTtqAVYprySrn0YpPIZqerPc0tK+hyQfwAz5BQlpcBhbH8RWKlfCY8eO0cqo/j0+e8DQOgYfg==} + '@angular/core@17.3.9': + resolution: {integrity: sha512-x+h5BQ6islvYWGVLTz1CEgNq1/5IYngQ+Inq/tWayM6jN7RPOCydCCbCw+uOZS7MgFebkP0gYTVm14y1MRFKSQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.14.0 - '@angular/forms@17.3.1': - resolution: {integrity: sha512-HndsO90k67sFHzd+sII+rhAUksffBvquFuAUCc6QR9WVjILxVg2fY7oBidgS1gKNqu0mptPG0GvuORnaW/0gSg==} + '@angular/forms@17.3.9': + resolution: {integrity: sha512-5b8OjK0kLghrdxkVWglgerHVp9D5WvXInXwo1KIyc2v/fGdTlyu/RFi0GLGvzq2y+7Z8TvtXWC82SB47vfx3TQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.1 - '@angular/core': 17.3.1 - '@angular/platform-browser': 17.3.1 + '@angular/common': 17.3.9 + '@angular/core': 17.3.9 + '@angular/platform-browser': 17.3.9 rxjs: ^6.5.3 || ^7.4.0 - '@angular/platform-browser-dynamic@17.3.1': - resolution: {integrity: sha512-ACW/npNaDxUNQtEomjjv/KIBY8jHEinePff5qosnAxLE0IpA4qE9eDp36zG35xoJqrPJPYjXbZCBRqqrzM7U7Q==} + '@angular/platform-browser-dynamic@17.3.9': + resolution: {integrity: sha512-Jmth4hFC4dZsWQRkxB++42sR1pfJUoQbErANrKQMgEPb8H4cLRdB1mAQ6f+OASPBM+FsxDxjXq2kepyLGtF2Vg==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.1 - '@angular/compiler': 17.3.1 - '@angular/core': 17.3.1 - '@angular/platform-browser': 17.3.1 + '@angular/common': 17.3.9 + '@angular/compiler': 17.3.9 + '@angular/core': 17.3.9 + '@angular/platform-browser': 17.3.9 - '@angular/platform-browser@17.3.1': - resolution: {integrity: sha512-8ABAL8PElSGzkIparVwifsU0NSu0DdqnWYw9YvLhhZQ6lOuWbG+dTUo/DXzmWhA6ezQWJGNakEZPJJytFIIy+A==} + '@angular/platform-browser@17.3.9': + resolution: {integrity: sha512-vMwHO76rnkz7aV3KHKy23KUFAo/+b0+yHPa6AND5Lee8z5C1J/tA2PdetFAsghlQQsX61JeK4MFJV/f3dFm2dw==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/animations': 17.3.1 - '@angular/common': 17.3.1 - '@angular/core': 17.3.1 + '@angular/animations': 17.3.9 + '@angular/common': 17.3.9 + '@angular/core': 17.3.9 peerDependenciesMeta: '@angular/animations': optional: true - '@angular/router@17.3.1': - resolution: {integrity: sha512-H6H7lY9i5Ppu0SFwwpeWqJbCFw8cILOj8Rd1+AGoCN5m3ivPtjD2Ltz62PI2zZkqx+WhQdk19l61Wm3oRqg70A==} + '@angular/router@17.3.9': + resolution: {integrity: sha512-0cRF5YBJoDbXGQsRs3wEG+DPvN4PlhEqTa0DkTr9QIDJRg5P1uiDlOclV+w3OxEMsLrmXGmhjauHaWQk07M4LA==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.1 - '@angular/core': 17.3.1 - '@angular/platform-browser': 17.3.1 + '@angular/common': 17.3.9 + '@angular/core': 17.3.9 + '@angular/platform-browser': 17.3.9 rxjs: ^6.5.3 || ^7.4.0 '@babel/code-frame@7.24.2': @@ -4335,8 +4350,8 @@ packages: '@types/react': optional: true - '@ngtools/webpack@17.3.1': - resolution: {integrity: sha512-6qRYFN6DqogZK0ZFrSlhg1OsIWm3lL3m+/Ixoj6/MLLjDBrTtHqmI93vg6P1EKYTH4fWChL7jtv7iS/LSZubgw==} + '@ngtools/webpack@17.3.8': + resolution: {integrity: sha512-CjSVVa/9fzMpEDQP01SC4colKCbZwj7vUq0H2bivp8jVsmd21x9Fu0gDBH0Y9NdfAIm4eGZvmiZKMII3vIOaYQ==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^17.0.0 @@ -4641,8 +4656,8 @@ packages: '@rushstack/ts-command-line@4.19.1': resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} - '@schematics/angular@17.3.1': - resolution: {integrity: sha512-B3TkpjDjZhxX+tUc2ySEHU33x82Da0sssq/EMqQ1PQBHeRMa0ecyCeExjFEs2y57ZuC+QeVTaUt+TW45lLSjQw==} + '@schematics/angular@17.3.8': + resolution: {integrity: sha512-2g4OmSyE9YGq50Uj7fNI26P/TSAFJ7ZuirwTF2O7Xc4XRQ29/tYIIqhezpNlTb6rlYblcQuMcUZBrMfWJHcqJw==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@sigstore/bundle@2.3.1': @@ -4801,6 +4816,9 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@ts-morph/common@0.22.0': + resolution: {integrity: sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==} + '@tsconfig/svelte@5.0.4': resolution: {integrity: sha512-BV9NplVgLmSi4mwKzD8BD/NQ8erOY/nUE/GpgWe2ckx+wIQF5RyRirn/QsSSCPeulVpc3RA/iJt6DpfTIZps0Q==} @@ -5606,6 +5624,9 @@ packages: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} + code-block-writer@12.0.0: + resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} + code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} @@ -7296,6 +7317,11 @@ packages: engines: {node: '>=10'} hasBin: true + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} @@ -7960,6 +7986,7 @@ packages: read-package-json@7.0.1: resolution: {integrity: sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==} engines: {node: ^16.14.0 || >=18.0.0} + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -8806,6 +8833,9 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + ts-morph@21.0.1: + resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==} + tsconfck@3.0.3: resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==} engines: {node: ^18 || >=20} @@ -8879,12 +8909,8 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici@6.10.1: - resolution: {integrity: sha512-kSzmWrOx3XBKTgPm4Tal8Hyl3yf+hzlA00SAf4goxv8LZYafKmS6gJD/7Fe5HH/DMNiFTRXvkwhLo7mUn5fuQQ==} - engines: {node: '>=18.0'} - - undici@6.7.1: - resolution: {integrity: sha512-+Wtb9bAQw6HYWzCnxrPTMVEV3Q1QjYanI0E4q02ehReMuquQdLTEFEYbfs7hcImVYKcQkWSwT6buEmSVIiDDtQ==} + undici@6.11.1: + resolution: {integrity: sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==} engines: {node: '>=18.0'} unescape-js@1.1.4: @@ -9020,8 +9046,8 @@ packages: vite: optional: true - vite@5.1.5: - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + vite@5.1.7: + resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -9166,8 +9192,8 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 - webpack-dev-middleware@6.1.1: - resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==} + webpack-dev-middleware@6.1.2: + resolution: {integrity: sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.0.0 @@ -9387,20 +9413,26 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@angular-devkit/architect@0.1703.1(chokidar@3.6.0)': + '@analogjs/vite-plugin-angular@1.3.1(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5))(@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.2)))': dependencies: - '@angular-devkit/core': 17.3.1(chokidar@3.6.0) + '@angular-devkit/build-angular': 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5) + '@ngtools/webpack': 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.2)) + ts-morph: 21.0.1 + + '@angular-devkit/architect@0.1703.8(chokidar@3.6.0)': + dependencies: + '@angular-devkit/core': 17.3.8(chokidar@3.6.0) rxjs: 7.8.1 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5)': + '@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.12.7)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5))(typescript@5.4.5)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1703.1(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1703.1(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1)) - '@angular-devkit/core': 17.3.1(chokidar@3.6.0) - '@angular/compiler-cli': 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) + '@angular-devkit/build-webpack': 0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1)) + '@angular-devkit/core': 17.3.8(chokidar@3.6.0) + '@angular/compiler-cli': 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@babel/core': 7.24.0 '@babel/generator': 7.23.6 '@babel/helper-annotate-as-pure': 7.22.5 @@ -9411,8 +9443,8 @@ snapshots: '@babel/preset-env': 7.24.0(@babel/core@7.24.0) '@babel/runtime': 7.24.0 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.1)) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.5(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1)) + '@ngtools/webpack': 17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.2)) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.7(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1)) ansi-colors: 4.1.3 autoprefixer: 10.4.18(postcss@8.4.35) babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.20.1)) @@ -9453,18 +9485,18 @@ snapshots: tree-kill: 1.2.2 tslib: 2.6.2 typescript: 5.4.5 - undici: 6.7.1 - vite: 5.1.5(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) + undici: 6.11.1 + vite: 5.1.7(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) watchpack: 2.4.0 webpack: 5.90.3(esbuild@0.20.2) - webpack-dev-middleware: 6.1.1(webpack@5.90.3(esbuild@0.20.1)) + webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.20.1)) webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) webpack-merge: 5.10.0 webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.20.1)) optionalDependencies: esbuild: 0.20.1 karma: 6.4.3 - ng-packagr: 17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5) + ng-packagr: 17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -9484,16 +9516,16 @@ snapshots: - utf-8-validate - webpack-cli - '@angular-devkit/build-webpack@0.1703.1(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1))': + '@angular-devkit/build-webpack@0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1))': dependencies: - '@angular-devkit/architect': 0.1703.1(chokidar@3.6.0) + '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) rxjs: 7.8.1 webpack: 5.90.3(esbuild@0.20.2) webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@17.3.1(chokidar@3.6.0)': + '@angular-devkit/core@17.3.8(chokidar@3.6.0)': dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) @@ -9504,9 +9536,9 @@ snapshots: optionalDependencies: chokidar: 3.6.0 - '@angular-devkit/schematics@17.3.1(chokidar@3.6.0)': + '@angular-devkit/schematics@17.3.8(chokidar@3.6.0)': dependencies: - '@angular-devkit/core': 17.3.1(chokidar@3.6.0) + '@angular-devkit/core': 17.3.8(chokidar@3.6.0) jsonc-parser: 3.2.1 magic-string: 0.30.8 ora: 5.4.1 @@ -9514,17 +9546,17 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))': + '@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))': dependencies: - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) tslib: 2.6.2 - '@angular/cli@17.3.1(chokidar@3.6.0)': + '@angular/cli@17.3.8(chokidar@3.6.0)': dependencies: - '@angular-devkit/architect': 0.1703.1(chokidar@3.6.0) - '@angular-devkit/core': 17.3.1(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.1(chokidar@3.6.0) - '@schematics/angular': 17.3.1(chokidar@3.6.0) + '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) + '@angular-devkit/core': 17.3.8(chokidar@3.6.0) + '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0) + '@schematics/angular': 17.3.8(chokidar@3.6.0) '@yarnpkg/lockfile': 1.1.0 ansi-colors: 4.1.3 ini: 4.1.2 @@ -9544,15 +9576,15 @@ snapshots: - chokidar - supports-color - '@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1)': + '@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1)': dependencies: - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) rxjs: 7.8.1 tslib: 2.6.2 - '@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5)': + '@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5)': dependencies: - '@angular/compiler': 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/compiler': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) '@babel/core': 7.23.9 '@jridgewell/sourcemap-codec': 1.4.15 chokidar: 3.6.0 @@ -9565,47 +9597,47 @@ snapshots: transitivePeerDependencies: - supports-color - '@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))': + '@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))': dependencies: tslib: 2.6.2 optionalDependencies: - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)': + '@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)': dependencies: rxjs: 7.8.1 tslib: 2.6.2 zone.js: 0.14.5 - '@angular/forms@17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1)': + '@angular/forms@17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1)': dependencies: - '@angular/common': 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/platform-browser': 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/common': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/platform-browser': 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) rxjs: 7.8.1 tslib: 2.6.2 - '@angular/platform-browser-dynamic@17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))': + '@angular/platform-browser-dynamic@17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))': dependencies: - '@angular/common': 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) - '@angular/compiler': 17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/platform-browser': 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/common': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + '@angular/compiler': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/platform-browser': 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) tslib: 2.6.2 - '@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))': + '@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))': dependencies: - '@angular/common': 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/common': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) tslib: 2.6.2 optionalDependencies: - '@angular/animations': 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/animations': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) - '@angular/router@17.3.1(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1)': + '@angular/router@17.3.9(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(@angular/platform-browser@17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(rxjs@7.8.1)': dependencies: - '@angular/common': 17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) - '@angular/core': 17.3.1(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/platform-browser': 17.3.1(@angular/animations@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.1(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)) + '@angular/common': 17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1) + '@angular/core': 17.3.9(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/platform-browser': 17.3.9(@angular/animations@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(@angular/common@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5))(rxjs@7.8.1))(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)) rxjs: 7.8.1 tslib: 2.6.2 @@ -11047,10 +11079,10 @@ snapshots: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - '@builder.io/qwik@1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.10.1)': + '@builder.io/qwik@1.5.2(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2)(undici@6.11.1)': dependencies: csstype: 3.1.3 - undici: 6.10.1 + undici: 6.11.1 vite: 5.2.10(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2) transitivePeerDependencies: - '@types/node' @@ -11627,9 +11659,9 @@ snapshots: optionalDependencies: '@types/react': 18.3.0 - '@ngtools/webpack@17.3.1(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.1))': + '@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.2))': dependencies: - '@angular/compiler-cli': 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + '@angular/compiler-cli': 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) typescript: 5.4.5 webpack: 5.90.3(esbuild@0.20.2) @@ -11928,10 +11960,10 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@schematics/angular@17.3.1(chokidar@3.6.0)': + '@schematics/angular@17.3.8(chokidar@3.6.0)': dependencies: - '@angular-devkit/core': 17.3.1(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.1(chokidar@3.6.0) + '@angular-devkit/core': 17.3.8(chokidar@3.6.0) + '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0) jsonc-parser: 3.2.1 transitivePeerDependencies: - chokidar @@ -12139,6 +12171,13 @@ snapshots: '@testing-library/dom': 10.0.0 '@types/react-dom': 18.3.0 + '@ts-morph/common@0.22.0': + dependencies: + fast-glob: 3.3.2 + minimatch: 9.0.4 + mkdirp: 3.0.1 + path-browserify: 1.0.1 + '@tsconfig/svelte@5.0.4': {} '@tufjs/canonical-json@2.0.0': {} @@ -12334,9 +12373,9 @@ snapshots: dependencies: '@types/node': 20.12.7 - '@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.5(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1))': + '@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.7(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1))': dependencies: - vite: 5.1.5(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) + vite: 5.1.7(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) '@vitejs/plugin-react@4.2.1(vite@5.2.10(@types/node@20.12.7)(less@4.2.0)(sass@1.77.1)(terser@5.29.2))': dependencies: @@ -13101,6 +13140,8 @@ snapshots: clsx@2.1.0: {} + code-block-writer@12.0.0: {} + code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -14920,6 +14961,8 @@ snapshots: mkdirp@1.0.4: {} + mkdirp@3.0.1: {} + mlly@1.6.1: dependencies: acorn: 8.11.3 @@ -14966,9 +15009,9 @@ snapshots: neo-async@2.6.2: {} - ng-packagr@17.3.0(@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5): + ng-packagr@17.3.0(@angular/compiler-cli@17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5))(tslib@2.6.2)(typescript@5.4.5): dependencies: - '@angular/compiler-cli': 17.3.8(@angular/compiler@17.3.8(@angular/core@17.3.1(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) + '@angular/compiler-cli': 17.3.9(@angular/compiler@17.3.9(@angular/core@17.3.9(rxjs@7.8.1)(zone.js@0.14.5)))(typescript@5.4.5) '@rollup/plugin-json': 6.1.0(rollup@4.16.4) '@rollup/plugin-node-resolve': 15.2.3(rollup@4.16.4) '@rollup/wasm-node': 4.17.2 @@ -16452,7 +16495,7 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.90.3(esbuild@0.20.1)): + terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.90.3(esbuild@0.20.2)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -16592,6 +16635,11 @@ snapshots: tree-kill@1.2.2: {} + ts-morph@21.0.1: + dependencies: + '@ts-morph/common': 0.22.0 + code-block-writer: 12.0.0 + tsconfck@3.0.3(typescript@5.4.5): optionalDependencies: typescript: 5.4.5 @@ -16649,9 +16697,7 @@ snapshots: undici-types@5.26.5: {} - undici@6.10.1: {} - - undici@6.7.1: {} + undici@6.11.1: {} unescape-js@1.1.4: dependencies: @@ -16791,7 +16837,7 @@ snapshots: - supports-color - typescript - vite@5.1.5(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1): + vite@5.1.7(@types/node@20.12.7)(less@4.2.0)(sass@1.71.1)(terser@5.29.1): dependencies: esbuild: 0.19.12 postcss: 8.4.38 @@ -16918,7 +16964,7 @@ snapshots: schema-utils: 4.2.0 webpack: 5.90.3(esbuild@0.20.2) - webpack-dev-middleware@6.1.1(webpack@5.90.3(esbuild@0.20.1)): + webpack-dev-middleware@6.1.2(webpack@5.90.3(esbuild@0.20.1)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -17004,7 +17050,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.90.3(esbuild@0.20.1)) + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.90.3(esbuild@0.20.2)) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: