From 4a7c1e06880e2f6b44fe6c04acf6f18224663cfa Mon Sep 17 00:00:00 2001 From: Jon Koops Date: Mon, 11 Jul 2022 15:37:58 +0200 Subject: [PATCH] Distribute code with ES module syntax (#381) --- .mocharc.json | 5 + package-lock.json | 1252 +++++++++-------- package.json | 28 +- src/client.ts | 49 +- src/defs/accessTokenRepresentation.ts | 9 +- src/defs/adminEventRepresentation.ts | 2 +- src/defs/authenticationFlowRepresentation.ts | 3 +- src/defs/clientPoliciesRepresentation.ts | 2 +- src/defs/clientPolicyRepresentation.ts | 2 +- src/defs/clientProfileRepresentation.ts | 2 +- src/defs/clientProfilesRepresentation.ts | 2 +- src/defs/clientRepresentation.ts | 4 +- src/defs/clientScopeRepresentation.ts | 2 +- src/defs/componentTypeRepresentation.ts | 2 +- src/defs/evaluationResultRepresentation.ts | 8 +- src/defs/eventRepresentation.ts | 2 +- ...dentityProviderMapperTypeRepresentation.ts | 2 +- src/defs/mappingsRepresentation.ts | 2 +- src/defs/policyEvaluationResponse.ts | 6 +- src/defs/policyResultRepresentation.ts | 4 +- src/defs/realmRepresentation.ts | 20 +- src/defs/resourceEvaluation.ts | 2 +- src/defs/resourceRepresentation.ts | 4 +- src/defs/resourceServerRepresentation.ts | 6 +- src/defs/rolesRepresentation.ts | 2 +- src/defs/scopeRepresentation.ts | 4 +- src/defs/serverInfoRepesentation.ts | 12 +- src/defs/userRepresentation.ts | 8 +- src/index.ts | 4 +- src/resources/agent.ts | 12 +- src/resources/attackDetection.ts | 4 +- src/resources/authenticationManagement.ts | 19 +- src/resources/cache.ts | 4 +- src/resources/clientPolicies.ts | 9 +- src/resources/clientScopes.ts | 12 +- src/resources/clients.ts | 42 +- src/resources/components.ts | 8 +- src/resources/groups.ts | 17 +- src/resources/identityProviders.ts | 12 +- src/resources/realms.ts | 33 +- src/resources/resource.ts | 4 +- src/resources/roles.ts | 10 +- src/resources/serverInfo.ts | 6 +- src/resources/sessions.ts | 4 +- src/resources/userStorageProvider.ts | 6 +- src/resources/users.ts | 27 +- src/resources/whoAmI.ts | 6 +- src/utils/auth.ts | 4 +- test/attackDetection.spec.ts | 9 +- test/auth.spec.ts | 4 +- test/authenticationManagement.spec.ts | 9 +- test/clientPolicies.spec.ts | 4 +- test/clientScopes.spec.ts | 10 +- test/clients.spec.ts | 22 +- test/components.spec.ts | 9 +- test/constants.ts | 2 +- test/crossRealm.spec.ts | 7 +- test/groupUser.spec.ts | 17 +- test/groups.spec.ts | 12 +- test/idp.spec.ts | 7 +- test/realms.spec.ts | 11 +- test/roles.spec.ts | 8 +- test/serverInfo.spec.ts | 4 +- test/sessions.spec.ts | 4 +- test/userStorageProvider.spec.ts | 9 +- test/users.spec.ts | 20 +- test/whoAmI.spec.ts | 4 +- tsconfig.json | 19 +- tsconfig.release.json | 9 - tsconfig.test.json | 7 + 70 files changed, 1008 insertions(+), 888 deletions(-) create mode 100644 .mocharc.json delete mode 100644 tsconfig.release.json create mode 100644 tsconfig.test.json diff --git a/.mocharc.json b/.mocharc.json new file mode 100644 index 00000000..4e7c141a --- /dev/null +++ b/.mocharc.json @@ -0,0 +1,5 @@ +{ + "node-option": [ + "loader=ts-node/esm" + ] +} diff --git a/package-lock.json b/package-lock.json index 8f993e9f..e9e5d419 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,21 +10,19 @@ "license": "Apache-2.0", "dependencies": { "axios": "^0.27.2", - "camelize-ts": "^1.0.8", + "camelize-ts": "^2.1.1", "keycloak-js": "^18.0.0", - "lodash": "^4.17.21", + "lodash-es": "^4.17.21", "query-string": "^7.0.1", - "url-join": "^4.0.0", - "url-template": "^2.0.8" + "url-join": "^5.0.0", + "url-template": "^3.0.0" }, "devDependencies": { "@faker-js/faker": "^7.1.0", "@types/chai": "^4.2.14", - "@types/lodash": "^4.14.165", + "@types/lodash-es": "^4.17.5", "@types/mocha": "^9.0.0", - "@types/node": "^18.0.0", - "@types/url-join": "^4.0.0", - "@types/url-template": "^2.0.28", + "@types/node": "^18.0.3", "chai": "^4.1.2", "mocha": "^10.0.0", "nyc": "^15.1.0", @@ -32,62 +30,66 @@ "rimraf": "^3.0.2", "ts-node": "^10.2.1", "tslint": "^6.1.3", - "typescript": "^4.0.5" + "typescript": "^4.7.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", - "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.7", - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.8", - "@babel/parser": "^7.17.8", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.1", "semver": "^6.3.0" }, "engines": { @@ -99,28 +101,42 @@ } }, "node_modules/@babel/generator": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", - "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "version": "7.18.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", + "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", "dev": true, "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.18.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz", + "integrity": "sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", "semver": "^6.3.0" }, "engines": { @@ -131,149 +147,133 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz", + "integrity": "sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz", + "integrity": "sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz", + "integrity": "sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@babel/types": "^7.18.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, "dependencies": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", - "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.6.tgz", + "integrity": "sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -319,13 +319,13 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -334,7 +334,7 @@ "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -353,9 +353,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", - "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.8.tgz", + "integrity": "sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -365,33 +365,33 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", + "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.8.tgz", + "integrity": "sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-function-name": "^7.18.6", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.8", + "@babel/types": "^7.18.8", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -400,12 +400,12 @@ } }, "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.8.tgz", + "integrity": "sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" }, "engines": { @@ -424,6 +424,16 @@ "node": ">=12" } }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@faker-js/faker": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.3.0.tgz", @@ -533,25 +543,47 @@ "node": ">=8" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -559,27 +591,27 @@ } }, "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", "dev": true }, "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, "node_modules/@types/chai": { @@ -594,6 +626,15 @@ "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", "dev": true }, + "node_modules/@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "dev": true, + "dependencies": { + "@types/lodash": "*" + } + }, "node_modules/@types/mocha": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", @@ -601,21 +642,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.1.tgz", - "integrity": "sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg==", - "dev": true - }, - "node_modules/@types/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-wDXw9LEEUHyV+7UWy7U315nrJGJ7p1BzaCxDpEoLr789Dk1WDVMMlf3iBfbG2F8NdWnYyFbtTxUn2ZNbm1Q4LQ==", - "dev": true - }, - "node_modules/@types/url-template": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/@types/url-template/-/url-template-2.0.28.tgz", - "integrity": "sha512-1i/YtOhvlWDbMDTWhCfvhyUwBS9vNFs78sJOyahoruJCcDbwaSH73AlnuCp7luKPm6qqdCg4VKq/IHUncl6gZA==", + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.3.tgz", + "integrity": "sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==", "dev": true }, "node_modules/@ungap/promise-all-settled": { @@ -625,9 +654,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -719,7 +748,7 @@ "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, "node_modules/arg": { @@ -746,7 +775,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { "version": "0.27.2", @@ -792,13 +821,12 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -820,9 +848,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", + "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", "dev": true, "funding": [ { @@ -835,11 +863,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", - "escalade": "^3.1.1", - "node-releases": "^2.0.2", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001359", + "electron-to-chromium": "^1.4.172", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.4" }, "bin": { "browserslist": "cli.js" @@ -851,7 +878,7 @@ "node_modules/builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -882,14 +909,17 @@ } }, "node_modules/camelize-ts": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/camelize-ts/-/camelize-ts-1.0.9.tgz", - "integrity": "sha512-ePOW3V2qrQ0qtRlcTM6Qe3nXremdydIwsMKI1Vl2NBGM0tOo8n2xzJ7YOQpV1GIKHhs3p+F40ThI8/DoYWbYKQ==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelize-ts/-/camelize-ts-2.1.1.tgz", + "integrity": "sha512-PhU5pNZvg4lRTXYHYzCvq3stESnsYcBBjqG9HIEAb+HjVAnZ1aU+N3mgU+7wvKpOQSRx4AxEHAtAAyEjS7U0aw==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } }, "node_modules/caniuse-lite": { - "version": "1.0.30001319", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz", - "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==", + "version": "1.0.30001364", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001364.tgz", + "integrity": "sha512-9O0xzV3wVyX0SlegIQ6knz+okhBB5pE0PC40MNdwcipjwpxoUEHL24uJ+gG42cgklPjfO5ZjZPme9FTSN3QT2Q==", "dev": true, "funding": [ { @@ -951,7 +981,7 @@ "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true, "engines": { "node": "*" @@ -1042,13 +1072,13 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "node_modules/convert-source-map": { @@ -1106,7 +1136,7 @@ "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1115,7 +1145,7 @@ "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "engines": { "node": ">=0.10" } @@ -1147,7 +1177,7 @@ "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } @@ -1162,9 +1192,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.90", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.90.tgz", - "integrity": "sha512-ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==", + "version": "1.4.185", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.185.tgz", + "integrity": "sha512-9kV/isoOGpKkBt04yYNaSWIBn3187Q5VZRtoReq8oz5NY/A4XmU6cAoqgQlDp7kKJCZMRjWZ8nsQyxfpFHvfyw==", "dev": true }, "node_modules/emoji-regex": { @@ -1228,7 +1258,7 @@ "node_modules/filter-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", "engines": { "node": ">=0.10.0" } @@ -1276,9 +1306,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "funding": [ { "type": "individual", @@ -1343,7 +1373,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "node_modules/fsevents": { @@ -1387,7 +1417,7 @@ "node_modules/get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true, "engines": { "node": "*" @@ -1434,6 +1464,16 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/glob/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1456,9 +1496,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "node_modules/has": { @@ -1516,7 +1556,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -1534,7 +1574,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { "once": "^1.3.0", @@ -1560,9 +1600,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -1574,7 +1614,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1634,7 +1674,7 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "node_modules/is-unicode-supported": { @@ -1661,7 +1701,7 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "node_modules/istanbul-lib-coverage": { @@ -1701,18 +1741,17 @@ } }, "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, "dependencies": { "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", "p-map": "^3.0.0", "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "uuid": "^8.3.2" }, "engines": { "node": ">=8" @@ -1758,15 +1797,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/istanbul-reports": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", @@ -1851,15 +1881,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { + "node_modules/lodash-es": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", "dev": true }, "node_modules/log-symbols": { @@ -1939,15 +1969,6 @@ "node": ">=10" } }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", @@ -2038,9 +2059,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, "node_modules/normalize-path": { @@ -2214,7 +2235,7 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { "wrappy": "1" @@ -2298,7 +2319,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2478,7 +2499,7 @@ "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, "dependencies": { "es6-error": "^4.0.1" @@ -2490,7 +2511,7 @@ "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2503,12 +2524,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -2570,7 +2591,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "node_modules/shebang-command": { @@ -2601,9 +2622,9 @@ "dev": true }, "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2637,13 +2658,13 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", "engines": { "node": ">=4" } @@ -2736,6 +2757,16 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/test-exclude/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2751,7 +2782,7 @@ "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { "node": ">=4" @@ -2879,6 +2910,16 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/tslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/tslint/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2905,7 +2946,7 @@ "node_modules/tslint/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/tslint/node_modules/diff": { @@ -2920,7 +2961,7 @@ "node_modules/tslint/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -2929,7 +2970,7 @@ "node_modules/tslint/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -3033,24 +3074,55 @@ "node": ">=4.2.0" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", + "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } }, "node_modules/url-template": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", - "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-3.0.0.tgz", + "integrity": "sha512-S6P5TcJ8GrGG+yzMZ8ojdtiGtQmQG+UOMelhE3X5uQrEEoq69aDQ05eASPQGj+CjsPVfumWKbH2HrjME46sk0g==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } }, "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache-lib": { @@ -3077,7 +3149,7 @@ "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, "node_modules/workerpool": { @@ -3106,7 +3178,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "node_modules/write-file-atomic": { @@ -3220,186 +3292,187 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", - "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", "dev": true }, "@babel/core": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", - "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.7", - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.8", - "@babel/parser": "^7.17.8", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.1", "semver": "^6.3.0" } }, "@babel/generator": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", - "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "version": "7.18.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", + "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", "dev": true, "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.18.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, "@babel/helper-compilation-targets": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", - "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz", + "integrity": "sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", "semver": "^6.3.0" } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz", + "integrity": "sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==", + "dev": true }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz", + "integrity": "sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz", + "integrity": "sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@babel/types": "^7.18.8" } }, "@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, "requires": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.18.6" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true }, "@babel/helpers": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", - "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.6.tgz", + "integrity": "sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -3436,19 +3509,19 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { @@ -3463,47 +3536,47 @@ } }, "@babel/parser": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", - "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.8.tgz", + "integrity": "sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==", "dev": true }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", + "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6" } }, "@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.8.tgz", + "integrity": "sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-function-name": "^7.18.6", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.8", + "@babel/types": "^7.18.8", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.8.tgz", + "integrity": "sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" } }, @@ -3514,6 +3587,18 @@ "dev": true, "requires": { "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } } }, "@faker-js/faker": { @@ -3599,22 +3684,38 @@ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -3622,27 +3723,27 @@ } }, "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", "dev": true }, "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, "@types/chai": { @@ -3657,6 +3758,15 @@ "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", "dev": true }, + "@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "dev": true, + "requires": { + "@types/lodash": "*" + } + }, "@types/mocha": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", @@ -3664,21 +3774,9 @@ "dev": true }, "@types/node": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.1.tgz", - "integrity": "sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg==", - "dev": true - }, - "@types/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-wDXw9LEEUHyV+7UWy7U315nrJGJ7p1BzaCxDpEoLr789Dk1WDVMMlf3iBfbG2F8NdWnYyFbtTxUn2ZNbm1Q4LQ==", - "dev": true - }, - "@types/url-template": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/@types/url-template/-/url-template-2.0.28.tgz", - "integrity": "sha512-1i/YtOhvlWDbMDTWhCfvhyUwBS9vNFs78sJOyahoruJCcDbwaSH73AlnuCp7luKPm6qqdCg4VKq/IHUncl6gZA==", + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.3.tgz", + "integrity": "sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==", "dev": true }, "@ungap/promise-all-settled": { @@ -3688,9 +3786,9 @@ "dev": true }, "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true }, "acorn-walk": { @@ -3752,7 +3850,7 @@ "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, "arg": { @@ -3776,7 +3874,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "axios": { "version": "0.27.2", @@ -3805,13 +3903,12 @@ "dev": true }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "braces": { @@ -3830,22 +3927,21 @@ "dev": true }, "browserslist": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", - "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", + "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001317", - "electron-to-chromium": "^1.4.84", - "escalade": "^3.1.1", - "node-releases": "^2.0.2", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001359", + "electron-to-chromium": "^1.4.172", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.4" } }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true }, "caching-transform": { @@ -3867,14 +3963,14 @@ "dev": true }, "camelize-ts": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/camelize-ts/-/camelize-ts-1.0.9.tgz", - "integrity": "sha512-ePOW3V2qrQ0qtRlcTM6Qe3nXremdydIwsMKI1Vl2NBGM0tOo8n2xzJ7YOQpV1GIKHhs3p+F40ThI8/DoYWbYKQ==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelize-ts/-/camelize-ts-2.1.1.tgz", + "integrity": "sha512-PhU5pNZvg4lRTXYHYzCvq3stESnsYcBBjqG9HIEAb+HjVAnZ1aU+N3mgU+7wvKpOQSRx4AxEHAtAAyEjS7U0aw==" }, "caniuse-lite": { - "version": "1.0.30001319", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz", - "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==", + "version": "1.0.30001364", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001364.tgz", + "integrity": "sha512-9O0xzV3wVyX0SlegIQ6knz+okhBB5pE0PC40MNdwcipjwpxoUEHL24uJ+gG42cgklPjfO5ZjZPme9FTSN3QT2Q==", "dev": true }, "chai": { @@ -3916,7 +4012,7 @@ "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true }, "chokidar": { @@ -3984,13 +4080,13 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "convert-source-map": { @@ -4039,13 +4135,13 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" }, "deep-eql": { "version": "3.0.1", @@ -4068,7 +4164,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "diff": { "version": "5.0.0", @@ -4077,9 +4173,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.90", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.90.tgz", - "integrity": "sha512-ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==", + "version": "1.4.185", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.185.tgz", + "integrity": "sha512-9kV/isoOGpKkBt04yYNaSWIBn3187Q5VZRtoReq8oz5NY/A4XmU6cAoqgQlDp7kKJCZMRjWZ8nsQyxfpFHvfyw==", "dev": true }, "emoji-regex": { @@ -4124,7 +4220,7 @@ "filter-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" }, "find-cache-dir": { "version": "3.3.2", @@ -4154,9 +4250,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "foreground-child": { "version": "2.0.0", @@ -4187,7 +4283,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { @@ -4218,7 +4314,7 @@ "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true }, "get-package-type": { @@ -4241,6 +4337,16 @@ "path-is-absolute": "^1.0.0" }, "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -4268,9 +4374,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "has": { @@ -4313,7 +4419,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "indent-string": { @@ -4325,7 +4431,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -4348,9 +4454,9 @@ } }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { "has": "^1.0.3" @@ -4359,7 +4465,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { @@ -4398,7 +4504,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "is-unicode-supported": { @@ -4416,7 +4522,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "istanbul-lib-coverage": { @@ -4447,18 +4553,17 @@ } }, "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, "requires": { "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", "p-map": "^3.0.0", "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "uuid": "^8.3.2" } }, "istanbul-lib-report": { @@ -4492,14 +4597,6 @@ "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "istanbul-reports": { @@ -4562,15 +4659,15 @@ "p-locate": "^5.0.0" } }, - "lodash": { + "lodash-es": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", "dev": true }, "log-symbols": { @@ -4627,17 +4724,6 @@ "dev": true, "requires": { "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } } }, "minimist": { @@ -4707,9 +4793,9 @@ } }, "node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, "normalize-path": { @@ -4852,7 +4938,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -4912,7 +4998,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { @@ -5040,7 +5126,7 @@ "release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, "requires": { "es6-error": "^4.0.1" @@ -5049,7 +5135,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-main-filename": { @@ -5059,12 +5145,12 @@ "dev": true }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -5108,7 +5194,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "shebang-command": { @@ -5133,9 +5219,9 @@ "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "spawn-wrap": { @@ -5160,13 +5246,13 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" }, "string-width": { "version": "4.2.3", @@ -5226,6 +5312,16 @@ "minimatch": "^3.0.4" }, "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5240,7 +5336,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-regex-range": { @@ -5326,6 +5422,16 @@ "sprintf-js": "~1.0.2" } }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -5349,7 +5455,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "diff": { @@ -5361,13 +5467,13 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "js-yaml": { @@ -5442,20 +5548,30 @@ "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true }, + "update-browserslist-db": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", + "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==" }, "url-template": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", - "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-3.0.0.tgz", + "integrity": "sha512-S6P5TcJ8GrGG+yzMZ8ojdtiGtQmQG+UOMelhE3X5uQrEEoq69aDQ05eASPQGj+CjsPVfumWKbH2HrjME46sk0g==" }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "v8-compile-cache-lib": { @@ -5476,7 +5592,7 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, "workerpool": { @@ -5499,7 +5615,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "write-file-atomic": { diff --git a/package.json b/package.json index 9548059e..4bda3ee2 100644 --- a/package.json +++ b/package.json @@ -2,18 +2,22 @@ "name": "@keycloak/keycloak-admin-client", "version": "19.0.0-dev.16", "description": "keycloak admin client", + "type": "module", "main": "lib/index.js", "files": [ "lib" ], "types": "lib/index.d.ts", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, "scripts": { "clean": "rimraf lib", "lint": "tslint --force --format verbose \"src/**/*.ts\" \"test/*\"", - "build": "npm run clean && tsc -p ./tsconfig.release.json --pretty", - "test": "mocha --require ts-node/register --recursive \"test/**/*.spec.ts\"", - "test:subset": "mocha --require ts-node/register --recursive --", - "test:grep": "mocha --require ts-node/register", + "build": "npm run clean && tsc --pretty", + "test": "TS_NODE_PROJECT=tsconfig.test.json mocha --recursive \"test/**/*.spec.ts\"", + "test:subset": "TS_NODE_PROJECT=tsconfig.test.json mocha --recursive --", + "test:grep": "TS_NODE_PROJECT=tsconfig.test.json mocha", "coverage": "nyc npm run test", "watch": "npm run build -- --watch", "watch:test": "npm run test -- --watch", @@ -21,21 +25,19 @@ }, "dependencies": { "axios": "^0.27.2", - "camelize-ts": "^1.0.8", + "camelize-ts": "^2.1.1", "keycloak-js": "^18.0.0", - "lodash": "^4.17.21", + "lodash-es": "^4.17.21", "query-string": "^7.0.1", - "url-join": "^4.0.0", - "url-template": "^2.0.8" + "url-join": "^5.0.0", + "url-template": "^3.0.0" }, "devDependencies": { "@faker-js/faker": "^7.1.0", "@types/chai": "^4.2.14", - "@types/lodash": "^4.14.165", + "@types/lodash-es": "^4.17.5", "@types/mocha": "^9.0.0", - "@types/node": "^18.0.0", - "@types/url-join": "^4.0.0", - "@types/url-template": "^2.0.28", + "@types/node": "^18.0.3", "chai": "^4.1.2", "mocha": "^10.0.0", "nyc": "^15.1.0", @@ -43,7 +45,7 @@ "rimraf": "^3.0.2", "ts-node": "^10.2.1", "tslint": "^6.1.3", - "typescript": "^4.0.5" + "typescript": "^4.7.4" }, "author": "wwwy3y3", "license": "Apache-2.0", diff --git a/src/client.ts b/src/client.ts index 4d4ed580..c6ab2045 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,25 +1,24 @@ -import {getToken, Credentials} from './utils/auth'; -import {defaultBaseUrl, defaultRealm} from './utils/constants'; -import {Cache} from './resources/cache'; -import {Users} from './resources/users'; -import {Groups} from './resources/groups'; -import {Roles} from './resources/roles'; -import {Clients} from './resources/clients'; -import {Realms} from './resources/realms'; -import {ClientScopes} from './resources/clientScopes'; -import {ClientPolicies} from './resources/clientPolicies'; -import {IdentityProviders} from './resources/identityProviders'; -import {Components} from './resources/components'; -import {AuthenticationManagement} from './resources/authenticationManagement'; -import {ServerInfo} from './resources/serverInfo'; -import {WhoAmI} from './resources/whoAmI'; -import {AttackDetection} from './resources/attackDetection'; -import {AxiosRequestConfig} from 'axios'; - -import {Sessions} from './resources/sessions'; -import {UserStorageProvider} from './resources/userStorageProvider'; -import type {KeycloakInstance, KeycloakInitOptions, KeycloakConfig} from 'keycloak-js'; -import {RequestArgs} from './resources/agent'; +import type {AxiosRequestConfig} from 'axios'; +import type {KeycloakConfig, KeycloakInitOptions, KeycloakInstance} from 'keycloak-js'; +import type {RequestArgs} from './resources/agent.js'; +import {AttackDetection} from './resources/attackDetection.js'; +import {AuthenticationManagement} from './resources/authenticationManagement.js'; +import {Cache} from './resources/cache.js'; +import {ClientPolicies} from './resources/clientPolicies.js'; +import {Clients} from './resources/clients.js'; +import {ClientScopes} from './resources/clientScopes.js'; +import {Components} from './resources/components.js'; +import {Groups} from './resources/groups.js'; +import {IdentityProviders} from './resources/identityProviders.js'; +import {Realms} from './resources/realms.js'; +import {Roles} from './resources/roles.js'; +import {ServerInfo} from './resources/serverInfo.js'; +import {Sessions} from './resources/sessions.js'; +import {Users} from './resources/users.js'; +import {UserStorageProvider} from './resources/userStorageProvider.js'; +import {WhoAmI} from './resources/whoAmI.js'; +import {Credentials, getToken} from './utils/auth.js'; +import {defaultBaseUrl, defaultRealm} from './utils/constants.js'; export interface ConnectionConfig { baseUrl?: string; @@ -52,7 +51,7 @@ export class KeycloakAdminClient { public realmName: string; public accessToken?: string; public refreshToken?: string; - public keycloak?: KeycloakInstance; + public keycloak!: KeycloakInstance; private requestConfig?: AxiosRequestConfig; private globalRequestArgOptions?: Pick; @@ -100,8 +99,8 @@ export class KeycloakAdminClient { return; } - const Keycloak = (await import('keycloak-js')).default; - this.keycloak = Keycloak(config); + const Keycloak: any = (await import('keycloak-js')).default; + this.keycloak = new Keycloak(config); if (init) { await this.keycloak.init(init); diff --git a/src/defs/accessTokenRepresentation.ts b/src/defs/accessTokenRepresentation.ts index 45f236d5..4e313318 100644 --- a/src/defs/accessTokenRepresentation.ts +++ b/src/defs/accessTokenRepresentation.ts @@ -1,8 +1,7 @@ -import AccessTokenAccess from './AccessTokenAccess'; -import AccessTokenCertConf from './accessTokenCertConf'; -import AddressClaimSet from './addressClaimSet'; -import PermissionRepresentation from './PermissonRepresentation'; -import {Category} from './resourceServerRepresentation'; +import type AccessTokenAccess from './AccessTokenAccess.js'; +import type AccessTokenCertConf from './accessTokenCertConf.js'; +import type AddressClaimSet from './addressClaimSet.js'; +import type {Category} from './resourceServerRepresentation.js'; export default interface AccessTokenRepresentation { acr?: string; diff --git a/src/defs/adminEventRepresentation.ts b/src/defs/adminEventRepresentation.ts index 09656926..880a6f54 100644 --- a/src/defs/adminEventRepresentation.ts +++ b/src/defs/adminEventRepresentation.ts @@ -1,4 +1,4 @@ -import AuthDetailsRepresentation from './authDetailsRepresentation'; +import type AuthDetailsRepresentation from './authDetailsRepresentation.js'; export default interface AdminEventRepresentation { authDetails?: AuthDetailsRepresentation; diff --git a/src/defs/authenticationFlowRepresentation.ts b/src/defs/authenticationFlowRepresentation.ts index 4813ea90..694f249e 100644 --- a/src/defs/authenticationFlowRepresentation.ts +++ b/src/defs/authenticationFlowRepresentation.ts @@ -1,5 +1,4 @@ - -import AuthenticationExecutionExportRepresentation from './authenticationExecutionExportRepresentation'; +import type AuthenticationExecutionExportRepresentation from './authenticationExecutionExportRepresentation.js'; /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_authenticationflowrepresentation diff --git a/src/defs/clientPoliciesRepresentation.ts b/src/defs/clientPoliciesRepresentation.ts index a221aacf..1e25c43f 100644 --- a/src/defs/clientPoliciesRepresentation.ts +++ b/src/defs/clientPoliciesRepresentation.ts @@ -1,4 +1,4 @@ -import ClientPolicyRepresentation from './clientPolicyRepresentation'; +import type ClientPolicyRepresentation from './clientPolicyRepresentation.js'; /** * https://www.keycloak.org/docs-api/15.0/rest-api/#_clientpoliciesrepresentation diff --git a/src/defs/clientPolicyRepresentation.ts b/src/defs/clientPolicyRepresentation.ts index 1b5d238e..f318402f 100644 --- a/src/defs/clientPolicyRepresentation.ts +++ b/src/defs/clientPolicyRepresentation.ts @@ -1,4 +1,4 @@ -import ClientPolicyConditionRepresentation from './clientPolicyConditionRepresentation'; +import type ClientPolicyConditionRepresentation from './clientPolicyConditionRepresentation.js'; /** * https://www.keycloak.org/docs-api/15.0/rest-api/#_clientpolicyrepresentation diff --git a/src/defs/clientProfileRepresentation.ts b/src/defs/clientProfileRepresentation.ts index 9576504a..87d5cd33 100644 --- a/src/defs/clientProfileRepresentation.ts +++ b/src/defs/clientProfileRepresentation.ts @@ -1,4 +1,4 @@ -import ClientPolicyExecutorRepresentation from './clientPolicyExecutorRepresentation'; +import type ClientPolicyExecutorRepresentation from './clientPolicyExecutorRepresentation.js'; /** * https://www.keycloak.org/docs-api/15.0/rest-api/#_clientprofilerepresentation diff --git a/src/defs/clientProfilesRepresentation.ts b/src/defs/clientProfilesRepresentation.ts index 2a27d6e2..092b76f0 100644 --- a/src/defs/clientProfilesRepresentation.ts +++ b/src/defs/clientProfilesRepresentation.ts @@ -1,4 +1,4 @@ -import ClientProfileRepresentation from './clientProfileRepresentation'; +import type ClientProfileRepresentation from './clientProfileRepresentation.js'; /** * https://www.keycloak.org/docs-api/15.0/rest-api/#_clientprofilesrepresentation diff --git a/src/defs/clientRepresentation.ts b/src/defs/clientRepresentation.ts index b7a2f252..de3498dc 100644 --- a/src/defs/clientRepresentation.ts +++ b/src/defs/clientRepresentation.ts @@ -1,8 +1,8 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_clientrepresentation */ -import ResourceServerRepresentation from './resourceServerRepresentation'; -import ProtocolMapperRepresentation from './protocolMapperRepresentation'; +import type ResourceServerRepresentation from './resourceServerRepresentation.js'; +import type ProtocolMapperRepresentation from './protocolMapperRepresentation.js'; export default interface ClientRepresentation { access?: Record; diff --git a/src/defs/clientScopeRepresentation.ts b/src/defs/clientScopeRepresentation.ts index 96719dbd..9babf7b6 100644 --- a/src/defs/clientScopeRepresentation.ts +++ b/src/defs/clientScopeRepresentation.ts @@ -1,7 +1,7 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_clientscoperepresentation */ -import ProtocolMapperRepresentation from './protocolMapperRepresentation'; +import type ProtocolMapperRepresentation from './protocolMapperRepresentation.js'; export default interface ClientScopeRepresentation { attributes?: Record; diff --git a/src/defs/componentTypeRepresentation.ts b/src/defs/componentTypeRepresentation.ts index 249ed0e7..1a36fdfe 100644 --- a/src/defs/componentTypeRepresentation.ts +++ b/src/defs/componentTypeRepresentation.ts @@ -1,4 +1,4 @@ -import {ConfigPropertyRepresentation} from './configPropertyRepresentation'; +import type {ConfigPropertyRepresentation} from './configPropertyRepresentation.js'; /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_componenttyperepresentation diff --git a/src/defs/evaluationResultRepresentation.ts b/src/defs/evaluationResultRepresentation.ts index 42084648..6a28faf5 100644 --- a/src/defs/evaluationResultRepresentation.ts +++ b/src/defs/evaluationResultRepresentation.ts @@ -1,7 +1,7 @@ -import PolicyRepresentation, {DecisionEffect} from './policyRepresentation'; -import PolicyResultRepresentation from './policyResultRepresentation'; -import ResourceRepresentation from './resourceRepresentation'; -import ScopeRepresentation from './scopeRepresentation'; +import type {DecisionEffect} from './policyRepresentation.js'; +import type PolicyResultRepresentation from './policyResultRepresentation.js'; +import type ResourceRepresentation from './resourceRepresentation.js'; +import type ScopeRepresentation from './scopeRepresentation.js'; export default interface EvaluationResultRepresentation { resource?: ResourceRepresentation; diff --git a/src/defs/eventRepresentation.ts b/src/defs/eventRepresentation.ts index 9b701f64..300c651b 100644 --- a/src/defs/eventRepresentation.ts +++ b/src/defs/eventRepresentation.ts @@ -1,7 +1,7 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_eventrepresentation */ -import EventType from './eventTypes'; +import type EventType from './eventTypes.js'; export default interface EventRepresentation { clientId?: string; diff --git a/src/defs/identityProviderMapperTypeRepresentation.ts b/src/defs/identityProviderMapperTypeRepresentation.ts index bfe7dd85..1498b2b4 100644 --- a/src/defs/identityProviderMapperTypeRepresentation.ts +++ b/src/defs/identityProviderMapperTypeRepresentation.ts @@ -1,4 +1,4 @@ -import {ConfigPropertyRepresentation} from './configPropertyRepresentation'; +import type {ConfigPropertyRepresentation} from './configPropertyRepresentation.js'; export interface IdentityProviderMapperTypeRepresentation { id?: string; diff --git a/src/defs/mappingsRepresentation.ts b/src/defs/mappingsRepresentation.ts index 5eccc20e..f49cde68 100644 --- a/src/defs/mappingsRepresentation.ts +++ b/src/defs/mappingsRepresentation.ts @@ -1,7 +1,7 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_mappingsrepresentation */ -import RoleRepresentation from './roleRepresentation'; +import type RoleRepresentation from './roleRepresentation.js'; export default interface MappingsRepresentation { clientMappings?: Record; diff --git a/src/defs/policyEvaluationResponse.ts b/src/defs/policyEvaluationResponse.ts index 66ac1434..bd70c1dd 100644 --- a/src/defs/policyEvaluationResponse.ts +++ b/src/defs/policyEvaluationResponse.ts @@ -1,6 +1,6 @@ -import AccessTokenRepresentation from './accessTokenRepresentation'; -import EvaluationResultRepresentation from './evaluationResultRepresentation'; -import {DecisionEffect} from './policyRepresentation'; +import type AccessTokenRepresentation from './accessTokenRepresentation.js'; +import type EvaluationResultRepresentation from './evaluationResultRepresentation.js'; +import type {DecisionEffect} from './policyRepresentation.js'; export default interface PolicyEvaluationResponse { results?: EvaluationResultRepresentation[]; diff --git a/src/defs/policyResultRepresentation.ts b/src/defs/policyResultRepresentation.ts index 1d0fd1be..7cdda6f8 100644 --- a/src/defs/policyResultRepresentation.ts +++ b/src/defs/policyResultRepresentation.ts @@ -1,5 +1,5 @@ -import PolicyRepresentation, {DecisionEffect} from './policyRepresentation'; -import ScopeRepresentation from './scopeRepresentation'; +import type PolicyRepresentation from './policyRepresentation.js'; +import type {DecisionEffect} from './policyRepresentation.js'; export default interface PolicyResultRepresentation { policy?: PolicyRepresentation; diff --git a/src/defs/realmRepresentation.ts b/src/defs/realmRepresentation.ts index 71f6dac0..680258ea 100644 --- a/src/defs/realmRepresentation.ts +++ b/src/defs/realmRepresentation.ts @@ -1,13 +1,13 @@ -import ClientRepresentation from './clientRepresentation'; -import ComponentExportRepresentation from './componentExportRepresentation'; -import UserRepresentation from './userRepresentation'; -import GroupRepresentation from './groupRepresentation'; -import IdentityProviderRepresentation from './identityProviderRepresentation'; -import RequiredActionProviderRepresentation from './requiredActionProviderRepresentation'; -import RolesRepresentation from './rolesRepresentation'; -import ClientProfilesRepresentation from './clientProfilesRepresentation'; -import ClientPoliciesRepresentation from './clientPoliciesRepresentation'; -import RoleRepresentation from './roleRepresentation'; +import type ClientRepresentation from './clientRepresentation.js'; +import type ComponentExportRepresentation from './componentExportRepresentation.js'; +import type UserRepresentation from './userRepresentation.js'; +import type GroupRepresentation from './groupRepresentation.js'; +import type IdentityProviderRepresentation from './identityProviderRepresentation.js'; +import type RequiredActionProviderRepresentation from './requiredActionProviderRepresentation.js'; +import type RolesRepresentation from './rolesRepresentation.js'; +import type ClientProfilesRepresentation from './clientProfilesRepresentation.js'; +import type ClientPoliciesRepresentation from './clientPoliciesRepresentation.js'; +import type RoleRepresentation from './roleRepresentation.js'; /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_realmrepresentation diff --git a/src/defs/resourceEvaluation.ts b/src/defs/resourceEvaluation.ts index 8fb7cf3d..48b1bb7a 100644 --- a/src/defs/resourceEvaluation.ts +++ b/src/defs/resourceEvaluation.ts @@ -1,4 +1,4 @@ -import ResourceRepresentation from './resourceRepresentation'; +import type ResourceRepresentation from './resourceRepresentation.js'; export default interface ResourceEvaluation { roleIds?: string[]; diff --git a/src/defs/resourceRepresentation.ts b/src/defs/resourceRepresentation.ts index 868a455a..b8e4fa1d 100644 --- a/src/defs/resourceRepresentation.ts +++ b/src/defs/resourceRepresentation.ts @@ -1,8 +1,8 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_resourcerepresentation */ -import {ResourceOwnerRepresentation} from './resourceServerRepresentation'; -import ScopeRepresentation from './scopeRepresentation'; +import type {ResourceOwnerRepresentation} from './resourceServerRepresentation.js'; +import type ScopeRepresentation from './scopeRepresentation.js'; export default interface ResourceRepresentation { name?: string; diff --git a/src/defs/resourceServerRepresentation.ts b/src/defs/resourceServerRepresentation.ts index aefe36d6..e296703a 100644 --- a/src/defs/resourceServerRepresentation.ts +++ b/src/defs/resourceServerRepresentation.ts @@ -1,9 +1,9 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_policyrepresentation */ -import PolicyRepresentation from './policyRepresentation'; -import ResourceRepresentation from './resourceRepresentation'; -import ScopeRepresentation from './scopeRepresentation'; +import type PolicyRepresentation from './policyRepresentation.js'; +import type ResourceRepresentation from './resourceRepresentation.js'; +import type ScopeRepresentation from './scopeRepresentation.js'; export default interface ResourceServerRepresentation { id?: string; diff --git a/src/defs/rolesRepresentation.ts b/src/defs/rolesRepresentation.ts index 270b9bc2..b8d55828 100644 --- a/src/defs/rolesRepresentation.ts +++ b/src/defs/rolesRepresentation.ts @@ -2,7 +2,7 @@ * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolesrepresentation */ -import RoleRepresentation from './roleRepresentation'; +import type RoleRepresentation from './roleRepresentation.js'; export default interface RolesRepresentation { realm?: RoleRepresentation[]; diff --git a/src/defs/scopeRepresentation.ts b/src/defs/scopeRepresentation.ts index c37c3e0f..3a91a49a 100644 --- a/src/defs/scopeRepresentation.ts +++ b/src/defs/scopeRepresentation.ts @@ -1,8 +1,8 @@ /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_scoperepresentation */ -import PolicyRepresentation from './policyRepresentation'; -import ResourceRepresentation from './resourceRepresentation'; +import type PolicyRepresentation from './policyRepresentation.js'; +import type ResourceRepresentation from './resourceRepresentation.js'; export default interface ScopeRepresentation { displayName?: string; diff --git a/src/defs/serverInfoRepesentation.ts b/src/defs/serverInfoRepesentation.ts index fcfcccaf..ddd6b76d 100644 --- a/src/defs/serverInfoRepesentation.ts +++ b/src/defs/serverInfoRepesentation.ts @@ -1,9 +1,9 @@ -import ComponentTypeRepresentation from './componentTypeRepresentation'; -import {ConfigPropertyRepresentation} from './configPropertyRepresentation'; -import PasswordPolicyTypeRepresentation from './passwordPolicyTypeRepresentation'; -import ProfileInfoRepresentation from './profileInfoRepresentation'; -import ProtocolMapperRepresentation from './protocolMapperRepresentation'; -import SystemInfoRepresentation from './systemInfoRepersantation'; +import type ComponentTypeRepresentation from './componentTypeRepresentation.js'; +import type {ConfigPropertyRepresentation} from './configPropertyRepresentation.js'; +import type PasswordPolicyTypeRepresentation from './passwordPolicyTypeRepresentation.js'; +import type ProfileInfoRepresentation from './profileInfoRepresentation.js'; +import type ProtocolMapperRepresentation from './protocolMapperRepresentation.js'; +import type SystemInfoRepresentation from './systemInfoRepersantation.js'; /** * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_serverinforepresentation diff --git a/src/defs/userRepresentation.ts b/src/defs/userRepresentation.ts index 9b551acf..c477ba35 100644 --- a/src/defs/userRepresentation.ts +++ b/src/defs/userRepresentation.ts @@ -1,7 +1,7 @@ -import UserConsentRepresentation from './userConsentRepresentation'; -import CredentialRepresentation from './credentialRepresentation'; -import FederatedIdentityRepresentation from './federatedIdentityRepresentation'; -import {RequiredActionAlias} from './requiredActionProviderRepresentation'; +import type UserConsentRepresentation from './userConsentRepresentation.js'; +import type CredentialRepresentation from './credentialRepresentation.js'; +import type FederatedIdentityRepresentation from './federatedIdentityRepresentation.js'; +import type {RequiredActionAlias} from './requiredActionProviderRepresentation.js'; export default interface UserRepresentation { id?: string; diff --git a/src/index.ts b/src/index.ts index d6255809..6f8e330e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ -import {RequiredActionAlias} from './defs/requiredActionProviderRepresentation'; -import {KeycloakAdminClient} from './client'; +import {RequiredActionAlias} from './defs/requiredActionProviderRepresentation.js'; +import {KeycloakAdminClient} from './client.js'; export const requiredAction = RequiredActionAlias; export default KeycloakAdminClient; diff --git a/src/resources/agent.ts b/src/resources/agent.ts index f0a24348..ac575066 100644 --- a/src/resources/agent.ts +++ b/src/resources/agent.ts @@ -1,9 +1,9 @@ import urlJoin from 'url-join'; -import template from 'url-template'; +import {parseTemplate} from 'url-template'; import axios, {AxiosRequestConfig, AxiosRequestHeaders, Method} from 'axios'; import querystring from 'query-string'; -import {pick, omit, isUndefined, last} from 'lodash'; -import {KeycloakAdminClient} from '../client'; +import {pick, omit, isUndefined, last} from 'lodash-es'; +import type {KeycloakAdminClient} from '../client.js'; // constants const SLASH = '/'; @@ -177,7 +177,7 @@ export class Agent { const newPath = urlJoin(this.basePath, path); // Parse template and replace with values from urlParams - const pathTemplate = template.parse(newPath); + const pathTemplate = parseTemplate(newPath); const parsedPath = pathTemplate.expand(urlParams); const url = `${this.getBaseUrl?.() ?? ''}${parsedPath}`; @@ -215,7 +215,7 @@ export class Agent { } try { - const res = await axios(requestConfig); + const res = await axios.default(requestConfig); // now we get the response of the http request // if `resourceIdInLocationHeader` is true, we'll get the resourceId from the location header field // todo: find a better way to find the id in path, maybe some kind of pattern matching @@ -243,7 +243,7 @@ export class Agent { } return res.data; } catch (err) { - if (axios.isAxiosError(err) && err.response?.status === 404 && catchNotFound) { + if (axios.default.isAxiosError(err) && err.response?.status === 404 && catchNotFound) { return null; } throw err; diff --git a/src/resources/attackDetection.ts b/src/resources/attackDetection.ts index a7895ec4..f57feac0 100644 --- a/src/resources/attackDetection.ts +++ b/src/resources/attackDetection.ts @@ -1,5 +1,5 @@ -import Resource from './resource'; -import KeycloakAdminClient from '..'; +import Resource from './resource.js'; +import type KeycloakAdminClient from '../index.js'; export class AttackDetection extends Resource<{realm?: string}> { public findOne = this.makeRequest< diff --git a/src/resources/authenticationManagement.ts b/src/resources/authenticationManagement.ts index d36c9517..f236aa3b 100644 --- a/src/resources/authenticationManagement.ts +++ b/src/resources/authenticationManagement.ts @@ -1,13 +1,12 @@ -import Resource from './resource'; -import RequiredActionProviderRepresentation from '../defs/requiredActionProviderRepresentation'; -import {KeycloakAdminClient} from '../client'; -import AuthenticationExecutionInfoRepresentation from '../defs/authenticationExecutionInfoRepresentation'; -import AuthenticationFlowRepresentation from '../defs/authenticationFlowRepresentation'; -import AuthenticatorConfigRepresentation, { - AuthenticationProviderRepresentation, -} from '../defs/authenticatorConfigRepresentation'; -import AuthenticatorConfigInfoRepresentation from '../defs/authenticatorConfigInfoRepresentation'; -import RequiredActionProviderSimpleRepresentation from '../defs/requiredActionProviderSimpleRepresentation'; +import Resource from './resource.js'; +import type RequiredActionProviderRepresentation from '../defs/requiredActionProviderRepresentation.js'; +import type {KeycloakAdminClient} from '../client.js'; +import type AuthenticationExecutionInfoRepresentation from '../defs/authenticationExecutionInfoRepresentation.js'; +import type AuthenticationFlowRepresentation from '../defs/authenticationFlowRepresentation.js'; +import type AuthenticatorConfigRepresentation from '../defs/authenticatorConfigRepresentation.js'; +import type { AuthenticationProviderRepresentation } from '../defs/authenticatorConfigRepresentation.js'; +import type AuthenticatorConfigInfoRepresentation from '../defs/authenticatorConfigInfoRepresentation.js'; +import type RequiredActionProviderSimpleRepresentation from '../defs/requiredActionProviderSimpleRepresentation.js'; export class AuthenticationManagement extends Resource { /** diff --git a/src/resources/cache.ts b/src/resources/cache.ts index 8db6dd2f..38ef0ff3 100644 --- a/src/resources/cache.ts +++ b/src/resources/cache.ts @@ -1,5 +1,5 @@ -import Resource from './resource'; -import {KeycloakAdminClient} from '../client'; +import Resource from './resource.js'; +import type {KeycloakAdminClient} from '../client.js'; export class Cache extends Resource<{realm?: string}> { diff --git a/src/resources/clientPolicies.ts b/src/resources/clientPolicies.ts index 36e7c6ff..8a79c1b9 100644 --- a/src/resources/clientPolicies.ts +++ b/src/resources/clientPolicies.ts @@ -1,8 +1,7 @@ -import Resource from './resource'; -import {KeycloakAdminClient} from '../client'; -import ClientProfilesRepresentation from '../defs/clientProfilesRepresentation'; -import ClientPoliciesRepresentation from '../defs/clientPoliciesRepresentation'; -import ClientPolicyRepresentation from '../defs/clientPolicyRepresentation'; +import Resource from './resource.js'; +import type {KeycloakAdminClient} from '../client.js'; +import type ClientProfilesRepresentation from '../defs/clientProfilesRepresentation.js'; +import type ClientPoliciesRepresentation from '../defs/clientPoliciesRepresentation.js'; /** * https://www.keycloak.org/docs-api/15.0/rest-api/#_client_registration_policy_resource diff --git a/src/resources/clientScopes.ts b/src/resources/clientScopes.ts index bffd0213..0007e241 100644 --- a/src/resources/clientScopes.ts +++ b/src/resources/clientScopes.ts @@ -1,9 +1,9 @@ -import ClientScopeRepresentation from '../defs/clientScopeRepresentation'; -import Resource from './resource'; -import {KeycloakAdminClient} from '../client'; -import ProtocolMapperRepresentation from '../defs/protocolMapperRepresentation'; -import MappingsRepresentation from '../defs/mappingsRepresentation'; -import RoleRepresentation from '../defs/roleRepresentation'; +import type ClientScopeRepresentation from '../defs/clientScopeRepresentation.js'; +import Resource from './resource.js'; +import type {KeycloakAdminClient} from '../client.js'; +import type ProtocolMapperRepresentation from '../defs/protocolMapperRepresentation.js'; +import type MappingsRepresentation from '../defs/mappingsRepresentation.js'; +import type RoleRepresentation from '../defs/roleRepresentation.js'; export class ClientScopes extends Resource<{realm?: string}> { public find = this.makeRequest<{}, ClientScopeRepresentation[]>({ diff --git a/src/resources/clients.ts b/src/resources/clients.ts index 56843544..b409f853 100644 --- a/src/resources/clients.ts +++ b/src/resources/clients.ts @@ -1,24 +1,24 @@ -import {KeycloakAdminClient} from '../client'; -import ClientRepresentation from '../defs/clientRepresentation'; -import ClientScopeRepresentation from '../defs/clientScopeRepresentation'; -import CredentialRepresentation from '../defs/credentialRepresentation'; -import MappingsRepresentation from '../defs/mappingsRepresentation'; -import PolicyRepresentation from '../defs/policyRepresentation'; -import ResourceRepresentation from '../defs/resourceRepresentation'; -import ProtocolMapperRepresentation from '../defs/protocolMapperRepresentation'; -import RoleRepresentation from '../defs/roleRepresentation'; -import UserRepresentation from '../defs/userRepresentation'; -import UserSessionRepresentation from '../defs/userSessionRepresentation'; -import ResourceEvaluation from '../defs/resourceEvaluation'; -import GlobalRequestResult from '../defs/globalRequestResult'; -import Resource from './resource'; -import CertificateRepresentation from '../defs/certificateRepresentation'; -import KeyStoreConfig from '../defs/keystoreConfig'; -import ResourceServerRepresentation from '../defs/resourceServerRepresentation'; -import ScopeRepresentation from '../defs/scopeRepresentation'; -import PolicyProviderRepresentation from '../defs/policyProviderRepresentation'; -import {ManagementPermissionReference} from '../defs/managementPermissionReference'; -import PolicyEvaluationResponse from '../defs/policyEvaluationResponse'; +import type {KeycloakAdminClient} from '../client.js'; +import type CertificateRepresentation from '../defs/certificateRepresentation.js'; +import type ClientRepresentation from '../defs/clientRepresentation.js'; +import type ClientScopeRepresentation from '../defs/clientScopeRepresentation.js'; +import type CredentialRepresentation from '../defs/credentialRepresentation.js'; +import type GlobalRequestResult from '../defs/globalRequestResult.js'; +import type KeyStoreConfig from '../defs/keystoreConfig.js'; +import type {ManagementPermissionReference} from '../defs/managementPermissionReference.js'; +import type MappingsRepresentation from '../defs/mappingsRepresentation.js'; +import type PolicyEvaluationResponse from '../defs/policyEvaluationResponse.js'; +import type PolicyProviderRepresentation from '../defs/policyProviderRepresentation.js'; +import type PolicyRepresentation from '../defs/policyRepresentation.js'; +import type ProtocolMapperRepresentation from '../defs/protocolMapperRepresentation.js'; +import type ResourceEvaluation from '../defs/resourceEvaluation.js'; +import type ResourceRepresentation from '../defs/resourceRepresentation.js'; +import type ResourceServerRepresentation from '../defs/resourceServerRepresentation.js'; +import type RoleRepresentation from '../defs/roleRepresentation.js'; +import type ScopeRepresentation from '../defs/scopeRepresentation.js'; +import type UserRepresentation from '../defs/userRepresentation.js'; +import type UserSessionRepresentation from '../defs/userSessionRepresentation.js'; +import Resource from './resource.js'; export interface PaginatedQuery { first?: number; diff --git a/src/resources/components.ts b/src/resources/components.ts index f786f0a7..daa19f31 100644 --- a/src/resources/components.ts +++ b/src/resources/components.ts @@ -1,7 +1,7 @@ -import Resource from './resource'; -import ComponentRepresentation from '../defs/componentRepresentation'; -import ComponentTypeRepresentation from '../defs/componentTypeRepresentation'; -import {KeycloakAdminClient} from '../client'; +import Resource from './resource.js'; +import type ComponentRepresentation from '../defs/componentRepresentation.js'; +import type ComponentTypeRepresentation from '../defs/componentTypeRepresentation.js'; +import type {KeycloakAdminClient} from '../client.js'; export interface ComponentQuery { name?: string; diff --git a/src/resources/groups.ts b/src/resources/groups.ts index c976343f..228b95c1 100644 --- a/src/resources/groups.ts +++ b/src/resources/groups.ts @@ -1,12 +1,11 @@ -import {KeycloakAdminClient} from '../client'; -import GroupRepresentation from '../defs/groupRepresentation'; -import {ManagementPermissionReference} from '../defs/managementPermissionReference'; -import MappingsRepresentation from '../defs/mappingsRepresentation'; -import RoleRepresentation, { - RoleMappingPayload, -} from '../defs/roleRepresentation'; -import UserRepresentation from '../defs/userRepresentation'; -import Resource from './resource'; +import type {KeycloakAdminClient} from '../client.js'; +import type GroupRepresentation from '../defs/groupRepresentation.js'; +import type {ManagementPermissionReference} from '../defs/managementPermissionReference.js'; +import type MappingsRepresentation from '../defs/mappingsRepresentation.js'; +import type RoleRepresentation from '../defs/roleRepresentation.js'; +import type { RoleMappingPayload } from '../defs/roleRepresentation.js'; +import type UserRepresentation from '../defs/userRepresentation.js'; +import Resource from './resource.js'; export interface GroupQuery { first?: number; diff --git a/src/resources/identityProviders.ts b/src/resources/identityProviders.ts index 50d5dac9..791addb6 100644 --- a/src/resources/identityProviders.ts +++ b/src/resources/identityProviders.ts @@ -1,9 +1,9 @@ -import Resource from './resource'; -import IdentityProviderRepresentation from '../defs/identityProviderRepresentation'; -import IdentityProviderMapperRepresentation from '../defs/identityProviderMapperRepresentation'; -import {IdentityProviderMapperTypeRepresentation} from '../defs/identityProviderMapperTypeRepresentation'; -import {KeycloakAdminClient} from '../client'; -import {ManagementPermissionReference} from '../defs/managementPermissionReference'; +import type {KeycloakAdminClient} from '../client.js'; +import type IdentityProviderMapperRepresentation from '../defs/identityProviderMapperRepresentation.js'; +import type {IdentityProviderMapperTypeRepresentation} from '../defs/identityProviderMapperTypeRepresentation.js'; +import type IdentityProviderRepresentation from '../defs/identityProviderRepresentation.js'; +import type {ManagementPermissionReference} from '../defs/managementPermissionReference.js'; +import Resource from './resource.js'; export class IdentityProviders extends Resource<{realm?: string}> { /** diff --git a/src/resources/realms.ts b/src/resources/realms.ts index 7e6e4a81..3188d25b 100644 --- a/src/resources/realms.ts +++ b/src/resources/realms.ts @@ -1,21 +1,18 @@ -import Resource from './resource'; -import AdminEventRepresentation from '../defs/adminEventRepresentation'; -import RealmRepresentation, { - PartialImportRealmRepresentation, - PartialImportResponse, -} from '../defs/realmRepresentation'; -import EventRepresentation from '../defs/eventRepresentation'; -import EventType from '../defs/eventTypes'; -import KeysMetadataRepresentation from '../defs/keyMetadataRepresentation'; -import ClientInitialAccessPresentation from '../defs/clientInitialAccessPresentation'; -import TestLdapConnectionRepresentation from '../defs/testLdapConnection'; - -import {KeycloakAdminClient} from '../client'; -import {RealmEventsConfigRepresentation} from '../defs/realmEventsConfigRepresentation'; -import ComponentRepresentation from '../defs/componentRepresentation'; -import GlobalRequestResult from '../defs/globalRequestResult'; -import GroupRepresentation from '../defs/groupRepresentation'; -import {ManagementPermissionReference} from '../defs/managementPermissionReference'; +import Resource from './resource.js'; +import type AdminEventRepresentation from '../defs/adminEventRepresentation.js'; +import type RealmRepresentation from '../defs/realmRepresentation.js'; +import type {PartialImportRealmRepresentation, PartialImportResponse} from '../defs/realmRepresentation.js'; +import type EventRepresentation from '../defs/eventRepresentation.js'; +import type EventType from '../defs/eventTypes.js'; +import type KeysMetadataRepresentation from '../defs/keyMetadataRepresentation.js'; +import type ClientInitialAccessPresentation from '../defs/clientInitialAccessPresentation.js'; +import type TestLdapConnectionRepresentation from '../defs/testLdapConnection.js'; + +import type {KeycloakAdminClient} from '../client.js'; +import type {RealmEventsConfigRepresentation} from '../defs/realmEventsConfigRepresentation.js'; +import type GlobalRequestResult from '../defs/globalRequestResult.js'; +import type GroupRepresentation from '../defs/groupRepresentation.js'; +import type {ManagementPermissionReference} from '../defs/managementPermissionReference.js'; export class Realms extends Resource { /** diff --git a/src/resources/resource.ts b/src/resources/resource.ts index dec0c8ad..7c19a2ec 100644 --- a/src/resources/resource.ts +++ b/src/resources/resource.ts @@ -1,5 +1,5 @@ -import {KeycloakAdminClient} from '../client'; -import {Agent, RequestArgs} from './agent'; +import type {KeycloakAdminClient} from '../client.js'; +import {Agent, RequestArgs} from './agent.js'; export default class Resource { private agent: Agent; diff --git a/src/resources/roles.ts b/src/resources/roles.ts index 437aea4f..af4a1a67 100644 --- a/src/resources/roles.ts +++ b/src/resources/roles.ts @@ -1,8 +1,8 @@ -import Resource from './resource'; -import RoleRepresentation from '../defs/roleRepresentation'; -import UserRepresentation from '../defs/userRepresentation'; -import {KeycloakAdminClient} from '../client'; -import {ManagementPermissionReference} from '../defs/managementPermissionReference'; +import Resource from './resource.js'; +import type RoleRepresentation from '../defs/roleRepresentation.js'; +import type UserRepresentation from '../defs/userRepresentation.js'; +import type {KeycloakAdminClient} from '../client.js'; +import type {ManagementPermissionReference} from '../defs/managementPermissionReference.js'; export interface RoleQuery { first?: number; diff --git a/src/resources/serverInfo.ts b/src/resources/serverInfo.ts index ac9b64d1..878510a7 100644 --- a/src/resources/serverInfo.ts +++ b/src/resources/serverInfo.ts @@ -1,6 +1,6 @@ -import Resource from './resource'; -import {ServerInfoRepresentation} from '../defs/serverInfoRepesentation'; -import KeycloakAdminClient from '..'; +import Resource from './resource.js'; +import type {ServerInfoRepresentation} from '../defs/serverInfoRepesentation.js'; +import type KeycloakAdminClient from '../index.js'; export class ServerInfo extends Resource { constructor(client: KeycloakAdminClient) { diff --git a/src/resources/sessions.ts b/src/resources/sessions.ts index 6dceb640..a42ce454 100644 --- a/src/resources/sessions.ts +++ b/src/resources/sessions.ts @@ -1,5 +1,5 @@ -import Resource from './resource'; -import KeycloakAdminClient from '..'; +import Resource from './resource.js'; +import type KeycloakAdminClient from '../index.js'; export class Sessions extends Resource<{realm?: string}> { diff --git a/src/resources/userStorageProvider.ts b/src/resources/userStorageProvider.ts index ad443332..45b98a1f 100644 --- a/src/resources/userStorageProvider.ts +++ b/src/resources/userStorageProvider.ts @@ -1,6 +1,6 @@ -import {KeycloakAdminClient} from '../client'; -import SynchronizationResultRepresentation from '../defs/synchronizationResultRepresentation'; -import Resource from './resource'; +import type {KeycloakAdminClient} from '../client.js'; +import type SynchronizationResultRepresentation from '../defs/synchronizationResultRepresentation.js'; +import Resource from './resource.js'; type ActionType = 'triggerFullSync' | 'triggerChangedUsersSync'; type DirectionType = 'fedToKeycloak' | 'keycloakToFed'; diff --git a/src/resources/users.ts b/src/resources/users.ts index bea76400..b37a4b50 100644 --- a/src/resources/users.ts +++ b/src/resources/users.ts @@ -1,17 +1,16 @@ -import Resource from './resource'; -import UserRepresentation from '../defs/userRepresentation'; -import UserConsentRepresentation from '../defs/userConsentRepresentation'; -import UserSessionRepresentation from '../defs/userSessionRepresentation'; -import {KeycloakAdminClient} from '../client'; -import MappingsRepresentation from '../defs/mappingsRepresentation'; -import RoleRepresentation, { - RoleMappingPayload, -} from '../defs/roleRepresentation'; -import {RequiredActionAlias} from '../defs/requiredActionProviderRepresentation'; -import FederatedIdentityRepresentation from '../defs/federatedIdentityRepresentation'; -import GroupRepresentation from '../defs/groupRepresentation'; -import CredentialRepresentation from '../defs/credentialRepresentation'; -import UserProfileConfig from '../defs/userProfileConfig'; +import Resource from './resource.js'; +import type UserRepresentation from '../defs/userRepresentation.js'; +import type UserConsentRepresentation from '../defs/userConsentRepresentation.js'; +import type UserSessionRepresentation from '../defs/userSessionRepresentation.js'; +import type {KeycloakAdminClient} from '../client.js'; +import type MappingsRepresentation from '../defs/mappingsRepresentation.js'; +import type RoleRepresentation from '../defs/roleRepresentation.js'; +import type { RoleMappingPayload } from '../defs/roleRepresentation.js'; +import type {RequiredActionAlias} from '../defs/requiredActionProviderRepresentation.js'; +import type FederatedIdentityRepresentation from '../defs/federatedIdentityRepresentation.js'; +import type GroupRepresentation from '../defs/groupRepresentation.js'; +import type CredentialRepresentation from '../defs/credentialRepresentation.js'; +import type UserProfileConfig from '../defs/userProfileConfig.js'; export interface UserQuery { email?: string; diff --git a/src/resources/whoAmI.ts b/src/resources/whoAmI.ts index a96db77f..3ec0d6ca 100644 --- a/src/resources/whoAmI.ts +++ b/src/resources/whoAmI.ts @@ -1,6 +1,6 @@ -import WhoAmIRepresentation from '../defs/whoAmIRepresentation'; -import KeycloakAdminClient from '..'; -import Resource from './resource'; +import type WhoAmIRepresentation from '../defs/whoAmIRepresentation.js'; +import type KeycloakAdminClient from '../index.js'; +import Resource from './resource.js'; export class WhoAmI extends Resource<{realm?: string}> { constructor(client: KeycloakAdminClient) { diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 40b06de4..5b522523 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1,7 +1,7 @@ import axios, {AxiosRequestConfig, AxiosResponse} from 'axios'; import camelize from 'camelize-ts'; import querystring from 'query-string'; -import {defaultBaseUrl, defaultRealm} from './constants'; +import {defaultBaseUrl, defaultRealm} from './constants.js'; export type GrantTypes = 'client_credentials' | 'password' | 'refresh_token'; @@ -78,6 +78,6 @@ export const getToken = async (settings: Settings): Promise => { }; } - const {data} = await axios.post>(url, payload, config); + const {data} = await axios.default.post>(url, payload, config); return camelize(data); }; diff --git a/test/attackDetection.spec.ts b/test/attackDetection.spec.ts index 773b458e..4f16cb86 100644 --- a/test/attackDetection.spec.ts +++ b/test/attackDetection.spec.ts @@ -1,9 +1,10 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; -import UserRepresentation from '../src/defs/userRepresentation'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import type UserRepresentation from '../src/defs/userRepresentation.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; describe('Attack Detection', () => { diff --git a/test/auth.spec.ts b/test/auth.spec.ts index 517a6fb2..349d31ea 100644 --- a/test/auth.spec.ts +++ b/test/auth.spec.ts @@ -1,6 +1,6 @@ import * as chai from 'chai'; -import {getToken} from '../src/utils/auth'; -import {credentials} from './constants'; +import {getToken} from '../src/utils/auth.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/authenticationManagement.spec.ts b/test/authenticationManagement.spec.ts index e9143015..878a85f3 100644 --- a/test/authenticationManagement.spec.ts +++ b/test/authenticationManagement.spec.ts @@ -1,10 +1,11 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; -import {RequiredActionAlias} from '../src/defs/requiredActionProviderRepresentation'; import {fail} from 'assert'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import {RequiredActionAlias} from '../src/defs/requiredActionProviderRepresentation.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; describe('Authentication management', () => { diff --git a/test/clientPolicies.spec.ts b/test/clientPolicies.spec.ts index 455c465c..88378ef9 100644 --- a/test/clientPolicies.spec.ts +++ b/test/clientPolicies.spec.ts @@ -1,7 +1,7 @@ // tslint:disable:no-unused-expression import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; +import {KeycloakAdminClient} from '../src/client.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/clientScopes.spec.ts b/test/clientScopes.spec.ts index 6b8b555a..d0001e22 100644 --- a/test/clientScopes.spec.ts +++ b/test/clientScopes.spec.ts @@ -1,10 +1,10 @@ // tslint:disable:no-unused-expression import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; -import ClientScopeRepresentation from '../src/defs/clientScopeRepresentation'; -import ProtocolMapperRepresentation from '../src/defs/protocolMapperRepresentation'; -import ClientRepresentation from '../src/defs/clientRepresentation'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ClientRepresentation from '../src/defs/clientRepresentation.js'; +import type ClientScopeRepresentation from '../src/defs/clientScopeRepresentation.js'; +import type ProtocolMapperRepresentation from '../src/defs/protocolMapperRepresentation.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/clients.spec.ts b/test/clients.spec.ts index 1a30a7ff..c82eab70 100644 --- a/test/clients.spec.ts +++ b/test/clients.spec.ts @@ -1,15 +1,17 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; -import ClientRepresentation from '../src/defs/clientRepresentation'; -import ProtocolMapperRepresentation from '../src/defs/protocolMapperRepresentation'; -import ClientScopeRepresentation from '../src/defs/clientScopeRepresentation'; -import ScopeRepresentation from '../src/defs/scopeRepresentation'; -import ResourceRepresentation from '../src/defs/resourceRepresentation'; -import UserRepresentation from '../src/defs/userRepresentation'; -import PolicyRepresentation, {Logic} from '../src/defs/policyRepresentation'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ClientRepresentation from '../src/defs/clientRepresentation.js'; +import type ClientScopeRepresentation from '../src/defs/clientScopeRepresentation.js'; +import type PolicyRepresentation from '../src/defs/policyRepresentation.js'; +import {Logic} from '../src/defs/policyRepresentation.js'; +import type ProtocolMapperRepresentation from '../src/defs/protocolMapperRepresentation.js'; +import type ResourceRepresentation from '../src/defs/resourceRepresentation.js'; +import type ScopeRepresentation from '../src/defs/scopeRepresentation.js'; +import type UserRepresentation from '../src/defs/userRepresentation.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; describe('Clients', () => { diff --git a/test/components.spec.ts b/test/components.spec.ts index 8befa86d..849cbaca 100644 --- a/test/components.spec.ts +++ b/test/components.spec.ts @@ -1,9 +1,10 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; -import ComponentRepresentation from '../src/defs/componentRepresentation'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ComponentRepresentation from '../src/defs/componentRepresentation.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; describe('User federation using component api', () => { diff --git a/test/constants.ts b/test/constants.ts index 51131161..a87bccd1 100644 --- a/test/constants.ts +++ b/test/constants.ts @@ -1,4 +1,4 @@ -import {Credentials} from '../src/utils/auth'; +import type {Credentials} from '../src/utils/auth.js'; export const credentials: Credentials = { username: 'wwwy3y3', diff --git a/test/crossRealm.spec.ts b/test/crossRealm.spec.ts index 7781be31..1dc53da5 100644 --- a/test/crossRealm.spec.ts +++ b/test/crossRealm.spec.ts @@ -1,8 +1,9 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; describe('Realms', () => { diff --git a/test/groupUser.spec.ts b/test/groupUser.spec.ts index a6716967..23909e12 100644 --- a/test/groupUser.spec.ts +++ b/test/groupUser.spec.ts @@ -1,13 +1,14 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; import {faker} from '@faker-js/faker'; -import {omit, pick} from 'lodash'; -import {KeycloakAdminClient} from '../src/client'; -import ClientRepresentation from '../src/defs/clientRepresentation'; -import GroupRepresentation from '../src/defs/groupRepresentation'; -import PolicyRepresentation, {DecisionStrategy, Logic} from '../src/defs/policyRepresentation'; -import UserRepresentation from '../src/defs/userRepresentation'; -import {credentials} from './constants'; +import * as chai from 'chai'; +import {omit, pick} from 'lodash-es'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ClientRepresentation from '../src/defs/clientRepresentation.js'; +import type GroupRepresentation from '../src/defs/groupRepresentation.js'; +import type PolicyRepresentation from '../src/defs/policyRepresentation.js'; +import {DecisionStrategy, Logic} from '../src/defs/policyRepresentation.js'; +import type UserRepresentation from '../src/defs/userRepresentation.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/groups.spec.ts b/test/groups.spec.ts index f61615df..c24c3591 100644 --- a/test/groups.spec.ts +++ b/test/groups.spec.ts @@ -1,11 +1,11 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; -import GroupRepresentation from '../src/defs/groupRepresentation'; -import RoleRepresentation from '../src/defs/roleRepresentation'; -import ClientRepresentation from '../src/defs/clientRepresentation'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ClientRepresentation from '../src/defs/clientRepresentation.js'; +import type GroupRepresentation from '../src/defs/groupRepresentation.js'; +import type RoleRepresentation from '../src/defs/roleRepresentation.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/idp.spec.ts b/test/idp.spec.ts index 868a09c9..d2744754 100644 --- a/test/idp.spec.ts +++ b/test/idp.spec.ts @@ -1,8 +1,9 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; describe('Identity providers', () => { diff --git a/test/realms.spec.ts b/test/realms.spec.ts index 8f449c9b..cb336be6 100644 --- a/test/realms.spec.ts +++ b/test/realms.spec.ts @@ -1,11 +1,12 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; import {fail} from 'assert'; -import {PartialImportRealmRepresentation} from '../src/defs/realmRepresentation'; -import GroupRepresentation from '../src/defs/groupRepresentation'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import type GroupRepresentation from '../src/defs/groupRepresentation.js'; +import type {PartialImportRealmRepresentation} from '../src/defs/realmRepresentation.js'; +import {credentials} from './constants.js'; + const expect = chai.expect; const createRealm = async (kcAdminClient: KeycloakAdminClient) => { diff --git a/test/roles.spec.ts b/test/roles.spec.ts index 3191633c..37bfa00c 100644 --- a/test/roles.spec.ts +++ b/test/roles.spec.ts @@ -1,9 +1,9 @@ // tslint:disable:no-unused-expression import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; -import RoleRepresentation from '../src/defs/roleRepresentation'; -import ClientRepresentation from '../src/defs/clientRepresentation'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ClientRepresentation from '../src/defs/clientRepresentation.js'; +import type RoleRepresentation from '../src/defs/roleRepresentation.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/serverInfo.spec.ts b/test/serverInfo.spec.ts index 24d6adfe..1b9fccb3 100644 --- a/test/serverInfo.spec.ts +++ b/test/serverInfo.spec.ts @@ -1,7 +1,7 @@ // tslint:disable:no-unused-expression import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; +import {KeycloakAdminClient} from '../src/client.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/sessions.spec.ts b/test/sessions.spec.ts index b0042ca1..044ec4a1 100644 --- a/test/sessions.spec.ts +++ b/test/sessions.spec.ts @@ -1,7 +1,7 @@ // tslint:disable:no-unused-expression import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; +import {KeycloakAdminClient} from '../src/client.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/userStorageProvider.spec.ts b/test/userStorageProvider.spec.ts index b7ad701f..07571909 100644 --- a/test/userStorageProvider.spec.ts +++ b/test/userStorageProvider.spec.ts @@ -1,10 +1,9 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; - -import ComponentRepresentation from '../src/defs/componentRepresentation'; +import * as chai from 'chai'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ComponentRepresentation from '../src/defs/componentRepresentation.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/users.spec.ts b/test/users.spec.ts index db04c0f0..50c583cc 100644 --- a/test/users.spec.ts +++ b/test/users.spec.ts @@ -1,16 +1,16 @@ // tslint:disable:no-unused-expression -import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; import {faker} from '@faker-js/faker'; -import UserRepresentation from '../src/defs/userRepresentation'; -import RoleRepresentation from '../src/defs/roleRepresentation'; -import ClientRepresentation from '../src/defs/clientRepresentation'; -import {RequiredActionAlias} from '../src/defs/requiredActionProviderRepresentation'; -import FederatedIdentityRepresentation from '../src/defs/federatedIdentityRepresentation'; -import {omit} from 'lodash'; -import GroupRepresentation from '../src/defs/groupRepresentation'; import {fail} from 'assert'; +import * as chai from 'chai'; +import {omit} from 'lodash-es'; +import {KeycloakAdminClient} from '../src/client.js'; +import type ClientRepresentation from '../src/defs/clientRepresentation.js'; +import type FederatedIdentityRepresentation from '../src/defs/federatedIdentityRepresentation.js'; +import type GroupRepresentation from '../src/defs/groupRepresentation.js'; +import {RequiredActionAlias} from '../src/defs/requiredActionProviderRepresentation.js'; +import type RoleRepresentation from '../src/defs/roleRepresentation.js'; +import type UserRepresentation from '../src/defs/userRepresentation.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/test/whoAmI.spec.ts b/test/whoAmI.spec.ts index 6f678e27..53ff6692 100644 --- a/test/whoAmI.spec.ts +++ b/test/whoAmI.spec.ts @@ -1,7 +1,7 @@ // tslint:disable:no-unused-expression import * as chai from 'chai'; -import {KeycloakAdminClient} from '../src/client'; -import {credentials} from './constants'; +import {KeycloakAdminClient} from '../src/client.js'; +import {credentials} from './constants.js'; const expect = chai.expect; diff --git a/tsconfig.json b/tsconfig.json index 228f96f6..79b94d40 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,17 +1,18 @@ { "compilerOptions": { - "module": "commonjs", - "lib": ["es6", "dom"], - "moduleResolution": "node", + "rootDir": "src", + "outDir": "lib", + "module": "Node16", + "target": "ES2020", + "isolatedModules": true, + "importsNotUsedAsValues": "error", "removeComments": true, "sourceMap": true, "declaration": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "experimentalDecorators": true, "skipLibCheck": true, "strict": true }, - "include": ["src/**/*.ts", "docs/**/*.ts", "test/*"], - "exclude": ["./node_modules"] -} + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/tsconfig.release.json b/tsconfig.release.json deleted file mode 100644 index 3256d3da..00000000 --- a/tsconfig.release.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "rootDir": "src", - "outDir": "lib" - }, - "include": ["src/**/*.ts"], - "exclude": ["test/**/*.ts"] -} diff --git a/tsconfig.test.json b/tsconfig.test.json new file mode 100644 index 00000000..05bebb48 --- /dev/null +++ b/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "target": "ES2015" + }, + "include": ["test"] +}