diff --git a/README.md b/README.md index 021bd3fda..a92355c67 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ In this GitHub repository, the following SuiteCloud SDK tools are available: ## Release Notes & Documentation -To read the 2024.2 NetSuite's release notes and documentation, check the following sections of NetSuite's Help Center: -- Read the release notes for NetSuite 2024.2 in [SuiteCloud SDK Release Notes](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558730192.html). +To read the 2025.1 NetSuite's release notes and documentation, check the following sections of NetSuite's Help Center: +- Read the release notes for NetSuite 2025.1 in [SuiteCloud SDK Release Notes](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558730192.html). - Read the latest updates under SuiteCloud SDK in the [Help Center Weekly Updates](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_3798389663.html). @@ -34,7 +34,7 @@ Please consult the [security guide](./SECURITY.md) for our responsible security ## License -Copyright (c) 2022, 2023, 2024 Oracle and/or its affiliates The Universal Permissive License (UPL), Version 1.0. +Copyright (c) 2022, 2023, 2024, 2025 Oracle and/or its affiliates The Universal Permissive License (UPL), Version 1.0. By installing SuiteCloud CLI for Node.js, you are accepting the installation of the SuiteCloud SDK dependency under the [Oracle Free Use Terms and Conditions](https://www.oracle.com/downloads/licenses/oracle-free-license.html) license. diff --git a/package-lock.json b/package-lock.json index 1f1c72b0f..766815684 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,8 @@ }, "node_modules/@ampproject/remapping": { "version": "2.3.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -25,10 +26,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -36,26 +39,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.9", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.9", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.9", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.9", - "@babel/helpers": "^7.24.8", - "@babel/parser": "^7.24.8", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.9", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -71,46 +76,39 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.10", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dependencies": { - "@babel/types": "^7.24.9", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.24.7", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dependencies": { - "@babel/compat-data": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -119,17 +117,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.8", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -140,11 +137,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, "engines": { @@ -155,8 +153,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "license": "MIT", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -168,68 +167,38 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.9", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -239,29 +208,32 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-wrap-function": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -271,12 +243,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", - "@babel/helper-optimise-call-expression": "^7.24.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -285,169 +258,102 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dependencies": { - "@babel/helper-function-name": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.8", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "license": "MIT", + "node_modules/@babel/parser": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dependencies": { - "color-convert": "^1.9.0" + "@babel/types": "^7.26.5" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "license": "MIT", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dependencies": { - "has-flag": "^3.0.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.8", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" + "node": ">=6.9.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.7", - "license": "MIT", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -457,10 +363,11 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -470,12 +377,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -485,11 +393,12 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -500,7 +409,8 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "engines": { "node": ">=6.9.0" }, @@ -510,7 +420,8 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -520,7 +431,8 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -530,7 +442,8 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -540,7 +453,8 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -551,31 +465,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -585,10 +480,11 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -599,7 +495,8 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -609,7 +506,8 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -618,11 +516,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -633,7 +532,8 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -643,7 +543,8 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -653,7 +554,8 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -663,7 +565,8 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -673,7 +576,8 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -683,7 +587,8 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -693,7 +598,8 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -706,7 +612,8 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -718,11 +625,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -733,7 +641,8 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -746,10 +655,11 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -759,13 +669,13 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -775,12 +685,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -790,10 +701,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -803,10 +715,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -816,11 +729,12 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -830,12 +744,12 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -845,16 +759,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.8", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -865,11 +778,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/template": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -879,10 +793,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -892,11 +807,12 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -906,10 +822,11 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -918,12 +835,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -933,11 +865,11 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -947,11 +879,11 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -961,11 +893,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -975,12 +908,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -990,11 +924,11 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1004,10 +938,11 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1017,11 +952,11 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1031,10 +966,11 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1044,11 +980,12 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1058,12 +995,12 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.8", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-simple-access": "^7.24.7" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1073,13 +1010,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dependencies": { - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1089,11 +1027,12 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1103,11 +1042,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1117,10 +1057,11 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1130,11 +1071,11 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1144,11 +1085,11 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1158,13 +1099,13 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1174,11 +1115,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1188,11 +1130,11 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1202,12 +1144,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1217,10 +1159,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1230,11 +1173,12 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1244,13 +1188,13 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1260,10 +1204,11 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1273,10 +1218,11 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1286,11 +1232,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1300,10 +1262,11 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1313,11 +1276,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1327,10 +1291,11 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1340,10 +1305,11 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1353,10 +1319,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1366,10 +1333,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1379,11 +1347,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1393,11 +1362,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1407,11 +1377,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1421,89 +1392,78 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.8", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.24.8", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.7", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.24.7", - "@babel/plugin-transform-async-to-generator": "^7.24.7", - "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.24.7", - "@babel/plugin-transform-class-properties": "^7.24.7", - "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.24.8", - "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.8", - "@babel/plugin-transform-dotall-regex": "^7.24.7", - "@babel/plugin-transform-duplicate-keys": "^7.24.7", - "@babel/plugin-transform-dynamic-import": "^7.24.7", - "@babel/plugin-transform-exponentiation-operator": "^7.24.7", - "@babel/plugin-transform-export-namespace-from": "^7.24.7", - "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.24.7", - "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.24.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", - "@babel/plugin-transform-member-expression-literals": "^7.24.7", - "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/plugin-transform-modules-systemjs": "^7.24.7", - "@babel/plugin-transform-modules-umd": "^7.24.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", - "@babel/plugin-transform-new-target": "^7.24.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", - "@babel/plugin-transform-numeric-separator": "^7.24.7", - "@babel/plugin-transform-object-rest-spread": "^7.24.7", - "@babel/plugin-transform-object-super": "^7.24.7", - "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.8", - "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-property-literals": "^7.24.7", - "@babel/plugin-transform-regenerator": "^7.24.7", - "@babel/plugin-transform-reserved-words": "^7.24.7", - "@babel/plugin-transform-shorthand-properties": "^7.24.7", - "@babel/plugin-transform-spread": "^7.24.7", - "@babel/plugin-transform-sticky-regex": "^7.24.7", - "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.8", - "@babel/plugin-transform-unicode-escapes": "^7.24.7", - "@babel/plugin-transform-unicode-property-regex": "^7.24.7", - "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.37.1", + "core-js-compat": "^3.38.1", "semver": "^6.3.1" }, "engines": { @@ -1515,7 +1475,8 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -1525,13 +1486,10 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "license": "MIT" - }, "node_modules/@babel/runtime": { - "version": "7.24.8", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1540,29 +1498,28 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.8", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", + "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.5", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1571,12 +1528,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.9", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1584,12 +1541,14 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -1603,15 +1562,17 @@ }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -1626,8 +1587,9 @@ }, "node_modules/@jest/core": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -1672,8 +1634,9 @@ }, "node_modules/@jest/environment": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -1686,8 +1649,9 @@ }, "node_modules/@jest/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1698,8 +1662,9 @@ }, "node_modules/@jest/expect-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1709,8 +1674,9 @@ }, "node_modules/@jest/fake-timers": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1725,8 +1691,9 @@ }, "node_modules/@jest/globals": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1739,8 +1706,9 @@ }, "node_modules/@jest/reporters": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, - "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1781,8 +1749,9 @@ }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -1796,8 +1765,9 @@ }, "node_modules/@jest/reporters/node_modules/semver": { "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -1807,7 +1777,8 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1817,8 +1788,9 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1830,8 +1802,9 @@ }, "node_modules/@jest/test-result": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1844,8 +1817,9 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1858,7 +1832,8 @@ }, "node_modules/@jest/transform": { "version": "29.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1882,7 +1857,8 @@ }, "node_modules/@jest/types": { "version": "29.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1896,8 +1872,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "license": "MIT", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1909,25 +1886,29 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1943,27 +1924,31 @@ }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" }, "node_modules/@sinonjs/commons": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/@types/babel__core": { "version": "7.20.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1974,14 +1959,16 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -1989,62 +1976,72 @@ }, "node_modules/@types/babel__traverse": { "version": "7.20.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/graceful-fs": { "version": "4.1.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/node": { - "version": "20.14.12", - "license": "MIT", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.20.0" } }, "node_modules/@types/stack-utils": { "version": "2.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.32", - "license": "MIT", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, "node_modules/ansi-escapes": { "version": "4.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { "type-fest": "^0.21.3" }, @@ -2057,14 +2054,16 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -2077,7 +2076,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2088,14 +2088,16 @@ }, "node_modules/argparse": { "version": "1.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/babel-jest": { "version": "29.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -2114,7 +2116,8 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -2128,7 +2131,8 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -2140,11 +2144,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "license": "MIT", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", + "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -2152,21 +2157,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "license": "MIT", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "license": "MIT", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -2174,7 +2181,8 @@ }, "node_modules/babel-plugin-transform-amd-to-commonjs": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-amd-to-commonjs/-/babel-plugin-transform-amd-to-commonjs-1.6.0.tgz", + "integrity": "sha512-Dwvn+0BM6hdLMA5sfD9QzMICo8NnqqyqCyiNeKPruAuEZDdDVWbPkPh26ckJqfL/hYIkzAvK3Zj2H/7pBzIpig==", "engines": { "node": ">=12" }, @@ -2183,21 +2191,25 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -2205,7 +2217,8 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -2219,7 +2232,8 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -2252,7 +2266,8 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2260,7 +2275,8 @@ }, "node_modules/braces": { "version": "3.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { "fill-range": "^7.1.1" }, @@ -2269,7 +2285,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -2284,12 +2302,11 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -2300,7 +2317,8 @@ }, "node_modules/bser": { "version": "2.1.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dependencies": { "node-int64": "^0.4.0" } @@ -2330,26 +2348,31 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", "funding": [ { "type": "opencollective", @@ -2363,12 +2386,12 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { "version": "4.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2382,33 +2405,37 @@ }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/chardet": { "version": "0.7.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "dev": true, - "license": "MIT" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "dev": true }, "node_modules/cli-cursor": { "version": "3.1.0", @@ -2423,14 +2450,16 @@ }, "node_modules/cli-spinner": { "version": "0.2.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz", + "integrity": "sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==", "engines": { "node": ">=0.10" } }, "node_modules/cli-spinners": { "version": "2.9.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "engines": { "node": ">=6" }, @@ -2438,10 +2467,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2453,8 +2491,9 @@ }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -2477,8 +2516,9 @@ }, "node_modules/co": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -2486,12 +2526,14 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true }, "node_modules/color-convert": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -2501,21 +2543,33 @@ }, "node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "engines": { + "node": ">=16" + } }, "node_modules/concat-map": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/convert-source-map": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/core-js-compat": { - "version": "3.37.1", - "license": "MIT", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", + "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.24.3" }, "funding": { "type": "opencollective", @@ -2524,8 +2578,9 @@ }, "node_modules/create-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -2543,9 +2598,10 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2556,10 +2612,11 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "license": "MIT", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2572,8 +2629,9 @@ }, "node_modules/dedent": { "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, - "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -2585,8 +2643,9 @@ }, "node_modules/deepmerge": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2604,28 +2663,32 @@ }, "node_modules/detect-newline": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/electron-to-chromium": { - "version": "1.5.0", - "license": "ISC" + "version": "1.5.87", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.87.tgz", + "integrity": "sha512-mPFwmEWmRivw2F8x3w3l2m6htAUN97Gy0kwpO++2m9iT1Gt8RCFVUfv9U/sIbHJ6rY4P6/ooqFL/eL7ock+pPg==" }, "node_modules/emittery": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -2635,34 +2698,38 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/escalade": { - "version": "3.1.2", - "license": "MIT", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, "node_modules/esprima": { "version": "4.0.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2673,15 +2740,17 @@ }, "node_modules/esutils": { "version": "2.0.3", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { "node": ">=0.10.0" } }, "node_modules/execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -2700,13 +2769,10 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, "node_modules/exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -2714,8 +2780,9 @@ }, "node_modules/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -2729,7 +2796,8 @@ }, "node_modules/external-editor": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -2741,11 +2809,13 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fb-watchman": { "version": "2.0.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dependencies": { "bser": "2.1.1" } @@ -2764,17 +2834,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/figures/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2784,7 +2847,8 @@ }, "node_modules/find-up": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2795,41 +2859,60 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, "node_modules/function-bind": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-package-type": { "version": "0.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -2839,7 +2922,9 @@ }, "node_modules/glob": { "version": "7.2.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2857,25 +2942,29 @@ }, "node_modules/globals": { "version": "11.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { "node": ">=4" } }, "node_modules/graceful-fs": { "version": "4.2.11", - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/has-flag": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, "node_modules/hasown": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -2885,20 +2974,23 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/iconv-lite": { "version": "0.4.24", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -2927,8 +3019,9 @@ }, "node_modules/import-local": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -2945,14 +3038,17 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", - "license": "ISC", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2960,16 +3056,52 @@ }, "node_modules/inherits": { "version": "2.0.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, "node_modules/is-core-module": { - "version": "2.15.0", - "license": "MIT", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dependencies": { "hasown": "^2.0.2" }, @@ -2982,15 +3114,17 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -3005,15 +3139,17 @@ }, "node_modules/is-number": { "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { "node": ">=0.12.0" } }, "node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -3034,19 +3170,22 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -3060,8 +3199,9 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -3073,8 +3213,9 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -3086,8 +3227,9 @@ }, "node_modules/istanbul-reports": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -3098,8 +3240,9 @@ }, "node_modules/jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -3123,8 +3266,9 @@ }, "node_modules/jest-changed-files": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -3136,8 +3280,9 @@ }, "node_modules/jest-circus": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -3166,8 +3311,9 @@ }, "node_modules/jest-cli": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, - "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -3198,8 +3344,9 @@ }, "node_modules/jest-config": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -3242,8 +3389,9 @@ }, "node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -3256,8 +3404,9 @@ }, "node_modules/jest-docblock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -3267,8 +3416,9 @@ }, "node_modules/jest-each": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -3282,8 +3432,9 @@ }, "node_modules/jest-environment-node": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -3298,15 +3449,17 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -3329,8 +3482,9 @@ }, "node_modules/jest-leak-detector": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -3341,8 +3495,9 @@ }, "node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -3355,8 +3510,9 @@ }, "node_modules/jest-message-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -3374,8 +3530,9 @@ }, "node_modules/jest-mock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -3387,8 +3544,9 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -3403,15 +3561,17 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -3429,8 +3589,9 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -3441,8 +3602,9 @@ }, "node_modules/jest-runner": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -3472,8 +3634,9 @@ }, "node_modules/jest-runtime": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -3504,8 +3667,9 @@ }, "node_modules/jest-snapshot": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -3534,8 +3698,9 @@ }, "node_modules/jest-snapshot/node_modules/semver": { "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3545,7 +3710,8 @@ }, "node_modules/jest-util": { "version": "29.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -3560,8 +3726,9 @@ }, "node_modules/jest-validate": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -3576,8 +3743,9 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -3587,8 +3755,9 @@ }, "node_modules/jest-watcher": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, - "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -3605,7 +3774,8 @@ }, "node_modules/jest-worker": { "version": "29.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -3618,7 +3788,8 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" }, @@ -3631,11 +3802,13 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3645,23 +3818,26 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "license": "MIT", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -3671,28 +3847,32 @@ }, "node_modules/kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/leven": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/lines-and-columns": { "version": "1.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "node_modules/locate-path": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { "p-locate": "^4.1.0" }, @@ -3707,7 +3887,8 @@ }, "node_modules/lodash.debounce": { "version": "4.0.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/log-symbols": { "version": "4.1.0", @@ -3726,15 +3907,17 @@ }, "node_modules/lru-cache": { "version": "5.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -3747,8 +3930,9 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3758,18 +3942,21 @@ }, "node_modules/makeerror": { "version": "1.0.12", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/merge-stream": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/micromatch": { - "version": "4.0.7", - "license": "MIT", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -3780,14 +3967,16 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { "node": ">=6" } }, "node_modules/minimatch": { "version": "3.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3796,33 +3985,44 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, "node_modules/node-int64": { "version": "0.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "node_modules/node-releases": { - "version": "2.0.18", - "license": "MIT" + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==" }, "node_modules/normalize-path": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -3832,14 +4032,16 @@ }, "node_modules/once": { "version": "1.4.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -3874,15 +4076,17 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "engines": { "node": ">=0.10.0" } }, "node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3895,7 +4099,8 @@ }, "node_modules/p-locate": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { "p-limit": "^2.2.0" }, @@ -3905,7 +4110,8 @@ }, "node_modules/p-locate/node_modules/p-limit": { "version": "2.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" }, @@ -3918,15 +4124,17 @@ }, "node_modules/p-try": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "engines": { "node": ">=6" } }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -3942,37 +4150,43 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/picocolors": { - "version": "1.0.1", - "license": "ISC" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { "node": ">=8.6" }, @@ -3982,15 +4196,17 @@ }, "node_modules/pirates": { "version": "4.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -4000,8 +4216,9 @@ }, "node_modules/pretty-format": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4013,8 +4230,9 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -4024,8 +4242,9 @@ }, "node_modules/prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -4036,6 +4255,8 @@ }, "node_modules/pure-rand": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -4046,13 +4267,13 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ], - "license": "MIT" + ] }, "node_modules/react-is": { "version": "18.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, "node_modules/readable-stream": { "version": "3.6.2", @@ -4069,11 +4290,13 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "license": "MIT", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dependencies": { "regenerate": "^1.4.2" }, @@ -4083,23 +4306,26 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "license": "MIT", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -4107,49 +4333,66 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "license": "BSD-2-Clause", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "bin": { "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { - "version": "1.22.8", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -4159,15 +4402,17 @@ }, "node_modules/resolve-from": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" } }, "node_modules/resolve.exports": { - "version": "2.0.2", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } @@ -4184,16 +4429,12 @@ "node": ">=8" } }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/rxjs": { - "version": "7.8.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" } }, "node_modules/safe-buffer": { @@ -4217,23 +4458,27 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { "version": "1.4.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/semver": { "version": "6.3.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4243,36 +4488,46 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, "node_modules/sisteransi": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "node_modules/slash": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" } }, "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, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -4280,12 +4535,14 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -4293,6 +4550,15 @@ "node": ">=10" } }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -4303,8 +4569,9 @@ }, "node_modules/string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -4315,7 +4582,8 @@ }, "node_modules/string-width": { "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4327,7 +4595,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4337,24 +4606,27 @@ }, "node_modules/strip-bom": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -4364,7 +4636,8 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" }, @@ -4374,7 +4647,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" }, @@ -4384,7 +4658,8 @@ }, "node_modules/test-exclude": { "version": "6.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -4401,7 +4676,8 @@ }, "node_modules/tmp": { "version": "0.0.33", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -4411,18 +4687,13 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "license": "BSD-3-Clause" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" }, "node_modules/to-regex-range": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" }, @@ -4431,20 +4702,23 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "license": "0BSD" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.21.3", - "license": "(MIT OR CC0-1.0)", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "engines": { "node": ">=10" }, @@ -4453,19 +4727,22 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "license": "MIT" + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -4475,21 +4752,25 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "license": "MIT", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "engines": { "node": ">=4" } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "funding": [ { "type": "opencollective", @@ -4504,10 +4785,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -4523,8 +4803,9 @@ }, "node_modules/v8-to-istanbul": { "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, - "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -4536,7 +4817,8 @@ }, "node_modules/walker": { "version": "1.0.8", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dependencies": { "makeerror": "1.0.12" } @@ -4551,8 +4833,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4565,7 +4848,8 @@ }, "node_modules/wrap-ansi": { "version": "6.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4577,11 +4861,13 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -4590,13 +4876,10 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "license": "ISC" - }, "node_modules/xml2js": { "version": "0.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -4607,27 +4890,31 @@ }, "node_modules/xmlbuilder": { "version": "11.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "engines": { "node": ">=4.0" } }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "3.1.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -4643,16 +4930,18 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -4662,7 +4951,7 @@ }, "packages/node-cli": { "name": "@oracle/suitecloud-cli", - "version": "2.0.0", + "version": "3.0.0", "hasInstallScript": true, "license": "UPL-1.0", "dependencies": { @@ -4679,65 +4968,12 @@ "jest": "29.7.0" } }, - "packages/node-cli/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "packages/node-cli/node_modules/commander": { - "version": "11.1.0", - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "packages/node-cli/node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "packages/node-cli/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "packages/node-cli/node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, "packages/unit-testing": { "name": "@oracle/suitecloud-unit-testing", - "version": "1.6.0", + "version": "1.7.0", "license": "UPL-1.0", "dependencies": { - "@babel/preset-env": "7.24.8", + "@babel/preset-env": "7.26.0", "babel-jest": "29.7.0", "babel-plugin-transform-amd-to-commonjs": "1.6.0", "xml2js": "0.6.2" diff --git a/packages/node-cli/README.md b/packages/node-cli/README.md index 48c458ef4..a46ea419c 100644 --- a/packages/node-cli/README.md +++ b/packages/node-cli/README.md @@ -13,8 +13,8 @@ CLI for Node.js is an interactive tool that guides you through all the steps of ## Prerequisites The following software is required to work with SuiteCloud CLI for Node.js: -- Node.js version 20 LTS -- Oracle JDK version 17 +- Node.js version 22 LTS +- Oracle JDK version 17 or 21 Read the full list of prerequisites in [SuiteCloud CLI for Node.js Installation Prerequisites](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558708810.html). @@ -25,8 +25,8 @@ The following table shows the CLI versions currently available in NPM. | CLI Versions Available in NPM | Available Since | Compatible NetSuite Version | |:-----------------------------:|:---------------:|:---------------------------:| +| 3.0.X | 2025.1 | 2024.2 and 2025.1 | | 2.0.X | 2024.2 | 2024.1 and 2024.2 | -| 1.9.X | 2024.1 | 2024.1 and 2024.2 | ## Installation Since CLI for Node.js is a development tool, use a global instance to install it by running the following command: @@ -92,8 +92,8 @@ suitecloud account:setup ``` ## Release Notes & Documentation -To read the 2024.2 NetSuite's release notes and documentation, check the following sections of NetSuite's Help Center: -- Read the release notes for NetSuite 2024.2 in [SuiteCloud SDK Release Notes](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558730192.html). +To read the 2025.1 NetSuite's release notes and documentation, check the following sections of NetSuite's Help Center: +- Read the release notes for NetSuite 2025.1 in [SuiteCloud SDK Release Notes](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558730192.html). - Read the latest updates under SuiteCloud SDK in the [Help Center Weekly Updates](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_3798389663.html). - Read the CLI for Node.js documentation in [SuiteCloud CLI for Node.js Guide](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_1558708800.html). @@ -101,6 +101,6 @@ To read the 2024.2 NetSuite's release notes and documentation, check the followi SuiteCloud CLI for Node.js is an open source project. Pull Requests are currently not being accepted. See [Contributing](/CONTRIBUTING.md) for details. ## [License](/LICENSE.txt) -Copyright (c) 2022, 2023, 2024 Oracle and/or its affiliates The Universal Permissive License (UPL), Version 1.0. +Copyright (c) 2022, 2023, 2024, 2025 Oracle and/or its affiliates The Universal Permissive License (UPL), Version 1.0. By installing SuiteCloud CLI for Node.js, you are accepting the installation of the SuiteCloud SDK dependency under the [Oracle Free Use Terms and Conditions](https://www.oracle.com/downloads/licenses/oracle-free-license.html) license. \ No newline at end of file diff --git a/packages/node-cli/__test__/commands/account/setup/SetupOutputHandler.test.js b/packages/node-cli/__test__/commands/account/setup/SetupOutputHandler.test.js new file mode 100644 index 000000000..e1890b02b --- /dev/null +++ b/packages/node-cli/__test__/commands/account/setup/SetupOutputHandler.test.js @@ -0,0 +1,81 @@ +/* + ** Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved. + ** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + */ + +'use strict'; + +const AuthenticateActionResult = require('../../../../src/services/actionresult/AuthenticateActionResult'); +const SetupOutputHandler = require('../../../../src/commands/account/setup/SetupOutputHandler'); + +const AUTH_MODE = { + OAUTH: 'OAUTH', + REUSE: 'REUSE', +}; + +const accountInfoMock = { + companyName: 'companyName', + roleName: 'roleName', + authId: 'authId', +}; + +describe('parse()', () => { + const originalProcessEnv = process.env; + + let setupOutputHandler; + let consoleLoggerResultMock = jest.fn(); + let consoleoggerWarningMock = jest.fn(); + + beforeEach(() => { + consoleLoggerResultMock = jest.fn(); + consoleoggerWarningMock = jest.fn(); + const ConsoleLogger = jest.fn(() => ({ + result: consoleLoggerResultMock, + warning: consoleoggerWarningMock, + })); + setupOutputHandler = new SetupOutputHandler({ log: new ConsoleLogger() }); + }); + + describe('log result with password rotation warning', () => { + beforeEach(() => { + process.env = { + ...originalProcessEnv, + SUITECLOUD_FALLBACK_PASSKEY: 'SUITECLOUD_FALLBACK_PASSKEY', + } + }); + + afterEach(() => { + process.env = originalProcessEnv; + }); + + it.each([['new', AUTH_MODE.OAUTH], ['reuse', AUTH_MODE.OAUTH]])('should show %s authorization result and password rotation warning', (modeString, mode) => { + const authenticateActionResult = AuthenticateActionResult.Builder.success() + .withMode(mode) + .withAuthId('authId') + .withAccountInfo(accountInfoMock) + .build(); + + setupOutputHandler.parse(authenticateActionResult); + + expect(consoleLoggerResultMock).toHaveBeenNthCalledWith(1, 'The account has been authenticated for the following company and role: companyName [roleName]. This project will use the authentication ID "authId" as default. If you want to change your default credentials, run "suitecloud account:setup" again.',); + expect(consoleLoggerResultMock).toHaveBeenNthCalledWith(2, 'The account has been successfully set up.') + expect(consoleoggerWarningMock).toHaveBeenNthCalledWith(1, 'Authentication is currently using the credentials passkey in fallback mode. If you choose to continue using fallback mode, you should update the passkey regularly.\n' + + 'For enhanced security, consider setting up secure storage in your system.\n' + + 'For more information, see https://system.netsuite.com/app/help/helpcenter.nl?fid=article_1024042128.html#subsect_83104357122.'); + }); + }); + + it.each([['new', AUTH_MODE.OAUTH], ['reuse', AUTH_MODE.OAUTH]])('should show %s authorization result without password rotation warning', (modeString, mode) => { + const authenticateActionResult = AuthenticateActionResult.Builder.success() + .withMode(mode) + .withAuthId('authId') + .withAccountInfo(accountInfoMock) + .build(); + + setupOutputHandler.parse(authenticateActionResult); + + expect(consoleLoggerResultMock).toHaveBeenNthCalledWith(1, 'The account has been authenticated for the following company and role: companyName [roleName]. This project will use the authentication ID "authId" as default. If you want to change your default credentials, run "suitecloud account:setup" again.',); + expect(consoleLoggerResultMock).toHaveBeenNthCalledWith(2, 'The account has been successfully set up.') + expect(consoleoggerWarningMock).toHaveBeenCalledTimes(0); + }); +}); diff --git a/packages/node-cli/__test__/services/EnvironmentInformationService.test.js b/packages/node-cli/__test__/services/EnvironmentInformationService.test.js index 547370623..63e853b09 100644 --- a/packages/node-cli/__test__/services/EnvironmentInformationService.test.js +++ b/packages/node-cli/__test__/services/EnvironmentInformationService.test.js @@ -9,7 +9,7 @@ jest.mock('child_process', () => { spawnSync: mockSpawnSyncFn, }; }); -jest.mock('../../src/ApplicationConstants', () => ({ SDK_REQUIRED_JAVA_VERSION: '11' })); +jest.mock('../../src/ApplicationConstants', () => ({ SDK_COMPATIBLE_JAVA_VERSIONS: ['11'] })); describe('getInstalledJavaVersionString() method', () => { it.each([ diff --git a/packages/node-cli/__test__/services/ExecutionContextService.test.js b/packages/node-cli/__test__/services/ExecutionContextService.test.js new file mode 100644 index 000000000..61cf34297 --- /dev/null +++ b/packages/node-cli/__test__/services/ExecutionContextService.test.js @@ -0,0 +1,145 @@ +'use strict'; +const { validateMachineToMachineAuthIsAllowed } = require('../../../node-cli/src/services/ExecutionContextService'); +const { validateBrowserBasedAuthIsAllowed, getBrowserBasedWarningMessages } = require('../../src/services/ExecutionContextService'); + +const { + ENV_VARS: { + SUITECLOUD_CI, + SUITECLOUD_CI_PASSKEY, + SUITECLOUD_FALLBACK_PASSKEY + } +} = require('../../src/ApplicationConstants'); + +describe('validateMachineToMachineAuthIsAllowed', () => { + + let original_SUITECLOUD_CI; + let original_SUITECLOUD_CI_PASSKEY; + let original_SUITECLOUD_FALLBACK_PASSKEY; + beforeAll(() => { + original_SUITECLOUD_CI = process.env[SUITECLOUD_CI]; + original_SUITECLOUD_CI_PASSKEY = process.env[SUITECLOUD_CI_PASSKEY]; + original_SUITECLOUD_FALLBACK_PASSKEY = process.env[SUITECLOUD_FALLBACK_PASSKEY]; + }); + + afterAll(() => { + process.env[SUITECLOUD_CI] = original_SUITECLOUD_CI; + process.env[SUITECLOUD_CI_PASSKEY] = original_SUITECLOUD_CI_PASSKEY; + process.env[SUITECLOUD_FALLBACK_PASSKEY] = original_SUITECLOUD_FALLBACK_PASSKEY; + }); + + beforeEach(() => { + delete process.env[SUITECLOUD_CI]; + delete process.env[SUITECLOUD_CI_PASSKEY]; + delete process.env[SUITECLOUD_FALLBACK_PASSKEY]; + }); + + + it('should not throw error for CI execution mode', () => { + process.env[SUITECLOUD_CI] = '1'; + process.env[SUITECLOUD_CI_PASSKEY] = 'some_passkey'; + expect(validateMachineToMachineAuthIsAllowed).not.toThrow(); + }); + + it('should not throw error for AUTH_CI_SETUP execution mode', () => { + process.env[SUITECLOUD_CI_PASSKEY] = 'some_passkey'; + expect(validateMachineToMachineAuthIsAllowed).not.toThrow(); + }); + + it('should throw error for DEV_MACHINE_FALLBACK_PASSKEY execution mode', () => { + process.env[SUITECLOUD_FALLBACK_PASSKEY] = 'some_passkey'; + expect(() => validateMachineToMachineAuthIsAllowed()).toThrow(); + }); + + it('should throw error for DEV_MACHINE execution mode', () => { + expect(() => validateMachineToMachineAuthIsAllowed()).toThrow(); + }); + +}); + +describe('validateBrowserBasedAuthIsAllowed', () => { + let original_SUITECLOUD_CI; + let original_SUITECLOUD_CI_PASSKEY; + let original_SUITECLOUD_FALLBACK_PASSKEY; + beforeAll(() => { + original_SUITECLOUD_CI = process.env[SUITECLOUD_CI]; + original_SUITECLOUD_CI_PASSKEY = process.env[SUITECLOUD_CI_PASSKEY]; + original_SUITECLOUD_FALLBACK_PASSKEY = process.env[SUITECLOUD_FALLBACK_PASSKEY]; + }); + + afterAll(() => { + process.env[SUITECLOUD_CI] = original_SUITECLOUD_CI; + process.env[SUITECLOUD_CI_PASSKEY] = original_SUITECLOUD_CI_PASSKEY; + process.env[SUITECLOUD_FALLBACK_PASSKEY] = original_SUITECLOUD_FALLBACK_PASSKEY; + }); + + beforeEach(() => { + delete process.env[SUITECLOUD_CI]; + delete process.env[SUITECLOUD_CI_PASSKEY]; + delete process.env[SUITECLOUD_FALLBACK_PASSKEY]; + }); + + it('should throw error for CI execution mode', () => { + process.env[SUITECLOUD_CI] = '1'; + process.env[SUITECLOUD_CI_PASSKEY] = 'some_passkey'; + expect(validateBrowserBasedAuthIsAllowed).toThrow(); + }); + + it('should throw error for AUTH_CI_SETUP execution mode', () => { + process.env[SUITECLOUD_CI_PASSKEY] = 'some_passkey'; + expect(validateBrowserBasedAuthIsAllowed).toThrow(); + }); + + it('should not should not throw error for DEV_MACHINE_FALLBACK_PASSKEY execution mode', () => { + process.env[SUITECLOUD_FALLBACK_PASSKEY] = 'some_passkey'; + expect(validateBrowserBasedAuthIsAllowed).not.toThrow(); + }); + + it('should not throw error for DEV_MACHINE execution mode', () => { + expect(validateBrowserBasedAuthIsAllowed).not.toThrow(); + }); +}); + + +describe('getBrowserBasedWarningMessages', () => { + + let original_SUITECLOUD_CI; + let original_SUITECLOUD_CI_PASSKEY; + let original_SUITECLOUD_FALLBACK_PASSKEY; + beforeAll(() => { + original_SUITECLOUD_CI = process.env[SUITECLOUD_CI]; + original_SUITECLOUD_CI_PASSKEY = process.env[SUITECLOUD_CI_PASSKEY]; + original_SUITECLOUD_FALLBACK_PASSKEY = process.env[SUITECLOUD_FALLBACK_PASSKEY]; + }); + + afterAll(() => { + process.env[SUITECLOUD_CI] = original_SUITECLOUD_CI; + process.env[SUITECLOUD_CI_PASSKEY] = original_SUITECLOUD_CI_PASSKEY; + process.env[SUITECLOUD_FALLBACK_PASSKEY] = original_SUITECLOUD_FALLBACK_PASSKEY; + }); + + beforeEach(() => { + delete process.env[SUITECLOUD_CI]; + delete process.env[SUITECLOUD_CI_PASSKEY]; + delete process.env[SUITECLOUD_FALLBACK_PASSKEY]; + }); + + it('should return undefined for CI execution mode', () => { + process.env[SUITECLOUD_CI] = '1'; + process.env[SUITECLOUD_CI_PASSKEY] = 'some_passkey'; + expect(getBrowserBasedWarningMessages()).toBeUndefined(); + }); + + it('should return undefined for AUTH_CI_SETUP execution mode', () => { + process.env[SUITECLOUD_CI_PASSKEY] = 'some_passkey'; + expect(getBrowserBasedWarningMessages()).toBeUndefined(); + }); + + it('should return a message for DEV_MACHINE_FALLBACK_PASSKEY execution mode', () => { + process.env[SUITECLOUD_FALLBACK_PASSKEY] = 'some_passkey'; + expect(getBrowserBasedWarningMessages()).toBeDefined(); + }); + + it('should return undefined for DEV_MACHINE execution mode', () => { + expect(getBrowserBasedWarningMessages()).toBeUndefined(); + }); +}); \ No newline at end of file diff --git a/packages/node-cli/messages.json b/packages/node-cli/messages.json index 22fdf9fb9..57c689d75 100644 --- a/packages/node-cli/messages.json +++ b/packages/node-cli/messages.json @@ -142,6 +142,9 @@ "COMMAND_MANAGE_ACCOUNT_ERROR_CREDENTIALS_EMPTY": "There is no authentication ID (a custom alias you give to a specific account-role combination) configured for this account-role combination. Run \"suitecloud account:setup\" to set up a NetSuite account to use with SuiteCloud CLI for Node.js.", "COMMAND_MANAGE_ACCOUNT_ERROR_CREDENTIALS_NOT_FOUND": "The \"{0}\" authentication ID is not available. Check your authentication credentials and try again.", "COMMAND_MANAGE_ACCOUNT_ERROR_OPTION_NOT_SPECIFIED": "You have not specified any option. Run \"suitecloud account:manageauth --help\" to check which options are available.", + "COMMAND_MANAGE_ACCOUNT_ERROR_BROWSER_BASED_NOT_ALLOWED": "Browser-based authentication is not allowed for the current execution context.\nFor more information, see {0}.", + "COMMAND_MANAGE_ACCOUNT_ERROR_MACHINE_TO_MACHINE_NOT_ALLOWED": "Machine-to-machine authentication is not allowed for the current execution context.\nFor more information, see {0}.", + "COMMAND_MANAGE_ACCOUNT_ERROR_NON_CONSISTENT_AUTH_STATE": "The following environment variables are currently set: {0}.\nThe operation you are trying to perform is not allowed with the current environment variable configuration.\nFor more information, see {1}.", "COMMAND_MANAGE_ACCOUNT_MESSAGES_ACCOUNT_INFO_ACCOUNT_ID": "Account ID: {0}", "COMMAND_MANAGE_ACCOUNT_MESSAGES_ACCOUNT_INFO_ACCOUNT_NAME": "Account Name: {0}", "COMMAND_MANAGE_ACCOUNT_MESSAGES_ACCOUNT_INFO_ACCOUNT_TYPE": "Account Type: {0}", @@ -162,7 +165,7 @@ "COMMAND_MANAGE_ACCOUNT_QUESTIONS_NEW_NAME": "Enter a new name for the authentication ID:", "COMMAND_MANAGE_ACCOUNT_QUESTIONS_SELECT_CREDENTIALS": "Select an authentication ID (a custom alias you give to a specific account-role combination) to see its details:", "COMMAND_MANAGE_ACCOUNT_QUESTIONS_SELECT_ACTION": "Select one of the following actions:", - "COMMAND_MANAGE_ACCOUNT_QUESTIONS_VERIFY_REMOVE": "You will remove the credentials locally, but the TBA tokens will still be valid in the account. Do you want to proceed?", + "COMMAND_MANAGE_ACCOUNT_QUESTIONS_VERIFY_REMOVE": "You will remove the credentials locally, but the tokens are not revoked in the account. Do you want to proceed?", "COMMAND_OPTIONS_HELP": "Displays help for the command.", "COMMAND_OPTIONS_INTERACTIVE_HELP": "Runs the {0} command in interactive mode.", @@ -185,6 +188,7 @@ "COMMAND_SETUPACCOUNT_QUESTIONS_CHOICES_SELECT_AUTHID_EXISTING_AUTH_ID_URL_NOT_PRODUCTION": "| {0}", "COMMAND_SETUPACCOUNT_QUESTIONS_URL": "Enter your NetSuite domain:", "COMMAND_SETUPACCOUNT_MESSAGES_CANCEL_SETUP": "The setupaccount process has been canceled.", + "COMMAND_SETUPACCOUNT_MESSAGES_ROTATE_PASSWORD_WARNING": "Authentication is currently using the credentials passkey in fallback mode. If you choose to continue using fallback mode, you should update the passkey regularly.\nFor enhanced security, consider setting up secure storage in your system.\nFor more information, see {0}.", "COMMAND_SETUPACCOUNT_MESSAGES_SELECT_CONFIGURED_AUTHID": "Select a configured authentication ID:", "COMMAND_SETUPACCOUNT_OUTPUT_NEW_OAUTH": "The account has been authenticated for the following company and role: {0} [{1}]. This project will use the authentication ID \"{2}\" as default. If you want to change your default credentials, run \"suitecloud account:setup\" again.", "COMMAND_SETUPACCOUNT_OUTPUT_REUSED_AUTH_ID": "This project will use the authentication ID \"{0}\" as default for the following company and role: {1} [{2}]. If you want to change your default credentials, run \"suitecloud account:setup\" again.", @@ -239,8 +243,8 @@ "ERRORS_CLI_CONFIG_BEFORE_EXECUTING_FAILED": "There was an error while executing the \"beforeExecuting\" function of the \"suitecloud.config.js\" module defined in the project. Details:{0}{1}", "ERRORS_CLI_CONFIG_BEFORE_EXECUTING_WRONG_RETURN_VALUE": "The return value of the function should be an object with the property \"arguments\" of type \"object\".", "ERRORS_CLI_CONFIG_ERROR_LOADING_CONFIGURATION_MODULE": "There was an error while loading configuration file {0}. Review the file and try again. Details:{1}{2}", - "ERRORS_CLI_SDK_JAVA_VERSION_NOT_COMPATIBLE": "Your Java version {0} is not compatible with CLI for Node.js. Install Oracle JDK version {1}.", - "ERRORS_CLI_SDK_JAVA_VERSION_NOT_INSTALLED": "Java is not installed on this machine. Install Oracle JDK version {0} to run CLI for Node.js.", + "ERRORS_CLI_SDK_JAVA_VERSION_NOT_COMPATIBLE": "Your Java version {0} is not compatible with CLI for Node.js. Install any of the following Oracle JDK versions: {1}.", + "ERRORS_CLI_SDK_JAVA_VERSION_NOT_INSTALLED": "Java is not installed on this machine. Install any of the following Oracle JDK versions: {0}, to run CLI for Node.js.", "ERRORS_COMMAND_DOES_NOT_EXIST": "The \"{0}\" command does not exist. Run \"suitecloud\" to see the supported commands.", "ERRORS_COMMAND_DOES_NOT_SUPPORT_INTERACTIVE_MODE": "The \"{0}\" command does not support interactive mode. Run \"suitecloud {0} --help\" to see how to run the command.", "ERRORS_FILE": "There was an error in the file {0}: \n", @@ -255,7 +259,6 @@ "ERRORS_RUN_SETUP_ACCOUNT": "Run \"suitecloud account:setup\" to restore the account configuration for the project.", "ERRORS_SCRUMBOX_URL_NOT_FOUND": "The {0} domain does not exist. Check the NetSuite domain and try again.\n\n{1}", "ERRORS_SDKEXECUTOR_NO_JAR_FILE_FOUND": "There is no JAR file in your CLI for Node.js. Run \"npm install\" from \"{0}\" to install the JAR file.", - "ERRORS_SDKEXECUTOR_NO_TBA_FOR_ACCOUNT_AND_ROLE": "The email, NetSuite domain, account ID, and role combination in your account.json file have not been set up for token-based authentication (TBA). Run \"suitecloud account:setup\" to set up TBA.", "ERRORS_SDKEXECUTOR_RUNNING_COMMAND": "There was an internal error while running the command. Details: {0}", "ERRORS_SDKEXECUTOR_SDK_ERROR": "ERROR: SDK exited with code {0}\n{1}", "ERRORS_SDK_SETTINGS_FILE_WRONG_JSON_SYNTAX": "Your {0} file is not valid. Ensure the content of the file is correct, or delete the file.\n{1}", diff --git a/packages/node-cli/package.json b/packages/node-cli/package.json index 2d7f70dae..f52470dcc 100644 --- a/packages/node-cli/package.json +++ b/packages/node-cli/package.json @@ -1,6 +1,6 @@ { "name": "@oracle/suitecloud-cli", - "version": "2.0.0", + "version": "3.0.0", "license": "UPL-1.0", "description": "SuiteCloud CLI for Node.js", "keywords": [ @@ -22,9 +22,9 @@ }, "main": "./src/suitecloud.js", "preferGlobal": true, - "sdkFilename": "cli-2024.2.0.jar", - "nsCompatibleVersion": "2024.2", - "sdkDownloadUrl": "https://system.netsuite.com/download/suitecloud-sdk/24.2", + "sdkFilename": "cli-2025.1.0.jar", + "nsCompatibleVersion": "2025.1", + "sdkDownloadUrl": "https://system.netsuite.com/download/suitecloud-sdk/25.1", "bin": { "suitecloud": "src/suitecloud.js" }, diff --git a/packages/node-cli/src/ApplicationConstants.js b/packages/node-cli/src/ApplicationConstants.js index 5e65ab1d7..b58d353c7 100644 --- a/packages/node-cli/src/ApplicationConstants.js +++ b/packages/node-cli/src/ApplicationConstants.js @@ -13,7 +13,7 @@ module.exports = { SDK_COMMANDS_METADATA_PATCH_FILE: 'metadata/SdkCommandsMetadataPatch.json', //Overwrites selected properties in SdkCommandsMetadata.json file that are specific for SuiteCloud CLI for Node.js NODE_COMMANDS_METADATA_FILE: 'metadata/NodeCommandsMetadata.json', COMMAND_GENERATORS_METADATA_FILE: 'metadata/CommandGenerators.json', - SDK_REQUIRED_JAVA_VERSION: '17', + SDK_COMPATIBLE_JAVA_VERSIONS: ['17', '21'], SDK_INTEGRATION_MODE_JVM_OPTION: '-DintegrationMode --add-opens java.base/java.io=ALL-UNNAMED', SDK_CLIENT_PLATFORM: 'SuiteCloudCLIforNode.js', SDK_CLIENT_PLATFORM_JVM_OPTION: '-DclientPlatform', @@ -59,5 +59,14 @@ module.exports = { CREATE_LOCKING_XML: 'https://system.netsuite.com/app/help/helpcenter.nl?fid=section_1543865613.html', CREATE_INSTALLATION_PREFERENCES: 'https://system.netsuite.com/app/help/helpcenter.nl?fid=section_1515948480.html', }, + ERRORS: { + AUTHENTICATION_INFO: 'https://system.netsuite.com/app/help/helpcenter.nl?fid=article_0113125121.html', + AUTHENTICATION_FALLBACK_INFO: 'https://system.netsuite.com/app/help/helpcenter.nl?fid=article_1024042128.html#subsect_83104357122' + } }, + ENV_VARS: { + SUITECLOUD_CI: 'SUITECLOUD_CI', + SUITECLOUD_CI_PASSKEY: 'SUITECLOUD_CI_PASSKEY', + SUITECLOUD_FALLBACK_PASSKEY: 'SUITECLOUD_FALLBACK_PASSKEY' + } }; diff --git a/packages/node-cli/src/SdkErrorCodes.js b/packages/node-cli/src/SdkErrorCodes.js deleted file mode 100644 index 2c3bb7bfc..000000000 --- a/packages/node-cli/src/SdkErrorCodes.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - ** Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved. - ** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. - */ -'use strict'; - -module.exports = { - TWO_FA_REQUIRED: "SAS0024", - NO_TBA_SET_FOR_ACCOUNT: "SAS0025" -}; \ No newline at end of file diff --git a/packages/node-cli/src/SdkExecutor.js b/packages/node-cli/src/SdkExecutor.js index 47dfe41c5..d78391e3d 100644 --- a/packages/node-cli/src/SdkExecutor.js +++ b/packages/node-cli/src/SdkExecutor.js @@ -8,7 +8,7 @@ const { SDK_INTEGRATION_MODE_JVM_OPTION, SDK_CLIENT_PLATFORM_JVM_OPTION, SDK_CLIENT_PLATFORM_VERSION_JVM_OPTION, - SDK_REQUIRED_JAVA_VERSION, + SDK_COMPATIBLE_JAVA_VERSIONS, } = require('./ApplicationConstants'); const path = require('path'); const FileUtils = require('./utils/FileUtils'); @@ -18,7 +18,6 @@ const EnvironmentInformationService = require('./services/EnvironmentInformation const url = require('url'); const NodeTranslationService = require('./services/NodeTranslationService'); const { ERRORS } = require('./services/TranslationKeys'); -const SdkErrorCodes = require('./SdkErrorCodes'); const ExecutionEnvironmentContext = require('./ExecutionEnvironmentContext'); const DATA_EVENT = 'data'; @@ -72,9 +71,6 @@ module.exports = class SdkExecutor { if (code === 0) { try { const output = isIntegrationMode ? JSON.parse(lastSdkOutput) : lastSdkOutput; - if (isIntegrationMode && output.errorCode && output.errorCode === SdkErrorCodes.NO_TBA_SET_FOR_ACCOUNT) { - reject(NodeTranslationService.getMessage(ERRORS.SDKEXECUTOR.NO_TBA_FOR_ACCOUNT_AND_ROLE)); - } resolve(output); } catch (error) { reject(NodeTranslationService.getMessage(ERRORS.SDKEXECUTOR.RUNNING_COMMAND, error)); @@ -148,15 +144,17 @@ module.exports = class SdkExecutor { _checkIfJavaVersionIssue() { const javaVersionInstalled = this._environmentInformationService.getInstalledJavaVersionString(); - if (javaVersionInstalled.startsWith(SDK_REQUIRED_JAVA_VERSION)) { - this._CLISettingsService.setJavaVersionValid(true); - return; + for (const compatibleJavaVersion of SDK_COMPATIBLE_JAVA_VERSIONS) { + if (javaVersionInstalled.startsWith(compatibleJavaVersion)) { + this._CLISettingsService.setJavaVersionValid(true); + return; + } } this._CLISettingsService.setJavaVersionValid(false); if (javaVersionInstalled === '') { - return NodeTranslationService.getMessage(ERRORS.CLI_SDK_JAVA_VERSION_NOT_INSTALLED, SDK_REQUIRED_JAVA_VERSION); + return NodeTranslationService.getMessage(ERRORS.CLI_SDK_JAVA_VERSION_NOT_INSTALLED, SDK_COMPATIBLE_JAVA_VERSIONS.join(', ')); } - return NodeTranslationService.getMessage(ERRORS.CLI_SDK_JAVA_VERSION_NOT_COMPATIBLE, javaVersionInstalled, SDK_REQUIRED_JAVA_VERSION); + return NodeTranslationService.getMessage(ERRORS.CLI_SDK_JAVA_VERSION_NOT_COMPATIBLE, javaVersionInstalled, SDK_COMPATIBLE_JAVA_VERSIONS.join(', ')); } }; diff --git a/packages/node-cli/src/commands/account/setup/SetupInputHandler.js b/packages/node-cli/src/commands/account/setup/SetupInputHandler.js index 9b3a2a3be..77a086534 100644 --- a/packages/node-cli/src/commands/account/setup/SetupInputHandler.js +++ b/packages/node-cli/src/commands/account/setup/SetupInputHandler.js @@ -10,6 +10,7 @@ const BaseInputHandler = require('../../base/BaseInputHandler'); const CommandUtils = require('../../../utils/CommandUtils'); const NodeTranslationService = require('../../../services/NodeTranslationService'); const { getAuthIds } = require('../../../utils/AuthenticationUtils'); +const { validateBrowserBasedAuthIsAllowed } = require('../../../services/ExecutionContextService'); const { DOMAIN } = require('../../../ApplicationConstants'); @@ -50,7 +51,7 @@ module.exports = class SetupInputHandler extends BaseInputHandler { async getParameters(params) { this._projectInfoService.checkWorkingDirectoryContainsValidProject(this._commandMetadata.name); - + validateBrowserBasedAuthIsAllowed(); const authIDActionResult = await getAuthIds(this._sdkPath); if (!authIDActionResult.isSuccess()) { throw authIDActionResult.errorMessages; diff --git a/packages/node-cli/src/commands/account/setup/SetupOutputHandler.js b/packages/node-cli/src/commands/account/setup/SetupOutputHandler.js index 932269446..5aa1fe3b9 100644 --- a/packages/node-cli/src/commands/account/setup/SetupOutputHandler.js +++ b/packages/node-cli/src/commands/account/setup/SetupOutputHandler.js @@ -7,10 +7,18 @@ const BaseOutputHandler = require('../../base/BaseOutputHandler'); const NodeTranslationService = require('../../../services/NodeTranslationService'); const { - COMMAND_SETUPACCOUNT: { OUTPUT }, + COMMAND_SETUPACCOUNT: { MESSAGES, OUTPUT }, UTILS: { AUTHENTICATION }, } = require('../../../services/TranslationKeys'); +const { + LINKS: { + ERRORS: { + AUTHENTICATION_FALLBACK_INFO, + }, + } +} = require('../../../ApplicationConstants'); + const AUTH_MODE = { OAUTH: 'OAUTH', SAVE_TOKEN: 'SAVE_TOKEN', @@ -47,6 +55,11 @@ module.exports = class SetupOutputHandler extends BaseOutputHandler { this._log.result(resultMessage); this._log.result(NodeTranslationService.getMessage(AUTHENTICATION.SUCCESS_SETUP)); + + if (actionResult.isSuccess() && process.env.SUITECLOUD_FALLBACK_PASSKEY) { + this._log.warning(NodeTranslationService.getMessage(MESSAGES.ROTATE_PASSWORD_WARNING, AUTHENTICATION_FALLBACK_INFO)); + } + return actionResult; } }; diff --git a/packages/node-cli/src/commands/account/setupci/AccountSetupCiAction.js b/packages/node-cli/src/commands/account/setupci/AccountSetupCiAction.js index 7966739ce..7d9ee9b3f 100644 --- a/packages/node-cli/src/commands/account/setupci/AccountSetupCiAction.js +++ b/packages/node-cli/src/commands/account/setupci/AccountSetupCiAction.js @@ -8,6 +8,7 @@ const BaseAction = require('../../base/BaseAction'); const { authenticateCi } = require('../../../utils/AuthenticationUtils'); const { DOMAIN: { PRODUCTION: { GENERIC_NETSUITE_DOMAIN } } } = require('../../../ApplicationConstants'); const ProjectInfoService = require('../../../services/ProjectInfoService'); +const { validateMachineToMachineAuthIsAllowed } = require('../../../services/ExecutionContextService'); const COMMAND = { OPTIONS: { @@ -41,6 +42,7 @@ module.exports = class AccountSetupCiAction extends BaseAction { if (params[COMMAND.OPTIONS.DOMAIN] === GENERIC_NETSUITE_DOMAIN) { delete params[COMMAND.OPTIONS.DOMAIN]; } + validateMachineToMachineAuthIsAllowed(); return await authenticateCi(params, this._sdkPath, this._executionPath, this._executionEnvironmentContext); } }; diff --git a/packages/node-cli/src/metadata/SdkCommandsMetadataPatch.json b/packages/node-cli/src/metadata/SdkCommandsMetadataPatch.json index 6c92fdab9..1cf215623 100644 --- a/packages/node-cli/src/metadata/SdkCommandsMetadataPatch.json +++ b/packages/node-cli/src/metadata/SdkCommandsMetadataPatch.json @@ -8,7 +8,7 @@ "description": "Prints a list of all the configured authentication IDs. Usage: account:manageauth --list." }, "remove": { - "description": "Removes an authentication ID. Usage: account:manageauth --remove {authenticationID}." + "description": "Removes an authentication ID. The tokens are not revoked in the account. Usage: account:manageauth --remove {authenticationID}." }, "rename": { "description": "Renames an authentication ID. You must specify it together with the renameto option. Usage: account:manageauth --rename {authenticationID} --renameto {newAuthenticationID}." diff --git a/packages/node-cli/src/services/EnvironmentInformationService.js b/packages/node-cli/src/services/EnvironmentInformationService.js index d4594d3ef..6d8b531b6 100644 --- a/packages/node-cli/src/services/EnvironmentInformationService.js +++ b/packages/node-cli/src/services/EnvironmentInformationService.js @@ -4,13 +4,16 @@ */ 'use strict'; const spawn = require('child_process').spawnSync; -const { SDK_REQUIRED_JAVA_VERSION } = require('../ApplicationConstants'); +const { SDK_COMPATIBLE_JAVA_VERSIONS } = require('../ApplicationConstants'); module.exports = class EnvironmentInformationService { isInstalledJavaVersionValid() { const installedJavaVersion = this.getInstalledJavaVersionString(); if (installedJavaVersion) { - return installedJavaVersion.startsWith(SDK_REQUIRED_JAVA_VERSION); + for (const compatibleJavaVersion of SDK_COMPATIBLE_JAVA_VERSIONS) { + if (installedJavaVersion.startsWith(compatibleJavaVersion)) return true; + } + return false; } // in case there is no java installed or not available from path return false; diff --git a/packages/node-cli/src/services/ExecutionContextService.js b/packages/node-cli/src/services/ExecutionContextService.js new file mode 100644 index 000000000..546381341 --- /dev/null +++ b/packages/node-cli/src/services/ExecutionContextService.js @@ -0,0 +1,108 @@ +/* + ** Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved. + ** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + */ +'use strict'; + +const { + COMMAND_SETUPACCOUNT: { + ERRORS: { + BROWSER_BASED_NOT_ALLOWED, + MACHINE_TO_MACHINE_NOT_ALLOWED, + NON_CONSISTENT_AUTH_STATE, + }, + MESSAGES: { + ROTATE_PASSWORD_WARNING + }, + }, + +} = require('./TranslationKeys'); + +const { + ENV_VARS: { + SUITECLOUD_CI, + SUITECLOUD_CI_PASSKEY, + SUITECLOUD_FALLBACK_PASSKEY + }, + + LINKS: { + ERRORS: { + AUTHENTICATION_INFO, + AUTHENTICATION_FALLBACK_INFO, + }, + }, +} = require('../ApplicationConstants'); + +const NodeTranslationService = require('./NodeTranslationService'); + +const ExecutionMode = { + CI: 'CI', + AUTH_CI_SETUP: 'AUTH_CI_SETUP', + DEV_MACHINE: 'DEV_MACHINE', + DEV_MACHINE_FALLBACK_PASSKEY: 'DEV_MACHINE_FALLBACK_PASSKEY', +}; + +const validateMachineToMachineAuthIsAllowed = () => { + const executionMode = getExecutionMode(); + if (!(executionMode === ExecutionMode.CI || executionMode === ExecutionMode.AUTH_CI_SETUP)) { + throw NodeTranslationService.getMessage(MACHINE_TO_MACHINE_NOT_ALLOWED, AUTHENTICATION_INFO); + } +}; + +const validateBrowserBasedAuthIsAllowed = () => { + const executionMode = getExecutionMode(); + if (!(executionMode === ExecutionMode.DEV_MACHINE || executionMode === ExecutionMode.DEV_MACHINE_FALLBACK_PASSKEY)) { + throw NodeTranslationService.getMessage(BROWSER_BASED_NOT_ALLOWED, AUTHENTICATION_INFO); + } +}; + +const getBrowserBasedWarningMessages = () => { + const executionMode = getExecutionMode(); + if (executionMode === ExecutionMode.DEV_MACHINE_FALLBACK_PASSKEY) { + return NodeTranslationService.getMessage(ROTATE_PASSWORD_WARNING, AUTHENTICATION_FALLBACK_INFO); + } +}; + +const getExecutionMode = () => { + const envFallBackPassKey = process.env[SUITECLOUD_FALLBACK_PASSKEY]; + const envCiPassKey = process.env[SUITECLOUD_CI_PASSKEY]; + const envCi = process.env[SUITECLOUD_CI]; + + if (envCi && envCi !== '0') { + //CI + if (envCiPassKey && !envFallBackPassKey) { + return ExecutionMode.CI; + } + } else { + //Not CI + if (envCiPassKey && !envFallBackPassKey) { + return ExecutionMode.AUTH_CI_SETUP; + } else if (!envCiPassKey && !envFallBackPassKey) { + return ExecutionMode.DEV_MACHINE; + } else if (!envCiPassKey && envFallBackPassKey) { + return ExecutionMode.DEV_MACHINE_FALLBACK_PASSKEY; + } + } + //Default is non consistent states + throw NodeTranslationService.getMessage(NON_CONSISTENT_AUTH_STATE, getSuiteCloudEnvVariableList(), AUTHENTICATION_INFO); +}; + +const getSuiteCloudEnvVariableList = () => { + const envFallBackPassKey = process.env[SUITECLOUD_FALLBACK_PASSKEY]; + const envCiPassKey = process.env[SUITECLOUD_CI_PASSKEY]; + const envCi = process.env[SUITECLOUD_CI]; + + const variables = []; + if (envCi && envCi !== '0') { + variables.push(SUITECLOUD_CI); + } + if (envCiPassKey) { + variables.push(SUITECLOUD_CI_PASSKEY); + } + if (envFallBackPassKey) { + variables.push(SUITECLOUD_FALLBACK_PASSKEY); + } + return variables.join(', '); +}; + +module.exports = { validateBrowserBasedAuthIsAllowed, validateMachineToMachineAuthIsAllowed, getBrowserBasedWarningMessages }; \ No newline at end of file diff --git a/packages/node-cli/src/services/TranslationKeys.js b/packages/node-cli/src/services/TranslationKeys.js index 341c0de20..25b48f912 100644 --- a/packages/node-cli/src/services/TranslationKeys.js +++ b/packages/node-cli/src/services/TranslationKeys.js @@ -292,8 +292,14 @@ module.exports = { }, MESSAGES: { CANCEL_SETUP: 'COMMAND_SETUPACCOUNT_MESSAGES_CANCEL_SETUP', + ROTATE_PASSWORD_WARNING: 'COMMAND_SETUPACCOUNT_MESSAGES_ROTATE_PASSWORD_WARNING', SELECT_CONFIGURED_AUTHID: 'COMMAND_SETUPACCOUNT_MESSAGES_SELECT_CONFIGURED_AUTHID', }, + ERRORS: { + BROWSER_BASED_NOT_ALLOWED : 'COMMAND_MANAGE_ACCOUNT_ERROR_BROWSER_BASED_NOT_ALLOWED', + MACHINE_TO_MACHINE_NOT_ALLOWED : 'COMMAND_MANAGE_ACCOUNT_ERROR_MACHINE_TO_MACHINE_NOT_ALLOWED', + NON_CONSISTENT_AUTH_STATE : 'COMMAND_MANAGE_ACCOUNT_ERROR_NON_CONSISTENT_AUTH_STATE', + }, OUTPUT: { NEW_OAUTH: 'COMMAND_SETUPACCOUNT_OUTPUT_NEW_OAUTH', REUSED_AUTH_ID: 'COMMAND_SETUPACCOUNT_OUTPUT_REUSED_AUTH_ID', @@ -405,7 +411,6 @@ module.exports = { SCRUMBOX_URL_NOT_FOUND: 'ERRORS_SCRUMBOX_URL_NOT_FOUND', SDKEXECUTOR: { NO_JAR_FILE_FOUND: 'ERRORS_SDKEXECUTOR_NO_JAR_FILE_FOUND', - NO_TBA_FOR_ACCOUNT_AND_ROLE: 'ERRORS_SDKEXECUTOR_NO_TBA_FOR_ACCOUNT_AND_ROLE', RUNNING_COMMAND: 'ERRORS_SDKEXECUTOR_RUNNING_COMMAND', SDK_ERROR: 'ERRORS_SDKEXECUTOR_SDK_ERROR', }, diff --git a/packages/node-cli/src/templates/unittest/package.json.template b/packages/node-cli/src/templates/unittest/package.json.template index 46662d0c0..b28776b5a 100644 --- a/packages/node-cli/src/templates/unittest/package.json.template +++ b/packages/node-cli/src/templates/unittest/package.json.template @@ -6,7 +6,7 @@ }, "devDependencies": { "jest": "29.7.0", - "@types/jest": "29.5.12", - "@oracle/suitecloud-unit-testing": "^1.6.0" + "@types/jest": "29.5.14", + "@oracle/suitecloud-unit-testing": "^1.7.0" } } diff --git a/packages/uif-types/README.md b/packages/uif-types/README.md index 9638d37bf..f59711e35 100644 --- a/packages/uif-types/README.md +++ b/packages/uif-types/README.md @@ -1,4 +1,4 @@ -

