diff --git a/packages/devextreme-schematics/package.json b/packages/devextreme-schematics/package.json index 04e0f4a6b..d146d3d2a 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.37", + "@angular-devkit/schematics": "^20.3.37", + "@schematics/angular": "^20.3.37", "parse5": "^7.3.0", "picomatch": "^4.0.5", "semver": "^7.8.5" diff --git a/packages/devextreme-schematics/src/add-app-template/index_spec.ts b/packages/devextreme-schematics/src/add-app-template/index_spec.ts index b84961e81..fe2c7fad9 100644 --- a/packages/devextreme-schematics/src/add-app-template/index_spec.ts +++ b/packages/devextreme-schematics/src/add-app-template/index_spec.ts @@ -58,7 +58,7 @@ describe('add-app-template', () => { expect(tree.files) .toContain('/projects/testApp2/src/themes/metadata.base.json'); expect(tree.files) - .toContain('/projects/testApp2/src/app/pages/home/home.component.ts'); + .toContain('/projects/testApp2/src/app/pages/home/home.ts'); }); it('should consider the `updateBudgets` option', async () => { 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-sample-views/files/pages/home/home.component.html b/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.html similarity index 100% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.component.html rename to packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.html diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.component.scss b/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.scss similarity index 100% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.component.scss rename to packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.scss diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.component.ts b/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.ts similarity index 62% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.component.ts rename to packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.ts index aed03dd98..2006057d6 100644 --- a/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.component.ts +++ b/packages/devextreme-schematics/src/add-sample-views/files/pages/home/home.ts @@ -1,8 +1,8 @@ import { Component } from '@angular/core'; @Component({ - templateUrl: 'home.component.html', - styleUrls: [ './home.component.scss' ], + templateUrl: 'home.html', + styleUrls: [ './home.scss' ], standalone: false }) diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.html b/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.html similarity index 100% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.html rename to packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.html diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.scss b/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.scss similarity index 100% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.scss rename to packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.scss diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.ts b/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.ts similarity index 91% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.ts rename to packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.ts index 708ffe805..cecee7d7c 100644 --- a/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.component.ts +++ b/packages/devextreme-schematics/src/add-sample-views/files/pages/profile/profile.ts @@ -2,8 +2,8 @@ import { Component } from '@angular/core'; import { DxFormModule } from 'devextreme-angular/ui/form'; @Component({ - templateUrl: 'profile.component.html', - styleUrls: [ './profile.component.scss' ], + templateUrl: 'profile.html', + styleUrls: [ './profile.scss' ], standalone: true, imports: [DxFormModule], }) diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.html b/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.html similarity index 100% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.html rename to packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.html diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.scss b/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.scss similarity index 100% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.scss rename to packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.scss diff --git a/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.ts b/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.ts similarity index 90% rename from packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.ts rename to packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.ts index 23fbb269d..79e8b637d 100644 --- a/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.component.ts +++ b/packages/devextreme-schematics/src/add-sample-views/files/pages/tasks/tasks.ts @@ -3,8 +3,8 @@ import { DxDataGridModule } from 'devextreme-angular/ui/data-grid'; import { CustomStore } from 'devextreme-angular/common/data'; @Component({ - templateUrl: 'tasks.component.html', - styleUrls: ['tasks.component.scss'], + templateUrl: 'tasks.html', + styleUrls: ['tasks.scss'], standalone: true, imports: [DxDataGridModule] }) diff --git a/packages/devextreme-schematics/src/add-sample-views/index.ts b/packages/devextreme-schematics/src/add-sample-views/index.ts index 099807a54..b81cd26d2 100644 --- a/packages/devextreme-schematics/src/add-sample-views/index.ts +++ b/packages/devextreme-schematics/src/add-sample-views/index.ts @@ -25,19 +25,7 @@ import { import { getSourceFile } from '../utility/source'; const sampleViewOptions = [ - { - name: 'home', - componentName: 'HomeComponent', - relativePath: './pages/home/home.component' - }, { - name: 'profile', - componentName: 'ProfileComponent', - relativePath: './pages/profile/profile.component' - }, { - name: 'tasks', - componentName: 'TasksComponent', - relativePath: './pages/tasks/tasks.component' -}]; + { name: 'home' }, { name: 'profile' }, { name: 'tasks'}]; const navigations = [ ` { diff --git a/packages/devextreme-schematics/src/add-sample-views/index_spec.ts b/packages/devextreme-schematics/src/add-sample-views/index_spec.ts index 26370c427..07fbc914b 100644 --- a/packages/devextreme-schematics/src/add-sample-views/index_spec.ts +++ b/packages/devextreme-schematics/src/add-sample-views/index_spec.ts @@ -45,7 +45,9 @@ describe('sample views', () => { expect(moduleContent).toMatch(/component: HomeComponent/); expect(moduleContent).toMatch(/path: 'home'/); - expect(moduleContent).toMatch(/import { HomeComponent } from /); + expect(moduleContent).toContain(`import { HomeComponent } from './pages/home/home';`); + expect(moduleContent).toContain(`import { ProfileComponent } from './pages/profile/profile';`); + expect(moduleContent).toContain(`import { TasksComponent } from './pages/tasks/tasks';`); const navigationContent = tree.readContent('/src/app/app-navigation.ts'); expect(navigationContent).toMatch(/text: 'Home'/); diff --git a/packages/devextreme-schematics/src/add-view/index.ts b/packages/devextreme-schematics/src/add-view/index.ts index 1d9a6207e..55e08c0f2 100644 --- a/packages/devextreme-schematics/src/add-view/index.ts +++ b/packages/devextreme-schematics/src/add-view/index.ts @@ -35,6 +35,11 @@ import { humanize } from '../utility/string'; async function getPathToFile(host: Tree, projectName: string, moduleName: string) { const rootPath = await getApplicationPath(host, projectName); + const standalonePath = normalize(`${rootPath}/${moduleName}.ts`); + if (host.exists(standalonePath)) { + return standalonePath; + } + try { return findModuleFromOptions(host, { name: moduleName, path: rootPath, module: moduleName }); } catch (error) { @@ -88,7 +93,7 @@ export function addViewToRouting(options: any) { const routingModulePath = await getPathToFile(host, options.project, options.module); if (!routingModulePath) { - throw new SchematicsException('Specified module does not exist.'); + throw new SchematicsException(`Specified module ${options.module} does not exist.`); } addRedirectRoute(host, routingModulePath, options.name); @@ -106,7 +111,7 @@ export function addViewToRouting(options: any) { const name = options.name.replace(/^pages\//, ''); const componentName = getRouteComponentName(name); - const importChanges = insertImport(source, routingModulePath, componentName, `./pages/${name}/${name}.component`); + const importChanges = insertImport(source, routingModulePath, componentName, `./pages/${name}/${name}`); applyChanges(host, [importChanges], routingModulePath); } return host; @@ -141,7 +146,7 @@ function addContentToView(options: any) { const name = strings.dasherize(basename(normalize(options.name))); const path = `${dirname(options.name)}/${name}`; const title = humanize(name); - const componentPath = `${path}/${name}.component.html`; + const componentPath = `${path}/${name}.html`; const content = `

