diff --git a/package.json b/package.json index 897417ec9..a378db293 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "lint-sandbox": "eslint --config .github/eslint-security.config.mjs" }, "devDependencies": { - "@angular-eslint/schematics": "0.2.0-beta.1", + "@angular-eslint/schematics": "^20.7.0", "@devexpress/eslint-plugin-dx-security": "^0.2.8", "@typescript-eslint/parser": "^8.63.0", "eslint": "^9.39.4", diff --git a/packages/devextreme-cli/src/application.js b/packages/devextreme-cli/src/application.js index f690d296c..59f8f9b74 100644 --- a/packages/devextreme-cli/src/application.js +++ b/packages/devextreme-cli/src/application.js @@ -112,7 +112,7 @@ const run = async(commands, options, devextremeConfig) => { if(app) { if(commands[1] === 'view') { - app.addView(commands[2], options); + await app.addView(commands[2], options); } else { console.error('Invalid command'); printHelp(commands[0]); diff --git a/packages/devextreme-cli/src/applications/application.angular.js b/packages/devextreme-cli/src/applications/application.angular.js index 15fb36003..510d4cbfd 100644 --- a/packages/devextreme-cli/src/applications/application.angular.js +++ b/packages/devextreme-cli/src/applications/application.angular.js @@ -12,7 +12,7 @@ const { getPackageJsonPath } = require('../utility/package-json-utils'); const modifyJson = require('../utility/modify-json-file'); const schematicsVersion = latestVersions['devextreme-schematics'] || 'latest'; -const minNgCliVersion = new semver('17.0.0'); +const minNgCliVersion = new semver('20.0.0'); const ngCliWithZoneless = new semver('20.0.0'); async function runSchematicCommand(schematicCommand, options, evaluatingOptions) { @@ -35,18 +35,16 @@ async function runSchematicCommand(schematicCommand, options, evaluatingOptions) commandArguments.push(`--${dasherize(option)}=${options[option]}`); } - runNgCommand(commandArguments, options, evaluatingOptions); + return runNgCommand(commandArguments, options, evaluatingOptions); } async function runNgCommand(commandArguments, commandOptions, commandConfig) { const hasNg = await hasSutableNgCli(); const depsVersionTag = extractDepsVersionTag(commandOptions); const npmCommandName = hasNg && !depsVersionTag ? 'ng' : 'npx'; - const [minCliLtsVersion] = minNgCliVersion.version.split('.'); - const ngCommandArguments = hasNg && !depsVersionTag ? [] - : ['-p', `@angular/cli@${depsVersionTag || `v${minCliLtsVersion}-lts`}`, 'ng']; + : ['-p', `@angular/cli@${depsVersionTag || 'latest'}`, 'ng']; ngCommandArguments.push(...commandArguments); return runCommand(npmCommandName, ngCommandArguments, commandConfig); @@ -74,8 +72,16 @@ const hasSutableNgCli = async() => { return isSupportVersion; }; +const getTargetNgCliVersion = () => { + const localVersion = ngVersion.getLocalNgVersion(); + + return localVersion && localVersion.compare(minNgCliVersion) >= 0 + ? localVersion + : ngVersion.getPublicNgVersion(); +}; + const install = async(options) => { - runSchematicCommand('install', { + return runSchematicCommand('install', { ...options }); }; @@ -100,7 +106,7 @@ const bumpAngular = (appPath, versionTag) => { const create = async(appName, options) => { const layout = await getLayoutInfo(options.layout); - const currentNgVersion = ngVersion.getNgCliVersion().version; + const currentNgVersion = getTargetNgCliVersion().version; const depsVersionTag = extractDepsVersionTag(options); const commandArguments = [ @@ -111,7 +117,8 @@ const create = async(appName, options) => { '--skip-tests=true', '--skip-install=true', '--standalone=true', - '--ssr=false' + '--ssr=false', + '--ai-config=none' ]; if(ngCliWithZoneless.compare(currentNgVersion) <= 0) { @@ -129,7 +136,8 @@ const create = async(appName, options) => { options.resolveConflicts = 'override'; options.updateBudgets = true; options.layout = layout; - addTemplate(appName, options, { + options.globalNgCliVersion = currentNgVersion; + await addTemplate(appName, options, { cwd: appPath }); @@ -140,9 +148,9 @@ const addTemplate = async(appName, options, evaluatingOptions) => { const schematicOptions = { ...(appName && { project: appName }), ...options, - globalNgCliVersion: ngVersion.getNgCliVersion().version + globalNgCliVersion: options.globalNgCliVersion || getTargetNgCliVersion().version }; - runSchematicCommand('add-app-template', schematicOptions, evaluatingOptions); + return runSchematicCommand('add-app-template', schematicOptions, evaluatingOptions); }; const addView = (viewName, options) => { @@ -150,7 +158,7 @@ const addView = (viewName, options) => { name: viewName }, options); schematicOptions.name = viewName; - runSchematicCommand('add-view', schematicOptions); + return runSchematicCommand('add-view', schematicOptions); }; const migrateConfigComponents = async(options = {}) => { diff --git a/packages/devextreme-cli/src/utility/ng-version.js b/packages/devextreme-cli/src/utility/ng-version.js index 4327a0129..4cfb43017 100644 --- a/packages/devextreme-cli/src/utility/ng-version.js +++ b/packages/devextreme-cli/src/utility/ng-version.js @@ -15,7 +15,8 @@ const getLocalNgVersion = () => { }; const getPublicNgVersion = () => { - const version = execSync('npm view @angular/cli@v16-lts version').toString(); + const versions = JSON.parse(execSync('npm view @angular/cli@latest version --json').toString()); + const version = Array.isArray(versions) ? versions[versions.length - 1] : versions; return new semver(version); }; diff --git a/packages/devextreme-cli/testing/creating.js b/packages/devextreme-cli/testing/creating.js index 6718abe79..e386a072c 100644 --- a/packages/devextreme-cli/testing/creating.js +++ b/packages/devextreme-cli/testing/creating.js @@ -18,11 +18,8 @@ const args = minimist(process.argv.slice(2), { : envs.filter(e => e.engine === args.e); const depsVersionTag = args[depsVersionTagOptionName]; - filteredEnvs.forEach(async env => { - try { - await env.createApp(depsVersionTag); - } catch(e) { - process.exit(1); - } - }); -})().catch(reject => console.error(reject)); + await Promise.all(filteredEnvs.map(env => env.createApp(depsVersionTag))); +})().catch(reject => { + console.error(reject); + process.exitCode = 1; +}); diff --git a/packages/devextreme-cli/testing/env.angular.js b/packages/devextreme-cli/testing/env.angular.js index a6b606a9c..f06cea19f 100644 --- a/packages/devextreme-cli/testing/env.angular.js +++ b/packages/devextreme-cli/testing/env.angular.js @@ -11,8 +11,8 @@ const sandboxPath = path.join(process.cwd(), './testing/sandbox/angular'); const appPath = path.join(sandboxPath, appName); const schematicsDirectory = '../../../../devextreme-schematics'; const schematicsPath = path.join(sandboxPath, schematicsDirectory); -const appComponentTemplatePath = path.join(appPath, 'src/app/app.component.html'); -const appComponentPath = path.join(appPath, 'src/app/app.component.ts'); +const appComponentTemplatePath = path.join(appPath, 'src/app/app.html'); +const appComponentPath = path.join(appPath, 'src/app/app.ts'); async function prepareSchematics() { await packageManager.runInstall({ diff --git a/packages/devextreme-schematics/package.json b/packages/devextreme-schematics/package.json index 04e0f4a6b..a6ade11e0 100644 --- a/packages/devextreme-schematics/package.json +++ b/packages/devextreme-schematics/package.json @@ -22,9 +22,9 @@ ], "schematics": "./src/collection.json", "dependencies": { - "@angular-devkit/core": "^19.2.27", - "@angular-devkit/schematics": "^19.2.27", - "@schematics/angular": "^19.2.27", + "@angular-devkit/core": "^20.3.36", + "@angular-devkit/schematics": "^20.3.36", + "@schematics/angular": "^20.3.36", "parse5": "^7.3.0", "picomatch": "^4.0.5", "semver": "^7.8.5" @@ -37,6 +37,6 @@ "jasmine": "^2.99.0", "rxjs": "^7.8.2", "tslint": "^5.20.1", - "typescript": "~5.6.3" + "typescript": "~5.8.3" } } diff --git a/packages/devextreme-schematics/src/add-layout/index_spec.ts b/packages/devextreme-schematics/src/add-layout/index_spec.ts index 20615ef4f..00d6894c0 100644 --- a/packages/devextreme-schematics/src/add-layout/index_spec.ts +++ b/packages/devextreme-schematics/src/add-layout/index_spec.ts @@ -83,7 +83,7 @@ describe('layout', () => { expect(devextremeConfigContent).toContain('"inputFile": "src/themes/metadata.additional.json"'); expect(devextremeConfigContent).toMatch(/\n\s{2}\S/g); - const componentContent = tree.readContent('/src/app/app.component.html'); + const componentContent = tree.readContent('/src/app/app.html'); expect(componentContent).toContain('app-side-nav-outer-toolbar title="{{appInfo.title}}"'); const stylesContent = tree.readContent('/src/dx-styles.scss'); @@ -101,7 +101,7 @@ describe('layout', () => { expect(styles[3]).toBe('src/themes/generated/theme.additional.dark.css'); expect(styles[4]).toBe('src/themes/generated/theme.additional.css'); - const appContent = tree.readContent('/src/app/app.component.ts'); + const appContent = tree.readContent('/src/app/app.ts'); expect(appContent).toContain('import { DxHttpModule }'); expect(appContent) .toContain('import { SideNavOuterToolbarComponent as SideNavToolbarComponent }'); @@ -109,8 +109,8 @@ describe('layout', () => { .toContain(`import { AuthService, ScreenService, AppInfoService } from './shared/services';`); expect(appContent) .toContain('import { FooterComponent }'); - expect(appContent).toContain('templateUrl: \'./app.component.html\','); - expect(appContent).toContain('styleUrls: [\'./app.component.scss\']'); + expect(appContent).toContain('templateUrl: \'./app.html\','); + expect(appContent).toContain('styleUrls: [\'./app.scss\']'); expect(appContent).toContain('selector: \'app-root\','); const navigationMenu = tree.readContent( @@ -217,18 +217,18 @@ describe('layout', () => { options.resolveConflicts = 'createNew'; const tree = await runner.runSchematic('add-layout', options, appTree); - expect(tree.files).toContain('/src/app/app1.component.ts'); + expect(tree.files).toContain('/src/app/app1.ts'); - const componentContent = tree.readContent('/src/app/app1.component.html'); + const componentContent = tree.readContent('/src/app/app1.html'); expect(componentContent).toContain('app-side-nav-outer-toolbar title="{{appInfo.title}}"'); - const appContent = tree.readContent('/src/app/app.component.ts'); - expect(appContent).toMatch(/templateUrl: '.\/app.component.html',/); - expect(appContent).toMatch(/styleUrl: '.\/app.component.scss'/); + const appContent = tree.readContent('/src/app/app.ts'); + expect(appContent).toMatch(/templateUrl: '.\/app.html',/); + expect(appContent).toMatch(/styleUrl: '.\/app.scss'/); - const newAppContent = tree.readContent('/src/app/app1.component.ts'); - expect(newAppContent).toMatch(/templateUrl: '.\/app1.component.html',/); - expect(newAppContent).toMatch(/styleUrls: \['.\/app1.component.scss'\]/); + const newAppContent = tree.readContent('/src/app/app1.ts'); + expect(newAppContent).toMatch(/templateUrl: '.\/app1.html',/); + expect(newAppContent).toMatch(/styleUrls: \['.\/app1.scss'\]/); expect(newAppContent).toContain(`import { AuthService, ScreenService, AppInfoService } from './shared/services';`); const appInfo = tree.readContent('/src/app/shared/services/app-info.service.ts'); @@ -267,7 +267,7 @@ describe('layout', () => { options.layout = 'side-nav-inner-toolbar'; options.resolveConflicts = 'override'; const tree = await runner.runSchematic('add-layout', options, appTree); - const content = tree.readContent('/src/app/app.component.html'); + const content = tree.readContent('/src/app/app.html'); expect(content).toContain('app-side-nav-inner-toolbar title="{{appInfo.title}}"'); }); @@ -308,7 +308,7 @@ describe('layout', () => { project: 'testApp2' }, appTree); - const appContent = tree.readContent('projects/testApp2/src/app/app.component.ts'); + const appContent = tree.readContent('projects/testApp2/src/app/app.ts'); expect(appContent).toContain('selector: \'app2-root\','); const content = tree.readContent('/devextreme.json'); diff --git a/packages/devextreme-schematics/src/add-view/index.ts b/packages/devextreme-schematics/src/add-view/index.ts index 1d9a6207e..9172c78f1 100644 --- a/packages/devextreme-schematics/src/add-view/index.ts +++ b/packages/devextreme-schematics/src/add-view/index.ts @@ -34,6 +34,16 @@ import { humanize } from '../utility/string'; async function getPathToFile(host: Tree, projectName: string, moduleName: string) { const rootPath = await getApplicationPath(host, projectName); + const directCandidates = [ + `/${rootPath}/${moduleName}.ts`, + `/${rootPath}/${moduleName}.module.ts`, + `/${rootPath}/${moduleName}-module.ts`, + ]; + + const directMatch = directCandidates.find(candidate => host.exists(candidate)); + if (directMatch) { + return directMatch; + } try { return findModuleFromOptions(host, { name: moduleName, path: rootPath, module: moduleName }); @@ -185,6 +195,7 @@ export default function(options: any): Rule { skipTests: options.skipTests, inlineStyle: options.inlineStyle, prefix: options.prefix, + type: 'component', standalone: true }), addContentToView({ name, project }) as any, diff --git a/packages/devextreme-schematics/src/add-view/index_spec.ts b/packages/devextreme-schematics/src/add-view/index_spec.ts index 8d057ae16..c692746bf 100644 --- a/packages/devextreme-schematics/src/add-view/index_spec.ts +++ b/packages/devextreme-schematics/src/add-view/index_spec.ts @@ -94,7 +94,7 @@ describe('view', () => { }, tree); tree = await runner.runSchematic('add-view', options, tree); - const moduleContent = tree.readContent('/src/app/test/test-routing.module.ts'); + const moduleContent = tree.readContent('/src/app/test/test-routing-module.ts'); expect(moduleContent).toMatch(/component: TestComponent/); expect(moduleContent).toMatch(/path: 'pages\/test'/); diff --git a/packages/devextreme-schematics/src/utility/change.ts b/packages/devextreme-schematics/src/utility/change.ts index 09b4303b6..f48f0910c 100644 --- a/packages/devextreme-schematics/src/utility/change.ts +++ b/packages/devextreme-schematics/src/utility/change.ts @@ -11,8 +11,10 @@ const newLine = ` export function applyChanges(host: Tree, changes: Change[], filePath: string) { const recorder = host.beginUpdate(filePath); - changes.forEach((change: InsertChange) => { - recorder.insertLeft(change.pos, change.toAdd); + changes.forEach((change: Change) => { + if (change instanceof InsertChange) { + recorder.insertLeft(change.pos, change.toAdd); + } }); host.commitUpdate(recorder); diff --git a/packages/devextreme-schematics/src/utility/typescript-resolver.ts b/packages/devextreme-schematics/src/utility/typescript-resolver.ts index 316d46393..187fb2177 100644 --- a/packages/devextreme-schematics/src/utility/typescript-resolver.ts +++ b/packages/devextreme-schematics/src/utility/typescript-resolver.ts @@ -8,6 +8,10 @@ export interface TypeScriptResolutionResult { errors: string[]; } +function getErrorMessage(err: unknown): string { + return err instanceof Error ? err.message : String(err); +} + /** * Resolves TypeScript with a 3-level fallback strategy: * 1. Project search - look in the user's project node_modules @@ -27,7 +31,7 @@ export function resolveTypeScript(): TypeScriptResolutionResult { }; } } catch (err) { - errors.push(`Failed to import TypeScript from project: ${err?.message || err}`); + errors.push(`Failed to import TypeScript from project: ${getErrorMessage(err)}`); } try { @@ -40,7 +44,7 @@ export function resolveTypeScript(): TypeScriptResolutionResult { }; } } catch (err) { - errors.push(`Failed to import TypeScript from global node_modules: ${err?.message || err}`); + errors.push(`Failed to import TypeScript from global node_modules: ${getErrorMessage(err)}`); } try { @@ -53,7 +57,7 @@ export function resolveTypeScript(): TypeScriptResolutionResult { }; } } catch (err) { - errors.push(`Failed to import TypeScript from temporary installation (npm cache): ${err?.message || err}`); + errors.push(`Failed to import TypeScript from temporary installation (npm cache): ${getErrorMessage(err)}`); } return { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed2b9bbd4..fe9b89e16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,8 @@ overrides: brace-expansion@>=4: ^5.0.9 braces@<3.0.3: '>=3.0.3' cross-spawn: 7.0.6 - fast-uri@>=3.0.0 <3.1.5: ^3.1.5 + browserslist@<=4.28.6: '>=4.28.7' + fast-uri@>=3.0.0 <3.1.6: ^3.1.6 flatted: ^3.4.3 form-data@>=4.0.0 <4.0.4: '>=4.0.6' ip-address@<=10.3.0: '>=10.3.1' @@ -31,14 +32,14 @@ importers: .: devDependencies: '@angular-eslint/schematics': - specifier: 0.2.0-beta.1 - version: 0.2.0-beta.1(@angular-devkit/schematics@22.1.3(chokidar@5.0.0)) + specifier: ^20.7.0 + version: 20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@6.0.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3) '@devexpress/eslint-plugin-dx-security': specifier: ^0.2.8 version: 0.2.8(eslint@9.39.4) '@typescript-eslint/parser': specifier: ^8.63.0 - version: 8.63.0(eslint@9.39.4)(typescript@5.6.3) + version: 8.63.0(eslint@9.39.4)(typescript@6.0.3) eslint: specifier: ^9.39.4 version: 9.39.4 @@ -161,14 +162,14 @@ importers: packages/devextreme-schematics: dependencies: '@angular-devkit/core': - specifier: ^19.2.27 - version: 19.2.27(chokidar@4.0.3) + specifier: ^20.3.36 + version: 20.3.36 '@angular-devkit/schematics': - specifier: ^19.2.27 - version: 19.2.27(chokidar@4.0.3) + specifier: ^20.3.36 + version: 20.3.36 '@schematics/angular': - specifier: ^19.2.27 - version: 19.2.27(chokidar@4.0.3) + specifier: ^20.3.36 + version: 20.3.36 parse5: specifier: ^7.3.0 version: 7.3.0 @@ -199,43 +200,73 @@ importers: version: 7.8.2 tslint: specifier: ^5.20.1 - version: 5.20.1(typescript@5.6.3) + version: 5.20.1(typescript@5.8.3) typescript: - specifier: ~5.6.3 - version: 5.6.3 + specifier: ~5.8.3 + version: 5.8.3 packages: - '@angular-devkit/core@19.2.27': - resolution: {integrity: sha512-3amNzoCVSKd7ah6l6lBQL4onwwJvqvam7FMoQBILrxtW5LB5ezh8gMSPuA4zJjKjoRzf9uoWdlzqv/84I52xZA==} - engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/core@20.3.35': + resolution: {integrity: sha512-RefMFJA7qRBxEDu3a6bVNK9o5vcHXxN8xKaCzENBrOIO6XamthoGMZIJrIT213KpHoEbLTcJjESqGFCpYmY6oA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^4.0.0 peerDependenciesMeta: chokidar: optional: true - '@angular-devkit/core@22.1.3': - resolution: {integrity: sha512-ASK8oZVElt/Zpz5FrzJjLnnUbzp/fW57eFFSRgpA+n9KRnuFi6YvNdSS3HkG5049Jcukce+PiMBdfzw/jBVkEw==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/core@20.3.36': + resolution: {integrity: sha512-fEbY8VFXP5ODfkDQJ4pNCexvQU0lDxL7azI+qbGu7osGgORg/LJaEGAXRKBBGvpLDpHcGjdSD26/Tms7xXmMnQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - chokidar: ^5.0.0 + chokidar: ^4.0.0 peerDependenciesMeta: chokidar: optional: true - '@angular-devkit/schematics@19.2.27': - resolution: {integrity: sha512-/PZmyAlb2NGWPikRRuiWLdfHQd8Wrx6lX4HqvTcaDhlU43M3T0ud4PH2T3QDp7BzHYY92xtD8iPxX2asg67G1A==} - engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/schematics@20.3.35': + resolution: {integrity: sha512-7lzrY5pYCTvL9dR/pi4fzAl1BS8PdiplTd+QNFEJv7/rZWTmqt+7rmDHm/8vEl1aYEFmBckzb3PMK+NBMuQkaw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + + '@angular-devkit/schematics@20.3.36': + resolution: {integrity: sha512-SZ5n723pRWuiAy5MWMJFrMzIoX6X9mFRnEc0qAuGL/HjGgdVv3qT+FuNcpxX+pdt0tjtGVYKjhuwDtjtvNXxkA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + + '@angular-eslint/bundled-angular-compiler@20.7.0': + resolution: {integrity: sha512-9KPz24YoiL0SvTtTX6sd1zmysU5cKOCcmpEiXkCoO3L2oYZGlVxmMT4hfSaHMt8qmfvV2KzQMoR6DZM84BwRzQ==} + + '@angular-eslint/eslint-plugin-template@20.7.0': + resolution: {integrity: sha512-WFmvW2vBR6ExsSKEaActQTteyw6ikWyuJau9XmWEPFd+2eusEt/+wO21ybjDn3uc5FTp1IcdhfYy+U5OdDjH5w==} + peerDependencies: + '@angular-eslint/template-parser': 20.7.0 + '@typescript-eslint/types': ^7.11.0 || ^8.0.0 + '@typescript-eslint/utils': ^7.11.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + + '@angular-eslint/eslint-plugin@20.7.0': + resolution: {integrity: sha512-aHH2YTiaonojsKN+y2z4IMugCwdsH/dYIjYBig6kfoSPyf9rGK4zx+gnNGq/pGRjF3bOYrmFgIviYpQVb80inQ==} + peerDependencies: + '@typescript-eslint/utils': ^7.11.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' - '@angular-devkit/schematics@22.1.3': - resolution: {integrity: sha512-ebY5bwZVB0onxxyTbJch//VidVVV8jo/F13n+TV5s/3ZywsC3/XZsfMHaxlFmpvP/G17+/C9JVoEXT+uwjT+/Q==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-eslint/schematics@20.7.0': + resolution: {integrity: sha512-S0onfRipDUIL6gFGTFjiWwUDhi42XYrBoi3kJ3wBbKBeIgYv9SP1ppTKDD4ZoDaDU9cQE8nToX7iPn9ifMw6eQ==} - '@angular-eslint/schematics@0.2.0-beta.1': - resolution: {integrity: sha512-1UhJ9caYWF5U4YleQn5JoXW3rz5+UpkM62ijc+Lv/9NLaG2UcHZsXfWmocvWWgm4JBs5b2E5KK1jSj//DIGkhw==} + '@angular-eslint/template-parser@20.7.0': + resolution: {integrity: sha512-CVskZnF38IIxVVlKWi1VCz7YH/gHMJu2IY9bD1AVoBBGIe0xA4FRXJkW2Y+EDs9vQqZTkZZljhK5gL65Ro1PeQ==} peerDependencies: - '@angular-devkit/schematics': '*' + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + + '@angular-eslint/utils@20.7.0': + resolution: {integrity: sha512-B6EJHbsk2W/lnS3kS/gm56VGvX735419z/DzgbRDcOvqMGMLwD1ILzv5OTEcL1rzpnB0AHW+IxOu6y/aCzSNUA==} + peerDependencies: + '@typescript-eslint/utils': ^7.11.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' '@babel/code-frame@7.29.0': resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} @@ -724,9 +755,9 @@ packages: yauzl: optional: true - '@schematics/angular@19.2.27': - resolution: {integrity: sha512-kJX5nyDjwo6iHQ+g/AJa+4SyHRSQyGgutpqXUIuYY2htGWVS1HUQlHfwAER5btjSNKe/iHgh4pzYGZfvJ2V6/A==} - engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@schematics/angular@20.3.36': + resolution: {integrity: sha512-PcQSd+RXOpsdRkcf1PBlTD6334ffxTC3F+nIZC/1912VBZoN4oFxAI70IVjkhxAXJEcgILrxJKusefC3xKcvsQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@sinclair/typebox@0.27.10': resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} @@ -752,6 +783,9 @@ packages: '@types/babel__traverse@7.28.0': resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} @@ -918,9 +952,6 @@ packages: ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} - ajv@8.20.0: - resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -956,6 +987,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -998,6 +1033,10 @@ packages: axios@1.18.1: resolution: {integrity: sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1030,17 +1069,11 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - baseline-browser-mapping@2.10.40: - resolution: {integrity: sha512-BSSLZ9/Cjjv7Gtj5B68ZzXcXUg8iOf3fme+FCuh8rC/Go+Kmh8cox7M3A8dolou16s64QjLPOSdngh7GxXvkSw==} + baseline-browser-mapping@2.11.20: + resolution: {integrity: sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==} engines: {node: '>=6.0.0'} hasBin: true - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1058,8 +1091,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.28.4: - resolution: {integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==} + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1072,9 +1105,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - builtin-modules@1.1.1: resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} engines: {node: '>=0.10.0'} @@ -1103,8 +1133,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001799: - resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} + caniuse-lite@1.0.30001810: + resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1122,10 +1152,6 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} @@ -1143,10 +1169,6 @@ packages: cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -1155,10 +1177,6 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-spinners@3.4.0: - resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} - engines: {node: '>=18.20'} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -1167,10 +1185,6 @@ packages: resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} engines: {node: '>=20'} - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -1291,9 +1305,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -1333,8 +1344,8 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - electron-to-chromium@1.5.380: - resolution: {integrity: sha512-W6d5AbuEoRayO447cqrg6lKJIlscgRnnxOZl/08kfV71BQDoEBC7Wwis68z87LjyK6f4kWyTaubuDbhHKrZkbA==} + electron-to-chromium@1.5.420: + resolution: {integrity: sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -1506,6 +1517,10 @@ packages: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1521,6 +1536,7 @@ packages: eslint@9.39.4: resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true peerDependencies: jiti: '*' @@ -1573,8 +1589,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.1.5: - resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} + fast-uri@3.1.6: + resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==} fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -1780,9 +1796,6 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1889,10 +1902,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} @@ -1941,9 +1950,9 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} is-unicode-supported@2.1.0: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} @@ -2235,12 +2244,8 @@ packages: lodash@4.18.1: resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log-symbols@7.0.1: - resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} loose-envify@1.4.0: @@ -2253,9 +2258,6 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - magic-string@1.0.0: - resolution: {integrity: sha512-CGvjzMN08iv6w1mm4/x3Gh1hLb4VnyRUA15FFpl6CsCIGGoe36k7kY5KNz9QDbSBN5I/fWHM6ZlIkUTa5xdUEA==} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -2358,8 +2360,8 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.50: - resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==} + node-releases@2.0.54: + resolution: {integrity: sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==} engines: {node: '>=18'} normalize-path@3.0.0: @@ -2416,13 +2418,9 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - ora@9.4.1: - resolution: {integrity: sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==} - engines: {node: '>=20'} + ora@8.2.0: + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} + engines: {node: '>=18'} os-shim@0.1.3: resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==} @@ -2585,14 +2583,6 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - readdirp@5.0.0: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} @@ -2673,10 +2663,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -2690,9 +2676,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -2703,9 +2686,6 @@ packages: safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -2740,6 +2720,11 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + semver@7.8.4: resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} engines: {node: '>=10'} @@ -2811,10 +2796,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - source-map@0.7.6: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} @@ -2829,8 +2810,8 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - stdin-discarder@0.3.2: - resolution: {integrity: sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==} + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} stop-iteration-iterator@1.1.0: @@ -2878,9 +2859,6 @@ packages: string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3014,8 +2992,13 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true @@ -3026,11 +3009,11 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + update-browserslist-db@1.3.2: + resolution: {integrity: sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==} hasBin: true peerDependencies: - browserslist: '>= 4.21.0' + browserslist: '>=4.28.7' uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -3056,9 +3039,6 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - webdriver-bidi-protocol@0.4.2: resolution: {integrity: sha512-VSV+fzfChirL3e7jay2yUC7B4HQCGtEWEg/MSSQbK+qWbqeGlRLlXTzPpYr3XGUvbpDHumWZBJxgesg4N7dbtA==} @@ -3152,61 +3132,102 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yoctocolors@2.2.0: - resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} - engines: {node: '>=18'} - zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} snapshots: - '@angular-devkit/core@19.2.27(chokidar@4.0.3)': + '@angular-devkit/core@20.3.35': dependencies: ajv: 8.18.0 ajv-formats: 3.0.1(ajv@8.18.0) jsonc-parser: 3.3.1 picomatch: 4.0.5 - rxjs: 7.8.1 - source-map: 0.7.4 - optionalDependencies: - chokidar: 4.0.3 + rxjs: 7.8.2 + source-map: 0.7.6 - '@angular-devkit/core@22.1.3(chokidar@5.0.0)': + '@angular-devkit/core@20.3.36': dependencies: - ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) + ajv: 8.18.0 + ajv-formats: 3.0.1(ajv@8.18.0) jsonc-parser: 3.3.1 picomatch: 4.0.5 rxjs: 7.8.2 source-map: 0.7.6 - optionalDependencies: - chokidar: 5.0.0 - '@angular-devkit/schematics@19.2.27(chokidar@4.0.3)': + '@angular-devkit/schematics@20.3.35': dependencies: - '@angular-devkit/core': 19.2.27(chokidar@4.0.3) + '@angular-devkit/core': 20.3.35 jsonc-parser: 3.3.1 magic-string: 0.30.17 - ora: 5.4.1 - rxjs: 7.8.1 + ora: 8.2.0 + rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/schematics@22.1.3(chokidar@5.0.0)': + '@angular-devkit/schematics@20.3.36': dependencies: - '@angular-devkit/core': 22.1.3(chokidar@5.0.0) + '@angular-devkit/core': 20.3.36 jsonc-parser: 3.3.1 - magic-string: 1.0.0 - ora: 9.4.1 + magic-string: 0.30.17 + ora: 8.2.0 rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-eslint/schematics@0.2.0-beta.1(@angular-devkit/schematics@22.1.3(chokidar@5.0.0))': + '@angular-eslint/bundled-angular-compiler@20.7.0': {} + + '@angular-eslint/eslint-plugin-template@20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@6.0.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3)': + dependencies: + '@angular-eslint/bundled-angular-compiler': 20.7.0 + '@angular-eslint/template-parser': 20.7.0(eslint@9.39.4)(typescript@6.0.3) + '@angular-eslint/utils': 20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3) + '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@6.0.3) + aria-query: 5.3.2 + axobject-query: 4.1.0 + eslint: 9.39.4 + typescript: 6.0.3 + + '@angular-eslint/eslint-plugin@20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3)': + dependencies: + '@angular-eslint/bundled-angular-compiler': 20.7.0 + '@angular-eslint/utils': 20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@6.0.3) + eslint: 9.39.4 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + + '@angular-eslint/schematics@20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@6.0.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3)': dependencies: - '@angular-devkit/schematics': 22.1.3(chokidar@5.0.0) + '@angular-devkit/core': 20.3.35 + '@angular-devkit/schematics': 20.3.35 + '@angular-eslint/eslint-plugin': 20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3) + '@angular-eslint/eslint-plugin-template': 20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@6.0.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3) + ignore: 7.0.5 + semver: 7.7.3 strip-json-comments: 3.1.1 + transitivePeerDependencies: + - '@angular-eslint/template-parser' + - '@typescript-eslint/types' + - '@typescript-eslint/utils' + - chokidar + - eslint + - typescript + + '@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@6.0.3)': + dependencies: + '@angular-eslint/bundled-angular-compiler': 20.7.0 + eslint: 9.39.4 + eslint-scope: 9.1.2 + typescript: 6.0.3 + + '@angular-eslint/utils@20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3))(eslint@9.39.4)(typescript@6.0.3)': + dependencies: + '@angular-eslint/bundled-angular-compiler': 20.7.0 + '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@6.0.3) + eslint: 9.39.4 + typescript: 6.0.3 '@babel/code-frame@7.29.0': dependencies: @@ -3262,7 +3283,7 @@ snapshots: dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.4 + browserslist: 4.28.8 lru-cache: 5.1.1 semver: 6.3.1 @@ -3798,10 +3819,10 @@ snapshots: optionalDependencies: yauzl: 2.10.0 - '@schematics/angular@19.2.27(chokidar@4.0.3)': + '@schematics/angular@20.3.36': dependencies: - '@angular-devkit/core': 19.2.27(chokidar@4.0.3) - '@angular-devkit/schematics': 19.2.27(chokidar@4.0.3) + '@angular-devkit/core': 20.3.36 + '@angular-devkit/schematics': 20.3.36 jsonc-parser: 3.3.1 transitivePeerDependencies: - chokidar @@ -3839,6 +3860,8 @@ snapshots: dependencies: '@babel/types': 7.29.0 + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.9': {} '@types/graceful-fs@4.1.9': @@ -3903,15 +3926,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.63.0(eslint@9.39.4)(typescript@5.6.3)': + '@typescript-eslint/parser@8.63.0(eslint@9.39.4)(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.63.0 '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.63.0 debug: 4.4.3 eslint: 9.39.4 - typescript: 5.6.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -3933,12 +3956,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.63.0(typescript@5.6.3)': + '@typescript-eslint/project-service@8.63.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@5.6.3) + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 debug: 4.4.3 - typescript: 5.6.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -3960,9 +3983,9 @@ snapshots: dependencies: typescript: 4.9.5 - '@typescript-eslint/tsconfig-utils@8.63.0(typescript@5.6.3)': + '@typescript-eslint/tsconfig-utils@8.63.0(typescript@6.0.3)': dependencies: - typescript: 5.6.3 + typescript: 6.0.3 '@typescript-eslint/type-utils@8.63.0(eslint@9.39.4)(typescript@4.9.5)': dependencies: @@ -3988,7 +4011,7 @@ snapshots: '@typescript-eslint/visitor-keys': 8.61.1 debug: 4.4.3 minimatch: 10.2.5 - semver: 7.8.4 + semver: 7.8.5 tinyglobby: 0.2.16 ts-api-utils: 2.5.0(typescript@4.9.5) typescript: 4.9.5 @@ -4010,18 +4033,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.63.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.63.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.63.0(typescript@5.6.3) - '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@5.6.3) + '@typescript-eslint/project-service': 8.63.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 '@typescript-eslint/visitor-keys': 8.63.0 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 tinyglobby: 0.2.16 - ts-api-utils: 2.5.0(typescript@5.6.3) - typescript: 5.6.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -4047,6 +4070,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) + '@typescript-eslint/scope-manager': 8.63.0 + '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) + eslint: 9.39.4 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.61.1': dependencies: '@typescript-eslint/types': 8.61.1 @@ -4075,10 +4109,6 @@ snapshots: optionalDependencies: ajv: 8.18.0 - ajv-formats@3.0.1(ajv@8.20.0): - optionalDependencies: - ajv: 8.20.0 - ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -4089,14 +4119,7 @@ snapshots: ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.5 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - ajv@8.20.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.5 + fast-uri: 3.1.6 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -4127,6 +4150,8 @@ snapshots: argparse@2.0.1: {} + aria-query@5.3.2: {} + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -4202,6 +4227,8 @@ snapshots: - debug - supports-color + axobject-query@4.1.0: {} + babel-jest@29.7.0(@babel/core@7.29.7): dependencies: '@babel/core': 7.29.7 @@ -4261,15 +4288,7 @@ snapshots: balanced-match@4.0.4: {} - base64-js@1.5.1: {} - - baseline-browser-mapping@2.10.40: {} - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 + baseline-browser-mapping@2.11.20: {} boolbase@1.0.0: {} @@ -4290,13 +4309,13 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.28.4: + browserslist@4.28.8: dependencies: - baseline-browser-mapping: 2.10.40 - caniuse-lite: 1.0.30001799 - electron-to-chromium: 1.5.380 - node-releases: 2.0.50 - update-browserslist-db: 1.2.3(browserslist@4.28.4) + baseline-browser-mapping: 2.11.20 + caniuse-lite: 1.0.30001810 + electron-to-chromium: 1.5.420 + node-releases: 2.0.54 + update-browserslist-db: 1.3.2(browserslist@4.28.8) bser@2.1.1: dependencies: @@ -4307,11 +4326,6 @@ snapshots: buffer-from@1.1.2: {} - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - builtin-modules@1.1.1: {} call-bind-apply-helpers@1.0.2: @@ -4337,7 +4351,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001799: {} + caniuse-lite@1.0.30001810: {} chalk@2.4.2: dependencies: @@ -4354,11 +4368,6 @@ snapshots: char-regex@1.0.2: {} - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - optional: true - chokidar@5.0.0: dependencies: readdirp: 5.0.0 @@ -4373,18 +4382,12 @@ snapshots: cjs-module-lexer@1.4.3: {} - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 cli-spinners@2.9.2: {} - cli-spinners@3.4.0: {} - cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -4397,8 +4400,6 @@ snapshots: strip-ansi: 7.2.0 wrap-ansi: 9.0.2 - clone@1.0.4: {} - co@4.6.0: {} collect-v8-coverage@1.0.3: {} @@ -4505,10 +4506,6 @@ snapshots: deepmerge@4.3.1: {} - defaults@1.0.4: - dependencies: - clone: 1.0.4 - define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -4544,7 +4541,7 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - electron-to-chromium@1.5.380: {} + electron-to-chromium@1.5.420: {} emittery@0.13.1: {} @@ -4811,6 +4808,13 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@9.1.2: + dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.1: {} @@ -4908,7 +4912,7 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.1.5: {} + fast-uri@3.1.6: {} fb-watchman@2.0.2: dependencies: @@ -5103,8 +5107,6 @@ snapshots: safer-buffer: 2.1.2 optional: true - ieee754@1.2.1: {} - ignore@5.3.2: {} ignore@7.0.5: {} @@ -5212,8 +5214,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-interactive@1.0.0: {} - is-interactive@2.0.0: {} is-map@2.0.3: {} @@ -5257,7 +5257,7 @@ snapshots: dependencies: which-typed-array: 1.1.20 - is-unicode-supported@0.1.0: {} + is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} @@ -5745,15 +5745,10 @@ snapshots: lodash@4.18.1: {} - log-symbols@4.1.0: + log-symbols@6.0.0: dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - log-symbols@7.0.1: - dependencies: - is-unicode-supported: 2.1.0 - yoctocolors: 2.2.0 + chalk: 5.6.2 + is-unicode-supported: 1.3.0 loose-envify@1.4.0: dependencies: @@ -5767,10 +5762,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magic-string@1.0.0: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - make-dir@4.0.0: dependencies: semver: 7.8.5 @@ -5862,7 +5853,7 @@ snapshots: node-int64@0.4.0: {} - node-releases@2.0.50: {} + node-releases@2.0.54: {} normalize-path@3.0.0: {} @@ -5931,28 +5922,17 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - - ora@9.4.1: + ora@8.2.0: dependencies: chalk: 5.6.2 cli-cursor: 5.0.0 - cli-spinners: 3.4.0 + cli-spinners: 2.9.2 is-interactive: 2.0.0 is-unicode-supported: 2.1.0 - log-symbols: 7.0.1 - stdin-discarder: 0.3.2 - string-width: 8.2.2 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.2.0 os-shim@0.1.3: {} @@ -6124,15 +6104,6 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@4.1.2: - optional: true - readdirp@5.0.0: {} recheck-jar@4.5.0: @@ -6214,11 +6185,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -6230,10 +6196,6 @@ snapshots: dependencies: glob: 7.2.3 - rxjs@7.8.1: - dependencies: - tslib: 2.8.1 - rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -6248,8 +6210,6 @@ snapshots: safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -6287,6 +6247,8 @@ snapshots: semver@6.3.1: {} + semver@7.7.3: {} + semver@7.8.4: {} semver@7.8.5: {} @@ -6364,8 +6326,6 @@ snapshots: source-map@0.6.1: {} - source-map@0.7.4: {} - source-map@0.7.6: {} spawn-sync@1.0.15: @@ -6379,7 +6339,7 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 - stdin-discarder@0.3.2: {} + stdin-discarder@0.2.2: {} stop-iteration-iterator@1.1.0: dependencies: @@ -6463,10 +6423,6 @@ snapshots: dependencies: safe-buffer: 5.1.2 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -6529,15 +6485,15 @@ snapshots: dependencies: typescript: 4.9.5 - ts-api-utils@2.5.0(typescript@5.6.3): + ts-api-utils@2.5.0(typescript@6.0.3): dependencies: - typescript: 5.6.3 + typescript: 6.0.3 tslib@1.14.1: {} tslib@2.8.1: {} - tslint@5.20.1(typescript@5.6.3): + tslint@5.20.1(typescript@5.8.3): dependencies: '@babel/code-frame': 7.29.0 builtin-modules: 1.1.1 @@ -6551,13 +6507,13 @@ snapshots: resolve: 1.22.12 semver: 7.8.5 tslib: 1.14.1 - tsutils: 2.29.0(typescript@5.6.3) - typescript: 5.6.3 + tsutils: 2.29.0(typescript@5.8.3) + typescript: 5.8.3 - tsutils@2.29.0(typescript@5.6.3): + tsutils@2.29.0(typescript@5.8.3): dependencies: tslib: 1.14.1 - typescript: 5.6.3 + typescript: 5.8.3 type-check@0.4.0: dependencies: @@ -6608,7 +6564,9 @@ snapshots: typescript@4.9.5: {} - typescript@5.6.3: {} + typescript@5.8.3: {} + + typescript@6.0.3: {} unbox-primitive@1.1.0: dependencies: @@ -6619,9 +6577,9 @@ snapshots: undici-types@6.21.0: {} - update-browserslist-db@1.2.3(browserslist@4.28.4): + update-browserslist-db@1.3.2(browserslist@4.28.8): dependencies: - browserslist: 4.28.4 + browserslist: 4.28.8 escalade: 3.2.0 picocolors: 1.1.1 @@ -6646,7 +6604,7 @@ snapshots: espree: 9.6.1 esquery: 1.7.0 lodash: 4.18.1 - semver: 7.8.4 + semver: 7.8.5 transitivePeerDependencies: - supports-color @@ -6665,10 +6623,6 @@ snapshots: dependencies: makeerror: 1.0.12 - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - webdriver-bidi-protocol@0.4.2: {} which-boxed-primitive@1.1.1: @@ -6780,6 +6734,4 @@ snapshots: yocto-queue@0.1.0: {} - yoctocolors@2.2.0: {} - zod@3.25.76: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 5795c457e..a85a7aec4 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,6 +9,9 @@ allowBuilds: minimumReleaseAgeExclude: - '@devexpress/eslint-plugin-dx-security@0.2.8' + - '@angular-devkit/core@20.3.36' + - '@angular-devkit/schematics@20.3.36' + - '@schematics/angular@20.3.36' overrides: "@babel/core@<=7.29.0": ">=7.29.7" @@ -19,7 +22,8 @@ overrides: brace-expansion@>=4: "^5.0.9" braces@<3.0.3: ">=3.0.3" cross-spawn: 7.0.6 - fast-uri@>=3.0.0 <3.1.5: ^3.1.5 + browserslist@<=4.28.6: ">=4.28.7" + fast-uri@>=3.0.0 <3.1.6: ^3.1.6 flatted: "^3.4.3" form-data@>=4.0.0 <4.0.4: ">=4.0.6" ip-address@<=10.3.0: ">=10.3.1"