diff --git a/docs/config.json b/docs/config.json index d050a0a967..eeed5e2a8e 100644 --- a/docs/config.json +++ b/docs/config.json @@ -458,6 +458,10 @@ { "to": "framework/angular/examples/column-resizing-performant", "label": "Performant Column Resizing" + }, + { + "to": "framework/angular/examples/remote-data", + "label": "Remote data (optional SSR)" } ] }, diff --git a/examples/angular/column-resizing-performant/src/app/app.component.ts b/examples/angular/column-resizing-performant/src/app/app.component.ts index 93be923e40..3102318082 100644 --- a/examples/angular/column-resizing-performant/src/app/app.component.ts +++ b/examples/angular/column-resizing-performant/src/app/app.component.ts @@ -5,17 +5,17 @@ import { signal, untracked, } from '@angular/core' +import type { ColumnDef, ColumnResizeMode } from '@tanstack/angular-table' import { - FlexRenderDirective, columnResizingFeature, columnSizingFeature, + FlexRenderDirective, injectTable, tableFeatures, } from '@tanstack/angular-table' +import type { Person } from './makeData' import { makeData } from './makeData' import { TableResizableCell, TableResizableHeader } from './resizable-cell' -import type { Person } from './makeData' -import type { ColumnDef, ColumnResizeMode } from '@tanstack/angular-table' const _features = tableFeatures({ columnSizingFeature, diff --git a/examples/angular/remote-data/.devcontainer/devcontainer.json b/examples/angular/remote-data/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..36f47d8762 --- /dev/null +++ b/examples/angular/remote-data/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:18" +} diff --git a/examples/angular/remote-data/.editorconfig b/examples/angular/remote-data/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/examples/angular/remote-data/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples/angular/remote-data/.gitignore b/examples/angular/remote-data/.gitignore new file mode 100644 index 0000000000..0711527ef9 --- /dev/null +++ b/examples/angular/remote-data/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples/angular/remote-data/README.md b/examples/angular/remote-data/README.md new file mode 100644 index 0000000000..5da97a87d1 --- /dev/null +++ b/examples/angular/remote-data/README.md @@ -0,0 +1,27 @@ +# Basic + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/examples/angular/remote-data/angular.json b/examples/angular/remote-data/angular.json new file mode 100644 index 0000000000..19698544c7 --- /dev/null +++ b/examples/angular/remote-data/angular.json @@ -0,0 +1,102 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "remote-data": { + "cli": { + "cache": { + "enabled": false + } + }, + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/remote-data", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all", + "outputMode": "server", + "server": "src/main.server.ts", + "ssr": { + "entry": "src/server.ts" + } + }, + "no-ssr": { + "budgets": [], + "outputHashing": "all", + "prerender": false, + "ssr": false + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true, + "outputMode": "server", + "server": "src/main.server.ts", + "ssr": { + "entry": "src/server.ts" + } + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "remote-data:build:production" + }, + "no-ssr": { + "buildTarget": "remote-data:build:no-ssr" + }, + "development": { + "buildTarget": "remote-data:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "remote-data:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/examples/angular/remote-data/package.json b/examples/angular/remote-data/package.json new file mode 100644 index 0000000000..d53d488b9d --- /dev/null +++ b/examples/angular/remote-data/package.json @@ -0,0 +1,39 @@ +{ + "name": "tanstack-table-example-angular-remote-data", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "start:no-ssr": "ng serve --configuration=no-ssr", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "serve:ssr:remote-data": "node dist/remote-data/server/server.mjs" + }, + "private": true, + "dependencies": { + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/platform-server": "^19.1.4", + "@angular/router": "^19.1.4", + "@angular/ssr": "^19.1.5", + "@tanstack/angular-table": "^9.0.0-alpha.10", + "express": "^4.18.2", + "rxjs": "~7.8.1", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", + "@types/express": "^4.17.17", + "@types/node": "^18.18.0", + "tslib": "^2.6.2", + "typescript": "5.7.3" + } +} diff --git a/examples/angular/remote-data/src/app/app.component.html b/examples/angular/remote-data/src/app/app.component.html new file mode 100644 index 0000000000..5c13cfe8fa --- /dev/null +++ b/examples/angular/remote-data/src/app/app.component.html @@ -0,0 +1,130 @@ +
+
+ +
+ +
+ + + @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { + + @for (header of headerGroup.headers; track header.id) { + + } + + } + + + @for (row of table.getRowModel().rows; track row.id) { + + + @for (cell of row.getAllCells(); track cell.id) { + + } + + } + +
+ @if (!header.isPlaceholder) { +
+ +
+
+ + @if (header.column.getIsSorted() === 'asc') { + 🔼 + } + @if (header.column.getIsSorted() === 'desc') { + 🔽 + } +
+ } +
+ +
+
+
+
+ + @if (data.isLoading()) { + Loading... + } +
+ +
+
+ + + + + +
Page
+ + {{ table.getState().pagination.pageIndex + 1 }} of + {{ table.getPageCount() }} + +
+ + | Go to page: + + + + +
diff --git a/examples/angular/remote-data/src/app/app.component.ts b/examples/angular/remote-data/src/app/app.component.ts new file mode 100644 index 0000000000..2cb507fcd1 --- /dev/null +++ b/examples/angular/remote-data/src/app/app.component.ts @@ -0,0 +1,180 @@ +import { HttpParams } from '@angular/common/http' +import { + ChangeDetectionStrategy, + Component, + ResourceStatus, + linkedSignal, + resource, + signal, +} from '@angular/core' +import { ReactiveFormsModule } from '@angular/forms' +import { + FlexRenderDirective, + createTableHelper, + globalFilteringFeature, + rowPaginationFeature, + rowSortingFeature, + tableFeatures, +} from '@tanstack/angular-table' +import type { + ColumnDef, + PaginationState, + SortingState, +} from '@tanstack/angular-table' +import type { WritableSignal } from '@angular/core' + +export type Todo = { + userId: number + id: number + title: string + completed: boolean +} + +const _features = tableFeatures({ + rowPaginationFeature, + globalFilteringFeature, + rowSortingFeature, +}) + +const tableHelper = createTableHelper({ + _features, + TData: {} as Todo, +}) + +const columnHelper = tableHelper.createColumnHelper() + +type TodoResponse = { items: Array; totalCount: number } + +@Component({ + selector: 'app-root', + imports: [FlexRenderDirective, ReactiveFormsModule], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AppComponent { + readonly pagination = signal({ + pageSize: 10, + pageIndex: 0, + }) + + readonly sorting = signal([{ id: 'id', desc: false }]) + readonly globalFilter = signal(null) + readonly data = resource({ + request: () => ({ + page: this.pagination(), + globalFilter: this.globalFilter(), + sorting: this.sorting(), + }), + loader: ({ request: { page, globalFilter, sorting }, abortSignal }) => { + let httpParams = new HttpParams({ + fromObject: { + _page: page.pageIndex + 1, + _limit: page.pageSize, + }, + }) + if (globalFilter) { + httpParams = httpParams.set('title_like', globalFilter) + } + if (sorting.length) { + const keys: Array = [] + const orders: Array = [] + for (const sort of sorting) { + keys.push(sort.id) + orders.push(sort.desc ? 'desc' : 'asc') + } + httpParams = httpParams + .set('_sort', keys.join(',')) + .set('_order', orders.join(',')) + } + + return fetch( + `https://jsonplaceholder.typicode.com/todos?${httpParams.toString()}`, + ).then(async (res) => { + const items: Array = await res.json() + return { + items, + totalCount: Number(res.headers.get('X-Total-Count')), + } satisfies TodoResponse + }) as Promise + }, + }) + + readonly columns = [ + columnHelper.accessor('id', { + id: 'id', + cell: (info) => info.getValue(), + header: () => 'Id', + footer: (props) => props.column.id, + }), + columnHelper.accessor('title', { + id: 'title', + cell: (info) => info.getValue(), + header: () => 'Title', + footer: (props) => props.column.id, + }), + columnHelper.accessor('completed', { + id: 'completed', + cell: (info) => (info.getValue() ? `✅` : `❌`), + header: () => 'Completed', + footer: (props) => props.column.id, + }), + ] as Array> + + // Keep previous value + readonly dataWithLatest: WritableSignal = linkedSignal({ + source: () => ({ + value: this.data.value(), + status: this.data.status(), + }), + computation: (source, previous) => { + if (previous && source.status === ResourceStatus.Loading) + return previous.value + return source.value ?? { items: [], totalCount: 0 } + }, + }) + + readonly table = tableHelper.injectTable(() => { + const data = this.dataWithLatest() + return { + data: data.items, + columns: this.columns, + state: { + pagination: this.pagination(), + globalFilter: this.globalFilter(), + sorting: this.sorting(), + }, + manualFiltering: true, + manualPagination: true, + manualSorting: true, + rowCount: data.totalCount, + onPaginationChange: (updater) => + typeof updater === 'function' + ? this.pagination.update(updater) + : this.pagination.set(updater), + onSortingChange: (updater) => { + typeof updater === 'function' + ? this.sorting.update(updater) + : this.sorting.set(updater) + }, + onGlobalFilterChange: (updater) => { + typeof updater === 'function' + ? this.globalFilter.update(updater) + : this.globalFilter.set(updater) + this.pagination.update((page) => ({ + ...page, + pageIndex: 0, + })) + }, + } + }) + + onPageInputChange(event: Event): void { + const inputElement = event.target as HTMLInputElement + const page = inputElement.value ? Number(inputElement.value) - 1 : 0 + this.table.setPageIndex(page) + } + + onPageSizeChange(event: any): void { + this.table.setPageSize(Number(event.target.value)) + } +} diff --git a/examples/angular/remote-data/src/app/app.config.server.ts b/examples/angular/remote-data/src/app/app.config.server.ts new file mode 100644 index 0000000000..0893630247 --- /dev/null +++ b/examples/angular/remote-data/src/app/app.config.server.ts @@ -0,0 +1,12 @@ +import { mergeApplicationConfig } from '@angular/core' +import { provideServerRendering } from '@angular/platform-server' +import { provideServerRouting } from '@angular/ssr' +import { appConfig } from './app.config' +import { serverRoutes } from './app.routes.server' +import type { ApplicationConfig } from '@angular/core' + +const serverConfig: ApplicationConfig = { + providers: [provideServerRendering(), provideServerRouting(serverRoutes)], +} + +export const config = mergeApplicationConfig(appConfig, serverConfig) diff --git a/examples/angular/remote-data/src/app/app.config.ts b/examples/angular/remote-data/src/app/app.config.ts new file mode 100644 index 0000000000..c172dd6098 --- /dev/null +++ b/examples/angular/remote-data/src/app/app.config.ts @@ -0,0 +1,9 @@ +import { + provideClientHydration, + withEventReplay, +} from '@angular/platform-browser' +import type { ApplicationConfig } from '@angular/core' + +export const appConfig: ApplicationConfig = { + providers: [provideClientHydration(withEventReplay())], +} diff --git a/examples/angular/remote-data/src/app/app.routes.server.ts b/examples/angular/remote-data/src/app/app.routes.server.ts new file mode 100644 index 0000000000..dddd01e7df --- /dev/null +++ b/examples/angular/remote-data/src/app/app.routes.server.ts @@ -0,0 +1,8 @@ +import { RenderMode, type ServerRoute } from '@angular/ssr' + +export const serverRoutes: Array = [ + { + path: '**', + renderMode: RenderMode.Server, + }, +] diff --git a/examples/angular/remote-data/src/assets/.gitkeep b/examples/angular/remote-data/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/angular/remote-data/src/favicon.ico b/examples/angular/remote-data/src/favicon.ico new file mode 100644 index 0000000000..57614f9c96 Binary files /dev/null and b/examples/angular/remote-data/src/favicon.ico differ diff --git a/examples/angular/remote-data/src/index.html b/examples/angular/remote-data/src/index.html new file mode 100644 index 0000000000..bd21f08bcc --- /dev/null +++ b/examples/angular/remote-data/src/index.html @@ -0,0 +1,14 @@ + + + + + Expanding + + + + + + + + + diff --git a/examples/angular/remote-data/src/main.server.ts b/examples/angular/remote-data/src/main.server.ts new file mode 100644 index 0000000000..9d3b7403e3 --- /dev/null +++ b/examples/angular/remote-data/src/main.server.ts @@ -0,0 +1,7 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { AppComponent } from './app/app.component' +import { config } from './app/app.config.server' + +const bootstrap = () => bootstrapApplication(AppComponent, config) + +export default bootstrap diff --git a/examples/angular/remote-data/src/main.ts b/examples/angular/remote-data/src/main.ts new file mode 100644 index 0000000000..c3d8f9af99 --- /dev/null +++ b/examples/angular/remote-data/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { appConfig } from './app/app.config' +import { AppComponent } from './app/app.component' + +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)) diff --git a/examples/angular/remote-data/src/server.ts b/examples/angular/remote-data/src/server.ts new file mode 100644 index 0000000000..fac11ed3aa --- /dev/null +++ b/examples/angular/remote-data/src/server.ts @@ -0,0 +1,66 @@ +import { + AngularNodeAppEngine, + createNodeRequestHandler, + isMainModule, + writeResponseToNodeResponse, +} from '@angular/ssr/node' +import express from 'express' +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const serverDistFolder = dirname(fileURLToPath(import.meta.url)) +const browserDistFolder = resolve(serverDistFolder, '../browser') + +const app = express() +const angularApp = new AngularNodeAppEngine() + +/** + * Example Express Rest API endpoints can be defined here. + * Uncomment and define endpoints as necessary. + * + * Example: + * ```ts + * app.get('/api/**', (req, res) => { + * // Handle API request + * }); + * ``` + */ + +/** + * Serve static files from /browser + */ +app.use( + express.static(browserDistFolder, { + maxAge: '1y', + index: false, + redirect: false, + }), +) + +/** + * Handle all other requests by rendering the Angular application. + */ +app.use('/**', (req, res, next) => { + angularApp + .handle(req) + .then((response) => + response ? writeResponseToNodeResponse(response, res) : next(), + ) + .catch(next) +}) + +/** + * Start the server if this module is the main entry point. + * The server listens on the port defined by the `PORT` environment variable, or defaults to 4000. + */ +if (isMainModule(import.meta.url)) { + const port = process.env['PORT'] || 4000 + app.listen(port, () => { + console.log(`Node Express server listening on http://localhost:${port}`) + }) +} + +/** + * The request handler used by the Angular CLI (dev-server and during build). + */ +export const reqHandler = createNodeRequestHandler(app) diff --git a/examples/angular/remote-data/src/styles.scss b/examples/angular/remote-data/src/styles.scss new file mode 100644 index 0000000000..f58ad8a3e0 --- /dev/null +++ b/examples/angular/remote-data/src/styles.scss @@ -0,0 +1,32 @@ +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border: 1px solid lightgray; +} + +tbody { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; +} + +tbody td { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; +} + +tfoot { + color: gray; +} + +tfoot th { + font-weight: normal; +} diff --git a/examples/angular/remote-data/tsconfig.app.json b/examples/angular/remote-data/tsconfig.app.json new file mode 100644 index 0000000000..c5420c6212 --- /dev/null +++ b/examples/angular/remote-data/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": ["node"] + }, + "files": ["src/main.ts", "src/main.server.ts", "src/server.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/examples/angular/remote-data/tsconfig.json b/examples/angular/remote-data/tsconfig.json new file mode 100644 index 0000000000..b58d3efc71 --- /dev/null +++ b/examples/angular/remote-data/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "src", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples/angular/remote-data/tsconfig.spec.json b/examples/angular/remote-data/tsconfig.spec.json new file mode 100644 index 0000000000..47e3dd7551 --- /dev/null +++ b/examples/angular/remote-data/tsconfig.spec.json @@ -0,0 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 640bb2eb2d..027a9a2110 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,7 +101,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -153,7 +153,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -205,7 +205,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -254,7 +254,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -309,7 +309,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(x5dhxhgnntm73v76kvurmazh6m) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -376,7 +376,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -431,7 +431,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(x5dhxhgnntm73v76kvurmazh6m) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -507,7 +507,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(x5dhxhgnntm73v76kvurmazh6m) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -559,7 +559,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -605,7 +605,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -619,6 +619,73 @@ importers: specifier: 5.6.3 version: 5.6.3 + examples/angular/remote-data: + dependencies: + '@angular/animations': + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/common': + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/core': + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/forms': + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/platform-browser-dynamic': + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/platform-server': + specifier: ^19.1.4 + version: 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/router': + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + '@angular/ssr': + specifier: ^19.1.5 + version: 19.1.6(7ilfkxcbrvq45ctcibs56h5doi) + '@tanstack/angular-table': + specifier: ^9.0.0-alpha.10 + version: link:../../../packages/angular-table + express: + specifier: ^4.18.2 + version: 4.21.2 + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + zone.js: + specifier: ~0.15.0 + version: 0.15.0 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^19.1.5 + version: 19.1.5(bg54tdz6yf55c3ogptzqk5tvqu) + '@angular/cli': + specifier: ^19.1.5 + version: 19.1.5(@types/node@18.19.75)(chokidar@4.0.3) + '@angular/compiler-cli': + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) + '@types/express': + specifier: ^4.17.17 + version: 4.17.21 + '@types/node': + specifier: ^18.18.0 + version: 18.19.75 + tslib: + specifier: ^2.6.2 + version: 2.8.1 + typescript: + specifier: 5.7.3 + version: 5.7.3 + examples/angular/row-dnd: dependencies: '@angular/animations': @@ -663,7 +730,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(x5dhxhgnntm73v76kvurmazh6m) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -736,7 +803,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -788,7 +855,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -831,7 +898,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(lhizrya3v66nyemuibqrf72rge) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -886,7 +953,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(x5dhxhgnntm73v76kvurmazh6m) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -3567,6 +3634,16 @@ packages: '@angular/animations': optional: true + '@angular/platform-server@19.1.5': + resolution: {integrity: sha512-cG09kFDjHr6p1g7Szf6NfXtb7bM5Vb8XK8qsReACegeugZ+zYZUdDWhDNKYgAmqf0q3rUuJ2UQFx2H25m+W/hQ==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} + peerDependencies: + '@angular/animations': 19.1.5 + '@angular/common': 19.1.5 + '@angular/compiler': 19.1.5 + '@angular/core': 19.1.5 + '@angular/platform-browser': 19.1.5 + '@angular/router@19.1.4': resolution: {integrity: sha512-0gEhGGqcCS7adKuv/XeQjRbhEqRXPhIH4ygjwfonV+uvmK+C1sf+bnAt4o01hxwf12w4FcnNPkgBKt+rJJ+LpA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} @@ -3576,6 +3653,17 @@ packages: '@angular/platform-browser': 19.1.4 rxjs: ^6.5.3 || ^7.4.0 + '@angular/ssr@19.1.6': + resolution: {integrity: sha512-2tfTKnNMITCi6Kd4q9wlWJE4lsqDdK8anvDPocUbRk1rprP2wLxW2NrYNC1QMfCmJjYxPRLgh9syA3cAWMr84g==} + peerDependencies: + '@angular/common': ^19.0.0 + '@angular/core': ^19.0.0 + '@angular/platform-server': ^19.0.0 + '@angular/router': ^19.0.0 + peerDependenciesMeta: + '@angular/platform-server': + optional: true + '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -6093,6 +6181,9 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + '@types/node@18.19.75': + resolution: {integrity: sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==} + '@types/node@22.10.10': resolution: {integrity: sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==} @@ -10428,6 +10519,9 @@ packages: resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} engines: {node: '>=0.10.0'} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} @@ -10880,6 +10974,10 @@ packages: utf-8-validate: optional: true + xhr2@0.2.1: + resolution: {integrity: sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==} + engines: {node: '>= 6'} + xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} @@ -11080,13 +11178,101 @@ snapshots: - yaml optional: true - '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': + '@angular-devkit/build-angular@19.1.5(bg54tdz6yf55c3ogptzqk5tvqu)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/build-webpack': 0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2)) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/build': 19.1.5(6qqtnvpx3gaebcv63ux55wj2zm) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) + '@babel/core': 7.26.0 + '@babel/generator': 7.26.3 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@discoveryjs/json-ext': 0.6.3 + '@ngtools/webpack': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@18.19.75)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + ansi-colors: 4.1.3 + autoprefixer: 10.4.20(postcss@8.4.49) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(esbuild@0.24.2)) + browserslist: 4.24.4 + copy-webpack-plugin: 12.0.2(webpack@5.97.1(esbuild@0.24.2)) + css-loader: 7.1.2(webpack@5.97.1(esbuild@0.24.2)) + esbuild-wasm: 0.24.2 + fast-glob: 3.3.3 + http-proxy-middleware: 3.0.3 + istanbul-lib-instrument: 6.0.3 + jsonc-parser: 3.3.1 + karma-source-map-support: 1.4.0 + less: 4.2.1 + less-loader: 12.2.0(less@4.2.1)(webpack@5.97.1(esbuild@0.24.2)) + license-webpack-plugin: 4.0.2(webpack@5.97.1(esbuild@0.24.2)) + loader-utils: 3.3.1 + mini-css-extract-plugin: 2.9.2(webpack@5.97.1(esbuild@0.24.2)) + open: 10.1.0 + ora: 5.4.1 + picomatch: 4.0.2 + piscina: 4.8.0 + postcss: 8.4.49 + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2)) + resolve-url-loader: 5.0.0 + rxjs: 7.8.1 + sass: 1.83.1 + sass-loader: 16.0.4(sass@1.83.1)(webpack@5.97.1(esbuild@0.24.2)) + semver: 7.6.3 + source-map-loader: 5.0.0(webpack@5.97.1(esbuild@0.24.2)) + source-map-support: 0.5.21 + terser: 5.37.0 + tree-kill: 1.2.2 + tslib: 2.8.1 + typescript: 5.7.3 + webpack: 5.97.1(esbuild@0.24.2) + webpack-dev-middleware: 7.4.2(webpack@5.97.1(esbuild@0.24.2)) + webpack-dev-server: 5.2.0(webpack@5.97.1(esbuild@0.24.2)) + webpack-merge: 6.0.1 + webpack-subresource-integrity: 5.1.0(webpack@5.97.1(esbuild@0.24.2)) + optionalDependencies: + '@angular/platform-server': 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/ssr': 19.1.6(7ilfkxcbrvq45ctcibs56h5doi) + esbuild: 0.24.2 + karma: 6.4.4 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) + transitivePeerDependencies: + - '@angular/compiler' + - '@rspack/core' + - '@swc/core' + - '@types/node' + - bufferutil + - chokidar + - debug + - html-webpack-plugin + - jiti + - lightningcss + - node-sass + - sass-embedded + - stylus + - sugarss + - supports-color + - tsx + - uglify-js + - utf-8-validate + - vite + - webpack-cli + - yaml + + '@angular-devkit/build-angular@19.1.5(x5dhxhgnntm73v76kvurmazh6m)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) '@angular-devkit/build-webpack': 0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2)) '@angular-devkit/core': 19.1.5(chokidar@4.0.3) - '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1) + '@angular/build': 19.1.5(j32ndznqywlthzbbz7u4udwz2i) '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -11140,6 +11326,8 @@ snapshots: webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.97.1(esbuild@0.24.2)) optionalDependencies: + '@angular/platform-server': 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/ssr': 19.1.6(7ilfkxcbrvq45ctcibs56h5doi) esbuild: 0.24.2 karma: 6.4.4 ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) @@ -11201,19 +11389,19 @@ snapshots: '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) tslib: 2.8.1 - '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1)': + '@angular/build@19.1.5(6qqtnvpx3gaebcv63ux55wj2zm)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) '@angular-devkit/core': 19.1.5(chokidar@4.0.3) '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) - '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@inquirer/confirm': 5.1.1(@types/node@22.10.10) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@inquirer/confirm': 5.1.1(@types/node@18.19.75) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@18.19.75)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) beasties: 0.2.0 browserslist: 4.24.4 esbuild: 0.24.2 @@ -11229,14 +11417,16 @@ snapshots: rollup: 4.30.1 sass: 1.83.1 semver: 7.6.3 - typescript: 5.6.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + typescript: 5.7.3 + vite: 6.0.11(@types/node@18.19.75)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) watchpack: 2.4.2 optionalDependencies: + '@angular/platform-server': 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/ssr': 19.1.6(7ilfkxcbrvq45ctcibs56h5doi) less: 4.2.1 lmdb: 3.2.2 - ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) - postcss: 8.5.1 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) + postcss: 8.4.49 transitivePeerDependencies: - '@types/node' - chokidar @@ -11300,7 +11490,7 @@ snapshots: - yaml optional: true - '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1)': + '@angular/build@19.1.5(j32ndznqywlthzbbz7u4udwz2i)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) @@ -11332,6 +11522,8 @@ snapshots: vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) watchpack: 2.4.2 optionalDependencies: + '@angular/platform-server': 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/ssr': 19.1.6(7ilfkxcbrvq45ctcibs56h5doi) less: 4.2.1 lmdb: 3.2.2 ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) @@ -11349,6 +11541,57 @@ snapshots: - tsx - yaml + '@angular/build@19.1.5(lhizrya3v66nyemuibqrf72rge)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@inquirer/confirm': 5.1.1(@types/node@22.10.10) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + beasties: 0.2.0 + browserslist: 4.24.4 + esbuild: 0.24.2 + fast-glob: 3.3.3 + https-proxy-agent: 7.0.6 + istanbul-lib-instrument: 6.0.3 + listr2: 8.2.5 + magic-string: 0.30.17 + mrmime: 2.0.0 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.8.0 + rollup: 4.30.1 + sass: 1.83.1 + semver: 7.6.3 + typescript: 5.6.3 + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + watchpack: 2.4.2 + optionalDependencies: + '@angular/platform-server': 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@angular/ssr': 19.1.6(7ilfkxcbrvq45ctcibs56h5doi) + less: 4.2.1 + lmdb: 3.2.2 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + postcss: 8.5.1 + transitivePeerDependencies: + - '@types/node' + - chokidar + - jiti + - lightningcss + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + '@angular/cdk@17.3.10(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1)': dependencies: '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) @@ -11358,6 +11601,31 @@ snapshots: optionalDependencies: parse5: 7.1.2 + '@angular/cli@19.1.5(@types/node@18.19.75)(chokidar@4.0.3)': + dependencies: + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular-devkit/schematics': 19.1.5(chokidar@4.0.3) + '@inquirer/prompts': 7.2.1(@types/node@18.19.75) + '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.2.1(@types/node@18.19.75)) + '@schematics/angular': 19.1.5(chokidar@4.0.3) + '@yarnpkg/lockfile': 1.1.0 + ini: 5.0.0 + jsonc-parser: 3.3.1 + listr2: 8.2.5 + npm-package-arg: 12.0.1 + npm-pick-manifest: 10.0.0 + pacote: 20.0.0 + resolve: 1.22.10 + semver: 7.6.3 + symbol-observable: 4.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - bluebird + - chokidar + - supports-color + '@angular/cli@19.1.5(@types/node@22.10.10)(chokidar@4.0.3)': dependencies: '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) @@ -11455,6 +11723,16 @@ snapshots: optionalDependencies: '@angular/animations': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/platform-server@19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))': + dependencies: + '@angular/animations': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/platform-browser': 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + tslib: 2.8.1 + xhr2: 0.2.1 + '@angular/router@19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)': dependencies: '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) @@ -11463,6 +11741,15 @@ snapshots: rxjs: 7.8.1 tslib: 2.8.1 + '@angular/ssr@19.1.6(7ilfkxcbrvq45ctcibs56h5doi)': + dependencies: + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/router': 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + tslib: 2.8.1 + optionalDependencies: + '@angular/platform-server': 19.1.5(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) + '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -11491,7 +11778,7 @@ snapshots: '@babel/traverse': 7.24.7 '@babel/types': 7.26.3 convert-source-map: 2.0.0 - debug: 4.3.6 + debug: 4.4.0 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -12299,7 +12586,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.26.3 '@babel/types': 7.26.3 - debug: 4.3.6 + debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -12311,7 +12598,7 @@ snapshots: '@babel/parser': 7.26.3 '@babel/template': 7.25.9 '@babel/types': 7.26.3 - debug: 4.3.6 + debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -12751,7 +13038,7 @@ snapshots: '@eslint/config-array@0.19.1': dependencies: '@eslint/object-schema': 2.1.5 - debug: 4.3.6 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -12763,7 +13050,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.6 + debug: 4.4.0 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.1 @@ -12805,6 +13092,15 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} + '@inquirer/checkbox@4.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + '@inquirer/checkbox@4.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12814,12 +13110,32 @@ snapshots: ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + '@inquirer/confirm@5.1.1(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + '@inquirer/confirm@5.1.1(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) '@inquirer/type': 3.0.2(@types/node@22.10.10) '@types/node': 22.10.10 + '@inquirer/core@10.1.2(@types/node@18.19.75)': + dependencies: + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@18.19.75) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + transitivePeerDependencies: + - '@types/node' + '@inquirer/core@10.1.2(@types/node@22.10.10)': dependencies: '@inquirer/figures': 1.0.9 @@ -12834,6 +13150,13 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@inquirer/editor@4.2.1(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + external-editor: 3.1.0 + '@inquirer/editor@4.2.1(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12841,6 +13164,13 @@ snapshots: '@types/node': 22.10.10 external-editor: 3.1.0 + '@inquirer/expand@4.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + yoctocolors-cjs: 2.1.2 + '@inquirer/expand@4.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12850,18 +13180,37 @@ snapshots: '@inquirer/figures@1.0.9': {} + '@inquirer/input@4.1.1(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + '@inquirer/input@4.1.1(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) '@inquirer/type': 3.0.2(@types/node@22.10.10) '@types/node': 22.10.10 + '@inquirer/number@3.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + '@inquirer/number@3.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) '@inquirer/type': 3.0.2(@types/node@22.10.10) '@types/node': 22.10.10 + '@inquirer/password@4.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + ansi-escapes: 4.3.2 + '@inquirer/password@4.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12869,6 +13218,20 @@ snapshots: '@types/node': 22.10.10 ansi-escapes: 4.3.2 + '@inquirer/prompts@7.2.1(@types/node@18.19.75)': + dependencies: + '@inquirer/checkbox': 4.0.4(@types/node@18.19.75) + '@inquirer/confirm': 5.1.1(@types/node@18.19.75) + '@inquirer/editor': 4.2.1(@types/node@18.19.75) + '@inquirer/expand': 4.0.4(@types/node@18.19.75) + '@inquirer/input': 4.1.1(@types/node@18.19.75) + '@inquirer/number': 3.0.4(@types/node@18.19.75) + '@inquirer/password': 4.0.4(@types/node@18.19.75) + '@inquirer/rawlist': 4.0.4(@types/node@18.19.75) + '@inquirer/search': 3.0.4(@types/node@18.19.75) + '@inquirer/select': 4.0.4(@types/node@18.19.75) + '@types/node': 18.19.75 + '@inquirer/prompts@7.2.1(@types/node@22.10.10)': dependencies: '@inquirer/checkbox': 4.0.4(@types/node@22.10.10) @@ -12883,6 +13246,13 @@ snapshots: '@inquirer/select': 4.0.4(@types/node@22.10.10) '@types/node': 22.10.10 + '@inquirer/rawlist@4.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + yoctocolors-cjs: 2.1.2 + '@inquirer/rawlist@4.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12890,6 +13260,14 @@ snapshots: '@types/node': 22.10.10 yoctocolors-cjs: 2.1.2 + '@inquirer/search@3.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + yoctocolors-cjs: 2.1.2 + '@inquirer/search@3.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12898,6 +13276,15 @@ snapshots: '@types/node': 22.10.10 yoctocolors-cjs: 2.1.2 + '@inquirer/select@4.0.4(@types/node@18.19.75)': + dependencies: + '@inquirer/core': 10.1.2(@types/node@18.19.75) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@18.19.75) + '@types/node': 18.19.75 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + '@inquirer/select@4.0.4(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -12911,6 +13298,10 @@ snapshots: dependencies: mute-stream: 1.0.0 + '@inquirer/type@3.0.2(@types/node@18.19.75)': + dependencies: + '@types/node': 18.19.75 + '@inquirer/type@3.0.2(@types/node@22.10.10)': dependencies: '@types/node': 22.10.10 @@ -12980,7 +13371,7 @@ snapshots: '@kwsites/file-exists@1.1.1': dependencies: - debug: 4.3.6 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -12988,6 +13379,11 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.2.1(@types/node@18.19.75))': + dependencies: + '@inquirer/prompts': 7.2.1(@types/node@18.19.75) + '@inquirer/type': 1.5.5 + '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.2.1(@types/node@22.10.10))': dependencies: '@inquirer/prompts': 7.2.1(@types/node@22.10.10) @@ -14020,7 +14416,7 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.10.10 + '@types/node': 18.19.75 '@types/bonjour@3.5.13': dependencies: @@ -14033,11 +14429,11 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.10.10 + '@types/node': 18.19.75 '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.10 '@types/cors@2.8.17': dependencies: @@ -14061,7 +14457,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.10.10 + '@types/node': 18.19.75 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -14100,6 +14496,10 @@ snapshots: dependencies: '@types/node': 22.10.10 + '@types/node@18.19.75': + dependencies: + undici-types: 5.26.5 + '@types/node@22.10.10': dependencies: undici-types: 6.20.0 @@ -14136,7 +14536,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.10.10 + '@types/node': 18.19.75 '@types/serve-index@1.9.4': dependencies: @@ -14145,7 +14545,7 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.10.10 + '@types/node': 18.19.75 '@types/send': 0.17.4 '@types/sockjs@0.3.36': @@ -14183,7 +14583,7 @@ snapshots: '@typescript-eslint/types': 8.19.0 '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.19.0 - debug: 4.3.6 + debug: 4.4.0 eslint: 9.17.0(jiti@2.4.2) typescript: 5.6.3 transitivePeerDependencies: @@ -14203,7 +14603,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.6.3) '@typescript-eslint/utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.6.3) - debug: 4.3.6 + debug: 4.4.0 eslint: 9.17.0(jiti@2.4.2) ts-api-utils: 1.3.0(typescript@5.6.3) typescript: 5.6.3 @@ -14214,7 +14614,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.3) '@typescript-eslint/utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.3.6 + debug: 4.4.0 eslint: 9.17.0(jiti@2.4.2) ts-api-utils: 1.3.0(typescript@5.7.3) typescript: 5.7.3 @@ -14229,7 +14629,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.19.0 '@typescript-eslint/visitor-keys': 8.19.0 - debug: 4.3.6 + debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -14243,7 +14643,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.19.0 '@typescript-eslint/visitor-keys': 8.19.0 - debug: 4.3.6 + debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -14316,6 +14716,10 @@ snapshots: vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) optional: true + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@18.19.75)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + dependencies: + vite: 6.0.11(@types/node@18.19.75)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) @@ -14665,7 +15069,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.6 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -15568,7 +15972,7 @@ snapshots: esbuild-register@3.6.0(esbuild@0.24.2): dependencies: - debug: 4.3.6 + debug: 4.4.0 esbuild: 0.24.2 transitivePeerDependencies: - supports-color @@ -15689,7 +16093,7 @@ snapshots: '@types/doctrine': 0.0.9 '@typescript-eslint/scope-manager': 8.3.0 '@typescript-eslint/utils': 8.3.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.6.3) - debug: 4.3.6 + debug: 4.4.0 doctrine: 3.0.0 enhanced-resolve: 5.18.0 eslint: 9.17.0(jiti@2.4.2) @@ -16456,7 +16860,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -16494,7 +16898,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -18611,7 +19015,7 @@ snapshots: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 - debug: 4.3.6 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -19144,6 +19548,8 @@ snapshots: unc-path-regex@0.1.2: {} + undici-types@5.26.5: {} + undici-types@6.20.0: {} unicode-canonical-property-names-ecmascript@2.0.1: {} @@ -19277,7 +19683,7 @@ snapshots: '@volar/typescript': 2.4.11 '@vue/language-core': 2.0.29(typescript@5.6.3) compare-versions: 6.1.1 - debug: 4.3.6 + debug: 4.4.0 kolorist: 1.8.0 local-pkg: 0.5.0 magic-string: 0.30.17 @@ -19326,7 +19732,7 @@ snapshots: vite-tsconfig-paths@5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): dependencies: - debug: 4.3.6 + debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.1(typescript@5.6.3) optionalDependencies: @@ -19359,6 +19765,21 @@ snapshots: sass: 1.83.1 terser: 5.37.0 + vite@6.0.11(@types/node@18.19.75)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.1 + rollup: 4.32.0 + optionalDependencies: + '@types/node': 18.19.75 + fsevents: 2.3.3 + jiti: 2.4.2 + less: 4.2.1 + sass: 1.83.1 + terser: 5.37.0 + tsx: 4.19.2 + yaml: 2.6.1 + vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: esbuild: 0.24.2 @@ -19460,7 +19881,7 @@ snapshots: vue-eslint-parser@9.4.3(eslint@9.17.0(jiti@2.4.2)): dependencies: - debug: 4.3.6 + debug: 4.4.0 eslint: 9.17.0(jiti@2.4.2) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -19693,6 +20114,8 @@ snapshots: ws@8.18.0: {} + xhr2@0.2.1: {} + xml-name-validator@4.0.0: {} xml-name-validator@5.0.0: {}