diff --git a/angular.json b/angular.json index 985a8f9..a46b701 100644 --- a/angular.json +++ b/angular.json @@ -18,7 +18,7 @@ "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "tsconfig.app.json", - "aot": false, + "aot": true, "assets": [ "src/favicon.ico", "src/assets" @@ -39,7 +39,6 @@ "optimization": true, "outputHashing": "all", "sourceMap": false, - "extractCss": true, "namedChunks": false, "aot": true, "extractLicenses": true, diff --git a/karma.conf.js b/karma.conf.js index a1c227e..8c4bcee 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -13,7 +13,16 @@ module.exports = function (config) { require('@angular-devkit/build-angular/plugins/karma') ], client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser + clearContext: false, // leave Jasmine Spec Runner output visible in browser + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution order + random: true + } + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces }, coverageIstanbulReporter: { dir: require('path').join(__dirname, './coverage/schedule-ang8'), @@ -27,6 +36,13 @@ module.exports = function (config) { autoWatch: true, browsers: ['Chrome'], singleRun: false, - restartOnFileChange: true + restartOnFileChange: true, + // Karma 6+ requires explicit browser configuration for Chrome + customLaunchers: { + ChromeHeadlessCI: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--disable-web-security'] + } + } }); }; diff --git a/package.json b/package.json index 2050526..c69846f 100644 --- a/package.json +++ b/package.json @@ -10,39 +10,43 @@ "e2e": "ng e2e" }, "private": true, + "engines": { + "node": ">=14.15.0", + "npm": ">=6.14.8" + }, "dependencies": { - "@angular/animations": "~8.2.14", - "@angular/common": "~8.2.14", - "@angular/compiler": "~8.2.14", - "@angular/core": "~8.2.14", - "@angular/forms": "~8.2.14", - "@angular/platform-browser": "~8.2.14", - "@angular/platform-browser-dynamic": "~8.2.14", - "@angular/router": "~8.2.14", - "@syncfusion/ej2-angular-schedule": "*", - "rxjs": "~6.4.0", - "tslib": "^1.10.0", - "zone.js": "~0.9.1" + "@angular/animations": "~10.2.5", + "@angular/common": "~10.2.5", + "@angular/compiler": "~10.2.5", + "@angular/core": "~10.2.5", + "@angular/forms": "~10.2.5", + "@angular/platform-browser": "~10.2.5", + "@angular/platform-browser-dynamic": "~10.2.5", + "@angular/router": "~10.2.5", + "@syncfusion/ej2-angular-schedule": "^18.4.30", + "rxjs": "~6.6.0", + "tslib": "^2.0.0", + "zone.js": "~0.10.2" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.803.20", - "@angular/cli": "~8.3.20", - "@angular/compiler-cli": "~8.2.14", - "@angular/language-service": "~8.2.14", - "@types/node": "~8.9.4", - "@types/jasmine": "~3.3.8", + "@angular-devkit/build-angular": "~0.1002.4", + "@angular/cli": "~10.2.4", + "@angular/compiler-cli": "~10.2.5", + "@angular/language-service": "~10.2.5", + "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", - "codelyzer": "^5.0.0", - "jasmine-core": "~3.4.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~4.1.0", - "karma-chrome-launcher": "~2.2.0", - "karma-coverage-istanbul-reporter": "~2.0.1", - "karma-jasmine": "~2.0.1", - "karma-jasmine-html-reporter": "^1.4.0", - "protractor": "~5.4.0", - "ts-node": "~7.0.0", - "tslint": "~5.15.0", - "typescript": "~3.5.3" + "@types/node": "^14.14.0", + "codelyzer": "^6.0.0", + "jasmine-core": "~3.8.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~6.3.16", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.5.0", + "protractor": "~7.0.0", + "ts-node": "~8.3.0", + "tslint": "~6.1.0", + "typescript": "~4.0.2" } } diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 0659ff5..cee7050 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,5 +1,7 @@ import { TestBed, async } from '@angular/core/testing'; import { AppComponent } from './app.component'; +import { ScheduleModule } from '@syncfusion/ej2-angular-schedule'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; describe('AppComponent', () => { beforeEach(async(() => { @@ -7,6 +9,10 @@ describe('AppComponent', () => { declarations: [ AppComponent ], + imports: [ + ScheduleModule + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] }).compileComponents(); })); @@ -22,10 +28,10 @@ describe('AppComponent', () => { expect(app.title).toEqual('schedule-ang8'); }); - it('should render title', () => { + it('should render schedule component', () => { const fixture = TestBed.createComponent(AppComponent); fixture.detectChanges(); const compiled = fixture.debugElement.nativeElement; - expect(compiled.querySelector('.content span').textContent).toContain('schedule-ang8 app is running!'); + expect(compiled.querySelector('ejs-schedule')).toBeTruthy(); }); }); diff --git a/tsconfig.json b/tsconfig.json index 30956ae..f1e72b4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,24 +3,27 @@ "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": 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" - ], + "module": "es2020", "lib": [ "es2018", "dom" ] }, "angularCompilerOptions": { - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true } }