diff --git a/.env b/.env index acc620153b3..e2b29642a34 100644 --- a/.env +++ b/.env @@ -21,8 +21,8 @@ POSTGRES_PASSWORD=postgres HASH_KRATOS_PG_USER=kratos HASH_KRATOS_PG_PASSWORD=kratos HASH_KRATOS_PG_DATABASE=kratos -ORY_KRATOS_PUBLIC_URL=http://127.0.0.1:4433 -ORY_KRATOS_ADMIN_URL=HTTP://127.0.0.1:4434 +HASH_KRATOS_PUBLIC_URL=http://127.0.0.1:4433 +HASH_KRATOS_ADMIN_URL=HTTP://127.0.0.1:4434 KRATOS_API_KEY=secret KRATOS_COOKIE_DOMAIN=localhost KRATOS_SECRETS_COOKIE=VERY-INSECURE-AND-SHOULD-ONLY-BE-USED-IN-DEV diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 4fa6e39b6da..f1a19e3b5ae 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -36,7 +36,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/init@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -47,7 +47,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/autobuild@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 # ℹī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -61,4 +61,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/analyze@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fac343919c3..48dc79957ed 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -115,7 +115,7 @@ jobs: - name: Install Rust tools if: always() && steps.lints.outputs.has-rust == 'true' - uses: taiki-e/install-action@6943331e01261cdff7420bbc2508cb463574e404 # v2.27.2 + uses: taiki-e/install-action@b7add58e53e52e624966da65007ce24524f3dcf3 # v2.27.9 with: tool: just@1.13.0,cargo-hack@0.6.7,rust-script@0.23.0,clippy-sarif@0.3.7,sarif-fmt@0.3.7 @@ -182,7 +182,7 @@ jobs: mv "$tmp" clippy.sarif - name: Upload SARIF file - uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/upload-sarif@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 if: always() && steps.lints.outputs.has-clippy == 'true' with: sarif_file: ${{ matrix.directory }}/clippy.sarif diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 49f1c095729..614cc06a829 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest container: - image: returntocorp/semgrep:1.61.1@sha256:6b8e487ba2eba166f1364529e49e241fc625fb837a1a190a5480366ecef71330 + image: returntocorp/semgrep:1.62.0@sha256:7f817a27f8322550e5569750079c10bdecf90284afb660edc5bb27a4b252d928 # Skip any PR created by Dependabot to avoid permission issues: if: (github.actor != 'dependabot[bot]') @@ -43,7 +43,7 @@ jobs: files: "semgrep.sarif" - name: Upload SARIF file for GitHub Advanced Security Dashboard - uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/upload-sarif@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 if: steps.sarif_file_check.outputs.files_exists == 'true' with: sarif_file: semgrep.sarif diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9e0ecae7960..1ab69e7e5a5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -173,7 +173,7 @@ jobs: - name: Install Rust tools if: always() && steps.tests.outputs.has-rust == 'true' - uses: taiki-e/install-action@6943331e01261cdff7420bbc2508cb463574e404 # v2.27.2 + uses: taiki-e/install-action@b7add58e53e52e624966da65007ce24524f3dcf3 # v2.27.9 with: tool: just@1.13.0,cargo-hack@0.6.7,cargo-nextest@0.9.37,cargo-llvm-cov@0.5.9 @@ -198,7 +198,7 @@ jobs: - name: Show disk usage run: df -h - - uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # v4.0.1 + - uses: codecov/codecov-action@0cfda1dd0a4ad9efc75517f399d859cd1ea4ced1 # v4.0.2 name: Upload coverage to https://app.codecov.io/gh/hashintel/hash with: flags: ${{ env.TRIMMED_PACKAGE_NAME }} @@ -298,7 +298,7 @@ jobs: - name: Install Rust tools if: always() && steps.tests.outputs.has-rust == 'true' - uses: taiki-e/install-action@6943331e01261cdff7420bbc2508cb463574e404 # v2.27.2 + uses: taiki-e/install-action@b7add58e53e52e624966da65007ce24524f3dcf3 # v2.27.9 with: tool: just@1.13.0,cargo-hack@0.6.7,cargo-nextest@0.9.37,cargo-llvm-cov@0.5.9 @@ -354,7 +354,7 @@ jobs: - name: Show disk usage run: df -h - - uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # v4.0.1 + - uses: codecov/codecov-action@0cfda1dd0a4ad9efc75517f399d859cd1ea4ced1 # v4.0.2 name: Upload coverage to https://app.codecov.io/gh/hashintel/hash with: flags: ${{ env.TRIMMED_PACKAGE_NAME }} @@ -429,7 +429,7 @@ jobs: - name: Install Rust tools if: always() && steps.tests.outputs.has-rust == 'true' - uses: taiki-e/install-action@6943331e01261cdff7420bbc2508cb463574e404 # v2.27.2 + uses: taiki-e/install-action@b7add58e53e52e624966da65007ce24524f3dcf3 # v2.27.9 with: tool: just@1.13.0,cargo-hack@0.6.7,cargo-nextest@0.9.37,cargo-llvm-cov@0.5.9 @@ -555,7 +555,7 @@ jobs: - name: Install tools if: always() && steps.publish.outputs.has-rust == 'true' && github.event_name == 'pull_request' || github.event_name == 'merge_group' - uses: taiki-e/install-action@6943331e01261cdff7420bbc2508cb463574e404 # v2.27.2 + uses: taiki-e/install-action@b7add58e53e52e624966da65007ce24524f3dcf3 # v2.27.9 with: tool: cargo-semver-checks diff --git a/Cargo.lock b/Cargo.lock index fe2ab9d4212..a17f2437260 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3512,9 +3512,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da193277a4e2c33e59e09b5861580c33dd0a637c3883d0fa74ba40c0374af2e" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "bitflags 2.4.1", "bytes", diff --git a/apps/hash-api/src/auth/ory-kratos.ts b/apps/hash-api/src/auth/ory-kratos.ts index e95d6a4a14e..15651e4f221 100644 --- a/apps/hash-api/src/auth/ory-kratos.ts +++ b/apps/hash-api/src/auth/ory-kratos.ts @@ -7,13 +7,13 @@ import { import { getRequiredEnv } from "../util"; -export const kratosPublicUrl = getRequiredEnv("ORY_KRATOS_PUBLIC_URL"); +export const kratosPublicUrl = getRequiredEnv("HASH_KRATOS_PUBLIC_URL"); export const kratosFrontendApi = new FrontendApi( new Configuration({ basePath: kratosPublicUrl }), ); -const adminUrl = getRequiredEnv("ORY_KRATOS_ADMIN_URL"); +const adminUrl = getRequiredEnv("HASH_KRATOS_ADMIN_URL"); export const kratosIdentityApi = new IdentityApi( new Configuration({ basePath: adminUrl }), diff --git a/apps/hash-api/views/consent.hbs b/apps/hash-api/views/consent.hbs index 301bec2b1e3..7a30ad6823f 100644 --- a/apps/hash-api/views/consent.hbs +++ b/apps/hash-api/views/consent.hbs @@ -29,13 +29,21 @@ xhr.send(JSON.stringify(data)); } - window.addEventListener("DOMContentLoaded", function() { + if (document.readyState !== 'loading') { var form = document.querySelector('form'); form.addEventListener('submit', function(event) { event.preventDefault(); submit(); }); - }) + } else { + document.addEventListener('DOMContentLoaded', function() { + var form = document.querySelector('form'); + form.addEventListener('submit', function(event) { + event.preventDefault(); + submit(); + }); + }); + }

