diff --git a/authentik/sources/oauth/api/source.py b/authentik/sources/oauth/api/source.py index 1a350bd43..a17bc6b03 100644 --- a/authentik/sources/oauth/api/source.py +++ b/authentik/sources/oauth/api/source.py @@ -54,7 +54,7 @@ class OAuthSourceSerializer(SourceSerializer): @extend_schema_field(SourceTypeSerializer) def get_type(self, instance: OAuthSource) -> SourceTypeSerializer: """Get source's type configuration""" - return SourceTypeSerializer(instance.type).data + return SourceTypeSerializer(instance.source_type).data def validate(self, attrs: dict) -> dict: session = get_http_session() diff --git a/authentik/sources/oauth/clients/base.py b/authentik/sources/oauth/clients/base.py index 25ff64e0e..2c3f97248 100644 --- a/authentik/sources/oauth/clients/base.py +++ b/authentik/sources/oauth/clients/base.py @@ -36,8 +36,8 @@ class BaseOAuthClient: def get_profile_info(self, token: dict[str, str]) -> Optional[dict[str, Any]]: """Fetch user profile information.""" - profile_url = self.source.type.profile_url or "" - if self.source.type.urls_customizable and self.source.profile_url: + profile_url = self.source.source_type.profile_url or "" + if self.source.source_type.urls_customizable and self.source.profile_url: profile_url = self.source.profile_url response = self.do_request("get", profile_url, token=token) try: @@ -57,8 +57,8 @@ class BaseOAuthClient: def get_redirect_url(self, parameters=None): """Build authentication redirect url.""" - authorization_url = self.source.type.authorization_url or "" - if self.source.type.urls_customizable and self.source.authorization_url: + authorization_url = self.source.source_type.authorization_url or "" + if self.source.source_type.urls_customizable and self.source.authorization_url: authorization_url = self.source.authorization_url if authorization_url == "": Event.new( diff --git a/authentik/sources/oauth/clients/oauth1.py b/authentik/sources/oauth/clients/oauth1.py index 13afdcdd0..1299a585c 100644 --- a/authentik/sources/oauth/clients/oauth1.py +++ b/authentik/sources/oauth/clients/oauth1.py @@ -28,8 +28,8 @@ class OAuthClient(BaseOAuthClient): if raw_token is not None and verifier is not None: token = self.parse_raw_token(raw_token) try: - access_token_url = self.source.type.access_token_url or "" - if self.source.type.urls_customizable and self.source.access_token_url: + access_token_url = self.source.source_type.access_token_url or "" + if self.source.source_type.urls_customizable and self.source.access_token_url: access_token_url = self.source.access_token_url response = self.do_request( "post", @@ -54,8 +54,8 @@ class OAuthClient(BaseOAuthClient): """Fetch the OAuth request token. Only required for OAuth 1.0.""" callback = self.request.build_absolute_uri(self.callback) try: - request_token_url = self.source.type.request_token_url or "" - if self.source.type.urls_customizable and self.source.request_token_url: + request_token_url = self.source.source_type.request_token_url or "" + if self.source.source_type.urls_customizable and self.source.request_token_url: request_token_url = self.source.request_token_url response = self.do_request( "post", diff --git a/authentik/sources/oauth/clients/oauth2.py b/authentik/sources/oauth/clients/oauth2.py index 9e1235253..b29f36663 100644 --- a/authentik/sources/oauth/clients/oauth2.py +++ b/authentik/sources/oauth/clients/oauth2.py @@ -76,8 +76,8 @@ class OAuth2Client(BaseOAuthClient): if SESSION_KEY_OAUTH_PKCE in self.request.session: args["code_verifier"] = self.request.session[SESSION_KEY_OAUTH_PKCE] try: - access_token_url = self.source.type.access_token_url or "" - if self.source.type.urls_customizable and self.source.access_token_url: + access_token_url = self.source.source_type.access_token_url or "" + if self.source.source_type.urls_customizable and self.source.access_token_url: access_token_url = self.source.access_token_url response = self.session.request( "post", access_token_url, data=args, headers=self._default_headers, **request_kwargs @@ -140,8 +140,8 @@ class UserprofileHeaderAuthClient(OAuth2Client): def get_profile_info(self, token: dict[str, str]) -> Optional[dict[str, Any]]: "Fetch user profile information." - profile_url = self.source.type.profile_url or "" - if self.source.type.urls_customizable and self.source.profile_url: + profile_url = self.source.source_type.profile_url or "" + if self.source.source_type.urls_customizable and self.source.profile_url: profile_url = self.source.profile_url response = self.session.request( "get", diff --git a/authentik/sources/oauth/models.py b/authentik/sources/oauth/models.py index 7d8dd2fb7..6b871fe55 100644 --- a/authentik/sources/oauth/models.py +++ b/authentik/sources/oauth/models.py @@ -1,5 +1,5 @@ """OAuth Client models""" -from typing import TYPE_CHECKING, Optional, Type +from typing import TYPE_CHECKING, Optional from django.db import models from django.http.request import HttpRequest @@ -55,7 +55,7 @@ class OAuthSource(Source): oidc_jwks = models.JSONField(default=dict, blank=True) @property - def type(self) -> type["SourceType"]: + def source_type(self) -> type["SourceType"]: """Return the provider instance for this source""" from authentik.sources.oauth.types.registry import registry @@ -65,15 +65,14 @@ class OAuthSource(Source): def component(self) -> str: return "ak-source-oauth-form" - # we're using Type[] instead of type[] here since type[] interferes with the property above @property - def serializer(self) -> Type[Serializer]: + def serializer(self) -> type[Serializer]: from authentik.sources.oauth.api.source import OAuthSourceSerializer return OAuthSourceSerializer def ui_login_button(self, request: HttpRequest) -> UILoginButton: - provider_type = self.type + provider_type = self.source_type provider = provider_type() icon = self.get_icon if not icon: @@ -85,7 +84,7 @@ class OAuthSource(Source): ) def ui_user_settings(self) -> Optional[UserSettingSerializer]: - provider_type = self.type + provider_type = self.source_type icon = self.get_icon if not icon: icon = provider_type().icon_url() diff --git a/authentik/sources/oauth/types/github.py b/authentik/sources/oauth/types/github.py index 70152d8b5..327a4ee81 100644 --- a/authentik/sources/oauth/types/github.py +++ b/authentik/sources/oauth/types/github.py @@ -23,8 +23,8 @@ class GitHubOAuth2Client(OAuth2Client): def get_github_emails(self, token: dict[str, str]) -> list[dict[str, Any]]: """Get Emails from the GitHub API""" - profile_url = self.source.type.profile_url or "" - if self.source.type.urls_customizable and self.source.profile_url: + profile_url = self.source.source_type.profile_url or "" + if self.source.source_type.urls_customizable and self.source.profile_url: profile_url = self.source.profile_url profile_url += "/emails" response = self.do_request("get", profile_url, token=token) diff --git a/authentik/sources/oauth/types/mailcow.py b/authentik/sources/oauth/types/mailcow.py index 18df02f06..8be201105 100644 --- a/authentik/sources/oauth/types/mailcow.py +++ b/authentik/sources/oauth/types/mailcow.py @@ -26,8 +26,8 @@ class MailcowOAuth2Client(OAuth2Client): def get_profile_info(self, token: dict[str, str]) -> Optional[dict[str, Any]]: "Fetch user profile information." - profile_url = self.source.type.profile_url or "" - if self.source.type.urls_customizable and self.source.profile_url: + profile_url = self.source.source_type.profile_url or "" + if self.source.source_type.urls_customizable and self.source.profile_url: profile_url = self.source.profile_url response = self.session.request( "get", diff --git a/authentik/sources/oauth/views/base.py b/authentik/sources/oauth/views/base.py index 4055df3d6..399f3f493 100644 --- a/authentik/sources/oauth/views/base.py +++ b/authentik/sources/oauth/views/base.py @@ -25,7 +25,7 @@ class OAuthClientMixin: if self.client_class is not None: # pylint: disable=not-callable return self.client_class(source, self.request, **kwargs) - if source.type.request_token_url or source.request_token_url: + if source.source_type.request_token_url or source.request_token_url: client = OAuthClient(source, self.request, **kwargs) else: client = OAuth2Client(source, self.request, **kwargs) diff --git a/go.mod b/go.mod index cdde8da00..11bcc47d9 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 github.com/stretchr/testify v1.8.4 - goauthentik.io/api/v3 v3.2023083.9 + goauthentik.io/api/v3 v3.2023083.10 golang.org/x/exp v0.0.0-20230210204819-062eb4c674ab golang.org/x/oauth2 v0.13.0 golang.org/x/sync v0.4.0 diff --git a/go.sum b/go.sum index ee8889edb..3b404b83a 100644 --- a/go.sum +++ b/go.sum @@ -355,8 +355,8 @@ go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyK go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -goauthentik.io/api/v3 v3.2023083.9 h1:23tCiPYFpxfElH7LQKiVL2zEigTefM8s4CJOlytgiAs= -goauthentik.io/api/v3 v3.2023083.9/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= +goauthentik.io/api/v3 v3.2023083.10 h1:mMCOfsqjouSSxedSkCK4k0Cwtt68CWzQgR7Um6ooOQs= +goauthentik.io/api/v3 v3.2023083.10/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= diff --git a/poetry.lock b/poetry.lock index 51cf3d5fb..f08d50e9b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2901,22 +2901,21 @@ testutils = ["gitpython (>3)"] [[package]] name = "pylint-django" -version = "2.5.3" +version = "2.5.4" description = "A Pylint plugin to help Pylint understand the Django web framework" optional = false -python-versions = "*" +python-versions = ">=3.7,<4.0" files = [ - {file = "pylint-django-2.5.3.tar.gz", hash = "sha256:0ac090d106c62fe33782a1d01bda1610b761bb1c9bf5035ced9d5f23a13d8591"}, - {file = "pylint_django-2.5.3-py3-none-any.whl", hash = "sha256:56b12b6adf56d548412445bd35483034394a1a94901c3f8571980a13882299d5"}, + {file = "pylint_django-2.5.4-py3-none-any.whl", hash = "sha256:08bedfd7ccc4c47afa09cbfee6f4b5074437178d8e51fd891e2232c0d3a5b140"}, + {file = "pylint_django-2.5.4.tar.gz", hash = "sha256:d167b1437342543727925a98c0dee9c8de8e8e1f8cb8caf868018febd2c4e2b7"}, ] [package.dependencies] -pylint = ">=2.0,<3" -pylint-plugin-utils = ">=0.7" +pylint = ">=2.0,<4" +pylint-plugin-utils = ">=0.8" [package.extras] -for-tests = ["coverage", "django-tables2", "django-tastypie", "factory-boy", "pylint (>=2.13)", "pytest", "wheel"] -with-django = ["Django"] +with-django = ["Django (>=2.2)"] [[package]] name = "pylint-plugin-utils" diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index 296081890..fb16dda55 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -9,11 +9,11 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", - "@wdio/cli": "^8.20.1", + "@wdio/cli": "^8.20.2", "@wdio/local-runner": "^8.20.0", "@wdio/mocha-framework": "^8.20.0", "@wdio/spec-reporter": "^8.20.0", - "eslint": "^8.51.0", + "eslint": "^8.52.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.21.0", "npm-run-all": "^4.1.5", @@ -340,21 +340,21 @@ } }, "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -376,9 +376,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -1066,10 +1066,16 @@ "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/@wdio/cli": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.20.1.tgz", - "integrity": "sha512-R59wTu/IXUPnYKCDmunK97LmxzWVpYHpo/MnjqwWXvseRWAH6xKI7U3zGduON1M+c00U3wgl9SLKw2PF9h7hnw==", + "version": "8.20.2", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.20.2.tgz", + "integrity": "sha512-fXpwcpsSo//5eC7bODDaumuNLl9wK+G7G9mAu0OB3QUZ39CudsrNxGxchVhnilqQAFw450OOEL/RzaDPspCZRA==", "dev": true, "dependencies": { "@types/node": "^20.1.1", @@ -2854,18 +2860,19 @@ } }, "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", diff --git a/tests/wdio/package.json b/tests/wdio/package.json index 7ec93e574..0d000a0cc 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -6,11 +6,11 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", - "@wdio/cli": "^8.20.1", + "@wdio/cli": "^8.20.2", "@wdio/local-runner": "^8.20.0", "@wdio/mocha-framework": "^8.20.0", "@wdio/spec-reporter": "^8.20.0", - "eslint": "^8.51.0", + "eslint": "^8.52.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.21.0", "npm-run-all": "^4.1.5", diff --git a/web/package-lock.json b/web/package-lock.json index 7891e2d23..e09537268 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -36,7 +36,7 @@ "country-flag-icons": "^1.5.7", "fuse.js": "^6.6.2", "lit": "^2.8.0", - "mermaid": "^10.5.0", + "mermaid": "^10.5.1", "rapidoc": "^9.3.4", "style-mod": "^4.1.0", "webcomponent-qr-code": "^1.2.0", @@ -75,7 +75,7 @@ "babel-plugin-macros": "^3.1.0", "babel-plugin-tsconfig-paths": "^1.0.3", "cross-env": "^7.0.3", - "eslint": "^8.51.0", + "eslint": "^8.52.0", "eslint-config-google": "^0.14.0", "eslint-plugin-custom-elements": "0.0.8", "eslint-plugin-lit": "^1.9.1", @@ -2797,9 +2797,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2894,12 +2894,12 @@ "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -2921,9 +2921,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -10776,6 +10776,12 @@ "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/@webcomponents/webcomponentsjs": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.8.0.tgz", @@ -13586,18 +13592,19 @@ } }, "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -17371,9 +17378,9 @@ } }, "node_modules/mermaid": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.5.0.tgz", - "integrity": "sha512-9l0o1uUod78D3/FVYPGSsgV+Z0tSnzLBDiC9rVzvelPxuO80HbN1oDr9ofpPETQy9XpypPQa26fr09VzEPfvWA==", + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.5.1.tgz", + "integrity": "sha512-+4mkGW5PptHDSae4YZ/Jw1pEOf0irrB/aCL6BwZcJPhr5+84UJBrQnHTvyPqCUz67tXkrDvSzWv4B+J2hLO78g==", "dependencies": { "@braintree/sanitize-url": "^6.0.1", "@types/d3-scale": "^4.0.3", diff --git a/web/package.json b/web/package.json index a3b62c966..71ae059e5 100644 --- a/web/package.json +++ b/web/package.json @@ -57,7 +57,7 @@ "country-flag-icons": "^1.5.7", "fuse.js": "^6.6.2", "lit": "^2.8.0", - "mermaid": "^10.5.0", + "mermaid": "^10.5.1", "rapidoc": "^9.3.4", "style-mod": "^4.1.0", "webcomponent-qr-code": "^1.2.0", @@ -96,7 +96,7 @@ "babel-plugin-macros": "^3.1.0", "babel-plugin-tsconfig-paths": "^1.0.3", "cross-env": "^7.0.3", - "eslint": "^8.51.0", + "eslint": "^8.52.0", "eslint-config-google": "^0.14.0", "eslint-plugin-custom-elements": "0.0.8", "eslint-plugin-lit": "^1.9.1",