@deltares/fews-web-oc-utils 0.2.1-alpha.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,23 +4,33 @@
4
4
  ```
5
5
  npm install
6
6
  ```
7
-
8
- ### Compiles and hot-reloads for development
9
- ```
10
- npm run serve
11
- ```
12
-
13
7
  ### Compiles and minifies for production
14
8
  ```
15
9
  npm run build
16
10
  ```
17
-
11
+ Build only esm bundle
12
+ ```
13
+ npm run build:esm
14
+ ```
15
+ Build only cjs bundle
16
+ ```
17
+ npm run build:cjs
18
+ ```
18
19
  ### Lints and fixes files
19
20
  ```
20
21
  npm run lint
21
22
  ```
22
23
 
23
- ### Run Unit tests
24
+ ### Run tests
25
+ Get the coverage report
24
26
  ```
25
27
  npm run test
26
28
  ```
29
+ Run only unit tests
30
+ ```
31
+ npm run test:unit
32
+ ```
33
+ Run only e2e tests
34
+ ```
35
+ npm run test:e2e
36
+ ```
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["fews-web-oc-utils"]=t():e["fews-web-oc-utils"]=t()}(self,(function(){return(()=>{"use strict";var e={d:(t,r)=>{for(var s in r)e.o(r,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DefaultParser:()=>r,PiRestService:()=>o,RequestOptions:()=>s});class r{async parse(e){return await e.json()}}class s{_mode="cors";_relativeUrl=!0;get relativeUrl(){return this._relativeUrl}set relativeUrl(e){this._relativeUrl=e}get mode(){return this._mode}set mode(e){this._mode=e}}class o{webserviceUrl;transformRequest;constructor(e,t){if(this.webserviceUrl=e,void 0!==t)this.transformRequest=t;else{async function r(e){return e}this.transformRequest=r}}async getDataWithParser(e,t,r){const s=t.relativeUrl?this.webserviceUrl+e:e,o=new Request(s,{method:"GET"}),a=await fetch(await this.transformRequest(o));return await this.processResponse({},a,s,r)}async getData(e){const t=new s;return t.relativeUrl=!e.startsWith("http"),this.getDataWithParser(e,t,new r)}async processResponse(e,t,r,s){if(e.responseCode=t.status,200!=t.status)return e.errorMessage=t.statusText,e;try{e.data=await s.parse(t)}catch(e){throw e.message+=`\n When loading ${r}.`,e}return e}}return t})()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["fews-web-oc-utils"]=t():e["fews-web-oc-utils"]=t()}(self,(()=>(()=>{"use strict";var e={d:(t,s)=>{for(var r in s)e.o(s,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:s[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DefaultParser:()=>r,PiRestService:()=>a,PlainTextParser:()=>o,RequestOptions:()=>s});class s{_mode="cors";_relativeUrl=!0;get relativeUrl(){return this._relativeUrl}set relativeUrl(e){this._relativeUrl=e}get mode(){return this._mode}set mode(e){this._mode=e}}class r{async parse(e){return await e.json()}}class a{webserviceUrl;transformRequest;constructor(e,t){if(this.webserviceUrl=e,void 0!==t)this.transformRequest=t;else{async function s(e){return e}this.transformRequest=s}}async getDataWithParser(e,t,s){const r=t.relativeUrl?this.webserviceUrl+e:e,a=new Request(r,{method:"GET"}),o=await fetch(await this.transformRequest(a));return await this.processResponse({},o,r,s)}async postDataWithParser(e,t,s,r,a){const o=t.relativeUrl?this.webserviceUrl+e:e,n={method:"POST"};n.body=r,n.headers=a;const i=new Request(o,n),c=await fetch(await this.transformRequest(i));return await this.processResponse({},c,o,s)}async getData(e){const t=new s;return t.relativeUrl=!e.startsWith("http"),this.getDataWithParser(e,t,new r)}async postData(e,t,a={"Content-Type":"application/json"}){const o=new s;return o.relativeUrl=!e.startsWith("http"),this.postDataWithParser(e,o,new r,t,a)}async processResponse(e,t,s,r){if(e.responseCode=t.status,e.contentType=t.headers.get("content-type"),200!=t.status)return e.errorMessage=t.statusText,e;try{e.data=await r.parse(t)}catch(e){throw e.message+=`\n When loading ${s}.`,e}return e}}class o{async parse(e){return await e.text()}}return t})()));
@@ -2,5 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./defaultParser.js"), exports);
5
+ tslib_1.__exportStar(require("./plainTextParser.js"), exports);
5
6
  tslib_1.__exportStar(require("./responseParser.js"), exports);
7
+ tslib_1.__exportStar(require("./plainTextParser.js"), exports);
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,8DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,+DAAoC;AACpC,8DAAmC;AACnC,+DAAoC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlainTextParser = void 0;
4
+ class PlainTextParser {
5
+ async parse(response) {
6
+ const text = await response.text();
7
+ return text;
8
+ }
9
+ }
10
+ exports.PlainTextParser = PlainTextParser;
11
+ //# sourceMappingURL=plainTextParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plainTextParser.js","sourceRoot":"","sources":["../../../src/parser/plainTextParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IACxB,KAAK,CAAC,KAAK,CAAC,QAAkB;QAC1B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,IAAa,CAAC;IACzB,CAAC;CACJ;AALD,0CAKC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PiRestService = void 0;
4
- const defaultParser_js_1 = require("../parser/defaultParser.js");
5
4
  const requestOptions_js_1 = require("./requestOptions.js");
5
+ const defaultParser_js_1 = require("../parser/defaultParser.js");
6
6
  class PiRestService {
7
7
  webserviceUrl;
8
8
  transformRequest;
@@ -27,13 +27,30 @@ class PiRestService {
27
27
  const res = await fetch(await this.transformRequest(request));
28
28
  return await this.processResponse(dataRequestResult, res, requestUrl, parser);
29
29
  }
30
+ async postDataWithParser(url, requestOption, parser, body, headers) {
31
+ const requestUrl = requestOption.relativeUrl ? this.webserviceUrl + url : url;
32
+ const dataRequestResult = {};
33
+ const requestParameters = {};
34
+ requestParameters.method = "POST";
35
+ requestParameters.body = body;
36
+ requestParameters.headers = headers;
37
+ const request = new Request(requestUrl, requestParameters);
38
+ const res = await fetch(await this.transformRequest(request));
39
+ return await this.processResponse(dataRequestResult, res, requestUrl, parser);
40
+ }
30
41
  async getData(url) {
31
42
  const requestOption = new requestOptions_js_1.RequestOptions();
32
43
  requestOption.relativeUrl = !url.startsWith("http");
33
44
  return this.getDataWithParser(url, requestOption, new defaultParser_js_1.DefaultParser());
34
45
  }
46
+ async postData(url, body, headers = { "Content-Type": "application/json" }) {
47
+ const requestOption = new requestOptions_js_1.RequestOptions();
48
+ requestOption.relativeUrl = !url.startsWith("http");
49
+ return this.postDataWithParser(url, requestOption, new defaultParser_js_1.DefaultParser(), body, headers);
50
+ }
35
51
  async processResponse(dataRequestResult, res, url, parser) {
36
52
  dataRequestResult.responseCode = res.status;
53
+ dataRequestResult.contentType = res.headers.get('content-type');
37
54
  if (res.status != 200) {
38
55
  dataRequestResult.errorMessage = res.statusText;
39
56
  return dataRequestResult;
@@ -1 +1 @@
1
- {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":";;;AAEA,iEAAyD;AACzD,2DAAmD;AAMnD,MAAa,aAAa;IACL,aAAa,CAAS;IAC/B,gBAAgB,CAA2B;IAEnD,YAAY,aAAqB,EAAE,kBAA6C;QAC5E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;aAAM;YACH,KAAK,UAAU,kBAAkB,CAAC,OAAgB;gBAC9C,OAAO,OAAO,CAAA;YAClB,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAI,GAAW,EAAE,aAA6B,EAAE,MAAyB;QACnG,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAiB,CAAC;QAC5C,iBAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,GAAW;QAC/B,MAAM,aAAa,GAAG,IAAI,kCAAc,EAAE,CAAA;QAC1C,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,gCAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAI,iBAAuC,EAAE,GAAa,EAAE,GAAW,EAAE,MAAyB;QAC3H,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACnB,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;YAChD,OAAO,iBAAiB,CAAC;SAC5B;QACD,IAAI;YACA,iBAAiB,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpD;QAAC,OAAO,CAAM,EAAE;YACb,CAAC,CAAC,OAAO,IAAI,mBAAmB,GAAG,GAAG,CAAA;YACtC,MAAM,CAAC,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC;IAC7B,CAAC;CACJ;AA9CD,sCA8CC"}
1
+ {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export * from './defaultParser.js';
2
+ export * from './plainTextParser.js';
2
3
  export * from './responseParser.js';
4
+ export * from './plainTextParser.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,7 @@
1
+ export class PlainTextParser {
2
+ async parse(response) {
3
+ const text = await response.text();
4
+ return text;
5
+ }
6
+ }
7
+ //# sourceMappingURL=plainTextParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plainTextParser.js","sourceRoot":"","sources":["../../../src/parser/plainTextParser.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IACxB,KAAK,CAAC,KAAK,CAAC,QAAkB;QAC1B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,IAAa,CAAC;IACzB,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
- import { DefaultParser } from "../parser/defaultParser.js";
2
1
  import { RequestOptions } from "./requestOptions.js";
2
+ import { DefaultParser } from "../parser/defaultParser.js";
3
3
  export class PiRestService {
4
4
  webserviceUrl;
5
5
  transformRequest;
@@ -24,13 +24,30 @@ export class PiRestService {
24
24
  const res = await fetch(await this.transformRequest(request));
25
25
  return await this.processResponse(dataRequestResult, res, requestUrl, parser);
26
26
  }
27
+ async postDataWithParser(url, requestOption, parser, body, headers) {
28
+ const requestUrl = requestOption.relativeUrl ? this.webserviceUrl + url : url;
29
+ const dataRequestResult = {};
30
+ const requestParameters = {};
31
+ requestParameters.method = "POST";
32
+ requestParameters.body = body;
33
+ requestParameters.headers = headers;
34
+ const request = new Request(requestUrl, requestParameters);
35
+ const res = await fetch(await this.transformRequest(request));
36
+ return await this.processResponse(dataRequestResult, res, requestUrl, parser);
37
+ }
27
38
  async getData(url) {
28
39
  const requestOption = new RequestOptions();
29
40
  requestOption.relativeUrl = !url.startsWith("http");
30
41
  return this.getDataWithParser(url, requestOption, new DefaultParser());
31
42
  }
43
+ async postData(url, body, headers = { "Content-Type": "application/json" }) {
44
+ const requestOption = new RequestOptions();
45
+ requestOption.relativeUrl = !url.startsWith("http");
46
+ return this.postDataWithParser(url, requestOption, new DefaultParser(), body, headers);
47
+ }
32
48
  async processResponse(dataRequestResult, res, url, parser) {
33
49
  dataRequestResult.responseCode = res.status;
50
+ dataRequestResult.contentType = res.headers.get('content-type');
34
51
  if (res.status != 200) {
35
52
  dataRequestResult.errorMessage = res.statusText;
36
53
  return dataRequestResult;
@@ -1 +1 @@
1
- {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAMnD,MAAM,OAAO,aAAa;IACL,aAAa,CAAS;IAC/B,gBAAgB,CAA2B;IAEnD,YAAY,aAAqB,EAAE,kBAA6C;QAC5E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;aAAM;YACH,KAAK,UAAU,kBAAkB,CAAC,OAAgB;gBAC9C,OAAO,OAAO,CAAA;YAClB,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;SAC7C;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAI,GAAW,EAAE,aAA6B,EAAE,MAAyB;QACnG,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,MAAM,iBAAiB,GAAG,EAA0B,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAiB,CAAC;QAC5C,iBAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,GAAW;QAC/B,MAAM,aAAa,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAI,iBAAuC,EAAE,GAAa,EAAE,GAAW,EAAE,MAAyB;QAC3H,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACnB,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;YAChD,OAAO,iBAAiB,CAAC;SAC5B;QACD,IAAI;YACA,iBAAiB,CAAC,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpD;QAAC,OAAO,CAAM,EAAE;YACb,CAAC,CAAC,OAAO,IAAI,mBAAmB,GAAG,GAAG,CAAA;YACtC,MAAM,CAAC,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC;IAC7B,CAAC;CACJ"}
1
+ {"version":3,"file":"piRestService.js","sourceRoot":"","sources":["../../../src/restservice/piRestService.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export * from './defaultParser.js';
2
+ export * from './plainTextParser.js';
2
3
  export * from './responseParser.js';
4
+ export * from './plainTextParser.js';
@@ -0,0 +1,4 @@
1
+ import { ResponseParser } from "../parser/responseParser.js";
2
+ export declare class PlainTextParser<T> implements ResponseParser<T> {
3
+ parse(response: Response): Promise<T>;
4
+ }
@@ -1,5 +1,6 @@
1
1
  export default interface DataRequestResult<T> {
2
2
  responseCode: number;
3
+ contentType: string | null;
3
4
  errorMessage: string;
4
5
  data: T;
5
6
  }
@@ -1,6 +1,6 @@
1
1
  import DataRequestResult from "./dataRequestResult.js";
2
- import { ResponseParser } from "../parser/responseParser.js";
3
2
  import { RequestOptions } from "./requestOptions.js";
3
+ import { ResponseParser } from "../parser/responseParser.js";
4
4
  export interface TransformRequestFunction {
5
5
  (request: Request): Promise<Request>;
6
6
  }
@@ -9,6 +9,8 @@ export declare class PiRestService {
9
9
  private transformRequest;
10
10
  constructor(webserviceUrl: string, transformRequestFn?: TransformRequestFunction);
11
11
  getDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>): Promise<DataRequestResult<T>>;
12
+ postDataWithParser<T>(url: string, requestOption: RequestOptions, parser: ResponseParser<T>, body: any, headers: HeadersInit): Promise<DataRequestResult<T>>;
12
13
  getData<T>(url: string): Promise<DataRequestResult<T>>;
14
+ postData<T>(url: string, body: any, headers?: HeadersInit): Promise<DataRequestResult<T>>;
13
15
  private processResponse;
14
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deltares/fews-web-oc-utils",
3
- "version": "0.2.1-alpha.0",
3
+ "version": "1.0.0",
4
4
  "description": "Util Library for common Web OC functionality",
5
5
  "author": {
6
6
  "name": "Werner Kramer",
@@ -32,29 +32,31 @@
32
32
  "lint:fix": "eslint src/**.ts --fix",
33
33
  "test:unit": "jest unit --collect-coverage",
34
34
  "test:e2e": "jest e2e",
35
- "test": "jest --coverage"
35
+ "test": "jest --coverage",
36
+ "sonar": "sonar-scanner -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_TOKEN -Dsonar.projectKey=$SONAR_KEY -Dsonar.projectName='Delft-FEWS Web OC Utils'"
36
37
  },
37
38
  "devDependencies": {
38
- "@types/jest": "^28.0.0",
39
- "@types/jsdom": "^16.2.14",
39
+ "@types/jest": "^29.5.0",
40
+ "@types/jsdom": "^21.1.1",
40
41
  "@typescript-eslint/eslint-plugin": "^2.18.0",
41
42
  "@typescript-eslint/parser": "^2.18.0",
42
43
  "cross-fetch": "^3.1.5",
43
44
  "dotenv": "^16.0.0",
44
45
  "eslint": "^6.8.0",
45
46
  "fetch-mock": "^9.11.0",
46
- "jest": "^28.0.1",
47
- "jest-environment-jsdom": "^29.0.1",
47
+ "jest": "^29.5.0",
48
+ "jest-environment-jsdom": "^29.5.0",
48
49
  "jest-junit": "^15.0.0",
49
50
  "jest-teamcity-reporter": "^0.9.0",
50
- "jsdom": "^19.0.0",
51
+ "jsdom": "^21.1.1",
51
52
  "shx": "^0.3.2",
52
- "ts-jest": "^28.0.8",
53
+ "sonarqube-scanner": "^3.0.1",
54
+ "ts-jest": "^29.1.0",
53
55
  "ts-loader": "^9.3.1",
54
56
  "typedoc": "^0.23.13",
55
57
  "typescript": "^4.8.2",
56
- "webpack": "^5.59.0",
57
- "webpack-cli": "^4.9.1"
58
+ "webpack": "^5.79.0",
59
+ "webpack-cli": "^5.0.1"
58
60
  },
59
61
  "jest-junit": {
60
62
  "outputDirectory": "reports/",