@@ -331,7 +330,8 @@
- + + Rocket Ship @@ -343,7 +343,8 @@ {{ title }} app is running! - + + Rocket Ship Smoke @@ -356,24 +357,24 @@
- Learn Angular - - CLI Documentation - - Angular Blog + + + + + Angular DevTools @@ -386,44 +387,45 @@
-
- - +
- -
- + +
+ -
+ +
+ -
+
+ -
+
+
ng generate component xyz
ng add @angular/material
+
ng add @angular/pwa
ng add _____
ng test
-
ng build --prod
+
ng build
@@ -439,7 +441,8 @@ - + + Angular CLI Logo @@ -450,57 +453,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Meetup Logo - - - - - - - - - - - - - + + + Discord Logo + +
@@ -519,7 +483,8 @@ - + + Gray Clouds Background @@ -533,6 +498,4 @@ - - - \ No newline at end of file + diff --git a/angular/angular/src/app/app.component.spec.ts b/angular/angular/src/app/app.component.spec.ts index 8622a63..3aedd7b 100644 --- a/angular/angular/src/app/app.component.spec.ts +++ b/angular/angular/src/app/app.component.spec.ts @@ -1,10 +1,10 @@ -import { TestBed, async } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { AppComponent } from './app.component'; describe('AppComponent', () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ imports: [ RouterTestingModule ], @@ -12,24 +12,24 @@ describe('AppComponent', () => { AppComponent ], }).compileComponents(); - })); + }); it('should create the app', () => { const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; + const app = fixture.componentInstance; expect(app).toBeTruthy(); }); it(`should have as title 'angular'`, () => { const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; + const app = fixture.componentInstance; expect(app.title).toEqual('angular'); }); it('should render title', () => { const fixture = TestBed.createComponent(AppComponent); fixture.detectChanges(); - const compiled = fixture.debugElement.nativeElement; - expect(compiled.querySelector('.content span').textContent).toContain('angular app is running!'); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('angular app is running!'); }); }); diff --git a/angular/angular/src/app/app.module.ts b/angular/angular/src/app/app.module.ts index 2c3ba29..b1c6c96 100644 --- a/angular/angular/src/app/app.module.ts +++ b/angular/angular/src/app/app.module.ts @@ -1,5 +1,5 @@ -import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; diff --git a/angular/angular/src/environments/environment.ts b/angular/angular/src/environments/environment.ts index 7b4f817..f56ff47 100644 --- a/angular/angular/src/environments/environment.ts +++ b/angular/angular/src/environments/environment.ts @@ -1,5 +1,5 @@ // This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. // The list of file replacements can be found in `angular.json`. export const environment = { @@ -13,4 +13,4 @@ export const environment = { * This import should be commented out in production mode because it will have a negative impact * on performance if an error is thrown. */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/angular/angular/src/favicon.ico b/angular/angular/src/favicon.ico index 523925f..997406a 100644 Binary files a/angular/angular/src/favicon.ico and b/angular/angular/src/favicon.ico differ diff --git a/angular/angular/src/polyfills.ts b/angular/angular/src/polyfills.ts index aa665d6..429bb9e 100644 --- a/angular/angular/src/polyfills.ts +++ b/angular/angular/src/polyfills.ts @@ -8,8 +8,8 @@ * file. * * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * automatically update themselves. This includes recent versions of Safari, Chrome (including + * Opera), Edge on the desktop, and iOS and Chrome on mobile. * * Learn more in https://angular.io/guide/browser-support */ @@ -18,16 +18,6 @@ * BROWSER POLYFILLS */ -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - /** * By default, zone.js will patch all possible macroTask and DomEvents * user can disable parts of macroTask/DomEvents patch by setting following flags @@ -35,7 +25,7 @@ * will put import in the top of bundle, so user need to create a separate file * in this directory (for example: zone-flags.ts), and put the following flags * into that file, and then add the following code before importing zone.js. - * import './zone-flags.ts'; + * import './zone-flags'; * * The flags allowed in zone-flags.ts are listed here. * @@ -55,7 +45,7 @@ /*************************************************************************************************** * Zone JS is required by default for Angular itself. */ -import 'zone.js/dist/zone'; // Included with Angular CLI. +import 'zone.js'; // Included with Angular CLI. /*************************************************************************************************** diff --git a/angular/angular/src/test.ts b/angular/angular/src/test.ts index 1631789..598d11e 100644 --- a/angular/angular/src/test.ts +++ b/angular/angular/src/test.ts @@ -1,19 +1,25 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import 'zone.js/dist/zone-testing'; +import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; -declare const require: any; +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, - platformBrowserDynamicTesting() + platformBrowserDynamicTesting(), ); + // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. diff --git a/angular/angular/tsconfig.app.json b/angular/angular/tsconfig.app.json index df4d05e..82d91dc 100644 --- a/angular/angular/tsconfig.app.json +++ b/angular/angular/tsconfig.app.json @@ -1,3 +1,4 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "./tsconfig.json", "compilerOptions": { @@ -10,9 +11,5 @@ ], "include": [ "src/**/*.d.ts" - ], - "exclude": [ - "src/test.ts", - "src/**/*.spec.ts" ] } diff --git a/angular/angular/tsconfig.json b/angular/angular/tsconfig.json index 30956ae..f531992 100644 --- a/angular/angular/tsconfig.json +++ b/angular/angular/tsconfig.json @@ -1,26 +1,32 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, "sourceMap": true, "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, - "module": "esnext", "moduleResolution": "node", "importHelpers": true, - "target": "es2015", - "typeRoots": [ - "node_modules/@types" - ], + "target": "es2017", + "module": "es2020", "lib": [ - "es2018", + "es2020", "dom" ] }, "angularCompilerOptions": { - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true } } diff --git a/angular/angular/tsconfig.spec.json b/angular/angular/tsconfig.spec.json index 6400fde..092345b 100644 --- a/angular/angular/tsconfig.spec.json +++ b/angular/angular/tsconfig.spec.json @@ -1,10 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/spec", "types": [ - "jasmine", - "node" + "jasmine" ] }, "files": [ diff --git a/angular/angular/tslint.json b/angular/angular/tslint.json deleted file mode 100644 index c8d70f1..0000000 --- a/angular/angular/tslint.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "array-type": false, - "arrow-parens": false, - "deprecation": { - "severity": "warning" - }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "interface-name": false, - "max-classes-per-file": false, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-consecutive-blank-lines": false, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-empty": false, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [ - true, - "as-needed" - ], - "object-literal-sort-keys": false, - "ordered-imports": false, - "quotemark": [ - true, - "single" - ], - "trailing-comma": false, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true - }, - "rulesDirectory": [ - "codelyzer" - ] -} \ No newline at end of file diff --git a/angular/output.jpg b/angular/output.jpg deleted file mode 100644 index e96e73f..0000000 Binary files a/angular/output.jpg and /dev/null differ diff --git a/angular/output.png b/angular/output.png new file mode 100644 index 0000000..07279a0 Binary files /dev/null and b/angular/output.png differ