mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2025-12-12 17:26:22 +00:00
test: fix app unit tests
This commit is contained in:
6
.changeset/tasty-islands-smell.md
Normal file
6
.changeset/tasty-islands-smell.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@openstapps/app': patch
|
||||
---
|
||||
|
||||
Migrate unit tests to karma-coverage and junit reports.
|
||||
Fixes an issue where coverage reports would not be generated.
|
||||
@@ -95,6 +95,7 @@ stop review:
|
||||
rules: *deploy-rules
|
||||
|
||||
unit:
|
||||
image: registry.gitlab.com/openstapps/app:v18
|
||||
stage: test
|
||||
needs: ['build']
|
||||
script:
|
||||
|
||||
@@ -24,19 +24,26 @@ module.exports = function (config) {
|
||||
plugins: [
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-coverage-istanbul-reporter'),
|
||||
require('karma-coverage'),
|
||||
require('@angular-devkit/build-angular/plugins/karma'),
|
||||
require('karma-mocha-reporter'),
|
||||
require('karma-junit-reporter'),
|
||||
],
|
||||
client: {
|
||||
clearContext: false, // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
coverageIstanbulReporter: {
|
||||
dir: require('path').join(__dirname, './coverage'),
|
||||
reports: ['html', 'lcovonly', 'text-summary', 'cobertura'],
|
||||
coverageReporter: {
|
||||
dir: 'coverage/',
|
||||
reporters: [{type: 'cobertura', subdir: '.'}],
|
||||
// reports: ['html', 'lcovonly', 'text-summary', 'cobertura'],
|
||||
fixWebpackSourcePaths: true,
|
||||
},
|
||||
reporters: config.buildWebpack.options.codeCoverage ? ['mocha', 'coverage-istanbul'] : ['mocha'],
|
||||
junitReporter: {
|
||||
outputDir: 'coverage/',
|
||||
outputFile: 'report-junit.xml',
|
||||
useBrowserName: false,
|
||||
},
|
||||
reporters: ['mocha', 'junit', 'coverage'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"start": "ionic serve",
|
||||
"start:external": "ionic serve --external",
|
||||
"start:prod": "ionic serve --prod",
|
||||
"test": "ng test",
|
||||
"test": "ng test --watch=false --code-coverage",
|
||||
"test:integration": "sh integration-test.sh"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -121,6 +121,7 @@
|
||||
"@angular/compiler": "13.4.0",
|
||||
"@angular/compiler-cli": "13.4.0",
|
||||
"@angular/language-service": "13.4.0",
|
||||
"@angular/platform-browser-dynamic": "13.3.11",
|
||||
"@capacitor/android": "4.6.1",
|
||||
"@capacitor/cli": "4.6.1",
|
||||
"@capacitor/ios": "4.6.1",
|
||||
@@ -157,10 +158,10 @@
|
||||
"junit-report-merger": "6.0.2",
|
||||
"karma": "6.4.1",
|
||||
"karma-chrome-launcher": "3.1.1",
|
||||
"karma-coverage-istanbul-reporter": "3.0.3",
|
||||
"karma-jasmine": "5.1.0",
|
||||
"karma-jasmine-html-reporter": "2.0.0",
|
||||
"karma-junit-reporter": "2.0.1",
|
||||
"karma-coverage": "2.2.1",
|
||||
"karma-mocha-reporter": "2.2.5",
|
||||
"karma-jasmine": "5.1.0",
|
||||
"license-checker": "25.0.1",
|
||||
"protractor": "7.0.0",
|
||||
"surge": "0.23.1",
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
SCThingType,
|
||||
} from '@openstapps/core';
|
||||
import {Polygon} from 'geojson';
|
||||
import packageJson from '../../../../package.json';
|
||||
import {environment} from '../../../environments/environment';
|
||||
|
||||
// provides sample aggregations to be used in tests or backendless development
|
||||
export const sampleAggregations: SCBackendAggregationConfiguration[] = [
|
||||
@@ -108,8 +108,6 @@ export const sampleDefaultPolygon: Polygon = {
|
||||
type: 'Polygon',
|
||||
};
|
||||
|
||||
const scVersion = packageJson.dependencies['@openstapps/core'];
|
||||
|
||||
export const sampleIndexResponse: SCIndexResponse = {
|
||||
app: {
|
||||
aboutPages: {
|
||||
@@ -197,7 +195,7 @@ export const sampleIndexResponse: SCIndexResponse = {
|
||||
},
|
||||
auth: {},
|
||||
backend: {
|
||||
SCVersion: scVersion,
|
||||
SCVersion: environment.sc_version,
|
||||
externalRequestTimeout: 5000,
|
||||
hiddenTypes: [SCThingType.DateSeries, SCThingType.Diff, SCThingType.Floor],
|
||||
mappingIgnoredTags: [],
|
||||
|
||||
@@ -21,10 +21,10 @@ import {Browser} from 'ionic-appauth';
|
||||
import {Requestor, StorageBackend} from '@openid/appauth';
|
||||
import {TranslateService} from '@ngx-translate/core';
|
||||
import {PAIAAuthService} from './paia/paia-auth.service';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger} from 'ngx-logger';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {SimpleBrowser} from '../../util/browser.factory';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
describe('AuthHelperService', () => {
|
||||
let authHelperService: AuthHelperService;
|
||||
@@ -54,11 +54,9 @@ describe('AuthHelperService', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [HttpClientModule, LoggerModule],
|
||||
imports: [HttpClientModule, LoggerTestingModule],
|
||||
providers: [
|
||||
NGXLogger,
|
||||
StAppsWebHttpClient,
|
||||
LoggerConfig,
|
||||
{
|
||||
provide: TranslateService,
|
||||
useValue: translateServiceSpy,
|
||||
|
||||
@@ -19,11 +19,11 @@ import {DefaultAuthService} from './default-auth.service';
|
||||
import {Browser} from 'ionic-appauth';
|
||||
import {nowInSeconds, Requestor, StorageBackend} from '@openid/appauth';
|
||||
import {TranslateService} from '@ngx-translate/core';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger, NgxLoggerLevel} from 'ngx-logger';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {IonicStorage} from 'ionic-appauth/lib';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
describe('AuthService', () => {
|
||||
let defaultAuthService: DefaultAuthService;
|
||||
@@ -35,15 +35,9 @@ describe('AuthService', () => {
|
||||
storageBackendSpy = jasmine.createSpyObj('StorageBackend', ['getItem']);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
HttpClientModule,
|
||||
LoggerModule.forRoot({level: NgxLoggerLevel.TRACE}),
|
||||
RouterModule.forRoot([]),
|
||||
],
|
||||
imports: [HttpClientModule, LoggerTestingModule, RouterModule.forRoot([])],
|
||||
providers: [
|
||||
NGXLogger,
|
||||
StAppsWebHttpClient,
|
||||
LoggerConfig,
|
||||
{
|
||||
provide: TranslateService,
|
||||
useValue: translateServiceSpy,
|
||||
|
||||
@@ -25,8 +25,8 @@ import {DaiaAvailabilityComponent} from './daia-availability.component';
|
||||
import {Observable, of} from 'rxjs';
|
||||
import {StorageProvider} from '../../storage/storage.provider';
|
||||
import {DaiaDataProvider} from '../daia-data.provider';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger} from 'ngx-logger';
|
||||
import {ConfigProvider} from '../../config/config.provider';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
const translations: any = {data: {detail: {TITLE: 'Foo'}}};
|
||||
|
||||
@@ -71,7 +71,7 @@ describe('DaiaAvailabilityComponent', () => {
|
||||
TranslateModule.forRoot({
|
||||
loader: {provide: TranslateLoader, useClass: TranslateFakeLoader},
|
||||
}),
|
||||
LoggerModule,
|
||||
LoggerTestingModule,
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
@@ -86,8 +86,6 @@ describe('DaiaAvailabilityComponent', () => {
|
||||
provide: ConfigProvider,
|
||||
useValue: configProviderMock,
|
||||
},
|
||||
NGXLogger,
|
||||
LoggerConfig,
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
}).compileComponents();
|
||||
|
||||
@@ -19,7 +19,7 @@ import {HebisModule} from './hebis.module';
|
||||
import {ConfigProvider} from '../config/config.provider';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {StorageProvider} from '../storage/storage.provider';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger} from 'ngx-logger';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
import {MapModule} from '../map/map.module';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {StorageModule} from '../storage/storage.module';
|
||||
@@ -49,7 +49,7 @@ describe('DaiaDataProvider', () => {
|
||||
MapModule,
|
||||
HttpClientModule,
|
||||
StorageModule,
|
||||
LoggerModule,
|
||||
LoggerTestingModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {provide: TranslateLoader, useClass: TranslateFakeLoader},
|
||||
}),
|
||||
@@ -61,8 +61,6 @@ describe('DaiaDataProvider', () => {
|
||||
},
|
||||
StAppsWebHttpClient,
|
||||
StorageProvider,
|
||||
NGXLogger,
|
||||
LoggerConfig,
|
||||
DaiaDataProvider,
|
||||
],
|
||||
});
|
||||
|
||||
@@ -18,7 +18,7 @@ import {HttpClientModule} from '@angular/common/http';
|
||||
import {StorageModule} from '../storage/storage.module';
|
||||
import {MapPosition, PositionService} from './position.service';
|
||||
import {ConfigProvider} from '../config/config.provider';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger, NGXMapperService} from 'ngx-logger';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
describe('PositionService', () => {
|
||||
let positionService: PositionService;
|
||||
@@ -37,11 +37,8 @@ describe('PositionService', () => {
|
||||
},
|
||||
});
|
||||
TestBed.configureTestingModule({
|
||||
imports: [MapModule, HttpClientModule, StorageModule, LoggerModule],
|
||||
imports: [MapModule, HttpClientModule, StorageModule, LoggerTestingModule],
|
||||
providers: [
|
||||
LoggerConfig,
|
||||
NGXLogger,
|
||||
NGXMapperService,
|
||||
{
|
||||
provider: ConfigProvider,
|
||||
useValue: configProviderMock,
|
||||
|
||||
@@ -15,14 +15,25 @@
|
||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
||||
import 'zone.js/testing';
|
||||
import {getTestBed} from '@angular/core/testing';
|
||||
import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing';
|
||||
import {
|
||||
BrowserDynamicTestingModule,
|
||||
platformBrowserDynamicTesting,
|
||||
} from '@angular/platform-browser-dynamic/testing';
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
declare const __karma__: any;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
declare const require: any;
|
||||
|
||||
// prevent Karma from runnint prematurely
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
||||
__karma__.loaded = function () {};
|
||||
|
||||
// First, initialize the Angular testing environment.
|
||||
getTestBed().initTestEnvironment(BrowserTestingModule, platformBrowserTesting());
|
||||
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
|
||||
// Then we find all the tests.
|
||||
const context = require.context('./', true, /\.spec\.ts$/);
|
||||
// And load the modules.
|
||||
context.keys().map(context);
|
||||
|
||||
__karma__.start();
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"publish-packages": "pnpm changeset version && pnpm syncpack:fix && pnpm install && git add . && git commit -m \"refactor: update changelog\n\nci: publish release\" && git push && pnpm changeset tag && git push --follow-tags",
|
||||
"syncpack": "syncpack list-mismatches && syncpack lint-semver-ranges --types dev,peer,prod",
|
||||
"syncpack:fix": "syncpack format && syncpack fix-mismatches",
|
||||
"test": "trap 'node coverage.mjs' EXIT && dotenv -c -- turbo run test --filter=!@openstapps/app",
|
||||
"test": "trap 'node coverage.mjs' EXIT && dotenv -c -- turbo run test",
|
||||
"test:integration": "dotenv -c -- turbo run test:integration",
|
||||
"test:integration:app": "dotenv -c -- turbo run test:integration --filter=@openstapps/app",
|
||||
"test:integration:backend": "dotenv -c -- turbo run test:integration --filter=@openstapps/backend",
|
||||
|
||||
89
pnpm-lock.yaml
generated
89
pnpm-lock.yaml
generated
@@ -396,8 +396,6 @@ importers:
|
||||
specifier: 2.8.6
|
||||
version: 2.8.6
|
||||
|
||||
configuration/builder-image: {}
|
||||
|
||||
configuration/eslint-config:
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
@@ -924,6 +922,9 @@ importers:
|
||||
'@angular/language-service':
|
||||
specifier: 13.4.0
|
||||
version: 13.4.0
|
||||
'@angular/platform-browser-dynamic':
|
||||
specifier: 13.3.11
|
||||
version: 13.3.11(@angular/common@13.4.0)(@angular/compiler@13.4.0)(@angular/core@13.4.0)(@angular/platform-browser@13.4.0)
|
||||
'@capacitor/android':
|
||||
specifier: 4.6.1
|
||||
version: 4.6.1(@capacitor/core@4.6.1)
|
||||
@@ -1032,15 +1033,15 @@ importers:
|
||||
karma-chrome-launcher:
|
||||
specifier: 3.1.1
|
||||
version: 3.1.1
|
||||
karma-coverage-istanbul-reporter:
|
||||
specifier: 3.0.3
|
||||
version: 3.0.3
|
||||
karma-coverage:
|
||||
specifier: 2.2.1
|
||||
version: 2.2.1
|
||||
karma-jasmine:
|
||||
specifier: 5.1.0
|
||||
version: 5.1.0(karma@6.4.1)
|
||||
karma-jasmine-html-reporter:
|
||||
specifier: 2.0.0
|
||||
version: 2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.1)
|
||||
karma-junit-reporter:
|
||||
specifier: 2.0.1
|
||||
version: 2.0.1(karma@6.4.1)
|
||||
karma-mocha-reporter:
|
||||
specifier: 2.2.5
|
||||
version: 2.2.5(karma@6.4.1)
|
||||
@@ -2390,7 +2391,6 @@ packages:
|
||||
dependencies:
|
||||
'@angular/core': 13.4.0(rxjs@7.8.0)(zone.js@0.12.0)
|
||||
tslib: 2.4.1
|
||||
dev: false
|
||||
|
||||
/@angular/cdk@13.3.9(@angular/common@13.4.0)(@angular/core@13.4.0)(rxjs@7.8.0):
|
||||
resolution: {integrity: sha512-XCuCbeuxWFyo3EYrgEYx7eHzwl76vaWcxtWXl00ka8d+WAOtMQ6Tf1D98ybYT5uwF9889fFpXAPw98mVnlo3MA==}
|
||||
@@ -2448,7 +2448,6 @@ packages:
|
||||
'@angular/core': 13.4.0(rxjs@7.8.0)(zone.js@0.12.0)
|
||||
rxjs: 7.8.0
|
||||
tslib: 2.4.1
|
||||
dev: false
|
||||
|
||||
/@angular/compiler-cli@13.4.0(@angular/compiler@13.4.0)(typescript@4.6.4):
|
||||
resolution: {integrity: sha512-OQD0w9aZXbpcyWDEaozoHH/n3eYDLhBsmJcIBVqUN8Awx8m17v2u2R6m7DIEpVRbBzYtTscAMTKONNVwsTolHA==}
|
||||
@@ -2513,6 +2512,22 @@ packages:
|
||||
engines: {node: ^12.20.0 || ^14.15.0 || >=16.10.0}
|
||||
dev: true
|
||||
|
||||
/@angular/platform-browser-dynamic@13.3.11(@angular/common@13.4.0)(@angular/compiler@13.4.0)(@angular/core@13.4.0)(@angular/platform-browser@13.4.0):
|
||||
resolution: {integrity: sha512-xM0VRC1Nw//SHO3gkghUHyjCaaQbk1UYMq4vIu3iKVq9KLqOSZgccv0NcOKHzXXN3S5RgX2auuyOUOCD6ny1Pg==}
|
||||
engines: {node: ^12.20.0 || ^14.15.0 || >=16.10.0}
|
||||
peerDependencies:
|
||||
'@angular/common': 13.3.11
|
||||
'@angular/compiler': 13.3.11
|
||||
'@angular/core': 13.3.11
|
||||
'@angular/platform-browser': 13.3.11
|
||||
dependencies:
|
||||
'@angular/common': 13.4.0(@angular/core@13.4.0)(rxjs@7.8.0)
|
||||
'@angular/compiler': 13.4.0
|
||||
'@angular/core': 13.4.0(rxjs@7.8.0)(zone.js@0.12.0)
|
||||
'@angular/platform-browser': 13.4.0(@angular/animations@13.4.0)(@angular/common@13.4.0)(@angular/core@13.4.0)
|
||||
tslib: 2.4.1
|
||||
dev: true
|
||||
|
||||
/@angular/platform-browser@13.4.0(@angular/animations@13.4.0)(@angular/common@13.4.0)(@angular/core@13.4.0):
|
||||
resolution: {integrity: sha512-kq4TpdkSS0Z/7ToFzWhyBbh4Ai1uOKFVdL9/TAm19dLnYNIInrN3KYW6GRxZ+pkJJA9Vkq4NtgcxysQ42VFotA==}
|
||||
engines: {node: ^12.20.0 || ^14.15.0 || >=16.10.0}
|
||||
@@ -2528,7 +2543,6 @@ packages:
|
||||
'@angular/common': 13.4.0(@angular/core@13.4.0)(rxjs@7.8.0)
|
||||
'@angular/core': 13.4.0(rxjs@7.8.0)(zone.js@0.12.0)
|
||||
tslib: 2.4.1
|
||||
dev: false
|
||||
|
||||
/@angular/router@13.4.0(@angular/common@13.4.0)(@angular/core@13.4.0)(@angular/platform-browser@13.4.0)(rxjs@7.8.0):
|
||||
resolution: {integrity: sha512-YlPAf3tPqD04rAMPAwW+XqFQaBXT9fY2Mh7J/9MXeyLZau59afBIcVNbeQxW5RxDajmfyFy437Qh22qFP2l0Hw==}
|
||||
@@ -12854,11 +12868,6 @@ packages:
|
||||
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
|
||||
dev: true
|
||||
|
||||
/istanbul-lib-coverage@2.0.5:
|
||||
resolution: {integrity: sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/istanbul-lib-coverage@3.2.0:
|
||||
resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -12886,14 +12895,12 @@ packages:
|
||||
supports-color: 7.2.0
|
||||
dev: true
|
||||
|
||||
/istanbul-lib-source-maps@3.0.6:
|
||||
resolution: {integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==}
|
||||
engines: {node: '>=6'}
|
||||
/istanbul-lib-source-maps@4.0.1:
|
||||
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
istanbul-lib-coverage: 2.0.5
|
||||
make-dir: 2.1.0
|
||||
rimraf: 2.7.1
|
||||
istanbul-lib-coverage: 3.2.0
|
||||
source-map: 0.6.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -13171,30 +13178,20 @@ packages:
|
||||
which: 1.3.1
|
||||
dev: true
|
||||
|
||||
/karma-coverage-istanbul-reporter@3.0.3:
|
||||
resolution: {integrity: sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==}
|
||||
/karma-coverage@2.2.1:
|
||||
resolution: {integrity: sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
dependencies:
|
||||
istanbul-lib-coverage: 3.2.0
|
||||
istanbul-lib-instrument: 5.2.1
|
||||
istanbul-lib-report: 3.0.0
|
||||
istanbul-lib-source-maps: 3.0.6
|
||||
istanbul-lib-source-maps: 4.0.1
|
||||
istanbul-reports: 3.1.5
|
||||
minimatch: 3.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/karma-jasmine-html-reporter@2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.1):
|
||||
resolution: {integrity: sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==}
|
||||
peerDependencies:
|
||||
jasmine-core: ^4.0.0
|
||||
karma: ^6.0.0
|
||||
karma-jasmine: ^5.0.0
|
||||
dependencies:
|
||||
jasmine-core: 4.5.0
|
||||
karma: 6.4.1
|
||||
karma-jasmine: 5.1.0(karma@6.4.1)
|
||||
dev: true
|
||||
|
||||
/karma-jasmine@5.1.0(karma@6.4.1):
|
||||
resolution: {integrity: sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==}
|
||||
engines: {node: '>=12'}
|
||||
@@ -13205,6 +13202,17 @@ packages:
|
||||
karma: 6.4.1
|
||||
dev: true
|
||||
|
||||
/karma-junit-reporter@2.0.1(karma@6.4.1):
|
||||
resolution: {integrity: sha512-VtcGfE0JE4OE1wn0LK8xxDKaTP7slN8DO3I+4xg6gAi1IoAHAXOJ1V9G/y45Xg6sxdxPOR3THCFtDlAfBo9Afw==}
|
||||
engines: {node: '>= 8'}
|
||||
peerDependencies:
|
||||
karma: '>=0.9'
|
||||
dependencies:
|
||||
karma: 6.4.1
|
||||
path-is-absolute: 1.0.1
|
||||
xmlbuilder: 12.0.0
|
||||
dev: true
|
||||
|
||||
/karma-mocha-reporter@2.2.5(karma@6.4.1):
|
||||
resolution: {integrity: sha512-Hr6nhkIp0GIJJrvzY8JFeHpQZNseuIakGac4bpw8K1+5F0tLb6l7uvXRa8mt2Z+NVwYgCct4QAfp2R2QP6o00w==}
|
||||
peerDependencies:
|
||||
@@ -13725,10 +13733,12 @@ packages:
|
||||
/make-dir@2.1.0:
|
||||
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
|
||||
engines: {node: '>=6'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
pify: 4.0.1
|
||||
semver: 5.7.1
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/make-dir@3.1.0:
|
||||
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
|
||||
@@ -18958,6 +18968,11 @@ packages:
|
||||
engines: {node: '>=4.0'}
|
||||
dev: true
|
||||
|
||||
/xmlbuilder@12.0.0:
|
||||
resolution: {integrity: sha512-lMo8DJ8u6JRWp0/Y4XLa/atVDr75H9litKlb2E5j3V3MesoL50EBgZDWoLT3F/LztVnG67GjPXLZpqcky/UMnQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
dev: true
|
||||
|
||||
/xmlbuilder@15.1.1:
|
||||
resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
|
||||
engines: {node: '>=8.0'}
|
||||
|
||||
Reference in New Issue
Block a user