diff --git a/.github/workflows/check-pr-title.yaml b/.github/workflows/check-pr-title.yaml
index 3d54eb9da5..410094df50 100644
--- a/.github/workflows/check-pr-title.yaml
+++ b/.github/workflows/check-pr-title.yaml
@@ -9,6 +9,6 @@ jobs:
name: 'Check PR title'
runs-on: ubuntu-22.04
steps:
- - uses: amannn/action-semantic-pull-request@v6.0.1
+ - uses: amannn/action-semantic-pull-request@v6.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/package-lock.json b/package-lock.json
index b8708e75ce..42b13bb2d7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -34,12 +34,12 @@
"lerna": "^8.1.8",
"lint-staged": "^16.0.0",
"playwright": "^1.46.0",
- "prettier": "3.5.3",
+ "prettier": "3.6.2",
"puppeteer": "^24.0.0",
"rimraf": "^6.0.1",
"tsx": "^4.16.5",
- "turbo": "2.5.4",
- "typescript": "~5.8.0",
+ "turbo": "2.5.6",
+ "typescript": "~5.9.0",
"typescript-eslint": "^8.28.0",
"vite-tsconfig-paths": "^5.0.0",
"vitest": "^3.0.0"
@@ -14548,9 +14548,9 @@
}
},
"node_modules/prettier": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
- "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
+ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"dev": true,
"license": "MIT",
"bin": {
@@ -17011,27 +17011,27 @@
}
},
"node_modules/turbo": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.5.4.tgz",
- "integrity": "sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.5.6.tgz",
+ "integrity": "sha512-gxToHmi9oTBNB05UjUsrWf0OyN5ZXtD0apOarC1KIx232Vp3WimRNy3810QzeNSgyD5rsaIDXlxlbnOzlouo+w==",
"dev": true,
"license": "MIT",
"bin": {
"turbo": "bin/turbo"
},
"optionalDependencies": {
- "turbo-darwin-64": "2.5.4",
- "turbo-darwin-arm64": "2.5.4",
- "turbo-linux-64": "2.5.4",
- "turbo-linux-arm64": "2.5.4",
- "turbo-windows-64": "2.5.4",
- "turbo-windows-arm64": "2.5.4"
+ "turbo-darwin-64": "2.5.6",
+ "turbo-darwin-arm64": "2.5.6",
+ "turbo-linux-64": "2.5.6",
+ "turbo-linux-arm64": "2.5.6",
+ "turbo-windows-64": "2.5.6",
+ "turbo-windows-arm64": "2.5.6"
}
},
"node_modules/turbo-darwin-64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.5.4.tgz",
- "integrity": "sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.5.6.tgz",
+ "integrity": "sha512-3C1xEdo4aFwMJAPvtlPqz1Sw/+cddWIOmsalHFMrsqqydcptwBfu26WW2cDm3u93bUzMbBJ8k3zNKFqxJ9ei2A==",
"cpu": [
"x64"
],
@@ -17043,9 +17043,9 @@
]
},
"node_modules/turbo-darwin-arm64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.5.4.tgz",
- "integrity": "sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.5.6.tgz",
+ "integrity": "sha512-LyiG+rD7JhMfYwLqB6k3LZQtYn8CQQUePbpA8mF/hMLPAekXdJo1g0bUPw8RZLwQXUIU/3BU7tXENvhSGz5DPA==",
"cpu": [
"arm64"
],
@@ -17057,9 +17057,9 @@
]
},
"node_modules/turbo-linux-64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.5.4.tgz",
- "integrity": "sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.5.6.tgz",
+ "integrity": "sha512-GOcUTT0xiT/pSnHL4YD6Yr3HreUhU8pUcGqcI2ksIF9b2/r/kRHwGFcsHgpG3+vtZF/kwsP0MV8FTlTObxsYIA==",
"cpu": [
"x64"
],
@@ -17071,9 +17071,9 @@
]
},
"node_modules/turbo-linux-arm64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.5.4.tgz",
- "integrity": "sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.5.6.tgz",
+ "integrity": "sha512-10Tm15bruJEA3m0V7iZcnQBpObGBcOgUcO+sY7/2vk1bweW34LMhkWi8svjV9iDF68+KJDThnYDlYE/bc7/zzQ==",
"cpu": [
"arm64"
],
@@ -17085,9 +17085,9 @@
]
},
"node_modules/turbo-windows-64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.5.4.tgz",
- "integrity": "sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.5.6.tgz",
+ "integrity": "sha512-FyRsVpgaj76It0ludwZsNN40ytHN+17E4PFJyeliBEbxrGTc5BexlXVpufB7XlAaoaZVxbS6KT8RofLfDRyEPg==",
"cpu": [
"x64"
],
@@ -17099,9 +17099,9 @@
]
},
"node_modules/turbo-windows-arm64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.5.4.tgz",
- "integrity": "sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==",
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.5.6.tgz",
+ "integrity": "sha512-j/tWu8cMeQ7HPpKri6jvKtyXg9K1gRyhdK4tKrrchH8GNHscPX/F71zax58yYtLRWTiK04zNzPcUJuoS0+v/+Q==",
"cpu": [
"arm64"
],
@@ -17229,9 +17229,9 @@
"license": "MIT"
},
"node_modules/typescript": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
- "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "version": "5.9.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
+ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
"devOptional": true,
"license": "Apache-2.0",
"bin": {
@@ -18933,7 +18933,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
}
},
"packages/actor-scraper/cheerio-scraper": {
@@ -18949,7 +18949,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"peerDependencies": {
"cheerio": "^1.0.0-rc.12"
@@ -18968,7 +18968,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"peerDependencies": {
"jsdom": "^26.0.0"
@@ -18991,7 +18991,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
}
},
"packages/actor-scraper/puppeteer-scraper": {
@@ -19009,7 +19009,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
}
},
"packages/actor-scraper/web-scraper": {
@@ -19031,7 +19031,7 @@
"@types/content-type": "^1.1.8",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
}
},
"packages/apify": {
diff --git a/package.json b/package.json
index cd94c42f66..43096e2a84 100644
--- a/package.json
+++ b/package.json
@@ -87,12 +87,12 @@
"lerna": "^8.1.8",
"lint-staged": "^16.0.0",
"playwright": "^1.46.0",
- "prettier": "3.5.3",
+ "prettier": "3.6.2",
"puppeteer": "^24.0.0",
"rimraf": "^6.0.1",
"tsx": "^4.16.5",
- "turbo": "2.5.4",
- "typescript": "~5.8.0",
+ "turbo": "2.5.6",
+ "typescript": "~5.9.0",
"typescript-eslint": "^8.28.0",
"vite-tsconfig-paths": "^5.0.0",
"vitest": "^3.0.0"
diff --git a/packages/actor-scraper/camoufox-scraper/package.json b/packages/actor-scraper/camoufox-scraper/package.json
index 7dbac91470..058b9e0232 100644
--- a/packages/actor-scraper/camoufox-scraper/package.json
+++ b/packages/actor-scraper/camoufox-scraper/package.json
@@ -18,7 +18,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"scripts": {
"start": "npm run start:dev",
diff --git a/packages/actor-scraper/cheerio-scraper/README.md b/packages/actor-scraper/cheerio-scraper/README.md
index 014acca679..8370736df6 100644
--- a/packages/actor-scraper/cheerio-scraper/README.md
+++ b/packages/actor-scraper/cheerio-scraper/README.md
@@ -325,7 +325,6 @@ visit the [Mozilla documentation](https://developer.mozilla.org/en-US/docs/Web/J
- ##### **`globalStore: Object`**
Represents an in-memory store that can be used to share data across page function invocations, e.g. state variables, API responses, or other data. The `globalStore` object has an interface similar to JavaScript's [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) object, with a few important differences:
-
- All `globalStore` functions are `async`; use `await` when calling them.
- Keys must be strings and values must be JSON stringify-able.
- The `forEach()` function is not supported.
diff --git a/packages/actor-scraper/cheerio-scraper/package.json b/packages/actor-scraper/cheerio-scraper/package.json
index 706f0bcc57..27ae429530 100644
--- a/packages/actor-scraper/cheerio-scraper/package.json
+++ b/packages/actor-scraper/cheerio-scraper/package.json
@@ -13,7 +13,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"peerDependencies": {
"cheerio": "^1.0.0-rc.12"
diff --git a/packages/actor-scraper/jsdom-scraper/package.json b/packages/actor-scraper/jsdom-scraper/package.json
index 7de35b2b12..d595f473c1 100644
--- a/packages/actor-scraper/jsdom-scraper/package.json
+++ b/packages/actor-scraper/jsdom-scraper/package.json
@@ -13,7 +13,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"peerDependencies": {
"jsdom": "^26.0.0"
diff --git a/packages/actor-scraper/playwright-scraper/package.json b/packages/actor-scraper/playwright-scraper/package.json
index 4e95da6522..1e954cbacb 100644
--- a/packages/actor-scraper/playwright-scraper/package.json
+++ b/packages/actor-scraper/playwright-scraper/package.json
@@ -17,7 +17,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"scripts": {
"start": "npm run start:dev",
diff --git a/packages/actor-scraper/puppeteer-scraper/package.json b/packages/actor-scraper/puppeteer-scraper/package.json
index 48c5be0cd5..dcec1b5291 100644
--- a/packages/actor-scraper/puppeteer-scraper/package.json
+++ b/packages/actor-scraper/puppeteer-scraper/package.json
@@ -15,7 +15,7 @@
"@apify/tsconfig": "^0.1.0",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"scripts": {
"start": "npm run start:dev",
diff --git a/packages/actor-scraper/web-scraper/package.json b/packages/actor-scraper/web-scraper/package.json
index 53ade2d85e..c0ee02167c 100644
--- a/packages/actor-scraper/web-scraper/package.json
+++ b/packages/actor-scraper/web-scraper/package.json
@@ -20,7 +20,7 @@
"@types/content-type": "^1.1.8",
"@types/node": "^22.7.4",
"tsx": "^4.19.1",
- "typescript": "~5.8.0"
+ "typescript": "~5.9.0"
},
"scripts": {
"start": "npm run start:dev",
diff --git a/website/versioned_docs/version-1.3/api/puppeteer.md b/website/versioned_docs/version-1.3/api/puppeteer.md
index e50e748614..47a79d2db5 100644
--- a/website/versioned_docs/version-1.3/api/puppeteer.md
+++ b/website/versioned_docs/version-1.3/api/puppeteer.md
@@ -210,7 +210,6 @@ await Apify.utils.puppeteer.enqueueLinksByClickingElements({
**Parameters**:
- **`options`**: `object` - All `enqueueLinksByClickingElements()` parameters are passed via an options object with the following keys:
-
- **`page`**: `Page` - Puppeteer [`Page`](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object.
- **`requestQueue`**: [`RequestQueue`](../api/request-queue) - A request queue to which the URLs will be enqueued.
- **`selector`**: `string` - A CSS selector matching elements to be clicked on. Unlike in [`utils.enqueueLinks()`](../api/utils#enqueuelinks),
@@ -223,7 +222,6 @@ await Apify.utils.puppeteer.enqueueLinksByClickingElements({
[`Request`](Request.md) objects.
If `pseudoUrls` is an empty array, `null` or `undefined`, then the function enqueues all links found on the page.
-
- **`[transformRequestFunction]`**: [`RequestTransform`](../typedefs/request-transform) - Just before a new [`Request`](Request.md) is
constructed and enqueued to the [`RequestQueue`](../api/request-queue), this function can be used to remove it or modify its contents such as
`userData`, `payload` or, most importantly `uniqueKey`. This is useful when you need to enqueue multiple `Requests` to the queue that share
@@ -254,7 +252,6 @@ await Apify.utils.puppeteer.enqueueLinksByClickingElements({
You may want to reduce this for example when you're sure that your clicks do not open new tabs, or increase when you're not getting all the
expected URLs.
-
- **`[maxWaitForPageIdleSecs]`**: `number` = 5
- This is the maximum period for which the function will keep tracking events, even
if more events keep coming. Its purpose is to prevent a deadlock in the page by periodic events, often unrelated to the clicking itself. See
`waitForPageIdleSecs` above for an explanation.
diff --git a/website/versioned_docs/version-1.3/api/utils.md b/website/versioned_docs/version-1.3/api/utils.md
index 73abd47da0..c718f7c470 100644
--- a/website/versioned_docs/version-1.3/api/utils.md
+++ b/website/versioned_docs/version-1.3/api/utils.md
@@ -68,7 +68,6 @@ await Apify.utils.enqueueLinks({
**Parameters**:
- **`options`**: `object` - All `enqueueLinks()` parameters are passed via an options object with the following keys:
-
- **`[page]`**: `PuppeteerPage` | `PlaywrightPage` - Puppeteer [`Page`](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object. Either
`page` or `$` option must be provided.
- **`[limit]`**: `Number` - Limit the count of actually enqueued URLs to this number. Useful for testing across the entire crawling scope.
@@ -86,7 +85,6 @@ await Apify.utils.enqueueLinks({
[`Request`](../api/request) objects.
If `pseudoUrls` is an empty array, `null` or `undefined`, then the function enqueues all links found on the page.
-
- **`[transformRequestFunction]`**: [`RequestTransform`](../typedefs/request-transform) - Just before a new [`Request`](../api/request) is
constructed and enqueued to the [`RequestQueue`](../api/request-queue), this function can be used to remove it or modify its contents such as
`userData`, `payload` or, most importantly `uniqueKey`. This is useful when you need to enqueue multiple `Requests` to the queue that share
diff --git a/website/versioned_docs/version-2.3/api/puppeteer.md b/website/versioned_docs/version-2.3/api/puppeteer.md
index d91f40f387..7569c475b6 100644
--- a/website/versioned_docs/version-2.3/api/puppeteer.md
+++ b/website/versioned_docs/version-2.3/api/puppeteer.md
@@ -212,7 +212,6 @@ await Apify.utils.puppeteer.enqueueLinksByClickingElements({
**Parameters**:
- **`options`**: `object` - All `enqueueLinksByClickingElements()` parameters are passed via an options object with the following keys:
-
- **`page`**: `Page` - Puppeteer [`Page`](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object.
- **`requestQueue`**: [`RequestQueue`](../api/request-queue) - A request queue to which the URLs will be enqueued.
- **`selector`**: `string` - A CSS selector matching elements to be clicked on. Unlike in [`utils.enqueueLinks()`](../api/utils#enqueuelinks),
@@ -225,7 +224,6 @@ await Apify.utils.puppeteer.enqueueLinksByClickingElements({
[`Request`](../api/request) objects.
If `pseudoUrls` is an empty array, `null` or `undefined`, then the function enqueues all links found on the page.
-
- **`[transformRequestFunction]`**: [`RequestTransform`](../typedefs/request-transform) - Just before a new [`Request`](../api/request) is
constructed and enqueued to the [`RequestQueue`](../api/request-queue), this function can be used to remove it or modify its contents such as
`userData`, `payload` or, most importantly `uniqueKey`. This is useful when you need to enqueue multiple `Requests` to the queue that share
@@ -256,7 +254,6 @@ await Apify.utils.puppeteer.enqueueLinksByClickingElements({
You may want to reduce this for example when you're sure that your clicks do not open new tabs, or increase when you're not getting all the
expected URLs.
-
- **`[maxWaitForPageIdleSecs]`**: `number` = 5
- This is the maximum period for which the function will keep tracking events, even
if more events keep coming. Its purpose is to prevent a deadlock in the page by periodic events, often unrelated to the clicking itself. See
`waitForPageIdleSecs` above for an explanation.
diff --git a/website/versioned_docs/version-2.3/api/utils.md b/website/versioned_docs/version-2.3/api/utils.md
index adf78e46da..728c23f4ab 100644
--- a/website/versioned_docs/version-2.3/api/utils.md
+++ b/website/versioned_docs/version-2.3/api/utils.md
@@ -68,7 +68,6 @@ await Apify.utils.enqueueLinks({
**Parameters**:
- **`options`**: `object` - All `enqueueLinks()` parameters are passed via an options object with the following keys:
-
- **`[page]`**: `PuppeteerPage` | `PlaywrightPage` - Puppeteer [`Page`](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object. Either
`page` or `$` option must be provided.
- **`[limit]`**: `Number` - Limit the count of actually enqueued URLs to this number. Useful for testing across the entire crawling scope.
@@ -86,7 +85,6 @@ await Apify.utils.enqueueLinks({
[`Request`](../api/request) objects.
If `pseudoUrls` is an empty array, `null` or `undefined`, then the function enqueues all links found on the page.
-
- **`[transformRequestFunction]`**: [`RequestTransform`](../typedefs/request-transform) - Just before a new [`Request`](../api/request) is
constructed and enqueued to the [`RequestQueue`](../api/request-queue), this function can be used to remove it or modify its contents such as
`userData`, `payload` or, most importantly `uniqueKey`. This is useful when you need to enqueue multiple `Requests` to the queue that share