+

# NetSuite UI Framework TypeScript Type Declarations This package provides TypeScript type declarations for the NetSuite UI Framework (UIF). Type declarations describe the @@ -13,13 +13,14 @@ The NetSuite UI Framework and its TypeScript type declarations follow a versioni | Version in NPM | NetSuite Version | |:--------------:|:----------------:| | 5.0.X | 2024.1 | +| 6.0.X | 2024.2 | ## Installation To use the NetSuite UI Framework TypeScript type declarations follow these steps 1. Add the `@oracle/netsuite-uif-types` dependency to `devDependencies` in your `package.json` and specify an appropriate version based on the NetSuite version you will be developing against. Make sure that a `typescript` dependency is included as well. ```json "devDependencies": { - "@oracle/netsuite-uif-types": "^5.0.0", + "@oracle/netsuite-uif-types": "^6.0.0", "typescript": "^5.2.0" } ``` diff --git a/packages/uif-types/resources/netsuite_logo_simplified.png b/packages/uif-types/netsuite_logo_simplified.png similarity index 100% rename from packages/uif-types/resources/netsuite_logo_simplified.png rename to packages/uif-types/netsuite_logo_simplified.png diff --git a/packages/uif-types/package.json b/packages/uif-types/package.json index 468188d26..0ffc7eee9 100644 --- a/packages/uif-types/package.json +++ b/packages/uif-types/package.json @@ -1,6 +1,6 @@ { "name": "@oracle/netsuite-uif-types", - "version": "5.0.0", + "version": "6.0.1", "description": "NetSuite UI Framework TypeScript type declarations", "publisher": "Oracle", "license": "UPL-1.0", @@ -15,7 +15,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/oracle/netsuite-suitecloud-sdk", + "url": "git+https://github.com/oracle/netsuite-suitecloud-sdk.git", "directory": "packages/uif-types" }, "publishConfig": { @@ -24,4 +24,4 @@ "bugs": { "url": "https://github.com/oracle/netsuite-suitecloud-sdk/issues" } -} \ No newline at end of file +} diff --git a/packages/uif-types/uif/component.d.ts b/packages/uif-types/uif/component.d.ts index 41a4c887c..3b3835bf7 100644 --- a/packages/uif-types/uif/component.d.ts +++ b/packages/uif-types/uif/component.d.ts @@ -884,25 +884,25 @@ declare module '@uif-js/component' { export class ApplicationHeader extends PackageCore.Component { constructor(options?: Self.ApplicationHeader.Options); - title: (string | number | PackageCore.Component | PackageCore.Translation); + title: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - subtitle: (string | number | PackageCore.Component | PackageCore.Translation); + subtitle: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); badge: (string | number | PackageCore.Translation | Self.Badge.Options); - icon: (object | globalThis.Array | string | PackageCore.ImageMetadata | PackageCore.Component | PackageCore.VDom.Element); + icon: (object | globalThis.Array | string | PackageCore.ImageMetadata | PackageCore.Component | PackageCore.JSX.Element); actions: globalThis.Array; links: globalThis.Array; - tools: PackageCore.Component; + tools: (PackageCore.Component | PackageCore.JSX.Element); outerGap: Self.ApplicationHeader.GapSize; - setTitle(title: (string | number | PackageCore.Component | PackageCore.Translation)): void; + setTitle(title: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element)): void; - setSubtitle(subtitle: (string | number | PackageCore.Component | PackageCore.Translation)): void; + setSubtitle(subtitle: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element)): void; setBadge(badge: (string | number | PackageCore.Translation)): void; @@ -912,7 +912,7 @@ declare module '@uif-js/component' { setActions(actions: globalThis.Array): void; - setTools(tools: PackageCore.Component): void; + setTools(tools: (PackageCore.Component | PackageCore.JSX.Element)): void; getAction(actionId?: number): (Self.ApplicationHeader.ActionHandle | null); @@ -968,17 +968,17 @@ declare module '@uif-js/component' { interface Options extends PackageCore.Component.Options { actions?: globalThis.Array; - icon?: (object | globalThis.Array | string | PackageCore.ImageMetadata | PackageCore.Component | PackageCore.VDom.Element); + icon?: (object | globalThis.Array | string | PackageCore.ImageMetadata | PackageCore.Component | PackageCore.JSX.Element); links?: globalThis.Array; badge?: (string | number | PackageCore.Translation | Self.Badge.Options); - subtitle?: (string | number | PackageCore.Component | PackageCore.Translation); + subtitle?: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - title?: (string | number | PackageCore.Component | PackageCore.Translation); + title?: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - tools?: PackageCore.Component; + tools?: (PackageCore.Component | PackageCore.JSX.Element); outerGap?: (Self.ApplicationHeader.GapSize | Self.ApplicationHeader.GapSizeObject); @@ -1440,7 +1440,7 @@ declare module '@uif-js/component' { setLabel(label: (null | string | number | PackageCore.Translation | PackageCore.Component)): void; - setIcon(icon: (object | null)): void; + setIcon(icon: (PackageCore.ImageMetadata | null)): void; setBadge(badge: (boolean | string | number | PackageCore.Translation | Self.Button.BadgeDefinition)): void; @@ -1456,10 +1456,12 @@ declare module '@uif-js/component' { setToggled(toggled: boolean, options?: object): void; - protected _handleClicked(options: object): void; + protected handleClicked(options: object): void; static toggle(options: Self.Button.ToggleButtonOptions): Self.Button; + static Toggle(props: Self.Button.ToggleButtonOptions): PackageCore.JSX.Element; + static Event: Self.Button.EventTypes; } @@ -1494,9 +1496,9 @@ declare module '@uif-js/component' { } interface EventTypes extends PackageCore.Component.EventTypes { - CLICK: string; + TOGGLED: string; - KEY_UP: string; + ACTION: string; } @@ -2277,6 +2279,10 @@ declare module '@uif-js/component' { mode: Self.Card.Mode; + draggable: boolean; + + contentGap: (Self.Card.GapSize | Self.Card.GapSizeObject | null); + hasAction: boolean; hasImage: boolean; @@ -2301,9 +2307,15 @@ declare module '@uif-js/component' { setDecorator(decorator: (PackageCore.Decorator | null)): void; + /** + * @deprecated Use draggable property on Card + */ static draggableDecorator(options: object): PackageCore.Decorator; - static defaultDecorator(options?: object): PackageCore.Decorator; + /** + * @deprecated Wrap your component in Card + */ + static defaultDecorator(options?: PackageCore.Decorator.Options): PackageCore.Decorator; static metric(title: (string | number | PackageCore.Translation), metric: (string | number | PackageCore.Translation), metadata?: (string | number | PackageCore.Translation), description?: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element), toolbar?: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>), action?: () => void, cardOptions?: Self.Card.Options): Self.Card; @@ -2312,15 +2324,6 @@ declare module '@uif-js/component' { } export namespace Card { - interface ImageSize { - aspectRatio?: number; - - height?: string; - - width?: string; - - } - interface Options extends PackageCore.Component.Options { decorator?: PackageCore.Decorator; @@ -2338,8 +2341,38 @@ declare module '@uif-js/component' { action?: () => void; + contentGap?: (Self.Card.GapSize | Self.Card.GapSizeObject); + + } + + interface ImageSize { + aspectRatio?: number; + + height?: string; + + width?: string; + + } + + interface GapSizeObject { + top?: Self.Card.GapSize; + + bottom?: Self.Card.GapSize; + + start?: Self.Card.GapSize; + + end?: Self.Card.GapSize; + + horizontal?: Self.Card.GapSize; + + vertical?: Self.Card.GapSize; + } + export import GapSize = Self.GapSize; + + export import Decorator = PackageCore.Decorator; + enum Mode { VERTICAL, HORIZONTAL, @@ -2863,6 +2896,8 @@ declare module '@uif-js/component' { showLIneNumbers?: boolean; + lineWrapping?: boolean; + } interface EventTypes extends PackageCore.Component.EventTypes { @@ -2963,6 +2998,8 @@ declare module '@uif-js/component' { private roundFloat(float: number): number; + private limitValue(value: number, min: number, max: number): number; + private isPointInTriangle(x: number, y: number): boolean; private handleClick(message: {position: {element: {x: number; y: number}}}, result: object): void; @@ -4791,14 +4828,6 @@ declare module '@uif-js/component' { INTERVAL, } - /** - * @deprecated Not used internally anymore - */ - enum DatePart { - START, - END, - } - } export class DateRangePicker extends Self.Picker { @@ -4808,8 +4837,6 @@ declare module '@uif-js/component' { private _handleRangeSelected(args: Self.DateRange.RangeChangedArgs): void; - private static _parseDateRangeValue(value: {endDate: (PackageCore.Date | null); startDate: (PackageCore.Date | null); rangeStart: (PackageCore.Date | null); rangeEnd: (PackageCore.Date | null)}): {endDate: (PackageCore.Date | null); startDate: (PackageCore.Date | null)}; - } export namespace DateRangePicker { @@ -5236,11 +5263,6 @@ declare module '@uif-js/component' { mandatory: boolean; - /** - * @deprecated - */ - visibility: Self.Field.Visibility; - infoIcons: globalThis.Array<(Self.Image | PackageCore.JSX.Element)>; helperButtons: globalThis.Array; @@ -5259,95 +5281,20 @@ declare module '@uif-js/component' { setInline(value: boolean): void; - /** - * @deprecated - */ - getLabel(): (string | number | PackageCore.Translation); - setLabel(value: (string | number | PackageCore.Translation)): void; - /** - * @deprecated - */ - getControl(): (PackageCore.Component | PackageCore.JSX.Element | Self.Field.ControlOptions | null); - setControl(value: (PackageCore.Component | PackageCore.JSX.Element | Self.Field.ControlOptions)): void; - /** - * @deprecated - */ - getActiveControl(): (PackageCore.Component | PackageCore.JSX.Element); - - /** - * @deprecated - */ - getAssistiveContent(): (PackageCore.Component | PackageCore.JSX.Element); - setAssistiveContent(value: (PackageCore.Component | PackageCore.JSX.Element)): void; - /** - * @deprecated - */ - getMode(): Self.Field.Mode; - setMode(value: Self.Field.Mode): void; - /** - * @deprecated - */ - isMandatory(): boolean; - setMandatory(value: boolean): void; - /** - * @deprecated - */ - getVisibility(): Self.Field.Visibility; - - /** - * @deprecated - */ - setVisibility(value: Self.Field.Visibility): void; - - /** - * @deprecated - */ - getInfoIcons(): globalThis.Array; - setInfoIcons(value: globalThis.Array<(Self.Image | PackageCore.JSX.Element)>): void; - /** - * @deprecated - */ - addInfoIcon(icon: Self.Image, index: number): void; - - /** - * @deprecated - */ - removeInfoIcon(icon: PackageCore.Component): void; - - /** - * @deprecated - */ - getHelperButtons(): globalThis.Array; - setHelperButtons(buttons: globalThis.Array): void; - /** - * @deprecated - */ - addHelperButton(button: Self.Field.ButtonOption, index: number): void; - - /** - * @deprecated - */ - removeHelperButton(button: Self.Field.ButtonOption): void; - - /** - * @deprecated - */ - getStatus(): Self.Field.Status; - clearStatus(): void; success(message: (string | PackageCore.Translation | PackageCore.Component)): void; @@ -5360,37 +5307,12 @@ declare module '@uif-js/component' { pending(message: (string | PackageCore.Translation | PackageCore.Component)): void; - /** - * @deprecated - */ - getStatusMessage(): (string | PackageCore.Translation | PackageCore.Component); - - /** - * @deprecated - */ - getSize(): Self.Field.Size; - setSize(size: Self.Field.Size): void; - /** - * @deprecated - */ - getOffset(): boolean; - setOffset(offset: boolean): void; - /** - * @deprecated - */ - getOrientation(): Self.Field.Orientation; - setOrientation(value: Self.Field.Orientation): void; - /** - * @deprecated - */ - getLabelJustification(): Self.Field.LabelJustification; - setLabelJustification(value: Self.Field.LabelJustification): void; protected _selectControlByMode(mode: Self.Field.Mode): (PackageCore.Component | PackageCore.JSX.Element | Self.Field.ControlOptions | null); @@ -5424,15 +5346,6 @@ declare module '@uif-js/component' { } - interface Visibility { - label?: boolean; - - control?: boolean; - - assistiveContent?: boolean; - - } - interface Options extends PackageCore.Component.Options { label?: (string | number | PackageCore.Translation); @@ -5460,8 +5373,6 @@ declare module '@uif-js/component' { labelWrap?: (boolean | number); - visibility?: Self.Field.Visibility; - inline?: boolean; } @@ -5517,6 +5428,10 @@ declare module '@uif-js/component' { color: Self.FieldGroup.Color; + collapsed: boolean; + + collapsible: boolean; + } export namespace FieldGroup { @@ -5525,6 +5440,10 @@ declare module '@uif-js/component' { color?: Self.FieldGroup.Color; + collapsible?: boolean; + + collapsed?: boolean; + } enum Color { @@ -6218,170 +6137,814 @@ declare module '@uif-js/component' { } - export enum GapSize { - NONE, - XXXXS, - XXXS, - XXS, - XS, - S, - M, - L, - XL, - XXL, - XXXL, - XXXXL, - SMALL, - MEDIUM, - LARGE, - } + export class GanttChart extends PackageCore.Component { + constructor(options: Self.GanttChart.Options); - namespace GapSizeHelper { - interface SizeObject { - top: (Self.GapSize | null); + columns: globalThis.Array; - bottom: (Self.GapSize | null); + resources: globalThis.Array; - start: (Self.GapSize | null); + tasks: globalThis.Array; - end: (Self.GapSize | null); + assignments: globalThis.Array; - horizontal: (Self.GapSize | null); + dependencies: globalThis.Array; - vertical: (Self.GapSize | null); + calendars: (globalThis.Array | null); - } + startDate: PackageCore.Date; - interface SizeDefinition { - top: Self.GapSize; + endDate: PackageCore.Date; - bottom: Self.GapSize; + projectCalendar: Self.GanttChart.Id; - start: Self.GapSize; + timeRanges: (globalThis.Array | null); - end: Self.GapSize; + resourceTimeRanges: (globalThis.Array | null); - } + resourceTimeRangeContent: (Self.GanttChart.ResourceTimeRangeContentCallback | null); - interface SizeClassObject { - top: Self.GapSizeHelper.SideClassObject; + taskResize: boolean; - bottom: Self.GapSizeHelper.SideClassObject; + taskDrag: boolean; - start: Self.GapSizeHelper.SideClassObject; + rowHeight: (number | null); - end: Self.GapSizeHelper.SideClassObject; + expanded: boolean; - } + firstDayOfWeek: (number | null); - interface SideClassObject { - xxxxs: PackageCore.Style; + showCriticalPath: boolean; - xxxs: PackageCore.Style; + viewPreset: (Self.GanttChart.ViewPreset | Self.GanttChart.ViewPresetConfig); - xxs: PackageCore.Style; + taskColor: Self.GanttChart.TaskColor; - xs: PackageCore.Style; + taskHorizontalMargin: number; - s: PackageCore.Style; + taskVerticalMargin: number; - m: PackageCore.Style; + gridLines: Self.GanttChart.GridLines; - l: PackageCore.Style; + gridColumnContent: (Self.GanttChart.GridColumnContentCallback | null); - xl: PackageCore.Style; + gridRowContent: (Self.GanttChart.GridRowContentCallback | null); - xxl: PackageCore.Style; + taskTooltip: (Self.GanttChart.TaskTooltipCallback | null); - xxxl: PackageCore.Style; + taskLabel: (Self.GanttChart.TaskLabelCallback | null); - xxxxl: PackageCore.Style; + expandedResources: (globalThis.Array | globalThis.Set | null); - small: PackageCore.Style; + timelineTooltip: (Self.GanttChart.TimelineTooltipCallback | null); - medium: PackageCore.Style; + dropValidator: Self.GanttChart.DropValidatorCallback; - large: PackageCore.Style; + onTaskClick: (Self.GanttChart.TaskClickCallback | null); - } + onTaskDoubleClick: (Self.GanttChart.TaskClickCallback | null); - enum CssProperty { - PADDING, - MARGIN, - } + onTaskContextMenu: (Self.GanttChart.TaskContextMenuCallback | null); - enum Side { - TOP, - BOTTOM, - START, - END, - } + onTaskResized: (Self.GanttChart.TaskResizedCallback | null); - function parseGapSize(gapSize?: (Self.GapSizeHelper.SizeObject | Self.GapSize)): Self.GapSizeHelper.SizeDefinition; + onTaskMoved: (Self.GanttChart.TaskMovedCallback | null); - function getGapClasses(property: Self.GapSizeHelper.SizeClassObject, value: (Self.GapSizeHelper.SizeObject | Self.GapSize)): globalThis.Array; + onResourceExpanded: (Self.GanttChart.ResourceExpandedCallback | null); - function generateGapClasses(cssProperty: Self.GapSizeHelper.CssProperty, tokens: object): Self.GapSizeHelper.SizeClassObject; + static weekendIntervals(startDate: PackageCore.Date, endDate: PackageCore.Date, options: Partial): globalThis.Array; - function generateGapSideClass(cssProperty: Self.GapSizeHelper.CssProperty, side: Self.GapSizeHelper.Side, tokens: object): Self.GapSizeHelper.SideClassObject; + static extendViewPreset(base: Self.GanttChart.ViewPreset, options: Partial): void; - function getGapDataAttributes(value: Self.GapSizeHelper.SizeObject): string; + } - function GapSizeType(gapEnum: object, gapEnumName?: string): PackageCore.Type.Matcher; + export namespace GanttChart { + interface Options extends PackageCore.Component.Options { + columns: globalThis.Array; - } + resources: globalThis.Array; - export class GrabCell extends Self.GridCell { - constructor(); + tasks: globalThis.Array; - showDirtyFlag: boolean; + assignments: globalThis.Array; - showLineNumber: boolean; + dependencies?: globalThis.Array; - resizable: boolean; + calendars?: globalThis.Array; - effectiveResizable: boolean; + startDate: PackageCore.Date; - updateLineNumber(): void; + endDate: PackageCore.Date; - updateDirtyFlag(): void; + projectCalendar?: Self.GanttChart.Id; - setResizable(value: boolean): void; + timeRanges?: globalThis.Array; - } + resourceTimeRanges?: globalThis.Array; - export namespace GrabCell { - } + resourceTimeRangeContent?: Self.GanttChart.ResourceTimeRangeContentCallback; - export class GrabColumn extends Self.GridColumn { - constructor(options: Self.GrabColumn.Options); + taskResize?: boolean; - showDirtyFlag: boolean; + taskDrag?: boolean; - showLineNumber: boolean; + taskHorizontalMargin?: number; - } + taskVerticalMargin?: number; - export namespace GrabColumn { - interface Options extends Self.GridColumn.Options { - showDirtyFlag?: boolean; + rowHeight?: number; - showLineNumber?: boolean; + firstDayOfWeek?: number; - } + showCriticalPath?: boolean; - export import Cell = Self.GrabCell; + viewPreset?: (Self.GanttChart.ViewPreset | Self.GanttChart.ViewPresetConfig); - } + taskColor?: Self.GanttChart.TaskColor; - export interface GridBindingController { - bindRow(row: Self.GridDataRow, options: object): void; + gridLines?: Self.GanttChart.GridLines; - unbindRow(row: Self.GridDataRow, options: object): void; + gridColumnContent?: Self.GanttChart.GridColumnContentCallback; - commitRow(row: Self.GridDataRow, options: object): void; + gridRowContent?: Self.GanttChart.GridRowContentCallback; - rollbackRow(row: Self.GridDataRow, options: object): void; + expandedResources?: (globalThis.Array | globalThis.Set); + + expanded?: boolean; + + dropValidator?: Self.GanttChart.DropValidatorCallback; + + taskTooltip?: Self.GanttChart.TaskTooltipCallback; + + taskLabel?: Self.GanttChart.TaskLabelCallback; + + onTaskClick?: Self.GanttChart.TaskClickCallback; + + onTaskDoubleClick?: Self.GanttChart.TaskClickCallback; + + onTaskContextMenu?: Self.GanttChart.TaskContextMenuCallback; + + onResourceExpanded?: Self.GanttChart.ResourceExpandedCallback; + + onTaskResized?: Self.GanttChart.TaskResizedCallback; + + onTaskMoved?: Self.GanttChart.TaskMovedCallback; + + timelineTooltip?: Self.GanttChart.TimelineTooltipCallback; + + } + + type Id = (string | number); + + interface ColumnDefinition { + id: Self.GanttChart.Id; + + type?: Self.GanttChart.ColumnType; + + label: (string | Self.GanttChart.ColumnLabelCallback); + + labelAlignment?: Self.GanttChart.LabelAlignment; + + resourceLabel?: Self.GanttChart.ResourceLabelCallback; + + field?: string; + + controls?: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + + region?: Self.GanttChart.ColumnRegion; + + width?: number; + + } + + interface ResourceDefinition { + id: Self.GanttChart.Id; + + height?: number; + + taskColor?: Self.GanttChart.TaskColor; + + calendar?: Self.GanttChart.Id; + + children?: globalThis.Array; + + } + + interface TaskDefinition { + id: Self.GanttChart.Id; + + parentId?: Self.GanttChart.Id; + + startDate: PackageCore.Date; + + endDate: PackageCore.Date; + + type?: Self.GanttChart.TaskType; + + color?: Self.GanttChart.TaskColor; + + percentDone?: number; + + resizable?: boolean; + + draggable?: boolean; + + label?: (string | Self.GanttChart.TaskLabelCallback); + + } + + interface AssignmentDefinition { + id: Self.GanttChart.Id; + + resourceId: Self.GanttChart.Id; + + taskId: Self.GanttChart.Id; + + } + + interface DependencyDefinition { + id: Self.GanttChart.Id; + + fromTask: Self.GanttChart.Id; + + toTask: Self.GanttChart.Id; + + fromSide?: Self.GanttChart.TaskSide; + + toSide?: Self.GanttChart.TaskSide; + + bidirectional?: boolean; + + } + + interface CalendarDefinition { + id: Self.GanttChart.Id; + + intervals: globalThis.Array; + + } + + interface CalendarIntervalDefinition { + id: Self.GanttChart.Id; + + startDate?: PackageCore.Date; + + endDate?: PackageCore.Date; + + style?: (string | PackageCore.Style); + + tooltip?: (string | PackageCore.JSX.Element); + + content?: (string | Self.GanttChart.CalendarIntervalContentCallback); + + } + + type ColumnLabelCallback = (args: Self.GanttChart.ColumnLabelCallbackArgs) => (string | PackageCore.JSX.Element); + + interface ColumnLabelCallbackArgs { + column: Self.GanttChart.ColumnDefinition; + + } + + type ResourceLabelCallback = (args: Self.GanttChart.ResourceLabelCallbackArgs) => (string | PackageCore.JSX.Element); + + interface ResourceLabelCallbackArgs { + resource: Self.GanttChart.ResourceDefinition; + + column: Self.GanttChart.ColumnDefinition; + + } + + type TaskLabelCallback = (args: Self.GanttChart.TaskLabelCallbackArgs) => (string | number | PackageCore.JSX.Element); + + interface TaskLabelCallbackArgs { + resource: Self.GanttChart.ResourceDefinition; + + task: Self.GanttChart.TaskDefinition; + + } + + type TaskClickCallback = (args: Self.GanttChart.TaskClickCallbackArgs) => (boolean | null); + + interface TaskClickCallbackArgs { + resource: Self.GanttChart.ResourceDefinition; + + task: Self.GanttChart.TaskDefinition; + + } + + type TaskContextMenuCallback = (args: Self.GanttChart.TaskContextMenuArgs) => (Self.GanttChart.TaskContextMenuDefinition | null); + + interface TaskContextMenuArgs { + resource: Self.GanttChart.ResourceDefinition; + + task: Self.GanttChart.TaskDefinition; + + } + + interface TaskContextMenuDefinition { + items: (globalThis.Array | null); + + } + + type TaskTooltipCallback = (args: Self.GanttChart.TaskTooltipCallbackArgs) => (PackageCore.JSX.Element | null); + + interface TaskTooltipCallbackArgs { + resource: Self.GanttChart.ResourceDefinition; + + task: Self.GanttChart.TaskDefinition; + + } + + type ResourceExpandedCallback = (args: Self.GanttChart.ResourceExpandedCallbackArgs) => void; + + interface ResourceExpandedCallbackArgs { + resource: Self.GanttChart.ResourceDefinition; + + expanded: boolean; + + } + + type TaskResizedCallback = (args: Self.GanttChart.TaskResizedCallbackArgs) => void; + + interface TaskResizedCallbackArgs { + task: Self.GanttChart.TaskDefinition; + + previousTask: Self.GanttChart.TaskDefinition; + + startDate: PackageCore.Date; + + previousStartDate: PackageCore.Date; + + endDate: PackageCore.Date; + + previousEndDate: PackageCore.Date; + + } + + type TaskMovedCallback = (args: Self.GanttChart.TaskMovedCallbackArgs) => void; + + interface TaskMovedCallbackArgs { + task: Self.GanttChart.TaskDefinition; + + previousTask: Self.GanttChart.TaskDefinition; + + resource: Self.GanttChart.ResourceDefinition; + + previousResource: Self.GanttChart.ResourceDefinition; + + startDate: PackageCore.Date; + + previousStartDate: PackageCore.Date; + + endDate: PackageCore.Date; + + previousEndDate: PackageCore.Date; + + } + + interface ViewPresetConfig { + tickWidth: number; + + rowHeight?: number; + + timelines: globalThis.Array; + + timeResolution?: Self.GanttChart.TimeResolutionConfig; + + } + + interface TimelineConfig { + unit: Self.GanttChart.TimelineUnit; + + alignment?: Self.GanttChart.LabelAlignment; + + height?: number; + + label: (string | Self.GanttChart.TimelineLabelCallback); + + } + + type TimelineLabelCallback = (args: Self.GanttChart.TimelineLabelCallbackArgs) => (string | PackageCore.JSX.Element); + + interface TimelineLabelCallbackArgs { + unit: Self.GanttChart.TimelineUnit; + + startDate: PackageCore.Date; + + i18n: PackageCore.I18n; + + formatService: PackageCore.FormatService; + + firstDayOfWeek: number; + + } + + type TimelineTooltipCallback = (args: Self.GanttChart.TimelineTooltipCallbackArgs) => (string | PackageCore.JSX.Element | null); + + interface TimelineTooltipCallbackArgs { + unit: Self.GanttChart.TimelineUnit; + + startDate: PackageCore.Date; + + i18n: PackageCore.I18n; + + formatService: PackageCore.FormatService; + + firstDayOfWeek: number; + + } + + interface TimeResolutionConfig { + unit: Self.GanttChart.TimelineUnit; + + increment: number; + + } + + type GridColumnContentCallback = (args: Self.GanttChart.GridColumnContentCallbackArgs) => (string | PackageCore.Style | PackageCore.JSX.Element | null); + + interface GridColumnContentCallbackArgs { + startDate: PackageCore.Date; + + } + + type GridRowContentCallback = (args: Self.GanttChart.GridRowContentCallbackArgs) => (string | PackageCore.Style | PackageCore.JSX.Element | null); + + interface GridRowContentCallbackArgs { + resource: Self.GanttChart.ResourceDefinition; + + } + + interface TimeRange { + id: Self.GanttChart.Id; + + startDate: PackageCore.Date; + + endDate?: PackageCore.Date; + + headerStyle?: (string | PackageCore.Style); + + headerTooltip?: (string | PackageCore.JSX.Element); + + headerContent?: (string | PackageCore.JSX.Element | Self.GanttChart.TimeRangeContentCallback); + + bodyStyle?: (string | PackageCore.Style); + + bodyTooltip?: (string | PackageCore.JSX.Element); + + bodyContent?: (string | PackageCore.JSX.Element | Self.GanttChart.TimeRangeContentCallback); + + } + + type TimeRangeContentCallback = (args: Self.GanttChart.TimeRangeContentCallbackArgs) => PackageCore.JSX.Element; + + interface TimeRangeContentCallbackArgs { + range: Self.GanttChart.TimeRange; + + } + + interface ResourceTimeRange { + id: Self.GanttChart.Id; + + resourceId: Self.GanttChart.Id; + + startDate: PackageCore.Date; + + endDate: PackageCore.Date; + + style?: (string | PackageCore.Style); + + tooltip?: (string | PackageCore.JSX.Element); + + content?: (string | PackageCore.JSX.Element | Self.GanttChart.ResourceTimeRangeContentCallback); + + } + + type ResourceTimeRangeContentCallback = (args: Self.GanttChart.ResourceTimeRangeContentCallbackArgs) => PackageCore.JSX.Element; + + interface ResourceTimeRangeContentCallbackArgs { + range: Self.GanttChart.ResourceTimeRange; + + resource: Self.GanttChart.ResourceDefinition; + + } + + type CalendarIntervalContentCallback = (args: Self.GanttChart.CalendarIntervalContentCallbackArgs) => PackageCore.JSX.Element; + + interface CalendarIntervalContentCallbackArgs { + interval: Self.GanttChart.CalendarIntervalDefinition; + + resource?: Self.GanttChart.ResourceDefinition; + + } + + type DropValidatorCallback = (args: Self.GanttChart.DropValidatorCallbackArgs) => (boolean | Self.GanttChart.DropValidatorCallbackResult); + + interface DropValidatorCallbackArgs { + task: Self.GanttChart.TaskDefinition; + + sourceResource: Self.GanttChart.ResourceDefinition; + + targetResource: Self.GanttChart.ResourceDefinition; + + sourceStartDate: PackageCore.Date; + + targetStartDate: PackageCore.Date; + + sourceEndDate: PackageCore.Date; + + targetEndDate: PackageCore.Date; + + } + + interface DropValidatorCallbackResult { + resourceId?: Self.GanttChart.Id; + + startDate?: PackageCore.Date; + + endDate?: PackageCore.Date; + + } + + enum ColumnRegion { + START, + END, + } + + export import ColumnType = Self.GanttConstant.ColumnType; + + export import LabelAlignment = Self.GanttConstant.LabelAlignment; + + export import ViewPreset = Self.GanttConstant.ViewPreset; + + export import TimelineLabel = Self.GanttTimelineLabel; + + enum GridLines { + NONE, + HORIZONTAL, + VERTICAL, + BOTH, + } + + export import TaskColor = Self.GanttConstant.TaskColor; + + export import TimelineUnit = Self.GanttConstant.TimelineUnit; + + export import TaskType = Self.GanttConstant.TaskType; + + export import TaskSide = Self.GanttConstant.TaskSide; + + } + + namespace GanttConstant { + enum ColumnType { + DEFAULT, + ROW_NUMBER, + TREE, + } + + enum LabelAlignment { + START, + CENTER, + END, + } + + enum ViewPreset { + DAY_HOUR, + WEEK_DAY, + WEEK_DAY_HOUR, + MONTH_DAY, + MONTH_DAY_HOUR, + MONTH_WEEK, + MONTH_WEEK_DAY, + YEAR_MONTH, + YEAR_MONTH_WEEK, + } + + enum TimelineUnit { + YEAR, + MONTH, + WEEK, + DAY, + HOUR, + MINUTE, + SECOND, + MILLISECOND, + } + + enum TaskColor { + NEUTRAL, + THEMED, + RED, + GREEN, + BLUE, + YELLOW, + PURPLE, + ORANGE, + PINK, + TURQUOISE, + BROWN, + } + + enum TaskType { + LEAF, + PARENT, + MILESTONE, + } + + enum TaskSide { + TOP, + BOTTOM, + START, + END, + } + + } + + export namespace GanttTimelineLabel { + function dateFormat(args: {format: string}): Self.GanttChart.TimelineLabelCallback; + + function hour(args?: object): Self.GanttChart.TimelineLabelCallback; + + function dayName(args?: {short?: boolean}): Self.GanttChart.TimelineLabelCallback; + + function dayLetter(args?: object): Self.GanttChart.TimelineLabelCallback; + + function dayNameWithDate(args?: {short?: boolean; dateFormat?: string}): Self.GanttChart.TimelineLabelCallback; + + function dayNumber(args?: object): Self.GanttChart.TimelineLabelCallback; + + function weekDateRange(args?: object): Self.GanttChart.TimelineLabelCallback; + + function weekNumber(args?: object): Self.GanttChart.TimelineLabelCallback; + + } + + export enum GapSize { + NONE, + XXXXS, + XXXS, + XXS, + XS, + S, + M, + L, + XL, + XXL, + XXXL, + XXXXL, + SMALL, + MEDIUM, + LARGE, + } + + namespace GapSizeHelper { + interface SizeObject { + top: (Self.GapSize | null); + + bottom: (Self.GapSize | null); + + start: (Self.GapSize | null); + + end: (Self.GapSize | null); + + horizontal: (Self.GapSize | null); + + vertical: (Self.GapSize | null); + + } + + interface SizeDefinition { + top: Self.GapSize; + + bottom: Self.GapSize; + + start: Self.GapSize; + + end: Self.GapSize; + + } + + interface SizeClassObject { + top: Self.GapSizeHelper.SideClassObject; + + bottom: Self.GapSizeHelper.SideClassObject; + + start: Self.GapSizeHelper.SideClassObject; + + end: Self.GapSizeHelper.SideClassObject; + + } + + interface SideClassObject { + xxxxs: PackageCore.Style; + + xxxs: PackageCore.Style; + + xxs: PackageCore.Style; + + xs: PackageCore.Style; + + s: PackageCore.Style; + + m: PackageCore.Style; + + l: PackageCore.Style; + + xl: PackageCore.Style; + + xxl: PackageCore.Style; + + xxxl: PackageCore.Style; + + xxxxl: PackageCore.Style; + + small: PackageCore.Style; + + medium: PackageCore.Style; + + large: PackageCore.Style; + + } + + enum CssProperty { + PADDING, + MARGIN, + } + + enum Side { + TOP, + BOTTOM, + START, + END, + } + + function parseGapSize(gapSize?: (Self.GapSizeHelper.SizeObject | Self.GapSize)): Self.GapSizeHelper.SizeDefinition; + + function getGapClasses(property: Self.GapSizeHelper.SizeClassObject, value: (Self.GapSizeHelper.SizeObject | Self.GapSize)): globalThis.Array; + + function generateGapClasses(cssProperty: Self.GapSizeHelper.CssProperty, tokens: object): Self.GapSizeHelper.SizeClassObject; + + function generateGapSideClass(cssProperty: Self.GapSizeHelper.CssProperty, side: Self.GapSizeHelper.Side, tokens: object): Self.GapSizeHelper.SideClassObject; + + function getGapDataAttributes(value: Self.GapSizeHelper.SizeObject): string; + + function GapSizeType(gapEnum: object, gapEnumName?: string): PackageCore.Type.Matcher; + + } + + export class GrabCell extends Self.GridCell { + constructor(); + + showDirtyFlag: boolean; + + showLineNumber: boolean; + + resizable: boolean; + + effectiveResizable: boolean; + + updateLineNumber(): void; + + updateDirtyFlag(): void; + + setResizable(value: boolean): void; + + } + + export namespace GrabCell { + } + + export class GrabColumn extends Self.GridColumn { + constructor(options: Self.GrabColumn.Options); + + showDirtyFlag: boolean; + + showLineNumber: boolean; + + } + + export namespace GrabColumn { + interface Options extends Self.GridColumn.Options { + showDirtyFlag?: boolean; + + showLineNumber?: boolean; + + } + + export import Cell = Self.GrabCell; + + } + + export interface GridBindingController { + bindRow(row: Self.GridDataRow, options: object): void; + + unbindRow(row: Self.GridDataRow, options: object): void; + + commitRow(row: Self.GridDataRow, options: object): void; + + rollbackRow(row: Self.GridDataRow, options: object): void; reloadRow(row: Self.GridDataRow, options: object): void; @@ -6513,7 +7076,7 @@ declare module '@uif-js/component' { compareValues(oldValue: any, newValue: any): boolean; - validateValue(args: object): void; + validateValue(args?: {currentValue?: any; newValue?: any; reason?: any}): Self.GridCell.ValidationResult; autoSize(options?: {width?: boolean; height?: boolean}): void; @@ -6605,12 +7168,21 @@ declare module '@uif-js/component' { interface HelperButton { icon: Self.Image.Source; - label: string; + label: (string | PackageCore.Translation); action: Self.Button.ActionCallback; } + interface ValidationResult { + status: Self.GridCell.Status; + + message: (undefined | null | string | PackageCore.Translation); + + reject: boolean; + + } + export import InputMode = Self.GridConstants.InputMode; export import Status = PackageCore.Component.Status; @@ -6701,7 +7273,7 @@ declare module '@uif-js/component' { level: number; - label: string; + label: (string | PackageCore.Translation); binding: (string | object); @@ -6823,7 +7395,7 @@ declare module '@uif-js/component' { setImmediateUpdate(value: boolean): void; - setLabel(label: string): void; + setLabel(label: (string | PackageCore.Translation)): void; setWidth(width: number, args?: {reason?: string}): void; @@ -6891,7 +7463,7 @@ declare module '@uif-js/component' { binding?: (string | object); - label?: string; + label?: (string | PackageCore.Translation); dataGrid?: Self.DataGrid; @@ -7183,7 +7755,7 @@ declare module '@uif-js/component' { export class GridHeaderCell extends Self.GridCell { constructor(options?: Self.GridHeaderCell.Options); - label: string; + label: (string | PackageCore.Translation); mandatory: boolean; @@ -7203,6 +7775,8 @@ declare module '@uif-js/component' { horizontalAlignment: Self.GridColumn.HorizontalAlignment; + validator: (Self.GridCell.ValidatorCallback | null); + setLabel(label: (string | PackageCore.Translation)): void; setMandatory(value: boolean): void; @@ -8611,9 +9185,7 @@ declare module '@uif-js/component' { getContext(type: string): any; - setContext(type: string, value: any): void; - - createElementComponent(element: Element): PackageCore.ElementComponent; + setContext(type: (string | Record), value: any): void; static page(options?: {context?: object}): Self.Host; @@ -9567,6 +10139,7 @@ declare module '@uif-js/component' { enum VisualStyle { DEFAULT, EMBEDDED, + SYSTEM_SEARCH, } export import DataExchange = Self.ListDataExchange; @@ -9637,7 +10210,7 @@ declare module '@uif-js/component' { dataSource?: PackageCore.DataSource; - filter?: (dataSource: PackageCore.DataSource, text: string) => PackageCore.DataSource; + filter?: Self.ListBoxPicker.FilterCallback; filterType?: Self.ListBoxPicker.FilterType; @@ -9645,8 +10218,12 @@ declare module '@uif-js/component' { caseSensitive?: boolean; + debounce?: number; + } + type FilterCallback = (dataSource: PackageCore.DataSource, text: string) => PackageCore.DataSource; + export import Reason = Self.Picker.Reason; enum FilterType { @@ -9769,6 +10346,19 @@ declare module '@uif-js/component' { } export namespace ListItem { + interface Options extends PackageCore.Component.Options { + listBox: Self.ListBox; + + index: number; + + level: number; + + height: number; + + dataEntry: PackageCore.DataStoreEntry; + + } + interface EventTypes extends PackageCore.Component.EventTypes { SELECTED_CHANGED: string; @@ -9795,6 +10385,8 @@ declare module '@uif-js/component' { enum VisualStyle { ITEM, GROUP, + PLAIN, + BLANK, } } @@ -10524,7 +11116,7 @@ declare module '@uif-js/component' { setRawText(rawText: globalThis.Array, options?: {reason?: string; accept?: boolean}): void; - setSelection(options: {start: number; end: number; direction?: string; reason?: string}): boolean; + setSelection(options: {start: number; end: number; direction?: Self.MaskedTextBox.SelectionDirection; reason?: string}): boolean; setCaretPosition(position: number): void; @@ -10603,6 +11195,10 @@ declare module '@uif-js/component' { end: number; + direction?: Self.MaskedTextBox.SelectionDirection; + + text?: string; + } interface EventTypes extends PackageCore.Component.EventTypes { @@ -10655,6 +11251,8 @@ declare module '@uif-js/component' { export import Size = Self.InputSize; + export import SelectionDirection = Self.TextSelection.Direction; + } class Matcher { @@ -10818,6 +11416,8 @@ declare module '@uif-js/component' { static dropDown(options: Self.MenuButton.Options): Self.MenuButton; + static DropDown(props: Self.MenuButton.Options): PackageCore.JSX.Element; + static Event: Self.MenuButton.EventTypes; } @@ -10946,126 +11546,400 @@ declare module '@uif-js/component' { } - interface LinkItemDefinition extends Self.MenuItem.BaseItemDefinition { - icon?: Self.Image.Source; + interface LinkItemDefinition extends Self.MenuItem.BaseItemDefinition { + icon?: Self.Image.Source; + + label?: (string | PackageCore.Translation); + + url?: string; + + route?: (string | PackageCore.Route | Self.Link.Route); + + target?: Self.Link.Target; + + shortcut?: globalThis.Array>; + + } + + type ItemDefinition = (Self.MenuItem.SubmenuItemDefinition | Self.MenuItem.ActionItemDefinition | Self.MenuItem.LinkItemDefinition); + + } + + export class MenuItemButton extends PackageCore.Component { + constructor(options?: Self.MenuItemButton.Options); + + protected _doAction(options: object): void; + + click(): void; + + } + + export namespace MenuItemButton { + interface Options extends PackageCore.Component.Options { + content: PackageCore.Component; + + action?: Self.MenuItemButton.ActionCallback; + + } + + type ActionCallback = (args: {reason: string}) => (boolean | void); + + enum Reason { + KEY_UP, + CLICK, + TAP, + } + + } + + export class MenuItemContent extends PackageCore.Component { + constructor(options?: Self.MenuItemContent.Options); + + label: (string | PackageCore.Translation); + + hasLabel: boolean; + + icon: (Self.Image.Source | null); + + hasIcon: boolean; + + shortcut: string; + + hasShortcut: boolean; + + setLabel(label: string): void; + + setIcon(icon: object): void; + + setShortcut(shortcut: string): void; + + static getRefreshedStyles(theme: PackageCore.RefreshedTheme): void; + + } + + export namespace MenuItemContent { + interface Options extends PackageCore.Component.Options { + label?: (string | PackageCore.Translation); + + icon?: Self.Image.Source; + + shortcut?: string; + + } + + } + + namespace MenuOptions { + enum Orientation { + VERTICAL, + HORIZONTAL, + } + + enum NavigationMode { + CIRCULAR, + START_END, + } + + enum Reason { + SUBMENU_ITEM_SELECTED, + KEY_PRESS, + MOUSE_ENTER, + MOUSE_LEAVE, + MOUSE_CLICK, + TOUCH_TAP, + CALL, + CLEAR, + FOCUS, + ACTION, + } + + enum Role { + MENU, + MENUBAR, + } + + enum Size { + DEFAULT, + LARGE, + } + + enum VisualStyle { + DEFAULT, + THEMED, + } + + } + + export class MeterBar extends PackageCore.Component { + constructor(options?: (Self.MeterBar.Options)); + + type: Self.MeterBar.Type; + + value: number; + + min: number; + + max: number; + + step: number; + + readOnly: boolean; + + plotAreaColor: Self.MeterBar.ColorConfig; + + plotAreaSize: Self.MeterBar.Size; + + indicatorBarColor: Self.MeterBar.ColorConfig; + + indicatorBarSize: Self.MeterBar.Size; + + referenceLines: globalThis.Array; + + referenceLinesSize: Self.MeterBar.Size; + + onValueChanged: (Self.MeterBar.ValueChangedCallback | null); + + onValueAccepted: (Self.MeterBar.ValueAcceptedCallback | null); + + setValue(value: number, options: object): void; + + acceptChanges(options: object): void; + + } + + export namespace MeterBar { + interface Options extends PackageCore.Component.Options { + type?: Self.MeterBar.Type; + + value?: number; + + min?: number; + + max?: number; + + readOnly?: boolean; + + step?: number; + + plotAreaColor?: Self.MeterBar.ColorConfig; + + plotAreaSize?: Self.MeterBar.Size; + + indicatorBarColor?: Self.MeterBar.ColorConfig; + + indicatorBarSize?: Self.MeterBar.Size; + + referenceLines?: globalThis.Array; + + referenceLinesSize?: Self.MeterBar.Size; + + onValueChanged?: Self.MeterBar.ValueChangedCallback; + + onValueAccepted?: Self.MeterBar.ValueAcceptedCallback; + + } + + type ColorConfig = (Self.MeterBar.Color | Self.MeterBar.ValueColorCallback | globalThis.Array); + + interface SegmentColor { + min?: number; + + max?: number; + + color: Self.MeterBar.Color; + + } + + interface ReferenceLine { + value: number; + + color: Self.MeterBar.Color; + + } + + type ValueColorCallback = (value: number) => Self.MeterBar.Color; + + type ValueChangedCallback = (args: Self.MeterBar.ValueChangedCallbackArgs) => void; + + interface ValueChangedCallbackArgs { + value: number; + + previousValue: number; + + reason: Self.MeterBar.Reason; + + } + + type ValueAcceptedCallback = (args: Self.MeterBar.ValueAcceptedCallbackArgs) => void; + + interface ValueAcceptedCallbackArgs { + acceptedValue: number; + + previousAcceptedValue: number; + + reason: Self.MeterBar.Reason; + + } + + enum Type { + HORIZONTAL, + VERTICAL, + } + + enum Size { + LARGE, + MEDIUM, + SMALL, + } + + enum Color { + NEUTRAL, + INFO, + SUCCESS, + WARNING, + ERROR, + } + + enum Reason { + VALUE_CHANGED, + VALUE_ACCEPTED, + } + + } + + export class MeterCircle extends PackageCore.Component { + constructor(options?: (Self.MeterCircle.Options)); + + type: Self.MeterCircle.Type; + + value: number; + + min: number; + + max: number; + + step: number; - label?: (string | PackageCore.Translation); + readOnly: boolean; - url?: string; + plotAreaColor: Self.MeterCircle.ColorConfig; - route?: (string | PackageCore.Route | Self.Link.Route); + plotAreaSize: Self.MeterCircle.Size; - target?: Self.Link.Target; + indicatorBarColor: Self.MeterCircle.ColorConfig; - shortcut?: globalThis.Array>; + indicatorBarSize: Self.MeterCircle.Size; - } + referenceLines: globalThis.Array; - type ItemDefinition = (Self.MenuItem.SubmenuItemDefinition | Self.MenuItem.ActionItemDefinition | Self.MenuItem.LinkItemDefinition); + referenceLinesSize: Self.MeterCircle.Size; - } + onValueChanged: (Self.MeterCircle.ValueChangedCallback | null); - export class MenuItemButton extends PackageCore.Component { - constructor(options?: Self.MenuItemButton.Options); + onValueAccepted: (Self.MeterCircle.ValueAcceptedCallback | null); - protected _doAction(options: object): void; + setValue(value: number, options: object): void; - click(): void; + acceptChanges(options: object): void; } - export namespace MenuItemButton { + export namespace MeterCircle { interface Options extends PackageCore.Component.Options { - content: PackageCore.Component; + type?: Self.MeterCircle.Type; - action?: Self.MenuItemButton.ActionCallback; + value?: number; - } + min?: number; - type ActionCallback = (args: {reason: string}) => (boolean | void); + max?: number; - enum Reason { - KEY_UP, - CLICK, - TAP, - } + readOnly?: boolean; - } + step?: number; - export class MenuItemContent extends PackageCore.Component { - constructor(options?: Self.MenuItemContent.Options); + plotAreaColor?: Self.MeterCircle.ColorConfig; - label: (string | PackageCore.Translation); + plotAreaSize?: Self.MeterCircle.Size; - hasLabel: boolean; + indicatorBarColor?: Self.MeterCircle.ColorConfig; - icon: (Self.Image.Source | null); + indicatorBarSize?: Self.MeterCircle.Size; - hasIcon: boolean; + referenceLines?: globalThis.Array; - shortcut: string; + referenceLinesSize?: Self.MeterCircle.Size; - hasShortcut: boolean; + onValueChanged?: Self.MeterCircle.ValueChangedCallback; - setLabel(label: string): void; + onValueAccepted?: Self.MeterCircle.ValueAcceptedCallback; - setIcon(icon: object): void; + } - setShortcut(shortcut: string): void; + type ColorConfig = (Self.MeterCircle.Color | Self.MeterCircle.ValueColorCallback | globalThis.Array); - static getRefreshedStyles(theme: PackageCore.RefreshedTheme): void; + interface SegmentColor { + min?: number; - } + max?: number; - export namespace MenuItemContent { - interface Options extends PackageCore.Component.Options { - label?: (string | PackageCore.Translation); + color: Self.MeterCircle.Color; - icon?: Self.Image.Source; + } - shortcut?: string; + interface ReferenceLine { + value: number; + + color: Self.MeterCircle.Color; } - } + type ValueColorCallback = (value: number) => Self.MeterCircle.Color; - namespace MenuOptions { - enum Orientation { - VERTICAL, - HORIZONTAL, - } + type ValueChangedCallback = (args: Self.MeterCircle.ValueChangedCallbackArgs) => void; + + interface ValueChangedCallbackArgs { + value: number; + + previousValue: number; + + reason: Self.MeterCircle.Reason; - enum NavigationMode { - CIRCULAR, - START_END, } - enum Reason { - SUBMENU_ITEM_SELECTED, - KEY_PRESS, - MOUSE_ENTER, - MOUSE_LEAVE, - MOUSE_CLICK, - TOUCH_TAP, - CALL, - CLEAR, - FOCUS, - ACTION, + type ValueAcceptedCallback = (args: Self.MeterCircle.ValueAcceptedCallbackArgs) => void; + + interface ValueAcceptedCallbackArgs { + acceptedValue: number; + + previousAcceptedValue: number; + + reason: Self.MeterCircle.Reason; + } - enum Role { - MENU, - MENUBAR, + enum Type { + CIRCULAR, + SEMI_CIRCULAR, } enum Size { - DEFAULT, LARGE, + MEDIUM, + SMALL, } - enum VisualStyle { - DEFAULT, - THEMED, + enum Color { + NEUTRAL, + INFO, + SUCCESS, + WARNING, + ERROR, + } + + enum Reason { + VALUE_CHANGED, + VALUE_ACCEPTED, } } @@ -11104,10 +11978,6 @@ declare module '@uif-js/component' { export class Modal extends Self.Window { constructor(options: Self.Modal.Options); - hasTitleBar: boolean; - - titleBar: object; - withTitleBar: boolean; title: (string | number | PackageCore.Translation); @@ -11321,6 +12191,8 @@ declare module '@uif-js/component' { comparator?: Self.MultiselectDropdown.ComparatorCallback; + clearFilterOnFocusOut?: boolean; + } type SelectionChangedCallback = (args: Self.MultiselectDropdown.SelectionChangedArgs, sender: Self.MultiselectDropdown) => void; @@ -12088,6 +12960,8 @@ declare module '@uif-js/component' { order?: globalThis.Array; + selectedPageIndex?: number; + onPageSelected?: Self.Pagination.PageSelectedCallback; } @@ -12340,16 +13214,6 @@ declare module '@uif-js/component' { export class Popover extends Self.Window { constructor(options: Self.Popover.Options); - /** - * @deprecated - */ - hasTitleBar: boolean; - - /** - * @deprecated - */ - titleBar: object; - closeButton: boolean; size: Self.Popover.Size; @@ -13176,6 +14040,8 @@ declare module '@uif-js/component' { EDITOR_RESIZED: string; + SELECTION_CHANGED: string; + } enum VisualStyle { @@ -13367,6 +14233,8 @@ declare module '@uif-js/component' { justification: Self.ScrollTabList.Justification; + tabSpacer: (boolean | null); + position: Self.ScrollTabList.Position; stripePosition: Self.ScrollTabList.StripePosition; @@ -13375,8 +14243,12 @@ declare module '@uif-js/component' { hierarchy: Self.ScrollTabList.Hierarchy; + divider: boolean; + selectedValue: Self.Tab; + decorator: (PackageCore.Decorator | null); + tabIndex(tab: Self.Tab): (number | null); setPosition(position: Self.ScrollTabList.Position): void; @@ -13387,6 +14259,8 @@ declare module '@uif-js/component' { setJustification(justification: Self.ScrollTabList.Justification): void; + setTabSpacer(value: (boolean | null)): void; + move(item: Self.Tab, options?: {index: number; reason?: string}): void; } @@ -13401,8 +14275,14 @@ declare module '@uif-js/component' { hierarchy?: Self.ScrollTabList.Hierarchy; + divider?: boolean; + reorder?: boolean; + tabSpacer?: boolean; + + decorator?: PackageCore.Decorator; + items?: globalThis.Array; } @@ -13523,6 +14403,7 @@ declare module '@uif-js/component' { MENU, SUB_TAB, TAB, + SUBLIST, } enum SearchItemType { @@ -13645,17 +14526,14 @@ declare module '@uif-js/component' { theme: PackageCore.Theme; + supportedThemes: globalThis.Array; + systemHeader: (PackageCore.Component | null); applicationHeader: (PackageCore.Component | PackageCore.Presenter | null); content: (PackageCore.Presenter | PackageCore.Component | PackageCore.JSX.Element | null); - /** - * @deprecated - */ - contentRoot: HTMLElement; - setContent(content: (PackageCore.Presenter | PackageCore.Component | null)): void; setTheme(theme: PackageCore.Theme): void; @@ -13682,6 +14560,8 @@ declare module '@uif-js/component' { layout?: Self.Shell.LayoutType; + supportedThemes?: globalThis.Array; + } export import Layout = Self.ShellLayout; @@ -13693,7 +14573,7 @@ declare module '@uif-js/component' { } - function ShellLayout(props: {contentId: string; systemHeader?: (PackageCore.Component | PackageCore.JSX.Element); applicationHeader?: (PackageCore.Component | PackageCore.JSX.Element); children?: (PackageCore.Component | PackageCore.JSX.Element); appLayout?: boolean}): PackageCore.JSX.Element; + function ShellLayout(props?: {systemHeader?: (PackageCore.Component | PackageCore.JSX.Element); applicationHeader?: (PackageCore.Component | PackageCore.JSX.Element); children?: (PackageCore.Component | PackageCore.JSX.Element); appLayout?: boolean}): PackageCore.JSX.Element; export class ShuttleUI extends PackageCore.Component { constructor(options?: Self.ShuttleUI.Options); @@ -14539,7 +15419,7 @@ declare module '@uif-js/component' { action: Self.Button.ActionCallback; - label: string; + label: (null | string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); hasLabel: boolean; @@ -14557,25 +15437,25 @@ declare module '@uif-js/component' { menuOpened: boolean; - menu: (globalThis.Array | Self.Menu); + menu: (globalThis.Array | Self.Menu.Options); openOnHover: boolean; toggled: boolean; - setLabel(label: string): void; + setLabel(label: (null | string | number | PackageCore.Translation | PackageCore.Component)): void; - setIcon(icon: object): void; + setIcon(icon: (PackageCore.ImageMetadata | null)): void; - setIconPosition(position: Self.Button.IconPosition): void; + setIconPosition(position: Self.SplitButton.IconPosition): void; - setSize(size: Self.Button.Size): void; + setSize(size: Self.SplitButton.Size): void; - setType(type: Self.Button.Size): void; + setType(type: Self.SplitButton.Type): void; - setHierarchy(hierarchy: Self.Button.Hierarchy): void; + setHierarchy(hierarchy: Self.SplitButton.Hierarchy): void; - setMenu(menu: (globalThis.Array | Self.Menu)): void; + setMenu(menu: (globalThis.Array | Self.Menu.Options)): void; openMenu(args?: object): void; @@ -14599,7 +15479,7 @@ declare module '@uif-js/component' { label?: (null | string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - menu: (globalThis.Array | Self.Menu); + menu: (globalThis.Array | Self.Menu.Options); size?: Self.SplitButton.Size; @@ -15206,8 +16086,6 @@ declare module '@uif-js/component' { orientation: Self.Stepper.Orientation; - labelPosition: Self.Stepper.LabelPosition; - descriptionPosition: Self.Stepper.DescriptionPosition; separatorSize: Self.Stepper.SeparatorSize; @@ -15218,32 +16096,12 @@ declare module '@uif-js/component' { defaultItemOptions: object; - /** - * @deprecated - */ - currentStep: (Self.StepperItem | null); - - /** - * @deprecated - */ - stretch: boolean; - - /** - * @deprecated - */ - activated: boolean; - onSelectionChanged: (Self.Stepper.SelectionChangedCallback | null); - setItems(items: globalThis.Array, activeStep?: number): void; + setItems(items: globalThis.Array): void; setSelectedStepIndex(index: number, reason: (string | symbol)): void; - /** - * @deprecated - */ - setStretch(value: boolean): void; - static Horizontal(props: Self.Stepper.Options): PackageCore.JSX.Element; static Vertical(props: Self.Stepper.Options): PackageCore.JSX.Element; @@ -15300,8 +16158,6 @@ declare module '@uif-js/component' { export import Orientation = Self.StepperItem.Orientation; - export import LabelPosition = Self.StepperItem.LabelPosition; - export import DescriptionPosition = Self.StepperItem.DescriptionPosition; export import SeparatorSize = Self.StepperItem.SeparatorSize; @@ -15323,24 +16179,12 @@ declare module '@uif-js/component' { label: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - /** - * @deprecated - */ - name: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - description: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - /** - * @deprecated - */ - message: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - children: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); orientation: Self.StepperItem.Orientation; - labelPosition: Self.StepperItem.LabelPosition; - descriptionPosition: Self.StepperItem.DescriptionPosition; separatorSize: Self.StepperItem.SeparatorSize; @@ -15353,11 +16197,6 @@ declare module '@uif-js/component' { selected: boolean; - /** - * @deprecated - */ - activated: boolean; - optional: boolean; onActivate: (item: Self.StepperItem, index: number) => boolean; @@ -15366,11 +16205,6 @@ declare module '@uif-js/component' { index: number; - /** - * @deprecated - */ - ordinal: number; - static Event: Self.StepperItem.EventTypes; } @@ -15379,8 +16213,6 @@ declare module '@uif-js/component' { interface Options extends PackageCore.Component.Options { label?: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - message?: (string | number | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - orientation?: Self.StepperItem.Orientation; descriptionPosition?: Self.StepperItem.DescriptionPosition; @@ -15430,16 +16262,6 @@ declare module '@uif-js/component' { END, } - /** - * @deprecated - */ - enum LabelPosition { - TOP, - BOTTOM, - START, - END, - } - enum Type { DEFAULT, NEUTRAL, @@ -15677,7 +16499,7 @@ declare module '@uif-js/component' { export class Tab extends PackageCore.Component { constructor(options?: Self.Tab.Options); - label: (string | PackageCore.Translation); + label: (string | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); labelEditor: (Self.InlineEditor | null); @@ -15685,9 +16507,9 @@ declare module '@uif-js/component' { icon: object; - contextControls: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + contextControls: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>); - actionControls: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + actionControls: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>); value: any; @@ -15709,7 +16531,7 @@ declare module '@uif-js/component' { dropAfter: boolean; - setLabel(label: string, reason?: string): void; + setLabel(label: (string | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element), reason?: string): void; setIcon(icon: (PackageCore.ImageMetadata | null)): void; @@ -15729,11 +16551,11 @@ declare module '@uif-js/component' { icon?: Self.Image.Source; - label: (string | PackageCore.Translation); + label: (string | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - contextControls?: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + contextControls?: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>); - actionControls?: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + actionControls?: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>); selected?: boolean; @@ -15821,6 +16643,8 @@ declare module '@uif-js/component' { hierarchy: Self.TabPanel.Hierarchy; + divider: boolean; + selectedValue: any; selectedComponent: PackageCore.Component; @@ -15835,8 +16659,12 @@ declare module '@uif-js/component' { contentGap: (Self.TabPanel.GapSize | Self.TabPanel.GapSizeObject); + tabSpacer: (boolean | null); + decorator: (PackageCore.Decorator | null); + tabsDecorator: (PackageCore.Decorator | null); + defaultItemOptions: Self.TabPanel.ItemProps; setSelectedValue(value: any, args?: {reason?: string}): void; @@ -15875,8 +16703,12 @@ declare module '@uif-js/component' { setContentGap(value: Self.TabPanel.GapSize): void; + setTabSpacer(value: boolean): void; + setDecorator(decorator: (PackageCore.Decorator | null)): void; + setTabsDecorator(decorator: (PackageCore.Decorator | null)): void; + getTab(component: PackageCore.Component): (Self.Tab | null); static TabLabelUpdater(args: object): void; @@ -15893,11 +16725,11 @@ declare module '@uif-js/component' { icon?: Self.Image.Source; - label?: (string | PackageCore.Translation); + label?: (string | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); - contextControls?: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + contextControls?: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>); - actionControls?: globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>; + actionControls?: (PackageCore.Component | PackageCore.JSX.Element | globalThis.Array<(PackageCore.Component | PackageCore.JSX.Element)>); closable?: boolean; @@ -15961,12 +16793,18 @@ declare module '@uif-js/component' { contentGap?: (Self.TabPanel.GapSize | Self.TabPanel.GapSizeObject); + tabSpacer?: boolean; + + divider?: boolean; + defaultItemOptions?: Self.TabPanel.ItemProps; tabListOptions?: Self.ScrollTabList.Options; decorator?: PackageCore.Decorator; + tabsDecorator?: PackageCore.Decorator; + element?: Self.TabPanel.Element; } @@ -16494,6 +17332,10 @@ declare module '@uif-js/component' { end: number; + direction?: Self.TextArea.SelectionDirection; + + text?: string; + } type FormatterCallback = (args: {text: string; valid: boolean}) => string; @@ -16550,10 +17392,7 @@ declare module '@uif-js/component' { VERTICAL, } - enum SelectionDirection { - FORWARD, - BACKWARD, - } + export import SelectionDirection = Self.TextSelection.Direction; export import Size = Self.InputSize; @@ -16668,8 +17507,6 @@ declare module '@uif-js/component' { type: Self.TextBox.Type; - input: PackageCore.Component; - inputId: string; inputAttributes: PackageCore.HtmlAttributeList; @@ -16849,6 +17686,10 @@ declare module '@uif-js/component' { end: number; + direction?: Self.TextBox.SelectionDirection; + + text?: string; + } interface EventTypes extends PackageCore.Component.EventTypes { @@ -16914,10 +17755,7 @@ declare module '@uif-js/component' { URL, } - enum SelectionDirection { - FORWARD, - BACKWARD, - } + export import SelectionDirection = Self.TextSelection.Direction; export import Size = Self.InputSize; @@ -16999,7 +17837,7 @@ declare module '@uif-js/component' { } class TextSelection { - constructor(start: number, end: number, direction?: Self.TextSelection.Direction); + constructor(start: number, end: number, direction?: Self.TextSelection.Direction, text?: string); } @@ -17020,6 +17858,8 @@ declare module '@uif-js/component' { function ThemeRootContent(props: {children?: PackageCore.VDom.Children}): PackageCore.JSX.Element; + export function ThemeSelector(props: {supportedThemes?: globalThis.Array; children?: PackageCore.VDom.Children}): PackageCore.JSX.Element; + export class TimePicker extends PackageCore.Component implements PackageCore.InputComponent { constructor(options?: Self.TimePicker.Options); @@ -17313,14 +18153,6 @@ declare module '@uif-js/component' { INTERVAL, } - /** - * @deprecated Not used internally anymore - */ - enum TimePart { - START, - END, - } - } export class TimeRangePicker extends Self.Picker { @@ -17346,7 +18178,7 @@ declare module '@uif-js/component' { children: PackageCore.VDom.Children; - selectedValues: globalThis.Array; + selectedValues: globalThis.Array; type: Self.ToggleGroup.Type; @@ -17358,7 +18190,7 @@ declare module '@uif-js/component' { onSelectionChanged: (Self.ToggleGroup.SelectionChangedCallback | null); - select(values: globalThis.Array, options?: {triggerIndex?: (number | null); triggerValue?: any; triggerButton?: (Self.Button | null); reason?: (string | symbol)}): void; + select(values: (Self.ToggleGroup.Value | globalThis.Array), options?: {triggerIndex?: (number | null); triggerValue?: any; triggerButton?: (Self.Button | null); reason?: (string | symbol)}): void; private parseChildren(children: PackageCore.VDom.Children): globalThis.Array; @@ -17408,7 +18240,7 @@ declare module '@uif-js/component' { value: any; - badge: (boolean | string | number | Self.Button.BadgeDefinition); + badge?: (boolean | string | number | Self.Button.BadgeDefinition); } @@ -17424,14 +18256,16 @@ declare module '@uif-js/component' { } + type Value = (string | number | symbol); + interface Options extends PackageCore.Component.Options { - buttons: globalThis.Array; + buttons?: globalThis.Array; defaultButtonOptions?: Self.ToggleGroup.Button; layout?: Self.ToggleGroup.Layout; - selectedValues: (string | globalThis.Array); + selectedValues?: (Self.ToggleGroup.Value | globalThis.Array); toggleStrategy?: Self.ToggleGroup.ToggleStrategy; @@ -17450,9 +18284,9 @@ declare module '@uif-js/component' { triggerButton: (Self.Button | null); - selectedValues: globalThis.Array; + selectedValues: globalThis.Array; - previousSelectedValues: globalThis.Array; + previousSelectedValues: globalThis.Array; reason: Self.ToggleGroup.Reason; @@ -17628,6 +18462,8 @@ declare module '@uif-js/component' { constructor(options?: (string | PackageCore.JSX.Element | Self.Tooltip.Options)); + component: (PackageCore.Component | Element | null); + content: (PackageCore.Component | string | PackageCore.Translation | PackageCore.JSX.Element | null); contentGap: (Self.Tooltip.GapSize | Self.Tooltip.GapSizeObject); @@ -17642,7 +18478,9 @@ declare module '@uif-js/component' { status: PackageCore.Component.Status; - attachTo(component: PackageCore.Component): void; + size: Self.Tooltip.Size; + + attachTo(component: (PackageCore.Component | Element)): void; detach(): void; @@ -17650,13 +18488,15 @@ declare module '@uif-js/component' { processMessage(next: PackageCore.RoutedMessage.Handler, message: PackageCore.RoutedMessage, result: PackageCore.RoutedMessage.Result): void; - open(options?: PackageCore.PositionHelper.Options & {component?: PackageCore.Component; reason?: string}): void; + open(options?: PackageCore.PositionHelper.Options & {component?: (PackageCore.Component | Element); reason?: string}): void; close(options?: {reason?: string}): void; + resize(): void; + dispose(): void; - private _detachCloseTimer(): void; + private detachCloseTimer(): void; static show(options: Self.Tooltip.Options): void; @@ -17664,15 +18504,17 @@ declare module '@uif-js/component' { static Event: Self.Tooltip.EventTypes; + static Target(props: {tooltip?: Self.Tooltip; target?: PackageCore.VDomRef}): PackageCore.JSX.Element; + } export namespace Tooltip { interface Options extends PackageCore.Component.Options { - closeStrategy?: (window: Self.Window) => PackageCore.RoutedMessage.Filter; + closeStrategy?: Self.Window.CloseStrategyHandler; closeTimeout?: number; - component?: PackageCore.Component; + component?: (PackageCore.Component | Element); content: (PackageCore.Component | string | PackageCore.Translation | PackageCore.JSX.Element | null); @@ -17686,8 +18528,12 @@ declare module '@uif-js/component' { status?: PackageCore.Component.Status; + size?: Self.Tooltip.Size; + visualStyle?: string; + anchorStyle?: Self.Window.AnchorVisualStyleCallback; + on?: PackageCore.EventSource.ListenerMap; } @@ -17724,6 +18570,8 @@ declare module '@uif-js/component' { toCursorOrTarget, } + export import Size = Self.Popover.Size; + export import OpenReason = Self.TooltipOpenReason; export import OpenStrategy = Self.TooltipOpenStrategy; @@ -17732,7 +18580,7 @@ declare module '@uif-js/component' { enum VisualStyle { TOOLTIP, - POPUP, + POPOVER, } export import GapSize = Self.Popover.GapSize; @@ -18494,7 +19342,7 @@ declare module '@uif-js/component' { parentWindow: (Self.Window | null); - owner: (PackageCore.Component | PackageCore.VDomRef | null); + owner: (PackageCore.Component | PackageCore.VDomRef | Element); childWindows: globalThis.Array; @@ -18530,11 +19378,11 @@ declare module '@uif-js/component' { position(options?: (Self.Window.PositionArgs | null), updateSize?: boolean): void; - private _setRootElementStyle(position: PackageCore.Rectangle): void; + private setRootElementStyle(position: PackageCore.Rectangle): void; - private _alignToDocumentBody(coordinates: PackageCore.PositionHelper.FrameDescription): PackageCore.Rectangle; + private alignToDocumentBody(coordinates: PackageCore.PositionHelper.FrameDescription): PackageCore.Rectangle; - private _getPositionOptions(options: PackageCore.PositionHelper.Options, measuredSize: object): PackageCore.PositionHelper.Options; + private getPositionOptions(options: PackageCore.PositionHelper.Options, measuredSize: object): PackageCore.PositionHelper.Options; static findManagingWindow(): void; @@ -18554,7 +19402,7 @@ declare module '@uif-js/component' { buttonsJustification?: Self.Window.ButtonsJustification; - closeStrategy?: Self.WindowCloseStrategy.Handler; + closeStrategy?: Self.Window.CloseStrategyHandler; content?: (string | PackageCore.Translation | PackageCore.Component | PackageCore.JSX.Element); @@ -18570,7 +19418,7 @@ declare module '@uif-js/component' { modal?: boolean; - owner: (PackageCore.Component | PackageCore.VDomRef); + owner: (PackageCore.Component | PackageCore.VDomRef | Element); position?: Self.Window.PositionArgs; @@ -18582,10 +19430,12 @@ declare module '@uif-js/component' { withAnchor?: boolean; + anchorStyle?: Self.Window.AnchorVisualStyleCallback; + } interface OpenArgs { - closeStrategy?: Self.WindowCloseStrategy.Handler; + closeStrategy?: Self.Window.CloseStrategyHandler; position?: Self.Window.PositionArgs; @@ -18633,6 +19483,10 @@ declare module '@uif-js/component' { } + type AnchorVisualStyleCallback = (theme: PackageCore.Theme) => PackageCore.Style; + + type CloseStrategyHandler = (window: Self.Window) => PackageCore.RoutedMessage.Filter; + interface EventTypes extends PackageCore.Component.EventTypes { OPENING: string; @@ -18653,8 +19507,8 @@ declare module '@uif-js/component' { } enum VisualStyle { - FRAME, - POPUP, + MODAL, + POPOVER, PICKER, TOOLTIP, } @@ -18769,35 +19623,33 @@ declare module '@uif-js/component' { export class WindowCloseStrategy { static DEFAULT_MOUSE_DELAY: number; - static focusOutside(component: (PackageCore.Component | null), options: (object | null)): Self.WindowCloseStrategy.Handler; + static focusOutside(component: (PackageCore.Component | null), options: (object | null)): Self.Window.CloseStrategyHandler; - static mouseOutside(component: (PackageCore.Component | null), options: (object | null)): Self.WindowCloseStrategy.Handler; + static mouseOutside(component: (PackageCore.Component | null), options: (object | null)): Self.Window.CloseStrategyHandler; - static clickOutside(component: (PackageCore.Component | null), options: (object | null)): Self.WindowCloseStrategy.Handler; + static clickOutside(component: (PackageCore.Component | null), options: (object | null)): Self.Window.CloseStrategyHandler; - static scrollOutside(component: (PackageCore.Component | null), options: (object | null)): Self.WindowCloseStrategy.Handler; + static scrollOutside(component: (PackageCore.Component | null), options: (object | null)): Self.Window.CloseStrategyHandler; - static key(key: PackageCore.KeyCode, options: (object | null)): Self.WindowCloseStrategy.Handler; + static key(key: PackageCore.KeyCode, options: (object | null)): Self.Window.CloseStrategyHandler; - static escape(): Self.WindowCloseStrategy.Handler; + static escape(): Self.Window.CloseStrategyHandler; - static none(): Self.WindowCloseStrategy.Handler; + static none(): Self.Window.CloseStrategyHandler; - static anyOf(strategies: globalThis.Array): Self.WindowCloseStrategy.Handler; + static anyOf(strategies: globalThis.Array): Self.Window.CloseStrategyHandler; - static custom(options: object): Self.WindowCloseStrategy.Handler; + static custom(options: object): Self.Window.CloseStrategyHandler; - static default(options: object): Self.WindowCloseStrategy.Handler; + static default(options: object): Self.Window.CloseStrategyHandler; - static popover(component: (PackageCore.Component | null), options: (object | null)): Self.WindowCloseStrategy.Handler; + static popover(component?: PackageCore.Component, options?: object): Self.Window.CloseStrategyHandler; - static focusedOrOver(component: (PackageCore.Component | null), options?: object): Self.WindowCloseStrategy.Handler; + static focusedOrOver(component: (PackageCore.Component | null), options?: object): Self.Window.CloseStrategyHandler; } export namespace WindowCloseStrategy { - type Handler = (window: Self.Window) => PackageCore.RoutedMessage.Filter; - } class WindowDragger { @@ -18827,9 +19679,9 @@ declare module '@uif-js/component' { draggable: boolean; - setTitle(title: (string | number | PackageCore.Translation)): void; + onButton: Self.WindowTitleBar.ButtonCallback; - static Event: Self.WindowTitleBar.EventTypes; + onMove: Self.WindowTitleBar.MoveCallback; } @@ -18845,17 +19697,21 @@ declare module '@uif-js/component' { draggable?: boolean; - } + onButton?: Self.WindowTitleBar.ButtonCallback; - interface EventTypes extends PackageCore.Component.EventTypes { - ICON_CLICKED: string; + onMove?: Self.WindowTitleBar.MoveCallback; + + } - BUTTON_CLICKED: string; + type ButtonCallback = (args: Self.WindowTitleBar.ButtonCallbackArgs) => void; - MOVE: string; + interface ButtonCallbackArgs { + button: Self.WindowTitleBar.Button; } + type MoveCallback = (coordinates: PackageCore.PointerMessage.Coordinates) => void; + enum VisualStyle { DEFAULT, } diff --git a/packages/uif-types/uif/core.d.ts b/packages/uif-types/uif/core.d.ts index 0182e7923..526e239fd 100644 --- a/packages/uif-types/uif/core.d.ts +++ b/packages/uif-types/uif/core.d.ts @@ -113,35 +113,6 @@ declare module '@uif-js/core' { export namespace AppContext { } - /** - * @deprecated - */ - class Application { - constructor(); - - state: Self.Application.State; - - context: Self.Context; - - shell: PackageComponent.Shell; - - run(): globalThis.Promise; - - dispose(): void; - - } - - namespace Application { - enum State { - NEW, - INITIALIZING, - READY, - DISPOSED, - ERROR, - } - - } - export enum AriaProperty { ACTIVE_DESCENDANT, ATOMIC, @@ -1270,7 +1241,7 @@ declare module '@uif-js/core' { setDescribedBy(value: (Self.Component | Self.VDomRef | string | number | null)): void; - setAriaLabel(value: (string | null)): void; + setAriaLabel(ariaLabel: (string | Self.Translation | null)): void; addMessageFilter(filter: (Self.RoutedMessage.Filter | Record)): {remove: () => void}; @@ -1459,6 +1430,8 @@ declare module '@uif-js/core' { protected _onStatusMessageChanged(args: {message: (string | Self.Translation | Self.Component); previousMessage: (string | Self.Translation | Self.Component); reason?: string}): void; + private _onAriaLabelChanged(args: {ariaLabel: (string | Self.Translation | null); previousAriaLabel: (string | Self.Translation | null)}): void; + protected _onContentMeasurementStarted(): void; protected _onContentMeasurementFinalized(): void; @@ -1475,10 +1448,6 @@ declare module '@uif-js/core' { static findByElement(element: Element, context?: Element): (Self.Component | null); - static wrapElement(element: Element, host: PackageComponent.Host): Self.ElementComponent; - - static getHostByComponent(component: (Self.Component | Self.ElementComponent)): (PackageComponent.Host | null); - static props(Class: (options: any) => any, options: object, deepExtend?: boolean): object; static contextTypes: globalThis.Array; @@ -1791,12 +1760,18 @@ declare module '@uif-js/core' { static SHORTCUTS: string; + static DATA_EXCHANGE_MANAGER: string; + static WINDOW_MANAGER: string; static THEME: string; static THEME_BACKGROUND: string; + static AVAILABLE_THEMES: string; + + static PREFERRED_THEME: string; + static DEBUG: string; static FORMAT: string; @@ -2002,6 +1977,8 @@ declare module '@uif-js/core' { export class DataExchangeManager implements Self.MessageHandler { constructor(); + dragging: boolean; + processMessage(next: Self.RoutedMessage.Handler, message: Self.RoutedMessage, result: object): void; } @@ -2121,6 +2098,8 @@ declare module '@uif-js/core' { utcMilliseconds: number; + timezoneOffset: number; + isValid(): boolean; stripTime(): Self.Date; @@ -2215,10 +2194,18 @@ declare module '@uif-js/core' { lastOfMonth(): Self.Date; - weekNumber(): number; + firstOfYear(): Self.Date; + + lastOfYear(): Self.Date; + + weekNumber(firstDayOfWeek?: number): number; + + static getWeek(year: number, firstDayOfWeek: number, number: number): Self.Date; static fromDate(date: (globalThis.Date | null)): (Self.Date | null); + static fromMillisecondsSinceEpoch(value: number): Self.Date; + static fromTimeStamp(timeStamp: number): Self.Date; static now(): Self.Date; @@ -2235,6 +2222,24 @@ declare module '@uif-js/core' { static thisYear(): Self.Date; + static millisecondsSinceEpoch(): number; + + static millisecondsBetween(start: Self.Date, end: Self.Date): number; + + static secondsBetween(start: Self.Date, end: Self.Date): number; + + static minutesBetween(start: Self.Date, end: Self.Date): number; + + static hoursBetween(start: Self.Date, end: Self.Date): number; + + static daysBetween(start: Self.Date, end: Self.Date): number; + + static weeksBetween(start: Self.Date, end: Self.Date): number; + + static monthsBetween(start: Self.Date, end: Self.Date): number; + + static yearsBetween(start: Self.Date, end: Self.Date): number; + } export namespace Date { @@ -2253,7 +2258,7 @@ declare module '@uif-js/core' { } export class Decorator { - constructor(options: object); + constructor(options?: Self.Decorator.Options); attributes(context: object): object; @@ -2275,7 +2280,7 @@ declare module '@uif-js/core' { static depth(depth: Self.Decorator.Depth): Self.Decorator; - static custom(options: {background?: Self.Decorator.ColorOptions; border?: Self.Decorator.BorderOptions; margin?: Self.Decorator.BoxOptions; padding?: Self.Decorator.BoxOptions; depth?: Self.Decorator.Depth; shape?: Self.Decorator.Shape; font?: Self.Decorator.FontOptions}): Self.Decorator; + static custom(options: Self.Decorator.Options): Self.Decorator; static combine(...decorators: globalThis.Array): Self.Decorator; @@ -2357,6 +2362,23 @@ declare module '@uif-js/core' { } + interface Options { + background?: Self.Decorator.ColorOptions; + + border?: Self.Decorator.BorderOptions; + + margin?: Self.Decorator.BoxOptions; + + padding?: Self.Decorator.BoxOptions; + + depth?: Self.Decorator.Depth; + + shape?: Self.Decorator.Shape; + + font?: Self.Decorator.FontOptions; + + } + enum BorderWeight { NONE, DEFAULT, @@ -2614,12 +2636,6 @@ declare module '@uif-js/core' { } - export class ElementComponent { - } - - export namespace ElementComponent { - } - export class EventBus { constructor(); @@ -2978,7 +2994,7 @@ declare module '@uif-js/core' { clear(): void; - flatten(): object; + flatten(recursive?: boolean): object; } @@ -3077,6 +3093,8 @@ declare module '@uif-js/core' { function clearSelection(): void; + function isElementVisible(element: Element): boolean; + function waitDocumentReady(): globalThis.Promise; function loadScript(url: string, customize?: (script: HTMLScriptElement) => void): globalThis.Promise; @@ -4259,6 +4277,10 @@ declare module '@uif-js/core' { function toBounds(number: number, min: number, max: number): number; + function lerp(a: number, b: number, t: number): number; + + function inverseLerp(value: number, a: number, b: number): number; + function randomInteger(min: number, max: number): number; function randomIndex(length: number): number; @@ -4399,6 +4421,8 @@ declare module '@uif-js/core' { services: Self.HierarchicalMap; + supportedThemes: (globalThis.Array | null); + run(): void; } @@ -4434,6 +4458,8 @@ declare module '@uif-js/core' { private unhookFromEventDispatcher(): void; + static addElementMessageFilter(element: Element, filter: Self.RoutedMessage.Filter): {remove: ((() => void))}; + static HandledEvents: globalThis.Array; } @@ -4588,7 +4614,7 @@ declare module '@uif-js/core' { } interface Portal { - owner: (Self.Component | Self.VDomRef | null); + owner: (Self.Component | Self.VDomRef | Element | null); } @@ -4989,6 +5015,91 @@ declare module '@uif-js/core' { export namespace PureComponent { } + export namespace RecordIcon { + const ACTIVITY: Self.ImageMetadata; + + const CALL: Self.ImageMetadata; + + const CAMPAIGN: Self.ImageMetadata; + + const CASE: Self.ImageMetadata; + + const CASH_REFUND: Self.ImageMetadata; + + const CONTACT: Self.ImageMetadata; + + const CREDIT_CARD: Self.ImageMetadata; + + const CUSTOMER: Self.ImageMetadata; + + const EMAIL: Self.ImageMetadata; + + const EMPLOYEE: Self.ImageMetadata; + + const ESTIMATE: Self.ImageMetadata; + + const EVENT: Self.ImageMetadata; + + const EXPENSE_REPORT: Self.ImageMetadata; + + const FILE: Self.ImageMetadata; + + const INFORMATION_ITEM: Self.ImageMetadata; + + const INVOICE: Self.ImageMetadata; + + const ISSUE: Self.ImageMetadata; + + const ITEM: Self.ImageMetadata; + + const JOURNAL: Self.ImageMetadata; + + const LEAD: Self.ImageMetadata; + + const LETTER: Self.ImageMetadata; + + const NOTE: Self.ImageMetadata; + + const OPPORTUNITY: Self.ImageMetadata; + + const PARTNER: Self.ImageMetadata; + + const PARTNER_SCHEDULE: Self.ImageMetadata; + + const PAYCHECK: Self.ImageMetadata; + + const PAYROLL_BATCH: Self.ImageMetadata; + + const PDF: Self.ImageMetadata; + + const PROJECT: Self.ImageMetadata; + + const PROSPECT: Self.ImageMetadata; + + const PURCHASE_ORDER: Self.ImageMetadata; + + const RETURN_AUTHORIZATION: Self.ImageMetadata; + + const SALES_ORDER: Self.ImageMetadata; + + const SOLUTION: Self.ImageMetadata; + + const TASK: Self.ImageMetadata; + + const TIME_OFF_REQUEST: Self.ImageMetadata; + + const TOPIC: Self.ImageMetadata; + + const TRANSACTION: Self.ImageMetadata; + + const TRANSFER: Self.ImageMetadata; + + const WEEKLY_TIME: Self.ImageMetadata; + + const WORK_ORDER: Self.ImageMetadata; + + } + export class Rectangle { constructor(rectangle: Self.Rectangle.RectangleSpec); @@ -5085,6 +5196,7 @@ declare module '@uif-js/core' { } enum RedwoodIcon { + AI_SPARKLE, ICO_ACCOUNTS_PAYABLE, ICO_ADAPTER, ICO_ADD_COLUMN_ALT, @@ -5242,6 +5354,7 @@ declare module '@uif-js/core' { ICO_NOTE, ICO_NOTES_ADD, ICO_NULL_VALUE, + ICO_ORACLE_CHAT_OUTLINE, ICO_OVERFLOW_H, ICO_OVERFLOW_VERT, ICO_PAGINATION, @@ -5321,25 +5434,84 @@ declare module '@uif-js/core' { ICO_ZOOM_OUT, } + enum RedwoodRecordIcon { + ACTIVITY, + CALL, + CAMPAIGN, + CASE, + CASH_REFUND, + CONTACT, + CREDIT_CARD, + CUSTOMER, + EMAIL, + EMPLOYEE, + ESTIMATE, + EVENT, + EXPENSE_REPORT, + FILE, + INFORMATION_ITEM, + INVOICE, + ISSUE, + ITEM, + JOURNAL, + LEAD, + LETTER, + NOTE, + OPPORTUNITY, + PARTNER, + PARTNER_SCHEDULE, + PAYCHECK, + PAYROLL_BATCH, + PDF, + PROJECT, + PROSPECT, + PURCHASE_ORDER, + RETURN_AUTHORIZATION, + SALES_ORDER, + SOLUTION, + TASK, + TIME_OFF_REQUEST, + TOPIC, + TRANSACTION, + TRANSFER, + WEEKLY_TIME, + WORK_ORDER, + } + enum RedwoodSystemIconMapping { } export class RedwoodTheme extends Self.Theme { constructor(options?: Self.RedwoodTheme.Options); + density: Self.RedwoodTheme.Density; + + densityNS: boolean; + + densityLow: boolean; + + densityHigh: boolean; + } export namespace RedwoodTheme { interface Options extends Self.Theme.Options { + density?: Self.RedwoodTheme.Density; + } export import Icon = Self.RedwoodIcon; + export import RecordIcon = Self.RedwoodRecordIcon; + export import SystemIconMapping = Self.RedwoodSystemIconMapping; - } + enum Density { + LOW, + HIGH, + NETSUITE, + } - enum RedwoodToken { } class ReflectionClassDescriptor { @@ -5495,6 +5667,7 @@ declare module '@uif-js/core' { LOCALIZE, LOCK, LOCKED_TASK, + LOG_OUT, MANUFACTURING, MAP, MASTER_DETAIL, @@ -5616,6 +5789,50 @@ declare module '@uif-js/core' { ZOOM_OUT, } + enum RefreshedRecordIcon { + ACTIVITY, + CALL, + CAMPAIGN, + CASE, + CASH_REFUND, + CONTACT, + CREDIT_CARD, + CUSTOMER, + EMAIL, + EMPLOYEE, + ESTIMATE, + EVENT, + EXPENSE_REPORT, + FILE, + INFORMATION_ITEM, + INVOICE, + ISSUE, + ITEM, + JOURNAL, + LEAD, + LETTER, + NOTE, + OPPORTUNITY, + PARTNER, + PARTNER_SCHEDULE, + PAYCHECK, + PAYROLL_BATCH, + PDF, + PROJECT, + PROSPECT, + PURCHASE_ORDER, + RETURN_AUTHORIZATION, + SALES_ORDER, + SOLUTION, + TASK, + TIME_OFF_REQUEST, + TOPIC, + TRANSACTION, + TRANSFER, + WEEKLY_TIME, + WORK_ORDER, + } + export class RefreshedTheme extends Self.Theme { constructor(options?: Self.RefreshedTheme.Options); @@ -5644,6 +5861,8 @@ declare module '@uif-js/core' { export import Icon = Self.RefreshedIcon; + export import RecordIcon = Self.RefreshedRecordIcon; + export import ColorSet = Self.RefreshedColorSet; } @@ -5934,7 +6153,7 @@ declare module '@uif-js/core' { protected _checkDeprecatedEvent(eventName: Self.EventSource.EventName): void; - constructor(options: {on?: Self.EventSource.ListenerMap}); + constructor(options?: Self.ScrollController.Options); viewportSize: Self.Scrollable.Size; @@ -5946,16 +6165,24 @@ declare module '@uif-js/core' { scrollabilityOffset: Self.Scrollable.Scrollability; + hasHorizontalScrollbar: boolean; + + hasVerticalScrollbar: boolean; + canScroll(options: Self.ScrollController.ScrollOptions): boolean; scroll(options: Self.ScrollController.ScrollOptions): boolean; + applyScrollOffsetFromElement(element: HTMLElement, options?: Self.ScrollController.ScrollOptions): boolean; + scrollToTop(options?: {reason?: any}): boolean; scrollToBottom(options?: {reason?: any}): boolean; resize(options: Self.ScrollController.ResizeOptions): boolean; + resizeFromElement(element: HTMLElement, options?: Self.ScrollController.ResizeOptions): void; + bind(scrollable: Self.Scrollable, options: object): {remove: () => void}; unbind(scrollable: Self.Scrollable): void; @@ -5976,6 +6203,17 @@ declare module '@uif-js/core' { } + interface Options { + viewportSize?: Self.Scrollable.Size; + + contentSize?: Self.Scrollable.Size; + + scrollOffset?: Self.Scrollable.Offset; + + on?: Self.EventSource.ListenerMap; + + } + interface ResizeOptions { viewportSize?: {x: (number | null); y: (number | null)}; @@ -6356,7 +6594,9 @@ declare module '@uif-js/core' { } - type ActionCreator = (dispatch: Self.Store.DispatchFunc, getState: (path: globalThis.Array) => any) => globalThis.Promise; + type ActionCreator = (dispatch: Self.Store.DispatchFunc, getState: Self.Store.GetStateCallback) => globalThis.Promise; + + type GetStateCallback = (path?: (string | globalThis.Array)) => any; interface EventTypes { STATE_CHANGED: string; @@ -6718,6 +6958,8 @@ declare module '@uif-js/core' { const LOCKED_TASK: Self.ImageMetadata; + const LOG_OUT: Self.ImageMetadata; + const MANUFACTURING: Self.ImageMetadata; const MAP: Self.ImageMetadata; @@ -6979,6 +7221,8 @@ declare module '@uif-js/core' { private generateCssVariablesStyle(): Self.Style; + static select(preferredTheme: Self.Theme.Name, availableThemes: Record, supportedThemes: (globalThis.Array | null)): Self.Theme.Name; + } export namespace Theme { @@ -6995,7 +7239,10 @@ declare module '@uif-js/core' { } - export import Name = Self.ThemeName; + enum Name { + REFRESHED, + REDWOOD, + } enum Background { LIGHT, @@ -7150,6 +7397,7 @@ declare module '@uif-js/core' { LOCALIZE, LOCK, LOCKED_TASK, + LOG_OUT, MANUFACTURING, MAP, MASTER_DETAIL, @@ -7271,11 +7519,6 @@ declare module '@uif-js/core' { ZOOM_OUT, } - enum ThemeName { - REFRESHED, - REDWOOD, - } - export namespace Thenable { function when(value?: any): globalThis.Promise; @@ -7802,6 +8045,8 @@ declare module '@uif-js/core' { function children(children: Self.VDom.Children, omitEmpty?: boolean): globalThis.Array; + function getHost(element: Element): (PackageComponent.Host | null); + function Fragment(props: {children?: Self.VDom.Children}): Self.VDomElement; function Portal(props: {container: HTMLElement; children?: Self.VDom.Children}): Self.VDomElement; @@ -8056,6 +8301,8 @@ declare module '@uif-js/core' { function dateParser(tokenList: RegExp, string: string, format: string, options?: object): object; + function generateTokens(): object; + function reconstructFiberChildren(fiber: Self.VDomFiber): void; function reconstructFiberPath(node: Node): Self.VDomFiber; diff --git a/packages/unit-testing/README.md b/packages/unit-testing/README.md index 086e41838..8a17a484d 100644 --- a/packages/unit-testing/README.md +++ b/packages/unit-testing/README.md @@ -20,7 +20,7 @@ For more information about the available SuitScript 2.x modules, see [SuiteScrip For more information about all the mockable stubs, see the CORE_STUBS list in [SuiteCloudJestConfiguration.js](./jest-configuration/SuiteCloudJestConfiguration.js). ## Prerequisites -- Node.js version 20 LTS +- Node.js version 22 LTS - Having a SuiteCloud project ## Getting Started @@ -325,4 +325,4 @@ describe('Sample test with user defined http module stub', () => { Suitecloud Unit Testing is an open source project. Pull requests are currently not being accepted. See [Contributing](/CONTRIBUTING.md) for details. ## [License](/LICENSE.txt) -Copyright (c) 2023, 2024 Oracle and/or its affiliates The Universal Permissive License (UPL), Version 1.0. +Copyright (c) 2023, 2024, 2025 Oracle and/or its affiliates The Universal Permissive License (UPL), Version 1.0. diff --git a/packages/unit-testing/package.json b/packages/unit-testing/package.json index c73684a6a..935377e68 100644 --- a/packages/unit-testing/package.json +++ b/packages/unit-testing/package.json @@ -1,6 +1,6 @@ { "name": "@oracle/suitecloud-unit-testing", - "version": "1.6.0", + "version": "1.7.0", "license": "UPL-1.0", "repository": { "type": "git", @@ -19,7 +19,7 @@ }, "main": "jest-configuration/SuiteCloudJestConfiguration.js", "dependencies": { - "@babel/preset-env": "7.24.8", + "@babel/preset-env": "7.26.0", "babel-jest": "29.7.0", "babel-plugin-transform-amd-to-commonjs": "1.6.0", "xml2js": "0.6.2" diff --git a/packages/vscode-extension/CHANGELOG.md b/packages/vscode-extension/CHANGELOG.md index 99243e732..84a6d4fea 100644 --- a/packages/vscode-extension/CHANGELOG.md +++ b/packages/vscode-extension/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 3.0.0 + +- Secure Credentials Storage for SuiteCloud SDK + ## 2.0.1 - Fix for GitHub issue 841 diff --git a/packages/vscode-extension/README.md b/packages/vscode-extension/README.md index e88f3ddd9..f21673307 100644 --- a/packages/vscode-extension/README.md +++ b/packages/vscode-extension/README.md @@ -13,8 +13,8 @@ Read more about SuiteCloud SDK and SDF in Installation Prerequisites for SuiteCloud Extension for Visual Studio Code. @@ -25,8 +25,8 @@ The following table shows the extension versions currently available in the Mark | Extension Versions Available in the Marketplace | Available Since | Compatible NetSuite Version | |:-----------------------------------------------:|:---------------:|:---------------------------:| +| 3.0.0 | 2025.1 | 2024.2 and 2025.1 | | 2.0.X | 2024.2 | 2024.1 and 2024.2 | -| 1.6.X | 2024.1 | 2024.1 and 2024.2 | ## Installing SuiteCloud Extension for Visual Studio Code To install SuiteCloud Extension for Visual Studio Code, follow these steps: @@ -77,7 +77,6 @@ To add an account, follow these steps: Your account is successfully set up. - To set an account as default for a project, follow these steps: 1. Open the Command Palette. 2. Enter **SuiteCloud** and from the dropdown list, select **SuiteCloud: Set Up Account**. @@ -116,8 +115,8 @@ To read more about what you can do with SuiteCloud Extension for Visual Studio C SuiteCloud CLI for Node.js is compatible with your Visual Studio Code integrated terminal, so you can run SuiteCloud CLI for Node.js commands directly there, independently from VS Code. To read more about it, visit SuiteCloud CLI for Node.js. ## Release Notes & Documentation -To read the 2024.2 NetSuite's release notes and documentation, check the following sections of NetSuite's Help Center: -- Read the release notes for NetSuite 2024.2 in [SuiteCloud SDK Release Notes](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558730192.html). +To read the 2025.1 NetSuite's release notes and documentation, check the following sections of NetSuite's Help Center: +- Read the release notes for NetSuite 2025.1 in [SuiteCloud SDK Release Notes](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1558730192.html). - Read the latest updates under SuiteCloud SDK in the [Help Center Weekly Updates](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_3798389663.html). - Read the SuiteCloud Extension for Visual Studio Code documentation in [NetSuite's Help Center](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/book_159223417590.html). @@ -125,6 +124,6 @@ To read the 2024.2 NetSuite's release notes and documentation, check the followi SuiteCloud Extension for Visual Studio Code is an open source project. Pull Requests are currently not being accepted. See [Contributing](/CONTRIBUTING.md) for details. ## License -Copyright (c) 2022, 2023, 2024 Oracle and/or its affiliates The Universal Permissive License (UPL), version 1.0. See [License](/LICENSE.txt) for details. +Copyright (c) 2022, 2023, 2024, 2025 Oracle and/or its affiliates The Universal Permissive License (UPL), version 1.0. See [License](/LICENSE.txt) for details. By installing SuiteCloud Extension for Visual Studio Code, you are accepting the installation of the SuiteCloud SDK dependency under the [Oracle Free Use Terms and Conditions](https://www.oracle.com/downloads/licenses/oracle-free-license.html) license. \ No newline at end of file diff --git a/packages/vscode-extension/messages.json b/packages/vscode-extension/messages.json index 6b060c872..95ff15065 100644 --- a/packages/vscode-extension/messages.json +++ b/packages/vscode-extension/messages.json @@ -12,6 +12,7 @@ "BUTTONS_RESTART_NOW": "Restart Now", "BUTTONS_SEE_DETAILS": "See Details", + "BUTTONS_OK": "Ok", "COMMAND_ERROR": "Something went wrong with '{0}'.", "COMMAND_SUCCESS": "'{0}' has been successfully executed.", @@ -60,8 +61,8 @@ "ERRORS_MISSING_MANIFEST_FILE_CONTEXT_MENU_FILE": "No manifest.xml file was found in \"{0}\". Make sure the selected file or folder belongs to a valid project structure before running this command. For more information about the project structure, see {1}.", "ERRORS_NO_ACTIVE_FILE": "Before running this command, select a file from the current workspace and make it active in the editor.", "ERRORS_NO_ACTIVE_WORKSPACE": "The active file in the editor does not belong to the current workspace. Before running this command, select a file from the current workspace and make it active in the editor.", - "ERRORS_SDK_JAVA_VERSION_NOT_COMPATIBLE": "Your Java version {0} is not compatible with SuiteCloud Extension for Visual Studio Code. Install Oracle JDK version {1}.", - "ERRORS_SDK_JAVA_VERSION_NOT_INSTALLED": "Java is not installed on this machine. Install Oracle JDK version {0} to run SuiteCloud Extension for Visual Studio Code.", + "ERRORS_SDK_JAVA_VERSION_NOT_COMPATIBLE": "Your Java version {0} is not compatible with SuiteCloud Extension for Visual Studio Code. Install any of the following Oracle JDK versions: {1}.", + "ERRORS_SDK_JAVA_VERSION_NOT_INSTALLED": "Java is not installed on this machine. Install any of the following Oracle JDK versions: {0}, to run SuiteCloud Extension for Visual Studio Code.", "EXTENSION_INSTALLATION_ERROR_GENERAL_ERROR": "There was an error when downloading SuiteCloud SDK dependencies from {0}\n{1}", "EXTENSION_INSTALLATION_ERROR_SDK_INVALID": "Close and open the editor to try again.", @@ -121,7 +122,7 @@ "MANAGE_AUTH_GENERAL_SELECT_AUTH_ID_TO_MANAGE": "Select the auth ID you want to manage:", "MANAGE_AUTH_GENERAL_SELECT_OPTION_FOR_AUTH_ID": "Select one of the following options for {0}:", "MANAGE_AUTH_REMOVE_CANCEL": "Cancel", - "MANAGE_AUTH_REMOVE_CONFIRMATION_MESSAGE": "This auth ID will be removed locally but still be valid in your account: {0}.", + "MANAGE_AUTH_REMOVE_CONFIRMATION_MESSAGE": "The auth ID will be removed locally but the tokens are not revoked in the account.", "MANAGE_AUTH_REMOVE_CONTINUE": "Continue", "MANAGE_AUTH_REMOVE_REMOVING_AUTH_ID": "Removing auhtID...", "MANAGE_AUTH_RENAME_ENTER_NEW_AUTH_ID": "Enter the new auth ID.", diff --git a/packages/vscode-extension/package-lock.json b/packages/vscode-extension/package-lock.json index 2b300c771..57ebc6de2 100644 --- a/packages/vscode-extension/package-lock.json +++ b/packages/vscode-extension/package-lock.json @@ -1,35 +1,35 @@ { "name": "suitecloud-vscode-extension", - "version": "2.0.1", + "version": "3.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "suitecloud-vscode-extension", - "version": "2.0.1", + "version": "3.0.0", "license": "UPL-1.0", "dependencies": { - "@oracle/suitecloud-cli": "^2.0.0" + "@oracle/suitecloud-cli": "^3.0.0" }, "devDependencies": { - "@types/mocha": "10.0.7", - "@types/node": "20.14.12", - "@types/vscode": "1.91.0", - "@typescript-eslint/eslint-plugin": "7.17.0", - "@typescript-eslint/parser": "7.17.0", + "@types/mocha": "10.0.10", + "@types/node": "20.17.14", + "@types/vscode": "1.96.0", + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", "@vscode/test-electron": "2.4.1", - "eslint": "8.57.0", - "eslint-config-prettier": "9.1.0", - "mocha": "10.7.0", - "typescript": "5.5.4" + "eslint": "9.18.0", + "eslint-config-prettier": "10.0.1", + "mocha": "11.1.0", + "typescript": "5.7.3" }, "engines": { - "vscode": "^1.91.1" + "vscode": "^1.96.0" } }, "../node-cli": { "name": "@oracle/suitecloud-cli", - "version": "2.0.0", + "version": "3.0.0", "hasInstallScript": true, "license": "UPL-1.0", "dependencies": { @@ -46,49 +46,91 @@ "jest": "29.7.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/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/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -96,34 +138,98 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", + "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/module-importer": { @@ -139,12 +245,35 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -185,99 +314,113 @@ "resolved": "../node-cli", "link": true }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, "node_modules/@types/mocha": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", - "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", + "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", "dev": true }, "node_modules/@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "version": "20.17.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.14.tgz", + "integrity": "sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/vscode": { - "version": "1.91.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.91.0.tgz", - "integrity": "sha512-PgPr+bUODjG3y+ozWUCyzttqR9EHny9sPAfJagddQjDwdtf66y2sDKJMnFZRuzBA2YtBGASqJGPil8VDUPvO6A==", + "version": "1.96.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.96.0.tgz", + "integrity": "sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", - "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz", + "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/type-utils": "7.17.0", - "@typescript-eslint/utils": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/type-utils": "8.20.0", + "@typescript-eslint/utils": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz", + "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/typescript-estree": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", - "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz", + "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0" + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -285,39 +428,35 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", - "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz", + "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/typescript-estree": "8.20.0", + "@typescript-eslint/utils": "8.20.0", "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", - "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz", + "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==", "dev": true, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -325,101 +464,82 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", - "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz", + "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", - "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz", + "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0" + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/typescript-estree": "8.20.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", - "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz", + "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.20.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, "node_modules/@vscode/test-electron": { "version": "2.4.1", @@ -438,9 +558,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -459,13 +579,10 @@ } }, "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } @@ -496,12 +613,15 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { @@ -538,15 +658,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -574,12 +685,15 @@ ] }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bl": { @@ -608,13 +722,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": { @@ -697,16 +810,10 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -719,6 +826,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -763,14 +873,75 @@ } }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/color-convert": { @@ -804,9 +975,9 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -818,12 +989,12 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -861,30 +1032,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -892,15 +1039,15 @@ "dev": true }, "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -919,72 +1066,92 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", + "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.18.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", + "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", "dev": true, "bin": { - "eslint-config-prettier": "bin/cli.js" + "eslint-config-prettier": "build/bin/cli.js" }, "peerDependencies": { "eslint": ">=7.0.0" } }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", @@ -997,52 +1164,73 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/eslint/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": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=4.0" + "node": "*" } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1051,15 +1239,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -1072,7 +1251,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -1097,16 +1276,16 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -1137,24 +1316,24 @@ "dev": true }, "node_modules/fastq": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", - "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", "dev": true, "dependencies": { "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -1195,30 +1374,39 @@ } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/fsevents": { "version": "2.3.3", @@ -1244,20 +1432,20 @@ } }, "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=12" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1275,57 +1463,13 @@ "node": ">=10.13.0" } }, - "node_modules/glob/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/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1369,12 +1513,12 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -1402,9 +1546,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "engines": { "node": ">= 4" @@ -1441,16 +1585,6 @@ "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -1520,15 +1654,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -1562,6 +1687,21 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1672,6 +1812,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -1682,9 +1828,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { "braces": "^3.0.3", @@ -1704,21 +1850,33 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/mocha": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", - "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.1.0.tgz", + "integrity": "sha512-8uJR5RTC2NgpY3GrYcgpZrsEd9zKbPDpob1RezyR2upGHRQtHWofmzTMzTMSV6dru3tj5Ukt0+Vnq1qhFEEwAg==", "dev": true, "dependencies": { "ansi-colors": "^4.1.3", @@ -1728,7 +1886,7 @@ "diff": "^5.2.0", "escape-string-regexp": "^4.0.0", "find-up": "^5.0.0", - "glob": "^8.1.0", + "glob": "^10.4.5", "he": "^1.2.0", "js-yaml": "^4.1.0", "log-symbols": "^4.1.0", @@ -1738,25 +1896,16 @@ "strip-json-comments": "^3.1.1", "supports-color": "^8.1.1", "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1", "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", "mocha": "bin/mocha.js" }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha/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" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/mocha/node_modules/minimatch": { @@ -1771,12 +1920,6 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -1793,9 +1936,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/natural-compare": { @@ -1813,15 +1956,6 @@ "node": ">=0.10.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -1838,17 +1972,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -1877,22 +2011,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/ora/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -1902,9 +2024,9 @@ } }, "node_modules/ora/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true }, "node_modules/ora/node_modules/is-unicode-supported": { @@ -1952,21 +2074,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -1997,6 +2104,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -2024,15 +2137,6 @@ "node": ">=8" } }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2042,13 +2146,20 @@ "node": ">=8" } }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/picomatch": { @@ -2193,41 +2304,6 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -2305,13 +2381,16 @@ "node": ">=8" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/stdin-discarder": { @@ -2339,6 +2418,24 @@ } }, "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", @@ -2352,7 +2449,50 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -2364,6 +2504,15 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -2388,12 +2537,6 @@ "node": ">=8" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2407,15 +2550,15 @@ } }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", + "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" } }, "node_modules/type-check": { @@ -2430,22 +2573,10 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -2456,9 +2587,9 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true }, "node_modules/uri-js": { @@ -2491,6 +2622,15 @@ "node": ">= 8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", @@ -2498,6 +2638,24 @@ "dev": true }, "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", @@ -2514,12 +2672,59 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -2530,30 +2735,30 @@ } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-unparser": { @@ -2571,6 +2776,47 @@ "node": ">=10" } }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 0c6924aaf..dfaecd228 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -12,7 +12,7 @@ "publisher": "Oracle", "license": "UPL-1.0", "private": true, - "version": "2.0.1", + "version": "3.0.0", "icon": "resources/extension_icon_dark.png", "repository": { "type": "git", @@ -20,7 +20,7 @@ "directory": "packages/vscode-extension" }, "engines": { - "vscode": "^1.91.1" + "vscode": "^1.96.0" }, "categories": [ "Other" @@ -192,18 +192,18 @@ "watch": "tsc -watch -p ./" }, "dependencies": { - "@oracle/suitecloud-cli": "^2.0.0" + "@oracle/suitecloud-cli": "^3.0.0" }, "devDependencies": { - "@types/mocha": "10.0.7", - "@types/node": "20.14.12", - "@types/vscode": "1.91.0", - "@typescript-eslint/eslint-plugin": "7.17.0", - "@typescript-eslint/parser": "7.17.0", + "@types/mocha": "10.0.10", + "@types/node": "20.17.14", + "@types/vscode": "1.96.0", + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", "@vscode/test-electron": "2.4.1", - "eslint": "8.57.0", - "eslint-config-prettier": "9.1.0", - "mocha": "10.7.0", - "typescript": "5.5.4" + "eslint": "9.18.0", + "eslint-config-prettier": "10.0.1", + "mocha": "11.1.0", + "typescript": "5.7.3" } } diff --git a/packages/vscode-extension/src/commands/BaseAction.ts b/packages/vscode-extension/src/commands/BaseAction.ts index 74d29270c..378e25a3e 100644 --- a/packages/vscode-extension/src/commands/BaseAction.ts +++ b/packages/vscode-extension/src/commands/BaseAction.ts @@ -54,12 +54,11 @@ export default abstract class BaseAction { if (this.commandMetadata.isSetupRequired) { const defaultAuthId = this.getDefaultAuthId(); - if (defaultAuthId !== '') { - await this.checkAndRefreshAuthorizationIfNeeded(defaultAuthId); - } else { + if (!defaultAuthId) { showSetupAccountWarningMessage(); return; } + await this.checkAndRefreshAuthorizationIfNeeded(defaultAuthId); } return this.execute(); diff --git a/packages/vscode-extension/src/commands/ManageAuth.ts b/packages/vscode-extension/src/commands/ManageAuth.ts index 309a3a607..a4bbd0517 100644 --- a/packages/vscode-extension/src/commands/ManageAuth.ts +++ b/packages/vscode-extension/src/commands/ManageAuth.ts @@ -171,7 +171,7 @@ export default class ManageAuth extends BaseAction { CANCEL: this.translationService.getMessage(MANAGE_AUTH.REMOVE.CANCEL), }; const removeAnswer = await window.showQuickPick([REMOVE_ANSWER.CONTINUE, REMOVE_ANSWER.CANCEL], { - placeHolder: this.translationService.getMessage(MANAGE_AUTH.REMOVE.CONFIRMATION_MESSAGE, selectedAuhtID.authId), + placeHolder: this.translationService.getMessage(MANAGE_AUTH.REMOVE.CONFIRMATION_MESSAGE), ignoreFocusOut: true, canPickMany: false, }); diff --git a/packages/vscode-extension/src/commands/SetupAccount.ts b/packages/vscode-extension/src/commands/SetupAccount.ts index 64cec51a5..ebf310a82 100644 --- a/packages/vscode-extension/src/commands/SetupAccount.ts +++ b/packages/vscode-extension/src/commands/SetupAccount.ts @@ -4,7 +4,7 @@ */ import * as vscode from 'vscode'; -import { actionResultStatus, AuthenticationUtils, ExecutionEnvironmentContext, InteractiveAnswersValidator } from '../util/ExtensionUtil'; +import { actionResultStatus, AuthenticationUtils, ExecutionEnvironmentContext, InteractiveAnswersValidator, ExecutionContextService } from '../util/ExtensionUtil'; import BaseAction from './BaseAction'; import { window, QuickPickItem, MessageItem } from 'vscode'; import { AuthListData, ActionResult, AuthenticateActionResult } from '../types/ActionResult'; @@ -101,10 +101,24 @@ export default class SetupAccount extends BaseAction { if (!selected) { return; } else if (selected.option === UiOption.new_authid_browser) { - await this.handleBrowserAuth(accountCredentialsList); + if (this.validateSupportedMode(ExecutionContextService.validateBrowserBasedAuthIsAllowed)) { + await this.handleBrowserAuth(accountCredentialsList); + } } else if (selected.option === UiOption.new_authid_m2m) { - await this.handleM2m(accountCredentialsList); + if (this.validateSupportedMode(ExecutionContextService.validateMachineToMachineAuthIsAllowed)) { + await this.handleM2m(accountCredentialsList); + } + } + } + + private validateSupportedMode(validatorFunction: () => void): boolean { + try { + validatorFunction(); + } catch (err: any) { + this.messageService.showErrorMessage(err); + return false; } + return true; } private async getNewAuthIdOption() { @@ -188,6 +202,11 @@ export default class SetupAccount extends BaseAction { const actionResult = await authenticatePromise; this.handleAuthenticateActionResult(actionResult); + + const warning = ExecutionContextService.getBrowserBasedWarningMessages(); + if (warning) { + this.messageService.showWarningMessageWithOk(warning); + } } private async getNewAuthId(accountCredentialsList: AuthListData) { diff --git a/packages/vscode-extension/src/core/sdksetup/SdkServices.ts b/packages/vscode-extension/src/core/sdksetup/SdkServices.ts index 0933a2ed5..7e006de09 100644 --- a/packages/vscode-extension/src/core/sdksetup/SdkServices.ts +++ b/packages/vscode-extension/src/core/sdksetup/SdkServices.ts @@ -34,18 +34,19 @@ export async function installIfNeeded() { function validateJavaVersion() { const environmentInformationService = new EnvironmentInformationService(); const installedJavaVersion = environmentInformationService.getInstalledJavaVersionString(); - const requiredJavaVersion = `${ApplicationConstants.SDK_REQUIRED_JAVA_VERSION}`; - if (installedJavaVersion.startsWith(requiredJavaVersion)) { - return; + for (const compatibleJavaVersion of ApplicationConstants.SDK_COMPATIBLE_JAVA_VERSIONS) { + if (installedJavaVersion.startsWith(compatibleJavaVersion)) { + return; + } } let errorMessage; if (installedJavaVersion === '') { - errorMessage = translationService.getMessage(`${ERRORS.SDK_JAVA_VERSION_NOT_INSTALLED}`, requiredJavaVersion); + errorMessage = translationService.getMessage(`${ERRORS.SDK_JAVA_VERSION_NOT_INSTALLED}`, ApplicationConstants.SDK_COMPATIBLE_JAVA_VERSIONS.join(', ')); messageService.showErrorMessage(errorMessage); throw errorMessage; } - errorMessage = translationService.getMessage(`${ERRORS.SDK_JAVA_VERSION_NOT_COMPATIBLE}`, installedJavaVersion, requiredJavaVersion); + errorMessage = translationService.getMessage(`${ERRORS.SDK_JAVA_VERSION_NOT_COMPATIBLE}`, installedJavaVersion, ApplicationConstants.SDK_COMPATIBLE_JAVA_VERSIONS.join(', ')); messageService.showErrorMessage(errorMessage); throw errorMessage; } diff --git a/packages/vscode-extension/src/service/MessageService.ts b/packages/vscode-extension/src/service/MessageService.ts index 786f096b1..9d71ecae6 100644 --- a/packages/vscode-extension/src/service/MessageService.ts +++ b/packages/vscode-extension/src/service/MessageService.ts @@ -52,6 +52,12 @@ export default class MessageService { ); } + showWarningMessageWithOk(warningMessage: string, includeProjectName = true) { + window.showWarningMessage( + includeProjectName ? this.addProjectNameToMessage(warningMessage) : warningMessage, + this.translationService.getMessage(BUTTONS.OK)); + } + showErrorMessage(errorMessage: string) { window.showErrorMessage(this.addProjectNameToMessage(errorMessage)); } diff --git a/packages/vscode-extension/src/service/TranslationKeys.ts b/packages/vscode-extension/src/service/TranslationKeys.ts index 10ca13fef..3505d0e8d 100644 --- a/packages/vscode-extension/src/service/TranslationKeys.ts +++ b/packages/vscode-extension/src/service/TranslationKeys.ts @@ -22,6 +22,7 @@ export const ANSWERS = { export const BUTTONS = { RESTART_NOW: 'BUTTONS_RESTART_NOW', SEE_DETAILS: 'BUTTONS_SEE_DETAILS', + OK: 'BUTTONS_OK' }; export const COMMAND = { @@ -204,7 +205,7 @@ export const MANAGE_ACCOUNTS = { }, CREATE_NEW: 'MANAGE_ACCOUNTS_CREATE_NEW', ERROR: { - NOT_IN_PROJECT: 'MANAGE_ACCOUNTS_ERROR_NOT_IN_PROJECT', + NOT_IN_PROJECT: 'MANAGE_ACCOUNTS_ERROR_NOT_IN_PROJECT' }, LOADING: 'MANAGE_ACCOUNTS_LOADING', SELECT_AUTH_ID: { diff --git a/packages/vscode-extension/src/util/ExtensionUtil.ts b/packages/vscode-extension/src/util/ExtensionUtil.ts index 16bcb831b..d220eff1c 100644 --- a/packages/vscode-extension/src/util/ExtensionUtil.ts +++ b/packages/vscode-extension/src/util/ExtensionUtil.ts @@ -31,6 +31,11 @@ export const FileCabinetService = require('@oracle/suitecloud-cli/src/services/F export const FileSystemService = require('@oracle/suitecloud-cli/src/services/FileSystemService'); export const ProjectInfoService = require('@oracle/suitecloud-cli/src/services/ProjectInfoService'); export const TranslationService = require('@oracle/suitecloud-cli/src/services/TranslationService'); +export const ExecutionContextService :{ + validateBrowserBasedAuthIsAllowed():void; + validateMachineToMachineAuthIsAllowed(): void; + getBrowserBasedWarningMessages() : string | void; +} = require('@oracle/suitecloud-cli/src/services/ExecutionContextService'); export const AuthenticationUtils: { [key: string]: any; getProjectDefaultAuthId(projectFolder?: string): string;