+ This is a standalone component rendered from a route.
+ Return home
+
diff --git a/angular/test/apps/ng15/src/app/version-test/standalone/standalone.component.ts b/angular/test/apps/ng15/src/app/version-test/standalone/standalone.component.ts
new file mode 100644
index 0000000000..56f6f8a92b
--- /dev/null
+++ b/angular/test/apps/ng15/src/app/version-test/standalone/standalone.component.ts
@@ -0,0 +1,12 @@
+import { Component } from "@angular/core";
+import { RouterModule } from "@angular/router";
+
+import { IonicModule } from '@ionic/angular';
+
+@Component({
+ selector: 'app-standalone',
+ templateUrl: './standalone.component.html',
+ standalone: true,
+ imports: [IonicModule, RouterModule]
+})
+export class StandaloneComponent { }
diff --git a/angular/test/apps/ng15/src/app/version-test/version-test-routing.module.ts b/angular/test/apps/ng15/src/app/version-test/version-test-routing.module.ts
new file mode 100644
index 0000000000..b7ef848b72
--- /dev/null
+++ b/angular/test/apps/ng15/src/app/version-test/version-test-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from "@angular/core";
+import { RouterModule } from "@angular/router";
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ {
+ path: 'standalone',
+ loadComponent: () => import('./standalone/standalone.component').then(m => m.StandaloneComponent)
+ }
+ ])
+ ],
+ exports: [RouterModule]
+})
+export class VersionTestRoutingModule { }
diff --git a/angular/test/apps/ng15/tsconfig.json b/angular/test/apps/ng15/tsconfig.json
new file mode 100644
index 0000000000..d5601fdcdb
--- /dev/null
+++ b/angular/test/apps/ng15/tsconfig.json
@@ -0,0 +1,35 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "es2020",
+ "emitDecoratorMetadata": true,
+ "typeRoots": ["node_modules/@types"],
+ "lib": ["es2020", "dom"],
+ "plugins": [
+ {
+ "name": "typescript-eslint-language-service"
+ }
+ ],
+ "useDefineForClassFields": false
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
diff --git a/angular/test/base/src/app/accordion/accordion-modal/accordion-modal.component.ts b/angular/test/base/src/app/accordion/accordion-modal/accordion-modal.component.ts
index e73857b225..4f6b34240c 100644
--- a/angular/test/base/src/app/accordion/accordion-modal/accordion-modal.component.ts
+++ b/angular/test/base/src/app/accordion/accordion-modal/accordion-modal.component.ts
@@ -5,7 +5,7 @@ import { Component } from '@angular/core';
templateUrl: './accordion-modal.component.html',
})
export class AccordionModalComponent {
- modal: HTMLIonModalElement;
+ modal!: HTMLIonModalElement;
constructor() {}
}
diff --git a/angular/test/base/src/app/form/form.component.html b/angular/test/base/src/app/form/form.component.html
index 34740df87f..42bb96d70f 100644
--- a/angular/test/base/src/app/form/form.component.html
+++ b/angular/test/base/src/app/form/form.component.html
@@ -7,7 +7,7 @@