Grant access to HASH

diff --git a/apps/hash-external-services/docker-compose.prod.yml b/apps/hash-external-services/docker-compose.prod.yml index ff60bb30a04..310c427892c 100644 --- a/apps/hash-external-services/docker-compose.prod.yml +++ b/apps/hash-external-services/docker-compose.prod.yml @@ -21,6 +21,7 @@ services: COOKIES_PATH: "/" COOKIES_DOMAIN: "${KRATOS_COOKIE_DOMAIN}" COOKIES_SAME_SITE: "Lax" + OAUTH2_PROVIDER_URL: "http://hydra:4445" SERVE_PUBLIC_BASE_URL: "${FRONTEND_URL}/api/ory" SERVE_PUBLIC_CORS_ALLOWED_HEADERS: "Authorization,Content-Type,X-Session-Token,X-CSRF-Token" SERVE_PUBLIC_CORS_ALLOWED_ORIGINS: "${FRONTEND_URL}" @@ -41,8 +42,8 @@ services: hydra: environment: - COOKIES_DOMAIN: "${KRATOS_COOKIE_DOMAIN}" - COOKIES_SAME_SITE: "Lax" + SERVE_COOKIES_DOMAIN: "${KRATOS_COOKIE_DOMAIN}" + SERVE_COOKIES_SAME_SITE_MODE: "Lax" spicedb-migrate: image: authzed/spicedb:v${HASH_SPICEDB_VERSION} @@ -113,8 +114,8 @@ services: HASH_OPENSEARCH_ENABLED: "false" HASH_INTEGRATION_QUEUE_NAME: "${HASH_INTEGRATION_QUEUE_NAME}" - ORY_KRATOS_PUBLIC_URL: "http://kratos:4433" - ORY_KRATOS_ADMIN_URL: "http://kratos:4434" + HASH_KRATOS_PUBLIC_URL: "http://kratos:4433" + HASH_KRATOS_ADMIN_URL: "http://kratos:4434" KRATOS_API_KEY: "${KRATOS_API_KEY}" ports: - "5001:5001" @@ -141,7 +142,6 @@ services: # appropriately. The backend is not on "localhost" from the perspective of # this container. API_ORIGIN: "http://hash-api:5001" - ORY_KRATOS_PUBLIC_URL: "http://kratos:4433" ports: - "3000:3000" diff --git a/apps/hash-graph/libs/api/Cargo.toml b/apps/hash-graph/libs/api/Cargo.toml index b7a33732bd4..9eeefa96471 100644 --- a/apps/hash-graph/libs/api/Cargo.toml +++ b/apps/hash-graph/libs/api/Cargo.toml @@ -38,7 +38,7 @@ tokio = { workspace = true, features = ["macros"], optional = true } tokio-postgres = { version = "0.7.10", default-features = false, optional = true } tokio-util = { workspace = true, features = ["io"], optional = true } tower = "0.4.13" -tower-http = { version = "0.5.1", features = ["trace"] } +tower-http = { version = "0.5.2", features = ["trace"] } tracing = { workspace = true } tracing-opentelemetry = "0.22.0" utoipa = "4.2.0" diff --git a/apps/hash-graph/libs/graph/src/store/postgres/knowledge/entity/mod.rs b/apps/hash-graph/libs/graph/src/store/postgres/knowledge/entity/mod.rs index cdce3c27b23..eaa7a00b96c 100644 --- a/apps/hash-graph/libs/graph/src/store/postgres/knowledge/entity/mod.rs +++ b/apps/hash-graph/libs/graph/src/store/postgres/knowledge/entity/mod.rs @@ -1289,8 +1289,8 @@ impl EntityStore for PostgresStore { WHERE web_id = $1 AND entity_uuid = $2 AND draft_id IS NULL - AND updated_at_transaction_time <= $4 - AND updated_at_decision_time <= $5; + AND updated_at_transaction_time <= $3 + AND updated_at_decision_time <= $4; ", &[ ¶ms.entity_id.owned_by_id, diff --git a/apps/hash-graph/tests/friendship.http b/apps/hash-graph/tests/friendship.http index b28823d91ba..146f437d798 100644 --- a/apps/hash-graph/tests/friendship.http +++ b/apps/hash-graph/tests/friendship.http @@ -1813,7 +1813,7 @@ X-Authenticated-User-Actor-Id: {{account_id}} ], "updatedAtTransactionTime": "{{person_a_transaction_time}}", "updatedAtDecisionTime": "{{person_a_decision_time}}", - "reset": false + "reset": true } > {% @@ -1877,7 +1877,7 @@ X-Authenticated-User-Actor-Id: {{account_id}} ], "updatedAtTransactionTime": "{{person_b_transaction_time}}", "updatedAtDecisionTime": "{{person_b_decision_time}}", - "reset": false + "reset": true } > {% diff --git a/infra/terraform/hash/prod-usea1.tfvars b/infra/terraform/hash/prod-usea1.tfvars index 80b8676c822..af4625a5fd8 100644 --- a/infra/terraform/hash/prod-usea1.tfvars +++ b/infra/terraform/hash/prod-usea1.tfvars @@ -31,18 +31,22 @@ kratos_env_vars = [ { name = "LOG_LEAK_SENSITIVE_VALUES", secret = false, value = "false" }, { name = "COURIER_SMTP_FROM_ADDRESS", secret = false, value = "noreply@hash.ai" }, { name = "COURIER_SMTP_FROM_NAME", secret = false, value = "HASH" }, + { name = "OAUTH2_PROVIDER_URL", secret = false, value = "http://localhost:4445" } # Hydra admin endpoint ] hydra_env_vars = [ { name = "LOG_LEVEL", secret = false, value = "info" }, { name = "COOKIES_PATH", secret = false, value = "/" }, - { name = "COOKIES_DOMAIN", secret = false, value = "hash.ai" }, - { name = "COOKIES_SAME_SITE", secret = false, value = "Lax" }, + { name = "SERVE_COOKIES_DOMAIN", secret = false, value = "hash.ai" }, + { name = "SERVE_COOKIES_SAME_SITE_MODE", secret = false, value = "Lax" }, + { name = "URLS_CONSENT", secret = false, value = "https://app-api.hash.ai/oauth2/consent"}, { name = "URLS_LOGIN", secret = false, value = "https://app.hash.ai/signin" }, { name = "URLS_REGISTRATION", secret = false, value = "https://app.hash.ai/signup" }, { name = "URLS_POST_LOGOUT_REDIRECT", secret = false, value = "https://app.hash.ai" }, - { name = "URLs_IDENTITY_PROVIDER_PUBLICURL", secret = false, value = "http://localhost:4444" }, - { name = "URLS_IDENTITY_PROVIDER_URL", secret = false, value = "http://localhost:4445" }, + { name = "URLS_IDENTITY_PROVIDER_PUBLICURL", secret = false, value = "http://localhost:4433" }, # Kratos public endpoint + { name = "URLS_IDENTITY_PROVIDER_URL", secret = false, value = "http://localhost:4434" }, # Kratos admin endpoint + { name = "URLS_SELF_ISSUER", secret = false, value = "https://app-api.hash.ai" }, + { name = "URLS_SELF_PUBLIC", secret = false, value = "https://app-api.hash.ai" } ] hash_graph_env_vars = [ @@ -65,10 +69,10 @@ hash_api_env_vars = [ { name = "HASH_OPENSEARCH_ENABLED", secret = false, value = "false" }, - { name = "ORY_KRATOS_PUBLIC_URL", secret = false, value = "http://localhost:4433" }, - { name = "ORY_KRATOS_ADMIN_URL", secret = false, value = "http://localhost:4434" }, - { name = "ORY_HYDRA_PUBLIC_URL", secret = false, value = "http://localhost:4444" }, - { name = "ORY_HYDRA_ADMIN_URL", secret = false, value = "http://localhost:4445" }, + { name = "HASH_KRATOS_PUBLIC_URL", secret = false, value = "http://localhost:4433" }, + { name = "HASH_KRATOS_ADMIN_URL", secret = false, value = "http://localhost:4434" }, + { name = "HASH_HYDRA_PUBLIC_URL", secret = false, value = "http://localhost:4444" }, + { name = "HASH_HYDRA_ADMIN_URL", secret = false, value = "http://localhost:4445" }, # TODO: remove these deprecated system org variables { name = "SYSTEM_ACCOUNT_NAME", secret = false, value = "HASH" }, diff --git a/libs/@local/hash-graph-client/typescript/package.json b/libs/@local/hash-graph-client/typescript/package.json index 2f9751313f5..6e8334e94ca 100644 --- a/libs/@local/hash-graph-client/typescript/package.json +++ b/libs/@local/hash-graph-client/typescript/package.json @@ -16,7 +16,7 @@ "@apps/hash-graph": "0.0.0-private", "@local/eslint-config": "0.0.0-private", "@local/tsconfig": "0.0.0-private", - "@redocly/cli": "1.9.0", + "@redocly/cli": "1.9.1", "@types/node": "18.15.13", "@typescript-eslint/parser": "7.0.2", "eslint": "8.56.0", diff --git a/package.json b/package.json index 2d1c49fdbc2..ed97f86abf1 100644 --- a/package.json +++ b/package.json @@ -90,13 +90,13 @@ "dotenv-flow": "3.2.0", "husky": "8.0.3", "lint-staged": "15.2.2", - "lockfile-lint": "4.13.1", + "lockfile-lint": "4.13.2", "markdownlint-cli": "0.39.0", "npm-run-all": "4.1.5", "patch-package": "6.5.0", "postinstall-postinstall": "2.1.0", "prettier": "3.2.5", - "prettier-plugin-packagejson": "2.4.11", + "prettier-plugin-packagejson": "2.4.12", "prettier-plugin-sh": "0.14.0", "prettier-plugin-sql": "0.12.1", "suppress-exit-code": "3.1.0", diff --git a/yarn.lock b/yarn.lock index d67fbc2c4d5..e3c002252cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5470,12 +5470,12 @@ require-from-string "^2.0.2" uri-js "^4.2.2" -"@redocly/cli@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@redocly/cli/-/cli-1.9.0.tgz#7fd3db692d844b49ce7ce9519b701a2c34c7403f" - integrity sha512-OcBXu4/TAo0w4czdCO3UwPmNOQVlQy4XFQMtlmR+tXAWDh6mLEmv1Bjhb9kWoasOt9IBX4cOMeJ6cM4Aqzo5vg== +"@redocly/cli@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@redocly/cli/-/cli-1.9.1.tgz#32be499bac43be5cbf13dce1fee3b493d91c5e86" + integrity sha512-EkXJxEUa1KmHyq06eI2JJnd+h7HG7V7ffQ01AJeX2pT4uV0Nb0f+/BW/s6IXpOzvRIlYlDyeU2ycvQIFYpOpWA== dependencies: - "@redocly/openapi-core" "1.9.0" + "@redocly/openapi-core" "1.9.1" abort-controller "^3.0.0" chokidar "^3.5.1" colorette "^1.2.0" @@ -5494,10 +5494,10 @@ styled-components "^6.0.7" yargs "17.0.1" -"@redocly/openapi-core@1.9.0", "@redocly/openapi-core@^1.0.0-rc.2": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.9.0.tgz#001c7676af3094dd28929e2da4ac9c44c668713d" - integrity sha512-n8Uye07wx5ca59HPIxmfPYFnYW/L60i2uaBnOgmDXZIxA61xVJ48YTRSaSLUluoidfy9XwNJv0XX7Mz9uNnF2w== +"@redocly/openapi-core@1.9.1", "@redocly/openapi-core@^1.0.0-rc.2": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.9.1.tgz#8f8b94eafc5aa7982e60df01e85e5e6bec73ac1e" + integrity sha512-Kn/8mshu4LDPATqR2kGlhXdSBjvWBb3MFAxDGPkU/Dt1Emuw47GmJSrGxeyG2/2eTaOOe4eJjrM4KjSijfubSg== dependencies: "@redocly/ajv" "^8.11.0" colorette "^1.2.0" @@ -17399,10 +17399,10 @@ lockfile-lint-api@^5.9.1: debug "^4.3.4" object-hash "^3.0.0" -lockfile-lint@4.13.1: - version "4.13.1" - resolved "https://registry.yarnpkg.com/lockfile-lint/-/lockfile-lint-4.13.1.tgz#f6cfdd494a9af3832de869c07a24307beefe5214" - integrity sha512-JUOsgO2wUGSvo5UzVAj4z0IwQkRLgDY3OnsusnWy/uCUzpG9PDUJtMn718KjkSmnmmxwXqqWlc/Fvho1GaEFGg== +lockfile-lint@4.13.2: + version "4.13.2" + resolved "https://registry.yarnpkg.com/lockfile-lint/-/lockfile-lint-4.13.2.tgz#6c611076556df93c9cb4a6975d2812711de81985" + integrity sha512-yeg0vJ3NjC6OVMZtC+nSLLavu/e8LE5FZp9u0Itqyt7I0gYYCgGxAsJV3TJ7WtaJd4PahineJvHqSk/4sqzU8w== dependencies: cosmiconfig "^8.2.0" debug "^4.3.4" @@ -20308,12 +20308,12 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" -prettier-plugin-packagejson@2.4.11: - version "2.4.11" - resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.11.tgz#90a3211bcda4deb1f05c91d6315dc3bc11e7de03" - integrity sha512-zmOmM96GkAjT2zUdHSQJnpyVpbisBkewDluo2NLHjI/JN7uOCZlEzWVaMhdqyZ8LVdQDfzamvbvSw4swd3Az1A== +prettier-plugin-packagejson@2.4.12: + version "2.4.12" + resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.12.tgz#eeb917dad83ae42d0caccc9f26d3728b5c4f2434" + integrity sha512-hifuuOgw5rHHTdouw9VrhT8+Nd7UwxtL1qco8dUfd4XUFQL6ia3xyjSxhPQTsGnSYFraTWy5Omb+MZm/OWDTpQ== dependencies: - sort-package-json "2.7.0" + sort-package-json "2.8.0" synckit "0.9.0" prettier-plugin-sh@0.14.0: @@ -22663,10 +22663,10 @@ sort-object-keys@^1.1.3: resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" integrity "sha1-v/gz/oXKsUezR0LkWGNFPB4ZC0U= sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==" -sort-package-json@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-2.7.0.tgz#41b52710939d7e3a4e328eb92c2136db43a6407d" - integrity sha512-6AayF8bp6L+WROgpbhTMUtB9JSFmpGHjmW7DyaNPS1HwlTw2oSVlUUtlkHSEZmg5o89F3zvLBZNvMeZ1T4fjQg== +sort-package-json@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-2.8.0.tgz#6a46439ad0fef77f091e678e103f03ecbea575c8" + integrity sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g== dependencies: detect-indent "^7.0.1" detect-newline "^4.0.0"