${title}

Put your content here
@@ -154,13 +159,13 @@ function addContentToView(options: any) { function addContentToTS(options: any) { const name = strings.dasherize(basename(normalize(options.name))); const path = `${dirname(options.name)}/${name}`; - const componentPath = `${path}/${name}.component.ts`; + const componentPath = `${path}/${name}.ts`; const content = `import { Component } from '@angular/core'; @Component({ selector: 'app-${name}', - templateUrl: './${name}.component.html', - styleUrl: './${name}.component.css', + templateUrl: './${name}.html', + styleUrl: './${name}.css', standalone: true }) export class ${strings.classify(basename(normalize(name)))}Component { diff --git a/packages/devextreme-schematics/src/add-view/index_spec.ts b/packages/devextreme-schematics/src/add-view/index_spec.ts index 8d057ae16..747600bcf 100644 --- a/packages/devextreme-schematics/src/add-view/index_spec.ts +++ b/packages/devextreme-schematics/src/add-view/index_spec.ts @@ -36,6 +36,7 @@ describe('view', () => { }; const angularSchematicsCollection = require.resolve('../../node_modules/@schematics/angular/collection.json'); + const schematicRunner = new SchematicTestRunner('@schematics/angular', angularSchematicsCollection); let appTree: UnitTestTree; @@ -50,16 +51,16 @@ describe('view', () => { let tree = await runner.runSchematic('add-layout', { layout: 'side-nav-outer-toolbar' }, appTree); tree = await runner.runSchematic('add-view', componentOptions, appTree); - expect(tree.files).toContain('/src/app/pages/test/test.component.ts'); - expect(tree.files).toContain('/src/app/pages/test/test.component.html'); + expect(tree.files).toContain('/src/app/pages/test/test.ts'); + expect(tree.files).toContain('/src/app/pages/test/test.html'); - const contentHTML = tree.readContent('/src/app/pages/test/test.component.html'); - const contentTS = tree.readContent('/src/app/pages/test/test.component.ts'); + const contentHTML = tree.readContent('/src/app/pages/test/test.html'); + const contentTS = tree.readContent('/src/app/pages/test/test.ts'); expect(contentHTML).toMatch(/

Test<\/h2>/); expect(contentTS).toContain(`selector: 'app-${componentName}'`); - expect(contentTS).toContain(`templateUrl: './${componentName}.component.html'`); - expect(contentTS).toContain(`styleUrl: './${componentName}.component.css'`); + expect(contentTS).toContain(`templateUrl: './${componentName}.html'`); + expect(contentTS).toContain(`styleUrl: './${componentName}.css'`); expect(contentTS).toContain('standalone: true'); expect(contentTS).toContain(`export class ${strings.classify(basename(normalize(componentName)))}Component`); }); @@ -94,7 +95,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'/); @@ -131,7 +132,7 @@ export const navigation: NavigationItem[] = [ icon: 'home' } ];`); - const pageContent = tree.readContent('/src/app/pages/some-test/some-test.component.html'); + const pageContent = tree.readContent('/src/app/pages/some-test/some-test.html'); expect(pageContent).toMatch(/

Some Test<\/h2>/); }); @@ -141,7 +142,7 @@ export const navigation: NavigationItem[] = [ let tree = await runner.runSchematic('add-layout', { layout: 'side-nav-outer-toolbar' }, appTree); tree = await runner.runSchematic('add-view', componentOptions, appTree); - expect(tree.files).toContain('/src/app/folder/test/test.component.ts'); - expect(tree.files).toContain('/src/app/folder/test/test.component.html'); + expect(tree.files).toContain('/src/app/folder/test/test.ts'); + expect(tree.files).toContain('/src/app/folder/test/test.html'); }); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fa88856b5..67ec44589 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,7 @@ importers: devDependencies: '@angular-eslint/schematics': specifier: ^20.7.0 - version: 20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@5.6.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(chokidar@4.0.3)(eslint@9.39.4)(typescript@5.6.3) + 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))(chokidar@4.0.3)(eslint@9.39.4)(typescript@5.6.3) '@devexpress/eslint-plugin-dx-security': specifier: ^0.2.8 version: 0.2.8(eslint@9.39.4) @@ -162,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.37 + version: 20.3.37(chokidar@4.0.3) '@angular-devkit/schematics': - specifier: ^19.2.27 - version: 19.2.27(chokidar@4.0.3) + specifier: ^20.3.37 + version: 20.3.37(chokidar@4.0.3) '@schematics/angular': - specifier: ^19.2.27 - version: 19.2.27(chokidar@4.0.3) + specifier: ^20.3.37 + version: 20.3.37(chokidar@4.0.3) parse5: specifier: ^7.3.0 version: 7.3.0 @@ -207,17 +207,17 @@ importers: 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@20.3.35': - resolution: {integrity: sha512-RefMFJA7qRBxEDu3a6bVNK9o5vcHXxN8xKaCzENBrOIO6XamthoGMZIJrIT213KpHoEbLTcJjESqGFCpYmY6oA==} + '@angular-devkit/core@20.3.37': + resolution: {integrity: sha512-Mkh0QLXGdzPEqimmhhXn6nS2hoDQhWc7qrQrkvKVLaU9mh0ltd2U/3yOIIeZsRqgKRjbNW+VFlyC0z2unuiXxA==} 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 @@ -225,14 +225,14 @@ packages: 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.37': + resolution: {integrity: sha512-cut471ALIuZR+WyoQLFfypZDNTxwG35O7fEj6wTh65EliNISTkmZaqUOgqNjTT6xJ/YaDwZ9+CuSfTdyO0hMCg==} + 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==} @@ -638,8 +638,8 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -755,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.37': + resolution: {integrity: sha512-NF5uNKge+1CuvSbn2cig3AXPsWLSBazh4N0PGUSFy+9QYdlpP00CUFimI2iV2DoFJWA5+z7hQlOMZ9sa7XJmmg==} + 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==} @@ -1069,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.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==} @@ -1111,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'} @@ -1182,10 +1173,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'} @@ -1202,10 +1189,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'} @@ -1326,9 +1309,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'} @@ -1820,9 +1800,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'} @@ -1929,10 +1906,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'} @@ -1981,10 +1954,6 @@ 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'} @@ -2279,10 +2248,6 @@ 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@6.0.0: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} @@ -2457,10 +2422,6 @@ 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@8.2.0: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} @@ -2626,10 +2587,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'} @@ -2714,10 +2671,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'} @@ -2731,9 +2684,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==} @@ -2744,9 +2694,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'} @@ -2857,10 +2804,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'} @@ -2924,9 +2867,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'} @@ -3065,6 +3005,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -3102,9 +3047,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==} @@ -3203,18 +3145,18 @@ packages: snapshots: - '@angular-devkit/core@19.2.27(chokidar@4.0.3)': + '@angular-devkit/core@20.3.35(chokidar@4.0.3)': 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 + rxjs: 7.8.2 + source-map: 0.7.6 optionalDependencies: chokidar: 4.0.3 - '@angular-devkit/core@20.3.35(chokidar@4.0.3)': + '@angular-devkit/core@20.3.37(chokidar@4.0.3)': dependencies: ajv: 8.18.0 ajv-formats: 3.0.1(ajv@8.18.0) @@ -3225,19 +3167,19 @@ snapshots: optionalDependencies: chokidar: 4.0.3 - '@angular-devkit/schematics@19.2.27(chokidar@4.0.3)': + '@angular-devkit/schematics@20.3.35(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 19.2.27(chokidar@4.0.3) + '@angular-devkit/core': 20.3.35(chokidar@4.0.3) 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@20.3.35(chokidar@4.0.3)': + '@angular-devkit/schematics@20.3.37(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 20.3.35(chokidar@4.0.3) + '@angular-devkit/core': 20.3.37(chokidar@4.0.3) jsonc-parser: 3.3.1 magic-string: 0.30.17 ora: 8.2.0 @@ -3247,33 +3189,33 @@ snapshots: '@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@5.6.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(eslint@9.39.4)(typescript@5.6.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@5.6.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 20.7.0 - '@angular-eslint/template-parser': 20.7.0(eslint@9.39.4)(typescript@5.6.3) - '@angular-eslint/utils': 20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(eslint@9.39.4)(typescript@5.6.3) + '@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@5.6.3) '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@5.6.3) + '@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: 5.6.3 - '@angular-eslint/eslint-plugin@20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(eslint@9.39.4)(typescript@5.6.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@5.6.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@5.6.3))(eslint@9.39.4)(typescript@5.6.3) - '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@5.6.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@5.6.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@5.6.3) typescript: 5.6.3 - '@angular-eslint/schematics@20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@5.6.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(chokidar@4.0.3)(eslint@9.39.4)(typescript@5.6.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))(chokidar@4.0.3)(eslint@9.39.4)(typescript@5.6.3)': dependencies: '@angular-devkit/core': 20.3.35(chokidar@4.0.3) '@angular-devkit/schematics': 20.3.35(chokidar@4.0.3) - '@angular-eslint/eslint-plugin': 20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(eslint@9.39.4)(typescript@5.6.3) - '@angular-eslint/eslint-plugin-template': 20.7.0(@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@5.6.3))(@typescript-eslint/types@8.63.0)(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(eslint@9.39.4)(typescript@5.6.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@5.6.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@5.6.3) ignore: 7.0.5 semver: 7.7.3 strip-json-comments: 3.1.1 @@ -3285,17 +3227,17 @@ snapshots: - eslint - typescript - '@angular-eslint/template-parser@20.7.0(eslint@9.39.4)(typescript@5.6.3)': + '@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: 5.6.3 + typescript: 6.0.3 - '@angular-eslint/utils@20.7.0(@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3))(eslint@9.39.4)(typescript@5.6.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@5.6.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 20.7.0 - '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@5.6.3) + '@typescript-eslint/utils': 8.63.0(eslint@9.39.4)(typescript@6.0.3) eslint: 9.39.4 typescript: 5.6.3 @@ -3795,7 +3737,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': @@ -3805,12 +3747,12 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@microsoft/eslint-plugin-sdl@1.1.0(eslint@9.39.4)': dependencies: @@ -3889,10 +3831,10 @@ snapshots: optionalDependencies: yauzl: 2.10.0 - '@schematics/angular@19.2.27(chokidar@4.0.3)': + '@schematics/angular@20.3.37(chokidar@4.0.3)': 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.37(chokidar@4.0.3) + '@angular-devkit/schematics': 20.3.37(chokidar@4.0.3) jsonc-parser: 3.3.1 transitivePeerDependencies: - chokidar @@ -4035,6 +3977,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.63.0(typescript@6.0.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) + '@typescript-eslint/types': 8.63.0 + debug: 4.4.3 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.61.1': dependencies: '@typescript-eslint/types': 8.61.1 @@ -4057,6 +4008,10 @@ snapshots: dependencies: typescript: 5.6.3 + '@typescript-eslint/tsconfig-utils@8.63.0(typescript@6.0.3)': + dependencies: + typescript: 6.0.3 + '@typescript-eslint/type-utils@8.63.0(eslint@9.39.4)(typescript@4.9.5)': dependencies: '@typescript-eslint/types': 8.63.0 @@ -4118,6 +4073,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.63.0(typescript@6.0.3)': + dependencies: + '@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@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.61.1(eslint@9.39.4)(typescript@4.9.5)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) @@ -4140,14 +4110,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.63.0(eslint@9.39.4)(typescript@5.6.3)': + '@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@5.6.3) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) eslint: 9.39.4 - typescript: 5.6.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -4358,16 +4328,8 @@ snapshots: balanced-match@4.0.4: {} - base64-js@1.5.1: {} - baseline-browser-mapping@2.11.20: {} - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - boolbase@1.0.0: {} brace-expansion@1.1.18: @@ -4404,11 +4366,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: @@ -4470,10 +4427,6 @@ 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 @@ -4492,8 +4445,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: {} @@ -4600,10 +4551,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 @@ -5205,8 +5152,6 @@ snapshots: safer-buffer: 2.1.2 optional: true - ieee754@1.2.1: {} - ignore@5.3.2: {} ignore@7.0.5: {} @@ -5314,8 +5259,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-interactive@1.0.0: {} - is-interactive@2.0.0: {} is-map@2.0.3: {} @@ -5359,8 +5302,6 @@ 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: {} @@ -5849,11 +5790,6 @@ snapshots: lodash@4.18.1: {} - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - log-symbols@6.0.0: dependencies: chalk: 5.6.2 @@ -5869,7 +5805,7 @@ snapshots: magic-string@0.30.17: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 make-dir@4.0.0: dependencies: @@ -6031,18 +5967,6 @@ 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@8.2.0: dependencies: chalk: 5.6.2 @@ -6225,12 +6149,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 @@ -6315,11 +6233,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 @@ -6331,10 +6244,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 @@ -6349,8 +6258,6 @@ snapshots: safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -6467,8 +6374,6 @@ snapshots: source-map@0.6.1: {} - source-map@0.7.4: {} - source-map@0.7.6: {} spawn-sync@1.0.15: @@ -6566,10 +6471,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 @@ -6636,6 +6537,10 @@ snapshots: dependencies: typescript: 5.6.3 + ts-api-utils@2.5.0(typescript@6.0.3): + dependencies: + typescript: 6.0.3 + tslib@1.14.1: {} tslib@2.8.1: {} @@ -6713,6 +6618,8 @@ snapshots: typescript@5.6.3: {} + typescript@6.0.3: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -6768,10 +6675,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: diff --git a/templates-generator/angular-config.js b/templates-generator/angular-config.js index 5102ea27b..01e73b569 100644 --- a/templates-generator/angular-config.js +++ b/templates-generator/angular-config.js @@ -15,7 +15,7 @@ module.exports = { 'angular.json', 'tslint.json', 'karma.conf.js', - 'src/app/pages/new-page/new-page.component.*' + 'src/app/pages/new-page/new-page.*' ], replaceRules: [ { @@ -72,7 +72,7 @@ module.exports = { ] }, { - glob: 'src/app/pages/home/home.component.html', + glob: 'src/app/pages/home/home.html', definitions: [ { before: 'My App', @@ -99,7 +99,7 @@ module.exports = { ] }, { - glob: 'src/app/app.component.html', + glob: 'src/app/app.html', definitions: [ { before: /side-nav-(inner|outer)-toolbar/g, @@ -108,26 +108,26 @@ module.exports = { ] }, { - glob: 'src/app/app.component.ts', + glob: 'src/app/app.ts', definitions: [ { before: 'app', after: '<%= prefix %>' }, { - before: /app.component/g, - after: '<%= name %>.component' + before: /\.\/app\./g, + after: './<%= name %>.' }, { - before: 'AppComponent', - after: '<%= strings.classify(name) %>Component' + before: /export class App\b/, + after: 'export class <%= strings.classify(name) %>' } ] } ], removeRules: [ { - glob: 'src/app/routes.ts', + glob: 'src/app/app.routes.ts', definitions: [ /import { HomeComponent } [^\n]*?\n/, /import { ProfileComponent } [^\n]*?\n/, @@ -143,27 +143,27 @@ module.exports = { ], moveRules: [ { - glob: 'src/app/pages/**/*.*', + glob: 'src/app/app.{scss,ts,html}', definition: { - sourcePath: 'src/app/', - targetPath: 'packages/devextreme-schematics/src/add-sample-views/files/' + sourcePath: 'src/app/app', + targetPath: 'packages/devextreme-schematics/src/add-layout/files/src/app/__name__' } }, { - glob: '{src/**/!(app.component).*,devextreme.json,e2e/**/*.*}', + glob: 'src/app/pages/**/*.*', definition: { - sourcePath: '', - targetPath: 'packages/devextreme-schematics/src/add-layout/files/' + sourcePath: 'src/app/', + targetPath: 'packages/devextreme-schematics/src/add-sample-views/files/' } }, { - glob: 'src/app/app.component.{scss,ts,html}', + glob: '{src/**/*.*,devextreme.json,e2e/**/*.*}', definition: { - sourcePath: 'src/app/app', - targetPath: 'packages/devextreme-schematics/src/add-layout/files/src/app/__name__' + sourcePath: '', + targetPath: 'packages/devextreme-schematics/src/add-layout/files/' } } ]