From 4fed45371df4236aa51cd761562ebae72602f43f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 10:12:15 +0100 Subject: [PATCH 01/10] docs: check for broken links with Lychee on new PRs --- .github/workflows/check.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 58b7a357..9bdbe4d7 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -110,3 +110,22 @@ jobs: npm ci --force npm run lint npm run build + + - name: Run Lychee Link Checker + id: lychee + uses: lycheeverse/lychee-action@v2.8.0 + env: + GITHUB_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} + with: + fail: false + args: > + --base https://docs.apify.com + --max-retries 6 + --exclude="github.com" + --verbose + --no-progress + --timeout '60' + --accept '100..=103,200..=299,429' + --max-redirects 5 + --format markdown + './build/**/*.html' From f224f34f512bfdaa1790350f7260dca0b27b2b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 10:16:24 +0100 Subject: [PATCH 02/10] chore: use correct path --- .github/workflows/check.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 9bdbe4d7..4c42ce61 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -128,4 +128,4 @@ jobs: --accept '100..=103,200..=299,429' --max-redirects 5 --format markdown - './build/**/*.html' + './website/build/**/*.html' From f2720c8d413afc0bed66c3bf36104e9f0884a6a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 10:19:36 +0100 Subject: [PATCH 03/10] chore: run formatter --- .github/workflows/check.yaml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 4c42ce61..942bf320 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -117,15 +117,14 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} with: - fail: false - args: > - --base https://docs.apify.com - --max-retries 6 - --exclude="github.com" - --verbose - --no-progress - --timeout '60' - --accept '100..=103,200..=299,429' - --max-redirects 5 - --format markdown - './website/build/**/*.html' + fail: false + args: > + --base https://docs.apify.com + --max-retries 6 + --exclude="github.com" + --no-progress + --timeout '60' + --accept '100..=103,200..=299,429' + --max-redirects 5 + --format markdown + './website/build/**/*.html' From 3455c807bf2a64e3a68eb2c2dde1657d9d204129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 10:52:58 +0100 Subject: [PATCH 04/10] chore: add a comment-making step --- .github/workflows/check.yaml | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 942bf320..d6f1f555 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -119,7 +119,7 @@ jobs: with: fail: false args: > - --base https://docs.apify.com + --base-url https://docs.apify.com --max-retries 6 --exclude="github.com" --no-progress @@ -128,3 +128,35 @@ jobs: --max-redirects 5 --format markdown './website/build/**/*.html' + + - name: Find Comment + uses: peter-evans/find-comment@v3 + id: find-comment + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: Build output + + - name: Links are passing + if: steps.lychee.outputs.exit_code == 0 + uses: peter-evans/create-or-update-comment@v5 + with: + comment-id: ${{ steps.find-comment.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + body: | + ✅ The link checker did not find any broken links. + + See more at ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}#summary-${{ job.check_run_id }} + edit-mode: replace + + - name: Links are failing + if: steps.lychee.outputs.exit_code != 0 + uses: peter-evans/create-or-update-comment@v5 + with: + comment-id: ${{ steps.find-comment.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + body: | + ⚠️ There are broken links in the documentation. + + See more at ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}#summary-${{ job.check_run_id }} + edit-mode: replace From feb0743db6f523b7c00e9a575a5b33df0aa29304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 10:58:03 +0100 Subject: [PATCH 05/10] chore: refactor --- .github/workflows/check.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index d6f1f555..a429e0da 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -114,8 +114,6 @@ jobs: - name: Run Lychee Link Checker id: lychee uses: lycheeverse/lychee-action@v2.8.0 - env: - GITHUB_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} with: fail: false args: > @@ -138,7 +136,7 @@ jobs: body-includes: Build output - name: Links are passing - if: steps.lychee.outputs.exit_code == 0 + if: steps.lychee.outputs.exit_code == 0 && steps.find-comment.outputs.comment-id uses: peter-evans/create-or-update-comment@v5 with: comment-id: ${{ steps.find-comment.outputs.comment-id }} From 890585398241496b271483026fa52ce36aaf0115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 11:18:36 +0100 Subject: [PATCH 06/10] chore: bump `docusaurus-typedoc-plugin-api` --- website/package-lock.json | 59 ++++++++------------------------------- website/package.json | 2 +- 2 files changed, 13 insertions(+), 48 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index c4319b16..b49a87d9 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -6,7 +6,7 @@ "": { "dependencies": { "@apify/docs-theme": "^1.0.181", - "@apify/docusaurus-plugin-typedoc-api": "^5.0.0", + "@apify/docusaurus-plugin-typedoc-api": "^5.1.1", "@docusaurus/core": "^3.8.1", "@docusaurus/faster": "^3.8.1", "@docusaurus/preset-classic": "^3.8.1", @@ -255,7 +255,6 @@ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", "license": "MIT", - "peer": true, "dependencies": { "@algolia/client-common": "5.48.1", "@algolia/requester-browser-xhr": "5.48.1", @@ -607,9 +606,9 @@ } }, "node_modules/@apify/docusaurus-plugin-typedoc-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@apify/docusaurus-plugin-typedoc-api/-/docusaurus-plugin-typedoc-api-5.1.0.tgz", - "integrity": "sha512-zjM9zJ/wAiSLuk+cZgw9cZQUPr6qZA+58wBBQDw6qPX+ot0FIwO98zskLNm0gHl4w/jNrrbbVRaMm12iu7DVCg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@apify/docusaurus-plugin-typedoc-api/-/docusaurus-plugin-typedoc-api-5.1.1.tgz", + "integrity": "sha512-VuM7XlOJvwF8e6YmNkUUqTgDsJ5IShT828i5l1QdVfH7Hr07mw0QjP1nV/qxzWuCGy6XA9LKUu8mmBYbqJsIsQ==", "license": "MIT", "workspaces": [ "playground/website" @@ -727,7 +726,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -2476,7 +2474,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" }, @@ -2499,7 +2496,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" } @@ -2609,7 +2605,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3031,7 +3026,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3991,7 +3985,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -4014,7 +4007,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -5876,7 +5868,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -5890,7 +5881,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.9.2.tgz", "integrity": "sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==", "license": "MIT", - "peer": true, "dependencies": { "@docusaurus/babel": "3.9.2", "@docusaurus/bundler": "3.9.2", @@ -5979,7 +5969,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.9.2.tgz", "integrity": "sha512-DEVIwhbrZZ4ir31X+qQNEQqDWkgCJUV6kiPPAd2MGTY8n5/n0c4B8qA5k1ipF2izwH00JEf0h6Daaut71zzkyw==", "license": "MIT", - "peer": true, "dependencies": { "@docusaurus/types": "3.9.2", "@rspack/core": "^1.5.0", @@ -6016,7 +6005,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.9.2.tgz", "integrity": "sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==", "license": "MIT", - "peer": true, "dependencies": { "@docusaurus/logger": "3.9.2", "@docusaurus/utils": "3.9.2", @@ -6149,7 +6137,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", "license": "MIT", - "peer": true, "dependencies": { "@docusaurus/core": "3.9.2", "@docusaurus/logger": "3.9.2", @@ -6348,7 +6335,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.9.2.tgz", "integrity": "sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==", "license": "MIT", - "peer": true, "dependencies": { "@docusaurus/core": "3.9.2", "@docusaurus/plugin-content-blog": "3.9.2", @@ -6491,7 +6477,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.9.2.tgz", "integrity": "sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==", "license": "MIT", - "peer": true, "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -6528,7 +6513,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.9.2.tgz", "integrity": "sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==", "license": "MIT", - "peer": true, "dependencies": { "@docusaurus/logger": "3.9.2", "@docusaurus/types": "3.9.2", @@ -6644,7 +6628,8 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@floating-ui/core": { "version": "1.7.4", @@ -7265,7 +7250,6 @@ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", "license": "MIT", - "peer": true, "dependencies": { "@types/mdx": "^2.0.0" }, @@ -8114,7 +8098,6 @@ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -8219,7 +8202,6 @@ "integrity": "sha512-iLmLTodbYxU39HhMPaMUooPwO/zqJWvsqkrXv1ZI38rMb048p6N7qtAtTp37sw9NzSrvH6oli8EdDygo09IZ/w==", "hasInstallScript": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.25" @@ -8892,7 +8874,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -8996,7 +8977,8 @@ "version": "4.2.7", "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.7.tgz", "integrity": "sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/ungap__structured-clone": { "version": "1.2.0", @@ -9231,7 +9213,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -9299,7 +9280,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -9345,7 +9325,6 @@ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", "license": "MIT", - "peer": true, "dependencies": { "@algolia/abtesting": "1.14.1", "@algolia/client-abtesting": "5.48.1", @@ -9877,7 +9856,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -10338,7 +10316,6 @@ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -10869,7 +10846,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -12368,7 +12344,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -15078,7 +15053,6 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz", "integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==", "license": "MIT", - "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -17780,7 +17754,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -18471,7 +18444,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -19387,7 +19359,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -20265,7 +20236,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -20275,7 +20245,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -20351,7 +20320,6 @@ "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/react": "*" }, @@ -20407,7 +20375,6 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -22270,6 +22237,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", @@ -22299,7 +22267,8 @@ "version": "4.3.6", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/supports-color": { "version": "7.2.0", @@ -22559,7 +22528,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -22656,8 +22624,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "peer": true + "license": "0BSD" }, "node_modules/tsyringe": { "version": "4.10.0", @@ -23151,7 +23118,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -23329,7 +23295,6 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", diff --git a/website/package.json b/website/package.json index a11911a1..17907e6c 100644 --- a/website/package.json +++ b/website/package.json @@ -25,7 +25,7 @@ }, "dependencies": { "@apify/docs-theme": "^1.0.181", - "@apify/docusaurus-plugin-typedoc-api": "^5.0.0", + "@apify/docusaurus-plugin-typedoc-api": "^5.1.1", "@docusaurus/core": "^3.8.1", "@docusaurus/faster": "^3.8.1", "@docusaurus/preset-classic": "^3.8.1", From d2266df7c111fab5f4411c4fdefe5b4f7a5b6690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 11:48:57 +0100 Subject: [PATCH 07/10] docs: fix links to API reference --- src/apify_client.ts | 2 +- src/resource_clients/actor_env_var.ts | 2 +- .../actor_env_var_collection.ts | 2 +- src/resource_clients/actor_version.ts | 2 +- .../actor_version_collection.ts | 2 +- src/resource_clients/store_collection.ts | 2 +- src/resource_clients/user.ts | 6 +++--- .../versioned_docs/version-2/api-typedoc.json | 18 +++++++++--------- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/apify_client.ts b/src/apify_client.ts index d0efc4b7..50b32db0 100644 --- a/src/apify_client.ts +++ b/src/apify_client.ts @@ -534,7 +534,7 @@ export class ApifyClient { * Use this to search and retrieve information about public Actors. * * @returns A client for the Apify Store - * @see https://docs.apify.com/api/v2/store-actors-get + * @see https://docs.apify.com/api/v2/store-get */ store(): StoreCollectionClient { return new StoreCollectionClient(this._options()); diff --git a/src/resource_clients/actor_env_var.ts b/src/resource_clients/actor_env_var.ts index fad0dc2b..785181eb 100644 --- a/src/resource_clients/actor_env_var.ts +++ b/src/resource_clients/actor_env_var.ts @@ -24,7 +24,7 @@ import type { ActorEnvironmentVariable } from './actor_version'; * await envVarClient.update({ value: 'new-value' }); * ``` * - * @see https://docs.apify.com/platform/actors/development/actor-definition/environment-variables + * @see https://docs.apify.com/platform/actors/development/programming-interface/environment-variables */ export class ActorEnvVarClient extends ResourceClient { /** diff --git a/src/resource_clients/actor_env_var_collection.ts b/src/resource_clients/actor_env_var_collection.ts index 7401b676..4167be80 100644 --- a/src/resource_clients/actor_env_var_collection.ts +++ b/src/resource_clients/actor_env_var_collection.ts @@ -29,7 +29,7 @@ import type { ActorEnvironmentVariable } from './actor_version'; * }); * ``` * - * @see https://docs.apify.com/platform/actors/development/actor-definition/environment-variables + * @see https://docs.apify.com/platform/actors/development/programming-interface/environment-variables */ export class ActorEnvVarCollectionClient extends ResourceCollectionClient { /** diff --git a/src/resource_clients/actor_version.ts b/src/resource_clients/actor_version.ts index 7bb306e8..72f0a05d 100644 --- a/src/resource_clients/actor_version.ts +++ b/src/resource_clients/actor_version.ts @@ -24,7 +24,7 @@ import { ActorEnvVarCollectionClient } from './actor_env_var_collection'; * await versionClient.update({ buildTag: 'latest' }); * ``` * - * @see https://docs.apify.com/platform/actors/development/actor-definition/versions + * @see https://docs.apify.com/api/v2/act-versions-get */ export class ActorVersionClient extends ResourceClient { /** diff --git a/src/resource_clients/actor_version_collection.ts b/src/resource_clients/actor_version_collection.ts index ad3657ca..af929a2f 100644 --- a/src/resource_clients/actor_version_collection.ts +++ b/src/resource_clients/actor_version_collection.ts @@ -27,7 +27,7 @@ import type { ActorVersion, FinalActorVersion } from './actor_version'; * }); * ``` * - * @see https://docs.apify.com/platform/actors/development/actor-definition/versions + * @see https://docs.apify.com/api/v2/act-versions-get */ export class ActorVersionCollectionClient extends ResourceCollectionClient { /** diff --git a/src/resource_clients/store_collection.ts b/src/resource_clients/store_collection.ts index 6b60157d..c5131767 100644 --- a/src/resource_clients/store_collection.ts +++ b/src/resource_clients/store_collection.ts @@ -54,7 +54,7 @@ export class StoreCollectionClient extends ResourceCollectionClient { * * @param options - Search and pagination options. * @returns A paginated iterator of store Actors. - * @see https://docs.apify.com/api/v2/store-actors-get + * @see https://docs.apify.com/api/v2/store-get */ list(options: StoreCollectionListOptions = {}): PaginatedIterator { ow( diff --git a/src/resource_clients/user.ts b/src/resource_clients/user.ts index 3d394779..0e9de50a 100644 --- a/src/resource_clients/user.ts +++ b/src/resource_clients/user.ts @@ -56,7 +56,7 @@ export class UserClient extends ResourceClient { * Retrieves the user's monthly usage data. * * @returns The monthly usage object, or `undefined` if it does not exist. - * @see https://docs.apify.com/api/v2/user-usage-monthly-get + * @see https://docs.apify.com/api/v2/users-me-usage-monthly-get */ async monthlyUsage(): Promise { const requestOpts: ApifyRequestConfig = { @@ -84,7 +84,7 @@ export class UserClient extends ResourceClient { * Retrieves the user's account and usage limits. * * @returns The account and usage limits object, or `undefined` if it does not exist. - * @see https://docs.apify.com/api/v2/user-limits-get + * @see https://docs.apify.com/api/v2/users-me-limits-get */ async limits(): Promise { const requestOpts: ApifyRequestConfig = { @@ -106,7 +106,7 @@ export class UserClient extends ResourceClient { * Updates the user's account and usage limits. * * @param options - The new limits to set. - * @see https://docs.apify.com/api/v2/user-limits-put + * @see https://docs.apify.com/api/v2/users-me-limits-put */ async updateLimits(options: LimitsUpdateOptions): Promise { const requestOpts: ApifyRequestConfig = { diff --git a/website/versioned_docs/version-2/api-typedoc.json b/website/versioned_docs/version-2/api-typedoc.json index e16dfa77..af671eb0 100644 --- a/website/versioned_docs/version-2/api-typedoc.json +++ b/website/versioned_docs/version-2/api-typedoc.json @@ -2999,7 +2999,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/platform/actors/development/actor-definition/environment-variables" + "text": "https://docs.apify.com/platform/actors/development/programming-interface/environment-variables" } ] } @@ -3600,7 +3600,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/platform/actors/development/actor-definition/environment-variables" + "text": "https://docs.apify.com/platform/actors/development/programming-interface/environment-variables" } ] } @@ -4174,7 +4174,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/platform/actors/development/actor-definition/versions" + "text": "https://docs.apify.com/api/v2/act-versions-get" } ] } @@ -4932,7 +4932,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/platform/actors/development/actor-definition/versions" + "text": "https://docs.apify.com/api/v2/act-versions-get" } ] } @@ -7984,7 +7984,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/api/v2/store-actors-get" + "text": "https://docs.apify.com/api/v2/store-get" } ] } @@ -28064,7 +28064,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/api/v2/store-actors-get" + "text": "https://docs.apify.com/api/v2/store-get" } ] } @@ -30714,7 +30714,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/api/v2/user-limits-get" + "text": "https://docs.apify.com/api/v2/users-me-limits-get" } ] } @@ -30810,7 +30810,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/api/v2/user-usage-monthly-get" + "text": "https://docs.apify.com/api/v2/users-me-usage-monthly-get" } ] } @@ -30889,7 +30889,7 @@ "content": [ { "kind": "text", - "text": "https://docs.apify.com/api/v2/user-limits-put" + "text": "https://docs.apify.com/api/v2/users-me-limits-put" } ] } From 63a987aedd0ee50bed0dafed2ef80757ab574483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 25 Feb 2026 12:55:24 +0100 Subject: [PATCH 08/10] chore: improve broken link reporting --- .github/workflows/check.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index a429e0da..cfda9b50 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -120,6 +120,7 @@ jobs: --base-url https://docs.apify.com --max-retries 6 --exclude="github.com" + --exclude="npmjs.com" --no-progress --timeout '60' --accept '100..=103,200..=299,429' @@ -132,8 +133,7 @@ jobs: id: find-comment with: issue-number: ${{ github.event.pull_request.number }} - comment-author: 'github-actions[bot]' - body-includes: Build output + body-includes: There are broken links in the documentation. - name: Links are passing if: steps.lychee.outputs.exit_code == 0 && steps.find-comment.outputs.comment-id From e1a8ca2fd4ba479e7ef0c6e5f077c2ceb73c0f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Fri, 27 Feb 2026 13:34:37 +0100 Subject: [PATCH 09/10] chore: bump `typedoc` plugin --- website/package-lock.json | 8 ++++---- website/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 6c72fed6..69b9d746 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -6,7 +6,7 @@ "": { "dependencies": { "@apify/docs-theme": "^1.0.181", - "@apify/docusaurus-plugin-typedoc-api": "^5.1.1", + "@apify/docusaurus-plugin-typedoc-api": "^5.1.3", "@docusaurus/core": "^3.8.1", "@docusaurus/faster": "^3.8.1", "@docusaurus/preset-classic": "^3.8.1", @@ -606,9 +606,9 @@ } }, "node_modules/@apify/docusaurus-plugin-typedoc-api": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@apify/docusaurus-plugin-typedoc-api/-/docusaurus-plugin-typedoc-api-5.1.1.tgz", - "integrity": "sha512-VuM7XlOJvwF8e6YmNkUUqTgDsJ5IShT828i5l1QdVfH7Hr07mw0QjP1nV/qxzWuCGy6XA9LKUu8mmBYbqJsIsQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@apify/docusaurus-plugin-typedoc-api/-/docusaurus-plugin-typedoc-api-5.1.3.tgz", + "integrity": "sha512-EeVg0cU6WjCbjz9rHyAaAXX751vtM4IF5ARvzH9IIIcd8l9ZT/QmWWgzQ59gQWUdgkAWvbay77I4nkFz4Dmb2g==", "license": "MIT", "workspaces": [ "playground/website" diff --git a/website/package.json b/website/package.json index 17907e6c..ec6b3c5c 100644 --- a/website/package.json +++ b/website/package.json @@ -25,7 +25,7 @@ }, "dependencies": { "@apify/docs-theme": "^1.0.181", - "@apify/docusaurus-plugin-typedoc-api": "^5.1.1", + "@apify/docusaurus-plugin-typedoc-api": "^5.1.3", "@docusaurus/core": "^3.8.1", "@docusaurus/faster": "^3.8.1", "@docusaurus/preset-classic": "^3.8.1", From e22deef62b87bf5abfb73ef949c1f66a3bbcc884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Mon, 2 Mar 2026 13:29:19 +0100 Subject: [PATCH 10/10] chore: revert CI changes, keep only fixed links --- .github/workflows/check.yaml | 48 ------------------------------------ 1 file changed, 48 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index cfda9b50..58b7a357 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -110,51 +110,3 @@ jobs: npm ci --force npm run lint npm run build - - - name: Run Lychee Link Checker - id: lychee - uses: lycheeverse/lychee-action@v2.8.0 - with: - fail: false - args: > - --base-url https://docs.apify.com - --max-retries 6 - --exclude="github.com" - --exclude="npmjs.com" - --no-progress - --timeout '60' - --accept '100..=103,200..=299,429' - --max-redirects 5 - --format markdown - './website/build/**/*.html' - - - name: Find Comment - uses: peter-evans/find-comment@v3 - id: find-comment - with: - issue-number: ${{ github.event.pull_request.number }} - body-includes: There are broken links in the documentation. - - - name: Links are passing - if: steps.lychee.outputs.exit_code == 0 && steps.find-comment.outputs.comment-id - uses: peter-evans/create-or-update-comment@v5 - with: - comment-id: ${{ steps.find-comment.outputs.comment-id }} - issue-number: ${{ github.event.pull_request.number }} - body: | - ✅ The link checker did not find any broken links. - - See more at ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}#summary-${{ job.check_run_id }} - edit-mode: replace - - - name: Links are failing - if: steps.lychee.outputs.exit_code != 0 - uses: peter-evans/create-or-update-comment@v5 - with: - comment-id: ${{ steps.find-comment.outputs.comment-id }} - issue-number: ${{ github.event.pull_request.number }} - body: | - ⚠️ There are broken links in the documentation. - - See more at ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}#summary-${{ job.check_run_id }} - edit-mode: replace