From 4132f2467fbe913fa82400eef069533b57d5e878 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Apr 2025 05:10:12 +0000 Subject: [PATCH 1/5] chore(deps): update dependency @apify/eslint-config to v1 --- package.json | 2 +- yarn.lock | 88 +++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 85 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 996b56648..11c69b096 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "which": "^5.0.0" }, "devDependencies": { - "@apify/eslint-config": "^0.4.0", + "@apify/eslint-config": "^1.0.0", "@apify/eslint-config-ts": "^0.4.1", "@apify/tsconfig": "^0.1.0", "@biomejs/biome": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index abc019f06..a0b678923 100644 --- a/yarn.lock +++ b/yarn.lock @@ -62,6 +62,29 @@ __metadata: languageName: node linkType: hard +"@apify/eslint-config@npm:^1.0.0": + version: 1.0.0 + resolution: "@apify/eslint-config@npm:1.0.0" + dependencies: + "@eslint/compat": "npm:^1.2.6" + "@jirimoravcik/eslint-plugin-import": "npm:2.32.0" + eslint-config-airbnb-base: "npm:^15.0.0" + eslint-plugin-import: "npm:^2.31.0" + eslint-plugin-simple-import-sort: "npm:^12.1.1" + globals: "npm:^15.14.0" + peerDependencies: + eslint: ^9.19.0 + eslint-plugin-jest: ^28.11.0 + typescript-eslint: ^8.23.0 + peerDependenciesMeta: + eslint-plugin-jest: + optional: true + typescript-eslint: + optional: true + checksum: 10c0/8209477b867581c0a8fd502fe54ec6553cc0247f7b97a38e4e7d709416db1556222280917bc7324c0fc4df71d8931c39662377738e0c98b9ba144bb527625f27 + languageName: node + linkType: hard + "@apify/input_schema@npm:^3.12.0": version: 3.14.0 resolution: "@apify/input_schema@npm:3.14.0" @@ -1452,6 +1475,18 @@ __metadata: languageName: node linkType: hard +"@eslint/compat@npm:^1.2.6": + version: 1.2.8 + resolution: "@eslint/compat@npm:1.2.8" + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/1e004c6917220ff1731fdc562ada9ddcbcecc6f3ba2e4b0433fb6d8eddf2a443e009f1f9796b78128b78a0a588c723b78021319055ac6e5dda55c0ace346496b + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/eslintrc@npm:2.1.4" @@ -1820,6 +1855,35 @@ __metadata: languageName: node linkType: hard +"@jirimoravcik/eslint-plugin-import@npm:2.32.0": + version: 2.32.0 + resolution: "@jirimoravcik/eslint-plugin-import@npm:2.32.0" + dependencies: + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.8" + array.prototype.findlastindex: "npm:^1.2.5" + array.prototype.flat: "npm:^1.3.3" + array.prototype.flatmap: "npm:^1.3.3" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.12.0" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.16.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.1" + semver: "npm:^6.3.1" + string.prototype.trimend: "npm:^1.0.9" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10c0/fbeb711869991914010fd122ab1555fe56b077c5a5db46e0ab7147897f4fe76b7f4f044884b04bcb17a7103fb0d7039ceff743987d2c8dd353ce1ba5391355a6 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:^1.5.0": version: 1.5.0 resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" @@ -3904,7 +3968,7 @@ __metadata: dependencies: "@apify/actor-templates": "npm:^0.1.5" "@apify/consts": "npm:^2.36.0" - "@apify/eslint-config": "npm:^0.4.0" + "@apify/eslint-config": "npm:^1.0.0" "@apify/eslint-config-ts": "npm:^0.4.1" "@apify/input_schema": "npm:^3.12.0" "@apify/tsconfig": "npm:^0.1.0" @@ -4140,7 +4204,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2, array.prototype.flat@npm:^1.3.3": version: 1.3.3 resolution: "array.prototype.flat@npm:1.3.3" dependencies: @@ -6020,7 +6084,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.29.0": +"eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.29.0, eslint-plugin-import@npm:^2.31.0": version: 2.31.0 resolution: "eslint-plugin-import@npm:2.31.0" dependencies: @@ -6111,6 +6175,15 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-simple-import-sort@npm:^12.1.1": + version: 12.1.1 + resolution: "eslint-plugin-simple-import-sort@npm:12.1.1" + peerDependencies: + eslint: ">=5.0.0" + checksum: 10c0/0ad1907ad9ddbadd1db655db0a9d0b77076e274b793a77b982c8525d808d868e6ecfce24f3a411e8a1fa551077387f9ebb38c00956073970ebd7ee6a029ce2b3 + languageName: node + linkType: hard + "eslint-scope@npm:^7.2.2": version: 7.2.2 resolution: "eslint-scope@npm:7.2.2" @@ -7020,6 +7093,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^15.14.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10c0/f9ae80996392ca71316495a39bec88ac43ae3525a438b5626cd9d5ce9d5500d0a98a266409605f8cd7241c7acf57c354a48111ea02a767ba4f374b806d6861fe + languageName: node + linkType: hard + "globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" @@ -7662,7 +7742,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: From 5ee5eefe13fc7074af219d9be4fa37072b8747ad Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Mon, 28 Apr 2025 08:30:02 +0300 Subject: [PATCH 2/5] chore: bump eslint and everything with it --- .editorconfig | 8 + .eslintrc.json | 10 - .vscode/settings.json | 27 + eslint.config.mjs | 90 ++++ package.json | 22 +- src/commands/actor/charge.ts | 3 +- src/commands/actor/get-public-url.ts | 3 +- src/commands/actors/call.ts | 2 +- src/commands/actors/ls.ts | 3 +- src/commands/actors/push.ts | 7 +- src/commands/actors/rm.ts | 2 +- src/commands/actors/start.ts | 2 +- src/commands/builds/rm.ts | 2 +- src/commands/create.ts | 5 +- src/commands/datasets/push-items.ts | 2 +- src/commands/datasets/rm.ts | 2 +- src/commands/edit-input-schema.ts | 11 +- src/commands/key-value-stores/delete-value.ts | 2 +- src/commands/key-value-stores/rm.ts | 2 +- src/commands/login.ts | 7 +- src/commands/run.ts | 5 +- src/commands/runs/abort.ts | 3 +- src/commands/runs/resurrect.ts | 3 +- src/commands/runs/rm.ts | 5 +- src/commands/task/run.ts | 2 +- src/commands/validate-schema.ts | 3 +- src/hooks/deprecations.ts | 2 +- src/hooks/init.ts | 4 +- src/lib/actor.ts | 11 +- src/lib/apify_command.ts | 2 +- src/lib/commands/pretty-print-status.ts | 3 +- src/lib/commands/resolve-input.ts | 2 +- src/lib/commands/run-on-cloud.ts | 6 +- src/lib/consts.ts | 1 - src/lib/create-utils.ts | 5 +- src/lib/exec.ts | 2 +- src/lib/files.ts | 2 +- src/lib/hooks/runtimes/javascript.ts | 4 +- src/lib/hooks/runtimes/python.ts | 4 +- src/lib/hooks/useActorConfig.ts | 8 +- src/lib/hooks/useCwdProject.ts | 4 +- src/lib/hooks/useModuleVersion.ts | 4 +- src/lib/input_schema.ts | 4 +- src/lib/projects/scrapy/wrapScrapyProject.ts | 5 +- src/lib/telemetry.ts | 3 +- src/lib/utils.ts | 25 +- test/__setup__/build-utils.ts | 3 +- test/__setup__/hooks/useProcessMock.ts | 5 +- test/__setup__/hooks/useTempPath.ts | 4 +- test/__setup__/hooks/withRetries.ts | 2 +- test/commands/call.test.ts | 3 +- test/commands/create.test.ts | 3 +- test/commands/log_in_out.test.ts | 1 - test/commands/pull.test.ts | 1 - test/commands/push.test.ts | 4 +- test/commands/run.test.ts | 3 +- test/lib/actor.test.ts | 3 +- test/python_support.test.ts | 4 +- test/utils.test.ts | 4 +- tsconfig.eslint.json | 3 +- yarn.lock | 473 ++++++++++-------- 61 files changed, 524 insertions(+), 326 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 .vscode/settings.json create mode 100644 eslint.config.mjs diff --git a/.editorconfig b/.editorconfig index 8d155bf93..926d74bf4 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,6 +10,14 @@ end_of_line = lf # editorconfig-tools is unable to ignore longs strings or urls max_line_length = null +[*.ts] +indent_style = tab +indent_size = 4 + +[*.js] +indent_style = tab +indent_size = 4 + [*.md] indent_size = 2 diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 580eb2616..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": ["@apify/ts", "prettier"], - "parserOptions": { - "project": "./tsconfig.eslint.json", - "ecmaVersion": 2022 - }, - "rules": { - "no-console": "off" - } -} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..e83b18879 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,27 @@ +{ + "[javascript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[typescript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[jsonc]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[yaml]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "files.trimTrailingWhitespace": false + } +} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..c08a8a486 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,90 @@ +import tsStylistic from '@stylistic/eslint-plugin-ts'; +import prettier from 'eslint-config-prettier'; +import tsEslint from 'typescript-eslint'; + +import apify from '@apify/eslint-config/ts'; + +export default [ + { + ignores: [ + '**/dist', + 'node_modules', + 'coverage', + 'website/{build,.docusaurus}', + '**/*.d.ts', + 'test/tmp/**/*', + '.yarn/**/*', + ], + }, + ...apify, + prettier, + { + languageOptions: { + parser: tsEslint.parser, + parserOptions: { + project: 'tsconfig.eslint.json', + }, + }, + }, + { + plugins: { + '@typescript-eslint': tsEslint.plugin, + '@stylistic': tsStylistic, + }, + rules: { + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-explicit-any': 'off', + 'max-classes-per-file': 'off', + 'no-empty-function': 'off', + 'import/order': 'off', // TODO + 'no-use-before-define': 'off', // TODO + 'no-param-reassign': 'off', + 'no-void': 'off', + 'no-underscore-dangle': 'off', + 'no-console': 'off', + 'import/no-extraneous-dependencies': 'off', + 'import/extensions': 'off', + 'import/no-default-export': 'off', + '@typescript-eslint/array-type': 'error', + '@typescript-eslint/ban-ts-comment': 0, + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + disallowTypeAnnotations: false, + }, + ], + '@typescript-eslint/consistent-type-definitions': ['error', 'interface'], + '@stylistic/member-delimiter-style': [ + 'error', + { + multiline: { delimiter: 'semi', requireLast: true }, + singleline: { delimiter: 'semi', requireLast: false }, + }, + ], + '@typescript-eslint/no-empty-interface': 'off', + '@typescript-eslint/promise-function-async': 'off', + 'no-promise-executor-return': 'off', + '@typescript-eslint/prefer-destructuring': 'off', + 'prefer-destructuring': 'off', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-floating-promises': 'error', + '@typescript-eslint/no-unused-vars': 'off', + '@stylistic/comma-dangle': ['error', 'always-multiline'], + }, + }, + { + files: ['website/**/*'], + rules: { + '@typescript-eslint/no-shadow': 'off', + 'no-console': 'off', + 'no-undef': 'off', + }, + }, + { + files: ['src/**/*'], + rules: { + 'no-console': 'off', + 'consistent-return': 'off', + }, + }, +]; diff --git a/package.json b/package.json index 11c69b096..ad95088cd 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "test": "vitest run", "test-python": "vitest run -t '.*\\[python\\]'", "test:cucumber": "cross-env NODE_OPTIONS=\"--import tsx\" cucumber-js", - "lint": "eslint src test .yarn/plugins --ext .ts,.cjs,.mjs", - "lint:fix": "eslint src test .yarn/plugins --fix --ext .ts,.cjs,.mjs", + "lint": "eslint src test --ext .ts,.cjs,.mjs", + "lint:fix": "eslint src test --fix --ext .ts,.cjs,.mjs", "format": "biome format . && prettier --check \"**/*.{md,yml,yaml}\"", "format:fix": "biome format --write . && prettier --write \"**/*.{md,yml,yaml}\"", "clean": "rimraf dist", @@ -104,11 +104,12 @@ "devDependencies": { "@apify/eslint-config": "^1.0.0", "@apify/eslint-config-ts": "^0.4.1", - "@apify/tsconfig": "^0.1.0", - "@biomejs/biome": "^1.8.3", + "@apify/tsconfig": "^0.1.1", + "@biomejs/biome": "^1.9.4", "@crawlee/types": "^3.11.1", "@cucumber/cucumber": "^11.0.0", "@oclif/test": "^4.0.8", + "@stylistic/eslint-plugin-ts": "^4.2.0", "@types/adm-zip": "^0.5.5", "@types/archiver": "^6.0.2", "@types/chai": "^4.3.17", @@ -124,21 +125,20 @@ "@types/node": "^22.0.0", "@types/semver": "^7.5.8", "@types/which": "^3.0.4", - "@typescript-eslint/eslint-plugin": "^7.0.2", - "@typescript-eslint/parser": "^7.0.2", "@yarnpkg/core": "^4.1.2", "apify": "^3.2.4", "chai": "^4.4.1", "cross-env": "^7.0.3", - "eslint": "^8.57.0", - "eslint-config-prettier": "^10.0.0", - "lint-staged": "^15.2.8", + "eslint": "^9.25.1", + "eslint-config-prettier": "^10.1.2", + "lint-staged": "^15.5.1", "mdast-util-from-markdown": "^2.0.2", "mock-stdin": "^1.0.0", "oclif": "^4.14.15", - "prettier": "^3.3.3", + "prettier": "^3.5.3", "tsx": "^4.16.5", - "typescript": "^5.5.4", + "typescript": "^5.8.3", + "typescript-eslint": "^8.31.0", "vitest": "^3.0.0" }, "oclif": { diff --git a/src/commands/actor/charge.ts b/src/commands/actor/charge.ts index 63897ce95..a89f07218 100644 --- a/src/commands/actor/charge.ts +++ b/src/commands/actor/charge.ts @@ -1,6 +1,7 @@ -import { APIFY_ENV_VARS } from '@apify/consts'; import { Args, Flags } from '@oclif/core'; +import { APIFY_ENV_VARS } from '@apify/consts'; + import { getApifyTokenFromEnvOrAuthFile } from '../../lib/actor.js'; import { ApifyCommand } from '../../lib/apify_command.js'; import { info } from '../../lib/outputs.js'; diff --git a/src/commands/actor/get-public-url.ts b/src/commands/actor/get-public-url.ts index e9ddcbf06..86fe710d8 100644 --- a/src/commands/actor/get-public-url.ts +++ b/src/commands/actor/get-public-url.ts @@ -1,6 +1,7 @@ +import { Args } from '@oclif/core'; + import { ACTOR_ENV_VARS, APIFY_ENV_VARS } from '@apify/consts'; import { createHmacSignature } from '@apify/utilities'; -import { Args } from '@oclif/core'; import { getApifyStorageClient } from '../../lib/actor.js'; import { ApifyCommand } from '../../lib/apify_command.js'; diff --git a/src/commands/actors/call.ts b/src/commands/actors/call.ts index 646216976..3ab3d3e31 100644 --- a/src/commands/actors/call.ts +++ b/src/commands/actors/call.ts @@ -13,7 +13,7 @@ import chalk from 'chalk'; import { ApifyCommand } from '../../lib/apify_command.js'; import { getInputOverride } from '../../lib/commands/resolve-input.js'; -import { SharedRunOnCloudFlags, runActorOrTaskOnCloud } from '../../lib/commands/run-on-cloud.js'; +import { runActorOrTaskOnCloud, SharedRunOnCloudFlags } from '../../lib/commands/run-on-cloud.js'; import { CommandExitCodes, LOCAL_CONFIG_PATH } from '../../lib/consts.js'; import { error, simpleLog } from '../../lib/outputs.js'; import { getLocalConfig, getLocalUserInfo, getLoggedClientOrThrow, TimestampFormatter } from '../../lib/utils.js'; diff --git a/src/commands/actors/ls.ts b/src/commands/actors/ls.ts index ee2a919b6..dc92f24a4 100644 --- a/src/commands/actors/ls.ts +++ b/src/commands/actors/ls.ts @@ -1,9 +1,10 @@ -import type { ACTOR_JOB_STATUSES } from '@apify/consts'; import { Flags } from '@oclif/core'; import { Time } from '@sapphire/duration'; import type { Actor, ActorRunListItem, ActorTaggedBuild, PaginatedList } from 'apify-client'; import chalk from 'chalk'; +import type { ACTOR_JOB_STATUSES } from '@apify/consts'; + import { ApifyCommand } from '../../lib/apify_command.js'; import { prettyPrintStatus } from '../../lib/commands/pretty-print-status.js'; import { CompactMode, kSkipColumn, ResponsiveTable } from '../../lib/commands/responsive-table.js'; diff --git a/src/commands/actors/push.ts b/src/commands/actors/push.ts index abf89cfac..9a4d7bb87 100644 --- a/src/commands/actors/push.ts +++ b/src/commands/actors/push.ts @@ -1,15 +1,16 @@ -import { readFileSync, unlinkSync, statSync } from 'node:fs'; +import { readFileSync, statSync, unlinkSync } from 'node:fs'; import { join, resolve } from 'node:path'; import process from 'node:process'; -import { fetchManifest } from '@apify/actor-templates'; -import { ACTOR_JOB_STATUSES, ACTOR_SOURCE_TYPES, MAX_MULTIFILE_BYTES } from '@apify/consts'; import { Args, Flags } from '@oclif/core'; import type { Actor, ActorCollectionCreateOptions, ActorDefaultRunOptions } from 'apify-client'; import inquirer from 'inquirer'; import isCI from 'is-ci'; import open from 'open'; +import { fetchManifest } from '@apify/actor-templates'; +import { ACTOR_JOB_STATUSES, ACTOR_SOURCE_TYPES, MAX_MULTIFILE_BYTES } from '@apify/consts'; + import { ApifyCommand } from '../../lib/apify_command.js'; import { CommandExitCodes, DEPRECATED_LOCAL_CONFIG_NAME, LOCAL_CONFIG_PATH } from '../../lib/consts.js'; import { sumFilesSizeInBytes } from '../../lib/files.js'; diff --git a/src/commands/actors/rm.ts b/src/commands/actors/rm.ts index f700b2dca..4c5636e6d 100644 --- a/src/commands/actors/rm.ts +++ b/src/commands/actors/rm.ts @@ -3,8 +3,8 @@ import type { ApifyApiError } from 'apify-client'; import { ApifyCommand } from '../../lib/apify_command.js'; import { error, info, success } from '../../lib/outputs.js'; -import { confirmAction } from '../../lib/utils/confirm.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; +import { confirmAction } from '../../lib/utils/confirm.js'; export class ActorRmCommand extends ApifyCommand { static override description = 'Permanently removes an Actor from your account.'; diff --git a/src/commands/actors/start.ts b/src/commands/actors/start.ts index ff59482ac..6b80ed342 100644 --- a/src/commands/actors/start.ts +++ b/src/commands/actors/start.ts @@ -2,13 +2,13 @@ import { Args, Flags } from '@oclif/core'; import type { ActorRun, ActorStartOptions, ActorTaggedBuild } from 'apify-client'; import chalk from 'chalk'; -import { ActorsCallCommand } from './call.js'; import { ApifyCommand } from '../../lib/apify_command.js'; import { getInputOverride } from '../../lib/commands/resolve-input.js'; import { runActorOrTaskOnCloud, SharedRunOnCloudFlags } from '../../lib/commands/run-on-cloud.js'; import { LOCAL_CONFIG_PATH } from '../../lib/consts.js'; import { simpleLog } from '../../lib/outputs.js'; import { getLocalConfig, getLocalUserInfo, getLoggedClientOrThrow, TimestampFormatter } from '../../lib/utils.js'; +import { ActorsCallCommand } from './call.js'; export class ActorsStartCommand extends ApifyCommand { static override description = diff --git a/src/commands/builds/rm.ts b/src/commands/builds/rm.ts index 4838332e5..22bedd3c7 100644 --- a/src/commands/builds/rm.ts +++ b/src/commands/builds/rm.ts @@ -3,8 +3,8 @@ import type { ActorTaggedBuild, ApifyApiError } from 'apify-client'; import { ApifyCommand } from '../../lib/apify_command.js'; import { error, info, success } from '../../lib/outputs.js'; -import { confirmAction } from '../../lib/utils/confirm.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; +import { confirmAction } from '../../lib/utils/confirm.js'; export class BuildsRmCommand extends ApifyCommand { static override description = 'Permanently removes an Actor build from the Apify platform.'; diff --git a/src/commands/create.ts b/src/commands/create.ts index b5d75fb61..099b3b07a 100644 --- a/src/commands/create.ts +++ b/src/commands/create.ts @@ -2,10 +2,11 @@ import { mkdir, readdir, stat } from 'node:fs/promises'; import { join } from 'node:path'; import process from 'node:process'; -import { fetchManifest, manifestUrl } from '@apify/actor-templates'; import { Args, Flags } from '@oclif/core'; import { gte, minVersion } from 'semver'; +import { fetchManifest, manifestUrl } from '@apify/actor-templates'; + import { ApifyCommand } from '../lib/apify_command.js'; import { EMPTY_LOCAL_CONFIG, @@ -84,7 +85,6 @@ export class CreateCommand extends ApifyCommand { const cwd = process.cwd(); let actFolderDir = join(cwd, actorName); - // eslint-disable-next-line no-constant-condition while (true) { const folderExists = await stat(actFolderDir).catch(() => null); const folderHasFiles = @@ -182,7 +182,6 @@ export class CreateCommand extends ApifyCommand { return; } - // eslint-disable-next-line prefer-destructuring let runtime = project.runtime; switch (project.type) { diff --git a/src/commands/datasets/push-items.ts b/src/commands/datasets/push-items.ts index 87999ed16..5d7c7c7f2 100644 --- a/src/commands/datasets/push-items.ts +++ b/src/commands/datasets/push-items.ts @@ -38,7 +38,7 @@ export class DatasetsPushDataCommand extends ApifyCommand | Array>; + let parsedData: Record | Record[]; const item = _item || (await readStdin(process.stdin)); diff --git a/src/commands/datasets/rm.ts b/src/commands/datasets/rm.ts index ceb185b88..7e8157fd3 100644 --- a/src/commands/datasets/rm.ts +++ b/src/commands/datasets/rm.ts @@ -5,8 +5,8 @@ import chalk from 'chalk'; import { ApifyCommand } from '../../lib/apify_command.js'; import { tryToGetDataset } from '../../lib/commands/storages.js'; import { error, info, success } from '../../lib/outputs.js'; -import { confirmAction } from '../../lib/utils/confirm.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; +import { confirmAction } from '../../lib/utils/confirm.js'; export class DatasetsRmCommand extends ApifyCommand { static override description = 'Permanently removes a dataset.'; diff --git a/src/commands/edit-input-schema.ts b/src/commands/edit-input-schema.ts index cc81ad442..ed1788f41 100644 --- a/src/commands/edit-input-schema.ts +++ b/src/commands/edit-input-schema.ts @@ -1,15 +1,16 @@ -import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs'; -import { Server } from 'http'; -import { AddressInfo } from 'net'; -import { dirname } from 'path'; +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; +import type { Server } from 'node:http'; +import type { AddressInfo } from 'node:net'; +import { dirname } from 'node:path'; -import { cryptoRandomObjectId } from '@apify/utilities'; import { Args } from '@oclif/core'; import cors from 'cors'; import detectIndent from 'detect-indent'; import express from 'express'; import open from 'open'; +import { cryptoRandomObjectId } from '@apify/utilities'; + import { ApifyCommand } from '../lib/apify_command.js'; import { LOCAL_CONFIG_PATH } from '../lib/consts.js'; import { readInputSchema } from '../lib/input_schema.js'; diff --git a/src/commands/key-value-stores/delete-value.ts b/src/commands/key-value-stores/delete-value.ts index 4040d7028..b94b21254 100644 --- a/src/commands/key-value-stores/delete-value.ts +++ b/src/commands/key-value-stores/delete-value.ts @@ -5,8 +5,8 @@ import chalk from 'chalk'; import { ApifyCommand } from '../../lib/apify_command.js'; import { tryToGetKeyValueStore } from '../../lib/commands/storages.js'; import { error, info } from '../../lib/outputs.js'; -import { confirmAction } from '../../lib/utils/confirm.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; +import { confirmAction } from '../../lib/utils/confirm.js'; export class KeyValueStoresDeleteValueCommand extends ApifyCommand { static override description = 'Delete a value from a key-value store.'; diff --git a/src/commands/key-value-stores/rm.ts b/src/commands/key-value-stores/rm.ts index e383c3937..1743aeb97 100644 --- a/src/commands/key-value-stores/rm.ts +++ b/src/commands/key-value-stores/rm.ts @@ -5,8 +5,8 @@ import chalk from 'chalk'; import { ApifyCommand } from '../../lib/apify_command.js'; import { tryToGetKeyValueStore } from '../../lib/commands/storages.js'; import { error, info, success } from '../../lib/outputs.js'; -import { confirmAction } from '../../lib/utils/confirm.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; +import { confirmAction } from '../../lib/utils/confirm.js'; export class KeyValueStoresRmCommand extends ApifyCommand { static override description = 'Permanently removes a key-value store.'; diff --git a/src/commands/login.ts b/src/commands/login.ts index 8c7970238..cf45598d2 100644 --- a/src/commands/login.ts +++ b/src/commands/login.ts @@ -1,7 +1,6 @@ -import type { Server } from 'http'; -import type { AddressInfo } from 'net'; +import type { Server } from 'node:http'; +import type { AddressInfo } from 'node:net'; -import { cryptoRandomObjectId } from '@apify/utilities'; import { Flags } from '@oclif/core'; import computerName from 'computer-name'; import cors from 'cors'; @@ -9,6 +8,8 @@ import express from 'express'; import inquirer from 'inquirer'; import open from 'open'; +import { cryptoRandomObjectId } from '@apify/utilities'; + import { ApifyCommand } from '../lib/apify_command.js'; import { error, info, success } from '../lib/outputs.js'; import { useApifyIdentity } from '../lib/telemetry.js'; diff --git a/src/commands/run.ts b/src/commands/run.ts index d5873911b..4cb90a356 100644 --- a/src/commands/run.ts +++ b/src/commands/run.ts @@ -3,12 +3,13 @@ import { mkdir, readFile, stat, writeFile } from 'node:fs/promises'; import { dirname, join } from 'node:path'; import process from 'node:process'; -import { APIFY_ENV_VARS } from '@apify/consts'; -import { validateInputSchema, validateInputUsingValidator } from '@apify/input_schema'; import { Flags } from '@oclif/core'; import mime from 'mime'; import { minVersion } from 'semver'; +import { APIFY_ENV_VARS } from '@apify/consts'; +import { validateInputSchema, validateInputUsingValidator } from '@apify/input_schema'; + import { ApifyCommand } from '../lib/apify_command.js'; import { getInputOverride } from '../lib/commands/resolve-input.js'; import { diff --git a/src/commands/runs/abort.ts b/src/commands/runs/abort.ts index fe7147287..6ab6de357 100644 --- a/src/commands/runs/abort.ts +++ b/src/commands/runs/abort.ts @@ -1,7 +1,8 @@ -import { ACTOR_JOB_STATUSES } from '@apify/consts'; import { Args, Flags } from '@oclif/core'; import type { ApifyApiError } from 'apify-client'; +import { ACTOR_JOB_STATUSES } from '@apify/consts'; + import { ApifyCommand } from '../../lib/apify_command.js'; import { error, success } from '../../lib/outputs.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; diff --git a/src/commands/runs/resurrect.ts b/src/commands/runs/resurrect.ts index 1eb0b09e1..1ec47e77b 100644 --- a/src/commands/runs/resurrect.ts +++ b/src/commands/runs/resurrect.ts @@ -1,7 +1,8 @@ -import { ACTOR_JOB_STATUSES } from '@apify/consts'; import { Args } from '@oclif/core'; import type { ApifyApiError } from 'apify-client'; +import { ACTOR_JOB_STATUSES } from '@apify/consts'; + import { ApifyCommand } from '../../lib/apify_command.js'; import { error, success } from '../../lib/outputs.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; diff --git a/src/commands/runs/rm.ts b/src/commands/runs/rm.ts index f45c4b33d..aa26d7e6f 100644 --- a/src/commands/runs/rm.ts +++ b/src/commands/runs/rm.ts @@ -1,11 +1,12 @@ -import { ACTOR_JOB_STATUSES } from '@apify/consts'; import { Args } from '@oclif/core'; import type { ApifyApiError } from 'apify-client'; +import { ACTOR_JOB_STATUSES } from '@apify/consts'; + import { ApifyCommand } from '../../lib/apify_command.js'; import { error, info, success } from '../../lib/outputs.js'; -import { confirmAction } from '../../lib/utils/confirm.js'; import { getLoggedClientOrThrow } from '../../lib/utils.js'; +import { confirmAction } from '../../lib/utils/confirm.js'; const deletableStatuses = [ ACTOR_JOB_STATUSES.SUCCEEDED, diff --git a/src/commands/task/run.ts b/src/commands/task/run.ts index be978d7af..c37bea4d3 100644 --- a/src/commands/task/run.ts +++ b/src/commands/task/run.ts @@ -3,7 +3,7 @@ import type { ApifyClient, TaskStartOptions } from 'apify-client'; import chalk from 'chalk'; import { ApifyCommand } from '../../lib/apify_command.js'; -import { SharedRunOnCloudFlags, runActorOrTaskOnCloud } from '../../lib/commands/run-on-cloud.js'; +import { runActorOrTaskOnCloud, SharedRunOnCloudFlags } from '../../lib/commands/run-on-cloud.js'; import { simpleLog } from '../../lib/outputs.js'; import { getLocalUserInfo, getLoggedClientOrThrow } from '../../lib/utils.js'; diff --git a/src/commands/validate-schema.ts b/src/commands/validate-schema.ts index 767049162..30bbda521 100644 --- a/src/commands/validate-schema.ts +++ b/src/commands/validate-schema.ts @@ -1,8 +1,9 @@ import process from 'node:process'; -import { validateInputSchema } from '@apify/input_schema'; import { Args } from '@oclif/core'; +import { validateInputSchema } from '@apify/input_schema'; + import { ApifyCommand } from '../lib/apify_command.js'; import { LOCAL_CONFIG_PATH } from '../lib/consts.js'; import { readInputSchema } from '../lib/input_schema.js'; diff --git a/src/hooks/deprecations.ts b/src/hooks/deprecations.ts index 1c28ee1a6..4a3da8255 100644 --- a/src/hooks/deprecations.ts +++ b/src/hooks/deprecations.ts @@ -1,6 +1,6 @@ import process from 'node:process'; -import { Hook } from '@oclif/core'; +import type { Hook } from '@oclif/core'; import { warning } from '../lib/outputs.js'; diff --git a/src/hooks/init.ts b/src/hooks/init.ts index f29cc8f18..29a65a42e 100644 --- a/src/hooks/init.ts +++ b/src/hooks/init.ts @@ -1,6 +1,6 @@ -import { Hook } from '@oclif/core'; +import type { Hook } from '@oclif/core'; -import { SKIP_UPDATE_CHECK, checkLatestVersion } from '../lib/version_check.js'; +import { checkLatestVersion, SKIP_UPDATE_CHECK } from '../lib/version_check.js'; /** * This code'll be call before each commmand run diff --git a/src/lib/actor.ts b/src/lib/actor.ts index 48ff82758..6988b3d1b 100644 --- a/src/lib/actor.ts +++ b/src/lib/actor.ts @@ -1,13 +1,16 @@ import process from 'node:process'; import { pipeline } from 'node:stream/promises'; -import { ACTOR_ENV_VARS, APIFY_ENV_VARS, KEY_VALUE_STORE_KEYS, LOCAL_ACTOR_ENV_VARS } from '@apify/consts'; -import { MemoryStorage, MemoryStorageOptions } from '@crawlee/memory-storage'; -import { StorageClient } from '@crawlee/types'; -import { ApifyClient, ApifyClientOptions } from 'apify-client'; +import type { MemoryStorageOptions } from '@crawlee/memory-storage'; +import { MemoryStorage } from '@crawlee/memory-storage'; +import type { StorageClient } from '@crawlee/types'; +import type { ApifyClientOptions } from 'apify-client'; +import { ApifyClient } from 'apify-client'; // Will this work, who knows import ow from 'ow'; +import { ACTOR_ENV_VARS, APIFY_ENV_VARS, KEY_VALUE_STORE_KEYS, LOCAL_ACTOR_ENV_VARS } from '@apify/consts'; + import { getApifyClientOptions, getLocalStorageDir, getLocalUserInfo } from './utils.js'; export const APIFY_STORAGE_TYPES = { diff --git a/src/lib/apify_command.ts b/src/lib/apify_command.ts index 7df71b9d6..ef0dcb765 100644 --- a/src/lib/apify_command.ts +++ b/src/lib/apify_command.ts @@ -5,7 +5,7 @@ import { Command, type Interfaces, loadHelpClass } from '@oclif/core'; import { COMMANDS_WITHIN_ACTOR, LANGUAGE } from './consts.js'; import { ProjectLanguage, useCwdProject } from './hooks/useCwdProject.js'; import { maybeTrackTelemetry } from './telemetry.js'; -import { type KeysToCamelCase, argsToCamelCase } from './utils.js'; +import { argsToCamelCase, type KeysToCamelCase } from './utils.js'; import { detectInstallationType } from './version_check.js'; export type ApifyFlags = KeysToCamelCase>; diff --git a/src/lib/commands/pretty-print-status.ts b/src/lib/commands/pretty-print-status.ts index 5ee635a45..3d9b35088 100644 --- a/src/lib/commands/pretty-print-status.ts +++ b/src/lib/commands/pretty-print-status.ts @@ -1,6 +1,7 @@ -import type { ACTOR_JOB_STATUSES, ACTOR_JOB_TERMINAL_STATUSES } from '@apify/consts'; import chalk from 'chalk'; +import type { ACTOR_JOB_STATUSES, ACTOR_JOB_TERMINAL_STATUSES } from '@apify/consts'; + // TIMED-OUT -> Timed Out // ABORTED -> Aborted export function prettyPrintStatus( diff --git a/src/lib/commands/resolve-input.ts b/src/lib/commands/resolve-input.ts index 82110b53b..51d02a779 100644 --- a/src/lib/commands/resolve-input.ts +++ b/src/lib/commands/resolve-input.ts @@ -4,10 +4,10 @@ import process from 'node:process'; import mime from 'mime'; -import { readStdin } from './read-stdin.js'; import { CommandExitCodes } from '../consts.js'; import { error } from '../outputs.js'; import { getLocalInput } from '../utils.js'; +import { readStdin } from './read-stdin.js'; export function resolveInput(cwd: string, inputOverride: Record | undefined) { let inputToUse: Record | undefined; diff --git a/src/lib/commands/run-on-cloud.ts b/src/lib/commands/run-on-cloud.ts index faca17df1..a066668b9 100644 --- a/src/lib/commands/run-on-cloud.ts +++ b/src/lib/commands/run-on-cloud.ts @@ -1,14 +1,15 @@ import process from 'node:process'; -import { ACTOR_JOB_STATUSES } from '@apify/consts'; import { Flags } from '@oclif/core'; import type { ActorRun, ApifyClient, TaskStartOptions } from 'apify-client'; import chalk from 'chalk'; -import { resolveInput } from './resolve-input.js'; +import { ACTOR_JOB_STATUSES } from '@apify/consts'; + import { CommandExitCodes } from '../consts.js'; import { error, run as runLog, success, warning } from '../outputs.js'; import { outputJobLog } from '../utils.js'; +import { resolveInput } from './resolve-input.js'; const TerminalStatuses = [ ACTOR_JOB_STATUSES.SUCCEEDED, @@ -80,7 +81,6 @@ export async function* runActorOrTaskOnCloud(apifyClient: ApifyClient, options: } else { run = await apifyClient[clientMethod](actorOrTaskData.id).start(undefined, runOptions); } - // eslint-disable-next-line @typescript-eslint/no-explicit-any } catch (err: any) { // TODO: Better error message in apify-client-js if (err.type === 'record-not-found') { diff --git a/src/lib/consts.ts b/src/lib/consts.ts index f3151b7b6..73df9eaa0 100644 --- a/src/lib/consts.ts +++ b/src/lib/consts.ts @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/no-duplicate-enum-values */ -/* eslint-disable no-underscore-dangle */ import { readFileSync } from 'node:fs'; import { homedir } from 'node:os'; diff --git a/src/lib/create-utils.ts b/src/lib/create-utils.ts index 5d5679000..6c1847117 100644 --- a/src/lib/create-utils.ts +++ b/src/lib/create-utils.ts @@ -1,10 +1,11 @@ import { createWriteStream } from 'node:fs'; import { pipeline } from 'node:stream/promises'; -import type { Manifest, Template } from '@apify/actor-templates'; import chalk from 'chalk'; import inquirer from 'inquirer'; +import type { Manifest, Template } from '@apify/actor-templates'; + import { warning } from './outputs.js'; import { httpsGet, validateActorName } from './utils.js'; @@ -66,7 +67,7 @@ export const enhanceReadmeWithLocalSuffix = async (readmePath: string, manifestP */ async function executePrompts(manifest: Manifest) { const programmingLanguage = await promptProgrammingLanguage(); - // eslint-disable-next-line no-constant-condition + while (true) { const templateDefinition = await promptTemplateDefinition(manifest, programmingLanguage); if (templateDefinition) { diff --git a/src/lib/exec.ts b/src/lib/exec.ts index 425e65ebe..7c9812123 100644 --- a/src/lib/exec.ts +++ b/src/lib/exec.ts @@ -1,4 +1,4 @@ -import { type SpawnOptions, type SpawnOptionsWithoutStdio, spawn } from 'node:child_process'; +import { spawn, type SpawnOptions, type SpawnOptionsWithoutStdio } from 'node:child_process'; import { normalizeExecutablePath } from './hooks/runtimes/utils.js'; import { run } from './outputs.js'; diff --git a/src/lib/files.ts b/src/lib/files.ts index 2c584b2a6..e1a565b45 100644 --- a/src/lib/files.ts +++ b/src/lib/files.ts @@ -10,7 +10,7 @@ export const updateLocalJson = async ( nestedObjectAttr = null, ) => { const raw = await readFile(jsonFilePath, 'utf-8'); - // eslint-disable-next-line @typescript-eslint/no-explicit-any + const currentObject = JSON.parse(raw) as Record; let newObject: Record; diff --git a/src/lib/hooks/runtimes/javascript.ts b/src/lib/hooks/runtimes/javascript.ts index 57ccb5f20..9213e3cc5 100644 --- a/src/lib/hooks/runtimes/javascript.ts +++ b/src/lib/hooks/runtimes/javascript.ts @@ -1,12 +1,12 @@ import process from 'node:process'; -import { none, some, type Option } from '@sapphire/result'; +import { none, type Option, some } from '@sapphire/result'; import { execa } from 'execa'; import which from 'which'; +import { cliDebugPrint } from '../../utils/cliDebugPrint.js'; import type { Runtime } from '../useCwdProject.js'; import { normalizeExecutablePath } from './utils.js'; -import { cliDebugPrint } from '../../utils/cliDebugPrint.js'; const cwdCache = new Map>(); diff --git a/src/lib/hooks/runtimes/python.ts b/src/lib/hooks/runtimes/python.ts index 65a102bdc..38d4d7c10 100644 --- a/src/lib/hooks/runtimes/python.ts +++ b/src/lib/hooks/runtimes/python.ts @@ -2,13 +2,13 @@ import { platform } from 'node:os'; import { join } from 'node:path'; import process from 'node:process'; -import { none, some, type Option } from '@sapphire/result'; +import { none, type Option, some } from '@sapphire/result'; import { execa } from 'execa'; import which from 'which'; +import { cliDebugPrint } from '../../utils/cliDebugPrint.js'; import type { Runtime } from '../useCwdProject.js'; import { normalizeExecutablePath } from './utils.js'; -import { cliDebugPrint } from '../../utils/cliDebugPrint.js'; const cwdCache = new Map>(); diff --git a/src/lib/hooks/useActorConfig.ts b/src/lib/hooks/useActorConfig.ts index 4d565a72c..a9b62d414 100644 --- a/src/lib/hooks/useActorConfig.ts +++ b/src/lib/hooks/useActorConfig.ts @@ -7,18 +7,18 @@ import { err, ok, type Result } from '@sapphire/result'; import { ACTOR_SPECIFICATION_VERSION, DEPRECATED_LOCAL_CONFIG_NAME } from '../consts.js'; import { error, info, warning } from '../outputs.js'; +import { getJsonFileContent, getLocalConfigPath } from '../utils.js'; import { cliDebugPrint } from '../utils/cliDebugPrint.js'; import { confirmAction } from '../utils/confirm.js'; -import { getJsonFileContent, getLocalConfigPath } from '../utils.js'; const getDeprecatedLocalConfigPath = (cwd: string) => join(cwd, DEPRECATED_LOCAL_CONFIG_NAME); -export type ActorConfigError = { +export interface ActorConfigError { message: string; cause?: Error; exists: boolean; config: Record; -}; +} export interface ActorConfigResult { exists: boolean; @@ -219,7 +219,7 @@ async function handleMigrationFlow( /** * Migration for deprecated structure of apify.json to latest. */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any + function updateLocalConfigStructure(localConfig: any) { const updatedLocalConfig: Record = { name: localConfig.name, diff --git a/src/lib/hooks/useCwdProject.ts b/src/lib/hooks/useCwdProject.ts index 88b7ab916..2513729fe 100644 --- a/src/lib/hooks/useCwdProject.ts +++ b/src/lib/hooks/useCwdProject.ts @@ -4,10 +4,10 @@ import process from 'node:process'; import { ok, type Result } from '@sapphire/result'; -import { useJavaScriptRuntime } from './runtimes/javascript.js'; -import { usePythonRuntime } from './runtimes/python.js'; import { ScrapyProjectAnalyzer } from '../projects/scrapy/ScrapyProjectAnalyzer.js'; import { cliDebugPrint } from '../utils/cliDebugPrint.js'; +import { useJavaScriptRuntime } from './runtimes/javascript.js'; +import { usePythonRuntime } from './runtimes/python.js'; export enum ProjectLanguage { JavaScript = 0, diff --git a/src/lib/hooks/useModuleVersion.ts b/src/lib/hooks/useModuleVersion.ts index 1b6de39b1..e2c4e5523 100644 --- a/src/lib/hooks/useModuleVersion.ts +++ b/src/lib/hooks/useModuleVersion.ts @@ -1,8 +1,8 @@ -import { none, some, type Option } from '@sapphire/result'; +import { none, type Option, some } from '@sapphire/result'; import { execa } from 'execa'; -import { ProjectLanguage, type CwdProject } from './useCwdProject.js'; import { cliDebugPrint } from '../utils/cliDebugPrint.js'; +import { type CwdProject, ProjectLanguage } from './useCwdProject.js'; export interface UseModuleVersionInput { moduleName: string; diff --git a/src/lib/input_schema.ts b/src/lib/input_schema.ts index 0cb53dd49..b25a357aa 100644 --- a/src/lib/input_schema.ts +++ b/src/lib/input_schema.ts @@ -1,11 +1,11 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import { existsSync, writeFileSync } from 'node:fs'; import { join } from 'node:path'; import process from 'node:process'; +import deepClone from 'lodash.clonedeep'; + import { KEY_VALUE_STORE_KEYS } from '@apify/consts'; import { validateInputSchema } from '@apify/input_schema'; -import deepClone from 'lodash.clonedeep'; import { ACTOR_SPECIFICATION_FOLDER } from './consts.js'; import { warning } from './outputs.js'; diff --git a/src/lib/projects/scrapy/wrapScrapyProject.ts b/src/lib/projects/scrapy/wrapScrapyProject.ts index 1bb2390eb..9c8f69476 100644 --- a/src/lib/projects/scrapy/wrapScrapyProject.ts +++ b/src/lib/projects/scrapy/wrapScrapyProject.ts @@ -11,15 +11,16 @@ import { import { basename, join, relative, sep } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { fetchManifest, wrapperManifestUrl } from '@apify/actor-templates'; import rootWalk from '@root/walk'; import ConfigParser from 'configparser'; import Handlebars from 'handlebars'; import inquirer from 'inquirer'; -import { ScrapyProjectAnalyzer } from './ScrapyProjectAnalyzer.js'; +import { fetchManifest, wrapperManifestUrl } from '@apify/actor-templates'; + import { info, success } from '../../outputs.js'; import { downloadAndUnzip, sanitizeActorName } from '../../utils.js'; +import { ScrapyProjectAnalyzer } from './ScrapyProjectAnalyzer.js'; /** * Files that should be concatenated instead of copied (and overwritten). diff --git a/src/lib/telemetry.ts b/src/lib/telemetry.ts index a12c4c31f..aa10d9774 100644 --- a/src/lib/telemetry.ts +++ b/src/lib/telemetry.ts @@ -1,9 +1,10 @@ import { readFileSync, writeFileSync } from 'node:fs'; import { promisify } from 'node:util'; -import { cryptoRandomObjectId } from '@apify/utilities'; import Mixpanel, { type PropertyDict } from 'mixpanel'; +import { cryptoRandomObjectId } from '@apify/utilities'; + import { MIXPANEL_TOKEN, TELEMETRY_FILE_PATH } from './consts.js'; import { info } from './outputs.js'; import { ensureApifyDirectory, getLocalUserInfo } from './utils.js'; diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 4a056baeb..9f70b771b 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,4 +1,4 @@ -import { createWriteStream, existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'; +import { createWriteStream, existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; import { mkdir, readFile } from 'node:fs/promises'; import type { IncomingMessage } from 'node:http'; import { get } from 'node:https'; @@ -6,16 +6,6 @@ import { dirname, join } from 'node:path'; import process from 'node:process'; import { finished } from 'node:stream/promises'; -import { - ACTOR_ENV_VARS, - ACTOR_JOB_TERMINAL_STATUSES, - ACTOR_NAME, - APIFY_ENV_VARS, - KEY_VALUE_STORE_KEYS, - LOCAL_ACTOR_ENV_VARS, - LOCAL_STORAGE_SUBDIRS, - SOURCE_FILE_FORMATS, -} from '@apify/consts'; import { DurationFormatter as SapphireDurationFormatter, TimeTypes } from '@sapphire/duration'; import { Timestamp } from '@sapphire/timestamp'; import AdmZip from 'adm-zip'; @@ -31,14 +21,25 @@ import otherMimes from 'mime/types/other.js'; import standardMimes from 'mime/types/standard.js'; import { gte, minVersion, satisfies } from 'semver'; +import { + ACTOR_ENV_VARS, + ACTOR_JOB_TERMINAL_STATUSES, + ACTOR_NAME, + APIFY_ENV_VARS, + KEY_VALUE_STORE_KEYS, + LOCAL_ACTOR_ENV_VARS, + LOCAL_STORAGE_SUBDIRS, + SOURCE_FILE_FORMATS, +} from '@apify/consts'; + import { APIFY_CLIENT_DEFAULT_HEADERS, AUTH_FILE_PATH, DEFAULT_LOCAL_STORAGE_DIR, GLOBAL_CONFIGS_FOLDER, INPUT_FILE_REG_EXP, - LOCAL_CONFIG_PATH, type Language, + LOCAL_CONFIG_PATH, MINIMUM_SUPPORTED_PYTHON_VERSION, SUPPORTED_NODEJS_VERSION, } from './consts.js'; diff --git a/test/__setup__/build-utils.ts b/test/__setup__/build-utils.ts index 081c587c1..b0b60462f 100644 --- a/test/__setup__/build-utils.ts +++ b/test/__setup__/build-utils.ts @@ -1,5 +1,6 @@ +import type { ApifyClient } from 'apify-client'; + import { ACTOR_JOB_STATUSES } from '@apify/consts'; -import { ApifyClient } from 'apify-client'; /** * Waits for the build to finish diff --git a/test/__setup__/hooks/useProcessMock.ts b/test/__setup__/hooks/useProcessMock.ts index 7623db8ed..5b087762b 100644 --- a/test/__setup__/hooks/useProcessMock.ts +++ b/test/__setup__/hooks/useProcessMock.ts @@ -1,4 +1,5 @@ -import { MockSTDIN, stdin as fstdin } from 'mock-stdin'; +import type { MockSTDIN } from 'mock-stdin'; +import { stdin as fstdin } from 'mock-stdin'; interface ProcessMockOptions { cwdMock: () => string; @@ -28,7 +29,7 @@ export function useProcessMock({ cwdMock, mockStdin }: ProcessMockOptions) { }); vitest.doMock('process', async () => { - const actual = await import('process'); + const actual = await import('node:process'); return { ...actual, diff --git a/test/__setup__/hooks/useTempPath.ts b/test/__setup__/hooks/useTempPath.ts index 03beafbad..268d7ab0a 100644 --- a/test/__setup__/hooks/useTempPath.ts +++ b/test/__setup__/hooks/useTempPath.ts @@ -2,10 +2,10 @@ import { mkdir } from 'node:fs/promises'; import { join } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { MockSTDIN } from 'mock-stdin'; +import type { MockSTDIN } from 'mock-stdin'; -import { useProcessMock } from './useProcessMock.js'; import { rimrafPromised } from '../../../src/lib/files.js'; +import { useProcessMock } from './useProcessMock.js'; export interface UseTempPathOptions { /** diff --git a/test/__setup__/hooks/withRetries.ts b/test/__setup__/hooks/withRetries.ts index 06da7c918..1699aae7c 100644 --- a/test/__setup__/hooks/withRetries.ts +++ b/test/__setup__/hooks/withRetries.ts @@ -1,4 +1,4 @@ -export async function withRetries unknown>(func: T, retries: number = 3, delay: number = 1000) { +export async function withRetries unknown>(func: T, retries = 3, delay = 1000) { let result; for (let i = 0; i < retries; i++) { try { diff --git a/test/commands/call.test.ts b/test/commands/call.test.ts index 8674bd603..35f3b32a3 100644 --- a/test/commands/call.test.ts +++ b/test/commands/call.test.ts @@ -2,9 +2,10 @@ import { readFileSync, writeFileSync } from 'node:fs'; import { platform } from 'node:os'; import { fileURLToPath } from 'node:url'; -import { cryptoRandomObjectId } from '@apify/utilities'; import { captureOutput } from '@oclif/test'; +import { cryptoRandomObjectId } from '@apify/utilities'; + import { LoginCommand } from '../../src/commands/login.js'; import { getLocalKeyValueStorePath } from '../../src/lib/utils.js'; import { waitForBuildToFinishWithTimeout } from '../__setup__/build-utils.js'; diff --git a/test/commands/create.test.ts b/test/commands/create.test.ts index ff9fc9afe..a80f9d160 100644 --- a/test/commands/create.test.ts +++ b/test/commands/create.test.ts @@ -1,8 +1,9 @@ import { existsSync, readFileSync } from 'node:fs'; -import { KEY_VALUE_STORE_KEYS } from '@apify/consts'; import { runCommand } from '@oclif/test'; +import { KEY_VALUE_STORE_KEYS } from '@apify/consts'; + import { LOCAL_CONFIG_PATH } from '../../src/lib/consts.js'; import { getLocalKeyValueStorePath } from '../../src/lib/utils.js'; import { useTempPath } from '../__setup__/hooks/useTempPath.js'; diff --git a/test/commands/log_in_out.test.ts b/test/commands/log_in_out.test.ts index 6a23aac6b..ce62f81c7 100644 --- a/test/commands/log_in_out.test.ts +++ b/test/commands/log_in_out.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ import { existsSync, readFileSync } from 'node:fs'; import axios from 'axios'; diff --git a/test/commands/pull.test.ts b/test/commands/pull.test.ts index 48041513d..09ee9be00 100644 --- a/test/commands/pull.test.ts +++ b/test/commands/pull.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import { existsSync, readFileSync, writeFileSync } from 'node:fs'; import { mkdir, rm } from 'node:fs/promises'; import { join } from 'node:path'; diff --git a/test/commands/push.test.ts b/test/commands/push.test.ts index 87b46dffa..2061f769e 100644 --- a/test/commands/push.test.ts +++ b/test/commands/push.test.ts @@ -1,11 +1,11 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs'; import { mkdir, writeFile } from 'node:fs/promises'; import { platform } from 'node:os'; +import type { ActorCollectionCreateOptions } from 'apify-client'; + import { ACTOR_SOURCE_TYPES, SOURCE_FILE_FORMATS } from '@apify/consts'; import { cryptoRandomObjectId } from '@apify/utilities'; -import type { ActorCollectionCreateOptions } from 'apify-client'; import { LOCAL_CONFIG_PATH } from '../../src/lib/consts.js'; import { createSourceFiles, getActorLocalFilePaths, getLocalUserInfo } from '../../src/lib/utils.js'; diff --git a/test/commands/run.test.ts b/test/commands/run.test.ts index f6a42f555..36b1b3758 100644 --- a/test/commands/run.test.ts +++ b/test/commands/run.test.ts @@ -1,9 +1,10 @@ import { copyFileSync, existsSync, readFileSync, writeFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; -import { APIFY_ENV_VARS } from '@apify/consts'; import { captureOutput } from '@oclif/test'; +import { APIFY_ENV_VARS } from '@apify/consts'; + import { AUTH_FILE_PATH, EMPTY_LOCAL_CONFIG, LOCAL_CONFIG_PATH } from '../../src/lib/consts.js'; import { rimrafPromised } from '../../src/lib/files.js'; import { diff --git a/test/lib/actor.test.ts b/test/lib/actor.test.ts index dfe60ae57..39d668a8a 100644 --- a/test/lib/actor.test.ts +++ b/test/lib/actor.test.ts @@ -1,6 +1,7 @@ -import { APIFY_ENV_VARS } from '@apify/consts'; import { ApifyClient } from 'apify-client'; +import { APIFY_ENV_VARS } from '@apify/consts'; + import { getApifyStorageClient } from '../../src/lib/actor.js'; beforeAll(() => { diff --git a/test/python_support.test.ts b/test/python_support.test.ts index d1d03647b..efb1438f9 100644 --- a/test/python_support.test.ts +++ b/test/python_support.test.ts @@ -1,10 +1,10 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs'; import { rm } from 'node:fs/promises'; -import { useTempPath } from './__setup__/hooks/useTempPath.js'; -import { resetCwdCaches } from './__setup__/reset-cwd-caches.js'; import { usePythonRuntime } from '../src/lib/hooks/runtimes/python.js'; import { getLocalKeyValueStorePath } from '../src/lib/utils.js'; +import { useTempPath } from './__setup__/hooks/useTempPath.js'; +import { resetCwdCaches } from './__setup__/reset-cwd-caches.js'; const actorName = 'my-python-actor'; const PYTHON_START_TEMPLATE_ID = 'python-start'; diff --git a/test/utils.test.ts b/test/utils.test.ts index 79be84ddf..05aad00b7 100644 --- a/test/utils.test.ts +++ b/test/utils.test.ts @@ -1,11 +1,11 @@ import { existsSync, writeFileSync } from 'node:fs'; import { join } from 'node:path'; -import { useTempPath } from './__setup__/hooks/useTempPath.js'; -import { withRetries } from './__setup__/hooks/withRetries.js'; import { execWithLog } from '../src/lib/exec.js'; import { ensureFolderExistsSync } from '../src/lib/files.js'; import { argsToCamelCase, createActZip, getActorLocalFilePaths } from '../src/lib/utils.js'; +import { useTempPath } from './__setup__/hooks/useTempPath.js'; +import { withRetries } from './__setup__/hooks/withRetries.js'; const TEST_DIR = 'my-test-dir'; const FOLDERS = ['my_test', 'my_test/test_in_test', 'my_next_test', '.dot_test']; diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 373fe0dc1..80e45d7b2 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -11,6 +11,7 @@ "test", ".yarn/plugins/postinstallDev.cjs", "features/**/*.ts", - "scripts" + "scripts", + "eslint.config.mjs" ] } diff --git a/yarn.lock b/yarn.lock index a0b678923..0b781136a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -146,7 +146,7 @@ __metadata: languageName: node linkType: hard -"@apify/tsconfig@npm:^0.1.0": +"@apify/tsconfig@npm:^0.1.1": version: 0.1.1 resolution: "@apify/tsconfig@npm:0.1.1" checksum: 10c0/85b064b318ab71fc84a98d70b028ad510fe1be20452d057c0f4cda1b5c62cbe931e62f674ce927abda46c0b1cfc2f08f08a227b1d9385edb735d77b717dd9640 @@ -877,7 +877,7 @@ __metadata: languageName: node linkType: hard -"@biomejs/biome@npm:^1.8.3": +"@biomejs/biome@npm:^1.9.4": version: 1.9.4 resolution: "@biomejs/biome@npm:1.9.4" dependencies: @@ -1468,7 +1468,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 @@ -1487,38 +1487,88 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/config-array@npm:^0.20.0": + version: 0.20.0 + resolution: "@eslint/config-array@npm:0.20.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.6" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/94bc5d0abb96dc5295ff559925242ff75a54eacfb3576677e95917e42f7175e1c4b87bf039aa2a872f949b4852ad9724bf2f7529aaea6b98f28bb3fca7f1d659 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.2.1": + version: 0.2.1 + resolution: "@eslint/config-helpers@npm:0.2.1" + checksum: 10c0/3e829a78b0bb4f7c44384ba1df3986e5de24b7f440ad5c6bb3cfc366ded773a869ca9ee8d212b5a563ae94596c5940dea6fd2ea1ee53a84c6241ac953dcb8bb7 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.13.0": + version: 0.13.0 + resolution: "@eslint/core@npm:0.13.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/ba724a7df7ed9dab387481f11d0d0f708180f40be93acce2c21dacca625c5867de3528760c42f1c457ccefe6a669d525ff87b779017eabc0d33479a36300797b + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 +"@eslint/js@npm:9.25.1": + version: 9.25.1 + resolution: "@eslint/js@npm:9.25.1" + checksum: 10c0/87d86b512ab109bfd3b9317ced3220ea3d444ac3bfa7abd853ca7f724d72c36e213062f9def16a632365d97dc29e0094312e3682a9767590ee6f43b3d5d873fd languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.8": + version: 0.2.8 + resolution: "@eslint/plugin-kit@npm:0.2.8" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + "@eslint/core": "npm:^0.13.0" + levn: "npm:^0.4.1" + checksum: 10c0/554847c8f2b6bfe0e634f317fc43d0b54771eea0015c4f844f75915fdb9e6170c830c004291bad57db949d61771732e459f36ed059f45cf750af223f77357c5c + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 languageName: node linkType: hard @@ -1529,10 +1579,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.2": + version: 0.4.2 + resolution: "@humanwhocodes/retry@npm:0.4.2" + checksum: 10c0/0235525d38f243bee3bf8b25ed395fbf957fb51c08adae52787e1325673071abe856c7e18e530922ed2dd3ce12ed82ba01b8cee0279ac52a3315fcdc3a69ef0c languageName: node linkType: hard @@ -1926,7 +1983,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -2909,6 +2966,19 @@ __metadata: languageName: node linkType: hard +"@stylistic/eslint-plugin-ts@npm:^4.2.0": + version: 4.2.0 + resolution: "@stylistic/eslint-plugin-ts@npm:4.2.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.23.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + peerDependencies: + eslint: ">=9.0.0" + checksum: 10c0/018a0cf08f9cfbf48ff77d214ca5cb52a60ba8b4b70bda1af3eea8f9640e24ea7add694fd6bfd916566cc7a63635ba07d6fde4d1f298fc1a99bd6ab39c99a7c2 + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" @@ -3042,7 +3112,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.7, @types/estree@npm:^1.0.0": +"@types/estree@npm:1.0.7, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": version: 1.0.7 resolution: "@types/estree@npm:1.0.7" checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c @@ -3131,6 +3201,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -3349,128 +3426,115 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.0.2": - version: 7.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" +"@typescript-eslint/eslint-plugin@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.31.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/type-utils": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/type-utils": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.1" peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/7d78e0cdcc967742752d49d2d38986ee38d0b7ca64af247e5fe0816cea9ae5f1bfa5c126154acc0846af515c4fb1c52c96926ee25c73b4c3f7e6fd73cb6d2b0e languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.0.2": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" +"@typescript-eslint/parser@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/parser@npm:8.31.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/9bd903b3ea4e24bfeb444d7a5c2ed82e591ef5cffc0874c609de854c05d34935cd85543e66678ecdb8e0e3eae2cda2df5c1ba66eb72010632cb9f8779031d56d languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/scope-manager@npm:7.18.0" +"@typescript-eslint/scope-manager@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/scope-manager@npm:8.31.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + checksum: 10c0/eae758a24cc578fa351b8bf0c30c50de384292c0b05a58762f9b632d65a009bd5d902d806eccb6b678cc0b09686289fb4f1fd67da7f12d59ad43ff033b35cc4f languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/type-utils@npm:7.18.0" +"@typescript-eslint/type-utils@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/type-utils@npm:8.31.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.1" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/f6938413a583430468b259f6823bb2ab1b5cd77cd6d4e21e1803df70e329046b9579aed5bdc9bdcf4046c8091615a911ac3990859db78d00210bb867915ba37f languageName: node linkType: hard -"@typescript-eslint/types@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/types@npm:7.18.0" - checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 +"@typescript-eslint/types@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/types@npm:8.31.0" + checksum: 10c0/04130a30aac477d36d6a155399b27773457aeb9b485ef8fb56fee05725b6e36768c9fac7e4d1f073fd16988de0eb7dffc743c3f834ae907cf918cabb075e5cd8 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" +"@typescript-eslint/typescript-estree@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.31.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 + ts-api-utils: "npm:^2.0.1" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/0ec074b2b9c49f80fafea716aa0cc4b05085e65730a3ef7c7d2d39db1657a40b38abe83f22bbe15ac4f6fdf576692f47d2d057347242e6cef5be81d070f55064 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/utils@npm:7.18.0" +"@typescript-eslint/utils@npm:8.31.0, @typescript-eslint/utils@npm:^8.23.0": + version: 8.31.0 + resolution: "@typescript-eslint/utils@npm:8.31.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/1fd4f62e16a44a5be2de501f70ba4b2d64479e014370bde7bbc6de6897cf1699766a8b7be4deb9b0328e74c2b4171839336ede4e3c60fec6ac8378b623a75275 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" +"@typescript-eslint/visitor-keys@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.31.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.3.0 - resolution: "@ungap/structured-clone@npm:1.3.0" - checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + "@typescript-eslint/types": "npm:8.31.0" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/e41e2a9e287d11232cda6126377d1df4de69c6e9dc2a14058819cff15280ec654a3877886a6806728196f299766cfbb0b299eb021c2ce168eb15dff5eb07b51b languageName: node linkType: hard @@ -3811,7 +3875,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.14.0, acorn@npm:^8.9.0": +"acorn@npm:^8.14.0": version: 8.14.1 resolution: "acorn@npm:8.14.1" bin: @@ -3971,9 +4035,9 @@ __metadata: "@apify/eslint-config": "npm:^1.0.0" "@apify/eslint-config-ts": "npm:^0.4.1" "@apify/input_schema": "npm:^3.12.0" - "@apify/tsconfig": "npm:^0.1.0" + "@apify/tsconfig": "npm:^0.1.1" "@apify/utilities": "npm:^2.15.1" - "@biomejs/biome": "npm:^1.8.3" + "@biomejs/biome": "npm:^1.9.4" "@crawlee/memory-storage": "npm:^3.12.0" "@crawlee/types": "npm:^3.11.1" "@cucumber/cucumber": "npm:^11.0.0" @@ -3984,6 +4048,7 @@ __metadata: "@sapphire/duration": "npm:^1.1.2" "@sapphire/result": "npm:^2.7.2" "@sapphire/timestamp": "npm:^1.0.3" + "@stylistic/eslint-plugin-ts": "npm:^4.2.0" "@types/adm-zip": "npm:^0.5.5" "@types/archiver": "npm:^6.0.2" "@types/chai": "npm:^4.3.17" @@ -3999,8 +4064,6 @@ __metadata: "@types/node": "npm:^22.0.0" "@types/semver": "npm:^7.5.8" "@types/which": "npm:^3.0.4" - "@typescript-eslint/eslint-plugin": "npm:^7.0.2" - "@typescript-eslint/parser": "npm:^7.0.2" "@yarnpkg/core": "npm:^4.1.2" adm-zip: "npm:~0.5.15" ajv: "npm:~8.17.1" @@ -4017,8 +4080,8 @@ __metadata: cross-env: "npm:^7.0.3" detect-indent: "npm:~7.0.1" escape-string-regexp: "npm:~5.0.0" - eslint: "npm:^8.57.0" - eslint-config-prettier: "npm:^10.0.0" + eslint: "npm:^9.25.1" + eslint-config-prettier: "npm:^10.1.2" execa: "npm:^9.5.2" express: "npm:~5.1.0" globby: "npm:~14.1.0" @@ -4028,7 +4091,7 @@ __metadata: is-online: "npm:~11.0.0" istextorbinary: "npm:~9.5.0" jju: "npm:~1.4.0" - lint-staged: "npm:^15.2.8" + lint-staged: "npm:^15.5.1" lodash.clonedeep: "npm:^4.5.0" mdast-util-from-markdown: "npm:^2.0.2" mime: "npm:~4.0.4" @@ -4037,12 +4100,13 @@ __metadata: oclif: "npm:^4.14.15" open: "npm:~10.1.0" ow: "npm:~2.0.0" - prettier: "npm:^3.3.3" + prettier: "npm:^3.5.3" rimraf: "npm:~6.0.1" semver: "npm:~7.7.0" tiged: "npm:~2.12.7" tsx: "npm:^4.16.5" - typescript: "npm:^5.5.4" + typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.31.0" vitest: "npm:^3.0.0" which: "npm:^5.0.0" bin: @@ -5167,7 +5231,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -5454,15 +5518,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - "dom-serializer@npm:^2.0.0": version: 2.0.0 resolution: "dom-serializer@npm:2.0.0" @@ -6010,7 +6065,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^10.0.0": +"eslint-config-prettier@npm:^10.1.2": version: 10.1.2 resolution: "eslint-config-prettier@npm:10.1.2" peerDependencies: @@ -6184,79 +6239,88 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.3.0": + version: 8.3.0 + resolution: "eslint-scope@npm:8.3.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/23bf54345573201fdf06d29efa345ab508b355492f6c6cc9e2b9f6d02b896f369b6dd5315205be94b8853809776c4d13353b85c6b531997b164ff6c3328ecf5b languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard -"eslint@npm:^8.57.0": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + +"eslint@npm:^9.25.1": + version: 9.25.1 + resolution: "eslint@npm:9.25.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.20.0" + "@eslint/config-helpers": "npm:^0.2.1" + "@eslint/core": "npm:^0.13.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.25.1" + "@eslint/plugin-kit": "npm:^0.2.8" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.3.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + checksum: 10c0/3bb1997ae994253d441e56aba2fc64a71b3b8dce32756de3dedae5e85416ba33eb07e19ede94a6fa8ce7ef3a0a3b0dd8b6836f41be46a3ab52e5345ad59a553f languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.14.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 languageName: node linkType: hard @@ -6270,7 +6334,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": +"esquery@npm:^1.5.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -6472,7 +6536,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.3": +"fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -6579,12 +6643,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -6658,14 +6722,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard @@ -7084,12 +7147,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d languageName: node linkType: hard @@ -7934,7 +7995,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": +"is-path-inside@npm:^3.0.2": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 @@ -8384,7 +8445,7 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^15.2.8": +"lint-staged@npm:^15.5.1": version: 15.5.1 resolution: "lint-staged@npm:15.5.1" dependencies: @@ -9001,7 +9062,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -9970,7 +10031,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.3.3, prettier@npm:^3.5.3": +"prettier@npm:^3.5.3": version: 3.5.3 resolution: "prettier@npm:3.5.3" bin: @@ -10461,7 +10522,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:3.0.2, rimraf@npm:^3.0.2": +"rimraf@npm:3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -11443,13 +11504,6 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - "textextensions@npm:^6.11.0": version: 6.11.0 resolution: "textextensions@npm:6.11.0" @@ -11672,12 +11726,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.3.0": - version: 1.4.3 - resolution: "ts-api-utils@npm:1.4.3" +"ts-api-utils@npm:^2.0.1": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a + typescript: ">=4.8.4" + checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f languageName: node linkType: hard @@ -11755,13 +11809,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -11854,7 +11901,21 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.5.4": +"typescript-eslint@npm:^8.31.0": + version: 8.31.0 + resolution: "typescript-eslint@npm:8.31.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.31.0" + "@typescript-eslint/parser": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/8545887f70c4f40c4aee51d224326368f67ef5f770ba5ae9e67bfd36f4d9ab5f3414569ffaaec311893a312539934ea367a68135c6f2b0a3e175c3de59507338 + languageName: node + linkType: hard + +"typescript@npm:^5.8.3": version: 5.8.3 resolution: "typescript@npm:5.8.3" bin: @@ -11864,7 +11925,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": +"typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": version: 5.8.3 resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" bin: From 296dbbbb92cf3ca7deeca72b44d176b30c2e30fc Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Mon, 28 Apr 2025 08:37:23 +0300 Subject: [PATCH 3/5] chore: group formatting and linting on renovate --- package.json | 1 - renovate.json | 6 + yarn.lock | 679 ++------------------------------------------------ 3 files changed, 24 insertions(+), 662 deletions(-) diff --git a/package.json b/package.json index ad95088cd..9e3501a3d 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,6 @@ }, "devDependencies": { "@apify/eslint-config": "^1.0.0", - "@apify/eslint-config-ts": "^0.4.1", "@apify/tsconfig": "^0.1.1", "@biomejs/biome": "^1.9.4", "@crawlee/types": "^3.11.1", diff --git a/renovate.json b/renovate.json index fa56c1cff..916240c70 100644 --- a/renovate.json +++ b/renovate.json @@ -21,6 +21,12 @@ "groupSlug": "all-non-major", "automerge": true, "automergeType": "branch" + }, + { + "groupName": "eslint/prettier/biome", + "automerge": false, + "groupSlug": "formatting-linting-dependencies", + "matchPackageNames": ["/eslint/", "/prettier/", "/biome/"] } ], "schedule": ["every weekday"] diff --git a/yarn.lock b/yarn.lock index 0b781136a..e244ea4c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,42 +26,6 @@ __metadata: languageName: node linkType: hard -"@apify/eslint-config-ts@npm:^0.4.1": - version: 0.4.1 - resolution: "@apify/eslint-config-ts@npm:0.4.1" - dependencies: - "@apify/eslint-config": "npm:^0.4.0" - eslint-import-resolver-typescript: "npm:^3.6.1" - eslint-plugin-import: "npm:^2.29.0" - eslint-plugin-jsx-a11y: "npm:^6.7.1" - eslint-plugin-react: "npm:^7.33.2" - eslint-plugin-react-hooks: "npm:^4.6.0" - peerDependencies: - "@typescript-eslint/eslint-plugin": "*" - "@typescript-eslint/parser": "*" - eslint: "*" - typescript: "*" - checksum: 10c0/4c3695634280fec8878cc6e43538be5913deec9b49cd4bfbe2e1b70a8eb4d449ec1bdde3e5b1826bff2558ef8a15afaf9730714156c1e622218d70523e467962 - languageName: node - linkType: hard - -"@apify/eslint-config@npm:^0.4.0": - version: 0.4.0 - resolution: "@apify/eslint-config@npm:0.4.0" - dependencies: - eslint-config-airbnb: "npm:^19.0.0" - eslint-config-airbnb-base: "npm:^15.0.0" - eslint-import-resolver-typescript: "npm:^2.5.0" - eslint-plugin-import: "npm:^2.25.3" - eslint-plugin-jsx-a11y: "npm:^6.5.1" - eslint-plugin-react: "npm:^7.27.0" - eslint-plugin-react-hooks: "npm:^4.3.0" - peerDependencies: - eslint: "*" - checksum: 10c0/ad8422b05d7b352d4dee2972c13b3c589a5750696aeca8d36b42689525bc795692cfc9057c58608cafcb1031656e6313a6f322a50f08b2e2998b549d31aac3e0 - languageName: node - linkType: hard - "@apify/eslint-config@npm:^1.0.0": version: 1.0.0 resolution: "@apify/eslint-config@npm:1.0.0" @@ -1254,34 +1218,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.4.0": - version: 1.4.3 - resolution: "@emnapi/core@npm:1.4.3" - dependencies: - "@emnapi/wasi-threads": "npm:1.0.2" - tslib: "npm:^2.4.0" - checksum: 10c0/e30101d16d37ef3283538a35cad60e22095aff2403fb9226a35330b932eb6740b81364d525537a94eb4fb51355e48ae9b10d779c0dd1cdcd55d71461fe4b45c7 - languageName: node - linkType: hard - -"@emnapi/runtime@npm:^1.4.0": - version: 1.4.3 - resolution: "@emnapi/runtime@npm:1.4.3" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/3b7ab72d21cb4e034f07df80165265f85f445ef3f581d1bc87b67e5239428baa00200b68a7d5e37a0425c3a78320b541b07f76c5530f6f6f95336a6294ebf30b - languageName: node - linkType: hard - -"@emnapi/wasi-threads@npm:1.0.2": - version: 1.0.2 - resolution: "@emnapi/wasi-threads@npm:1.0.2" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/f0621b1fc715221bd2d8332c0ca922617bcd77cdb3050eae50a124eb8923c54fa425d23982dc8f29d505c8798a62d1049bace8b0686098ff9dd82270e06d772e - languageName: node - linkType: hard - "@esbuild/aix-ppc64@npm:0.25.3": version: 0.25.3 resolution: "@esbuild/aix-ppc64@npm:0.25.3" @@ -1955,17 +1891,6 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^0.2.9": - version: 0.2.9 - resolution: "@napi-rs/wasm-runtime@npm:0.2.9" - dependencies: - "@emnapi/core": "npm:^1.4.0" - "@emnapi/runtime": "npm:^1.4.0" - "@tybys/wasm-util": "npm:^0.9.0" - checksum: 10c0/1cc40b854b255f84e12ade634456ba489f6bf90659ef8164a16823c515c294024c96ee2bb81ab51f35493ba9496f62842b960f915dbdcdc1791f221f989e9e59 - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -1993,13 +1918,6 @@ __metadata: languageName: node linkType: hard -"@nolyfill/is-core-module@npm:1.0.39": - version: 1.0.39 - resolution: "@nolyfill/is-core-module@npm:1.0.39" - checksum: 10c0/34ab85fdc2e0250879518841f74a30c276bca4f6c3e13526d2d1fe515e1adf6d46c25fcd5989d22ea056d76f7c39210945180b4859fc83b050e2da411aa86289 - languageName: node - linkType: hard - "@npmcli/agent@npm:^3.0.0": version: 3.0.0 resolution: "@npmcli/agent@npm:3.0.0" @@ -3022,15 +2940,6 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.9.0": - version: 0.9.0 - resolution: "@tybys/wasm-util@npm:0.9.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/f9fde5c554455019f33af6c8215f1a1435028803dc2a2825b077d812bed4209a1a64444a4ca0ce2ea7e1175c8d88e2f9173a36a33c199e8a5c671aa31de8242d - languageName: node - linkType: hard - "@types/adm-zip@npm:^0.5.5": version: 0.5.7 resolution: "@types/adm-zip@npm:0.5.7" @@ -3538,127 +3447,6 @@ __metadata: languageName: node linkType: hard -"@unrs/resolver-binding-darwin-arm64@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.7.2" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-darwin-x64@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-darwin-x64@npm:1.7.2" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-freebsd-x64@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.7.2" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.7.2" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.7.2" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm64-gnu@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.7.2" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-arm64-musl@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.7.2" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.7.2" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.7.2" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-riscv64-musl@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.7.2" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-s390x-gnu@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.7.2" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-x64-gnu@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.7.2" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-x64-musl@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.7.2" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-wasm32-wasi@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.7.2" - dependencies: - "@napi-rs/wasm-runtime": "npm:^0.2.9" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@unrs/resolver-binding-win32-arm64-msvc@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.7.2" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-win32-ia32-msvc@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.7.2" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@unrs/resolver-binding-win32-x64-msvc@npm:1.7.2": - version: 1.7.2 - resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.7.2" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@vitest/expect@npm:3.1.2": version: 3.1.2 resolution: "@vitest/expect@npm:3.1.2" @@ -4033,7 +3821,6 @@ __metadata: "@apify/actor-templates": "npm:^0.1.5" "@apify/consts": "npm:^2.36.0" "@apify/eslint-config": "npm:^1.0.0" - "@apify/eslint-config-ts": "npm:^0.4.1" "@apify/input_schema": "npm:^3.12.0" "@apify/tsconfig": "npm:^0.1.1" "@apify/utilities": "npm:^2.15.1" @@ -4201,13 +3988,6 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.3.2": - version: 5.3.2 - resolution: "aria-query@npm:5.3.2" - checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e - languageName: node - linkType: hard - "array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": version: 1.0.2 resolution: "array-buffer-byte-length@npm:1.0.2" @@ -4218,7 +3998,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": +"array-includes@npm:^3.1.8": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -4239,20 +4019,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlast@npm:^1.2.5": - version: 1.2.5 - resolution: "array.prototype.findlast@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775 - languageName: node - linkType: hard - "array.prototype.findlastindex@npm:^1.2.5": version: 1.2.6 resolution: "array.prototype.findlastindex@npm:1.2.6" @@ -4268,7 +4034,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2, array.prototype.flat@npm:^1.3.3": +"array.prototype.flat@npm:^1.3.2, array.prototype.flat@npm:^1.3.3": version: 1.3.3 resolution: "array.prototype.flat@npm:1.3.3" dependencies: @@ -4292,19 +4058,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.tosorted@npm:^1.1.4": - version: 1.1.4 - resolution: "array.prototype.tosorted@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - es-errors: "npm:^1.3.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943 - languageName: node - linkType: hard - "arraybuffer.prototype.slice@npm:^1.0.4": version: 1.0.4 resolution: "arraybuffer.prototype.slice@npm:1.0.4" @@ -4345,13 +4098,6 @@ __metadata: languageName: node linkType: hard -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: 10c0/f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e - languageName: node - linkType: hard - "async-function@npm:^1.0.0": version: 1.0.0 resolution: "async-function@npm:1.0.0" @@ -4391,13 +4137,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.10.0": - version: 4.10.3 - resolution: "axe-core@npm:4.10.3" - checksum: 10c0/1b1c24f435b2ffe89d76eca0001cbfff42dbf012ad9bd37398b70b11f0d614281a38a28bc3069e8972e3c90ec929a8937994bd24b0ebcbaab87b8d1e241ab0c7 - languageName: node - linkType: hard - "axios@npm:^1.6.7, axios@npm:~1.9.0": version: 1.9.0 resolution: "axios@npm:1.9.0" @@ -4409,13 +4148,6 @@ __metadata: languageName: node linkType: hard -"axobject-query@npm:^4.1.0": - version: 4.1.0 - resolution: "axobject-query@npm:4.1.0" - checksum: 10c0/c470e4f95008f232eadd755b018cb55f16c03ccf39c027b941cd8820ac6b68707ce5d7368a46756db4256fbc91bb4ead368f84f7fb034b2b7932f082f6dc0775 - languageName: node - linkType: hard - "b4a@npm:^1.6.4": version: 1.6.7 resolution: "b4a@npm:1.6.7" @@ -5269,13 +5001,6 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 - languageName: node - linkType: hard - "data-view-buffer@npm:^1.0.2": version: 1.0.2 resolution: "data-view-buffer@npm:1.0.2" @@ -5413,7 +5138,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": +"define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -5767,7 +5492,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": +"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9": version: 1.23.9 resolution: "es-abstract@npm:1.23.9" dependencies: @@ -5840,30 +5565,6 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.2.1": - version: 1.2.1 - resolution: "es-iterator-helpers@npm:1.2.1" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.6" - es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.3" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.6" - globalthis: "npm:^1.0.4" - gopd: "npm:^1.2.0" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - internal-slot: "npm:^1.1.0" - iterator.prototype: "npm:^1.1.4" - safe-array-concat: "npm:^1.1.3" - checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f - languageName: node - linkType: hard - "es-module-lexer@npm:^1.6.0": version: 1.7.0 resolution: "es-module-lexer@npm:1.7.0" @@ -5880,7 +5581,7 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": +"es-set-tostringtag@npm:^2.1.0": version: 2.1.0 resolution: "es-set-tostringtag@npm:2.1.0" dependencies: @@ -6048,23 +5749,6 @@ __metadata: languageName: node linkType: hard -"eslint-config-airbnb@npm:^19.0.0": - version: 19.0.4 - resolution: "eslint-config-airbnb@npm:19.0.4" - dependencies: - eslint-config-airbnb-base: "npm:^15.0.0" - object.assign: "npm:^4.1.2" - object.entries: "npm:^1.1.5" - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.28.0 - eslint-plugin-react-hooks: ^4.3.0 - checksum: 10c0/867feeda45c4b480b1b8eff8fabc1bb107e837da8b48e5039e0c175ae6ad34af383b1924fc163bbfcef24a324e6651b1515e5bd12cbcbb19535a8838e2544a02 - languageName: node - linkType: hard - "eslint-config-prettier@npm:^10.1.2": version: 10.1.2 resolution: "eslint-config-prettier@npm:10.1.2" @@ -6087,46 +5771,6 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-typescript@npm:^2.5.0": - version: 2.7.1 - resolution: "eslint-import-resolver-typescript@npm:2.7.1" - dependencies: - debug: "npm:^4.3.4" - glob: "npm:^7.2.0" - is-glob: "npm:^4.0.3" - resolve: "npm:^1.22.0" - tsconfig-paths: "npm:^3.14.1" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - checksum: 10c0/42e2af8f86bc39413a1dbd597f9e3c645568e2ba02a960dea2e77e6970f57b3a90193ac7c950e28286404956a9b7d1a69fd5072795afe1b98a76d401a612128e - languageName: node - linkType: hard - -"eslint-import-resolver-typescript@npm:^3.6.1": - version: 3.10.1 - resolution: "eslint-import-resolver-typescript@npm:3.10.1" - dependencies: - "@nolyfill/is-core-module": "npm:1.0.39" - debug: "npm:^4.4.0" - get-tsconfig: "npm:^4.10.0" - is-bun-module: "npm:^2.0.0" - stable-hash: "npm:^0.0.5" - tinyglobby: "npm:^0.2.13" - unrs-resolver: "npm:^1.6.2" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - eslint-plugin-import-x: "*" - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - checksum: 10c0/02ba72cf757753ab9250806c066d09082e00807b7b6525d7687e1c0710bc3f6947e39120227fe1f93dabea3510776d86fb3fd769466ba3c46ce67e9f874cb702 - languageName: node - linkType: hard - "eslint-module-utils@npm:^2.12.0": version: 2.12.0 resolution: "eslint-module-utils@npm:2.12.0" @@ -6139,7 +5783,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.29.0, eslint-plugin-import@npm:^2.31.0": +"eslint-plugin-import@npm:^2.31.0": version: 2.31.0 resolution: "eslint-plugin-import@npm:2.31.0" dependencies: @@ -6168,68 +5812,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.5.1, eslint-plugin-jsx-a11y@npm:^6.7.1": - version: 6.10.2 - resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" - dependencies: - aria-query: "npm:^5.3.2" - array-includes: "npm:^3.1.8" - array.prototype.flatmap: "npm:^1.3.2" - ast-types-flow: "npm:^0.0.8" - axe-core: "npm:^4.10.0" - axobject-query: "npm:^4.1.0" - damerau-levenshtein: "npm:^1.0.8" - emoji-regex: "npm:^9.2.2" - hasown: "npm:^2.0.2" - jsx-ast-utils: "npm:^3.3.5" - language-tags: "npm:^1.0.9" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.8" - safe-regex-test: "npm:^1.0.3" - string.prototype.includes: "npm:^2.0.1" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - checksum: 10c0/d93354e03b0cf66f018d5c50964e074dffe4ddf1f9b535fa020d19c4ae45f89c1a16e9391ca61ac3b19f7042c751ac0d361a056a65cbd1de24718a53ff8daa6e - languageName: node - linkType: hard - -"eslint-plugin-react-hooks@npm:^4.3.0, eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.27.0, eslint-plugin-react@npm:^7.33.2": - version: 7.37.5 - resolution: "eslint-plugin-react@npm:7.37.5" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.3" - array.prototype.tosorted: "npm:^1.1.4" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.2.1" - estraverse: "npm:^5.3.0" - hasown: "npm:^2.0.2" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.9" - object.fromentries: "npm:^2.0.8" - object.values: "npm:^1.2.1" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.12" - string.prototype.repeat: "npm:^1.0.0" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57 - languageName: node - linkType: hard - "eslint-plugin-simple-import-sort@npm:^12.1.1": version: 12.1.1 resolution: "eslint-plugin-simple-import-sort@npm:12.1.1" @@ -6352,7 +5934,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 @@ -7051,7 +6633,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.10.0, get-tsconfig@npm:^4.7.5": +"get-tsconfig@npm:^4.7.5": version: 4.10.0 resolution: "get-tsconfig@npm:4.10.0" dependencies: @@ -7124,7 +6706,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.2.0": +"glob@npm:^7.1.3": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -7776,15 +7358,6 @@ __metadata: languageName: node linkType: hard -"is-bun-module@npm:^2.0.0": - version: 2.0.0 - resolution: "is-bun-module@npm:2.0.0" - dependencies: - semver: "npm:^7.7.1" - checksum: 10c0/7d27a0679cfa5be1f5052650391f9b11040cd70c48d45112e312c56bc6b6ca9c9aea70dcce6cc40b1e8947bfff8567a5c5715d3b066fb478522dab46ea379240 - languageName: node - linkType: hard - "is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -8199,20 +7772,6 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.4": - version: 1.1.5 - resolution: "iterator.prototype@npm:1.1.5" - dependencies: - define-data-property: "npm:^1.1.4" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.6" - get-proto: "npm:^1.0.0" - has-symbols: "npm:^1.1.0" - set-function-name: "npm:^2.0.2" - checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 - languageName: node - linkType: hard - "jackspeak@npm:^3.1.2": version: 3.4.3 resolution: "jackspeak@npm:3.4.3" @@ -8256,7 +7815,7 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": +"js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed @@ -8373,18 +7932,6 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": - version: 3.3.5 - resolution: "jsx-ast-utils@npm:3.3.5" - dependencies: - array-includes: "npm:^3.1.6" - array.prototype.flat: "npm:^1.3.1" - object.assign: "npm:^4.1.4" - object.values: "npm:^1.1.6" - checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 - languageName: node - linkType: hard - "keyv@npm:^4.0.0, keyv@npm:^4.5.3, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -8403,22 +7950,6 @@ __metadata: languageName: node linkType: hard -"language-subtag-registry@npm:^0.3.20": - version: 0.3.23 - resolution: "language-subtag-registry@npm:0.3.23" - checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c - languageName: node - linkType: hard - -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" - dependencies: - language-subtag-registry: "npm:^0.3.20" - checksum: 10c0/9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff - languageName: node - linkType: hard - "lazystream@npm:^1.0.0": version: 1.0.1 resolution: "lazystream@npm:1.0.1" @@ -8536,17 +8067,6 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e - languageName: node - linkType: hard - "loupe@npm:^2.3.6": version: 2.3.7 resolution: "loupe@npm:2.3.7" @@ -9291,15 +8811,6 @@ __metadata: languageName: node linkType: hard -"napi-postinstall@npm:^0.2.2": - version: 0.2.3 - resolution: "napi-postinstall@npm:0.2.3" - bin: - napi-postinstall: lib/cli.js - checksum: 10c0/125cb677d59f284e61cd9b4cd840cf735edd4c325ffc54af4fad16c8726642ffeddaa63c5ca3533b5e7023be4d8e9ff223484c5eea2a8efe2e2498fd063cabbd - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -9429,7 +8940,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.0.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -9450,7 +8961,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": +"object.assign@npm:^4.1.2, object.assign@npm:^4.1.7": version: 4.1.7 resolution: "object.assign@npm:4.1.7" dependencies: @@ -9464,7 +8975,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.5, object.entries@npm:^1.1.9": +"object.entries@npm:^1.1.5": version: 1.1.9 resolution: "object.entries@npm:1.1.9" dependencies: @@ -9499,7 +9010,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.2.0, object.values@npm:^1.2.1": +"object.values@npm:^1.2.0, object.values@npm:^1.2.1": version: 1.2.1 resolution: "object.values@npm:1.2.1" dependencies: @@ -10087,17 +9598,6 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - "proper-lockfile@npm:^4.1.2": version: 4.1.2 resolution: "proper-lockfile@npm:4.1.2" @@ -10217,13 +9717,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - "read-package-up@npm:^11.0.0": version: 11.0.0 resolution: "read-package-up@npm:11.0.0" @@ -10414,7 +9907,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.22.0, resolve@npm:^1.22.4": +"resolve@npm:^1.22.4": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -10427,20 +9920,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.5": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -10453,19 +9933,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 - languageName: node - linkType: hard - "responselike@npm:^2.0.0": version: 2.0.1 resolution: "responselike@npm:2.0.1" @@ -10709,7 +10176,7 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3, safe-regex-test@npm:^1.1.0": +"safe-regex-test@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex-test@npm:1.1.0" dependencies: @@ -11128,13 +10595,6 @@ __metadata: languageName: node linkType: hard -"stable-hash@npm:^0.0.5": - version: 0.0.5 - resolution: "stable-hash@npm:0.0.5" - checksum: 10c0/ca670cb6d172f1c834950e4ec661e2055885df32fee3ebf3647c5df94993b7c2666a5dbc1c9a62ee11fc5c24928579ec5e81bb5ad31971d355d5a341aab493b3 - languageName: node - linkType: hard - "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -11249,48 +10709,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.includes@npm:^2.0.1": - version: 2.0.1 - resolution: "string.prototype.includes@npm:2.0.1" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - checksum: 10c0/25ce9c9b49128352a2618fbe8758b46f945817a58a4420f4799419e40a8d28f116e176c7590d767d5327a61e75c8f32c86171063f48e389b9fdd325f1bd04ee5 - languageName: node - linkType: hard - -"string.prototype.matchall@npm:^4.0.12": - version: 4.0.12 - resolution: "string.prototype.matchall@npm:4.0.12" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.6" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.6" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - internal-slot: "npm:^1.1.0" - regexp.prototype.flags: "npm:^1.5.3" - set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.1.0" - checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c - languageName: node - linkType: hard - -"string.prototype.repeat@npm:^1.0.0": - version: 1.0.0 - resolution: "string.prototype.repeat@npm:1.0.0" - dependencies: - define-properties: "npm:^1.1.3" - es-abstract: "npm:^1.17.5" - checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40 - languageName: node - linkType: hard - "string.prototype.trim@npm:^1.2.10": version: 1.2.10 resolution: "string.prototype.trim@npm:1.2.10" @@ -11735,7 +11153,7 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1, tsconfig-paths@npm:^3.15.0": +"tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" dependencies: @@ -12032,67 +11450,6 @@ __metadata: languageName: node linkType: hard -"unrs-resolver@npm:^1.6.2": - version: 1.7.2 - resolution: "unrs-resolver@npm:1.7.2" - dependencies: - "@unrs/resolver-binding-darwin-arm64": "npm:1.7.2" - "@unrs/resolver-binding-darwin-x64": "npm:1.7.2" - "@unrs/resolver-binding-freebsd-x64": "npm:1.7.2" - "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.7.2" - "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.7.2" - "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.7.2" - "@unrs/resolver-binding-linux-arm64-musl": "npm:1.7.2" - "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.7.2" - "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.7.2" - "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.7.2" - "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.7.2" - "@unrs/resolver-binding-linux-x64-gnu": "npm:1.7.2" - "@unrs/resolver-binding-linux-x64-musl": "npm:1.7.2" - "@unrs/resolver-binding-wasm32-wasi": "npm:1.7.2" - "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.7.2" - "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.7.2" - "@unrs/resolver-binding-win32-x64-msvc": "npm:1.7.2" - napi-postinstall: "npm:^0.2.2" - dependenciesMeta: - "@unrs/resolver-binding-darwin-arm64": - optional: true - "@unrs/resolver-binding-darwin-x64": - optional: true - "@unrs/resolver-binding-freebsd-x64": - optional: true - "@unrs/resolver-binding-linux-arm-gnueabihf": - optional: true - "@unrs/resolver-binding-linux-arm-musleabihf": - optional: true - "@unrs/resolver-binding-linux-arm64-gnu": - optional: true - "@unrs/resolver-binding-linux-arm64-musl": - optional: true - "@unrs/resolver-binding-linux-ppc64-gnu": - optional: true - "@unrs/resolver-binding-linux-riscv64-gnu": - optional: true - "@unrs/resolver-binding-linux-riscv64-musl": - optional: true - "@unrs/resolver-binding-linux-s390x-gnu": - optional: true - "@unrs/resolver-binding-linux-x64-gnu": - optional: true - "@unrs/resolver-binding-linux-x64-musl": - optional: true - "@unrs/resolver-binding-wasm32-wasi": - optional: true - "@unrs/resolver-binding-win32-arm64-msvc": - optional: true - "@unrs/resolver-binding-win32-ia32-msvc": - optional: true - "@unrs/resolver-binding-win32-x64-msvc": - optional: true - checksum: 10c0/c293db95c59b08e33f3bfb00042120fb90fd5448bd1790cd2dc779a13eb6062dddf04a91b72c73d3635b0c539552435675ce816fa52e66bb0cd7b7e5a2f6399c - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.1.1": version: 1.1.3 resolution: "update-browserslist-db@npm:1.1.3" From 855bb8c14ad1267e09dee74158cd1bf151d8b163 Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Mon, 28 Apr 2025 20:16:43 +0300 Subject: [PATCH 4/5] chore: eslint cleanup --- eslint.config.mjs | 46 +++++++++---------------- src/commands/actors/call.ts | 4 ++- src/commands/create.ts | 2 +- src/commands/run.ts | 12 +++---- src/lib/commands/run-on-cloud.ts | 4 ++- src/lib/create-utils.ts | 14 ++++---- src/lib/hooks/runtimes/python.ts | 2 +- src/lib/local_state.ts | 2 +- src/lib/projects/CrawleeAnalyzer.ts | 2 +- src/lib/projects/OldApifySDKAnalyzer.ts | 2 +- src/lib/secrets.ts | 2 +- src/lib/telemetry.ts | 6 ++-- src/lib/utils.ts | 14 ++++---- test/__setup__/build-utils.ts | 8 +++-- test/__setup__/hooks/withRetries.ts | 4 ++- test/commands/log_in_out.test.ts | 3 +- test/commands/run.test.ts | 2 +- 17 files changed, 63 insertions(+), 66 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index c08a8a486..614f0fe51 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,7 +1,7 @@ -import tsStylistic from '@stylistic/eslint-plugin-ts'; import prettier from 'eslint-config-prettier'; import tsEslint from 'typescript-eslint'; +// eslint-disable-next-line import/extensions -- todo: the import/extensions rule should be replaced with something that can handle exports in a package.json import apify from '@apify/eslint-config/ts'; export default [ @@ -29,24 +29,20 @@ export default [ { plugins: { '@typescript-eslint': tsEslint.plugin, - '@stylistic': tsStylistic, }, rules: { - '@typescript-eslint/no-empty-object-type': 'off', - '@typescript-eslint/no-explicit-any': 'off', - 'max-classes-per-file': 'off', - 'no-empty-function': 'off', - 'import/order': 'off', // TODO - 'no-use-before-define': 'off', // TODO + 'no-use-before-define': 'off', + '@typescript-eslint/no-use-before-define': ['error', { functions: false }], + + 'no-console': 'off', + 'no-param-reassign': 'off', - 'no-void': 'off', + // We have env variables with _ in their name 'no-underscore-dangle': 'off', - 'no-console': 'off', - 'import/no-extraneous-dependencies': 'off', - 'import/extensions': 'off', + + // we do default exports 'import/no-default-export': 'off', - '@typescript-eslint/array-type': 'error', - '@typescript-eslint/ban-ts-comment': 0, + '@typescript-eslint/consistent-type-imports': [ 'error', { @@ -54,22 +50,12 @@ export default [ }, ], '@typescript-eslint/consistent-type-definitions': ['error', 'interface'], - '@stylistic/member-delimiter-style': [ - 'error', - { - multiline: { delimiter: 'semi', requireLast: true }, - singleline: { delimiter: 'semi', requireLast: false }, - }, - ], - '@typescript-eslint/no-empty-interface': 'off', - '@typescript-eslint/promise-function-async': 'off', - 'no-promise-executor-return': 'off', - '@typescript-eslint/prefer-destructuring': 'off', - 'prefer-destructuring': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-unused-vars': 'off', - '@stylistic/comma-dangle': ['error', 'always-multiline'], + + // Not ideal, but we still use any for simplicity + '@typescript-eslint/no-explicit-any': 'warn', + + // '@typescript-eslint/array-type': 'error', + // '@typescript-eslint/no-empty-object-type': 'off', }, }, { diff --git a/src/commands/actors/call.ts b/src/commands/actors/call.ts index 3ab3d3e31..2e3ed3715 100644 --- a/src/commands/actors/call.ts +++ b/src/commands/actors/call.ts @@ -222,7 +222,9 @@ export class ActorsCallCommand extends ApifyCommand { break; } - await new Promise((resolve) => setTimeout(resolve, 250)); + await new Promise((resolve) => { + setTimeout(resolve, 250); + }); } while (retries--); const dataset = await apifyClient.dataset(datasetId).downloadItems(DownloadItemsFormat.JSON, { diff --git a/src/commands/create.ts b/src/commands/create.ts index 099b3b07a..5b79a78fa 100644 --- a/src/commands/create.ts +++ b/src/commands/create.ts @@ -182,7 +182,7 @@ export class CreateCommand extends ApifyCommand { return; } - let runtime = project.runtime; + let { runtime } = project; switch (project.type) { case ProjectLanguage.JavaScript: { diff --git a/src/commands/run.ts b/src/commands/run.ts index 4cb90a356..82ba95702 100644 --- a/src/commands/run.ts +++ b/src/commands/run.ts @@ -41,6 +41,12 @@ import { purgeDefaultQueue, } from '../lib/utils.js'; +enum RunType { + DirectFile = 0, + Module = 1, + Script = 2, +} + export class RunCommand extends ApifyCommand { static override description = `Executes Actor locally with simulated Apify environment variables.\n` + @@ -551,9 +557,3 @@ export class RunCommand extends ApifyCommand { return null; } } - -enum RunType { - DirectFile = 0, - Module = 1, - Script = 2, -} diff --git a/src/lib/commands/run-on-cloud.ts b/src/lib/commands/run-on-cloud.ts index a066668b9..a84944df6 100644 --- a/src/lib/commands/run-on-cloud.ts +++ b/src/lib/commands/run-on-cloud.ts @@ -119,7 +119,9 @@ export async function* runActorOrTaskOnCloud(apifyClient: ApifyClient, options: } // Wait a second before checking again - await new Promise((resolve) => setTimeout(resolve, 1000)); + await new Promise((resolve) => { + setTimeout(resolve, 1000); + }); } } diff --git a/src/lib/create-utils.ts b/src/lib/create-utils.ts index 6c1847117..4d900dd0a 100644 --- a/src/lib/create-utils.ts +++ b/src/lib/create-utils.ts @@ -11,19 +11,19 @@ import { httpsGet, validateActorName } from './utils.js'; const PROGRAMMING_LANGUAGES = ['JavaScript', 'TypeScript', 'Python']; -export const ensureValidActorName = async (maybeActorName?: string) => { +export async function ensureValidActorName(maybeActorName?: string) { if (maybeActorName) { validateActorName(maybeActorName); return maybeActorName; } return promptActorName(); -}; +} // TODO: this isn't even used anymore -export const getTemplateDefinition = async ( +export async function getTemplateDefinition( maybeTemplateName: string | undefined, manifestPromise: Promise, -) => { +) { const manifest = await manifestPromise; // If the fetch failed earlier, the resolve value of // the promise will be the error from fetching the manifest. @@ -38,13 +38,13 @@ export const getTemplateDefinition = async ( } return executePrompts(manifest); -}; +} // TODO: this isn't even used anymore /** * Fetch local readme suffix from the manifest and append it to the readme. */ -export const enhanceReadmeWithLocalSuffix = async (readmePath: string, manifestPromise: Promise) => { +export async function enhanceReadmeWithLocalSuffix(readmePath: string, manifestPromise: Promise) { const manifest = await manifestPromise; // If the fetch failed earlier, the resolve value of // the promise will be the error from fetching the manifest. @@ -60,7 +60,7 @@ export const enhanceReadmeWithLocalSuffix = async (readmePath: string, manifestP message: `Could not append local development instructions to README.md. Cause: ${(err as Error).message}`, }); } -}; +} /** * Inquirer does not have a native way to "go back" between prompts. diff --git a/src/lib/hooks/runtimes/python.ts b/src/lib/hooks/runtimes/python.ts index 38d4d7c10..ad9ece15f 100644 --- a/src/lib/hooks/runtimes/python.ts +++ b/src/lib/hooks/runtimes/python.ts @@ -25,7 +25,7 @@ async function getPythonVersion(runtimePath: string) { } return result.stdout.trim(); - } catch (ex) { + } catch { // const casted = ex as ExecaError; return null; diff --git a/src/lib/local_state.ts b/src/lib/local_state.ts index ebbec502c..dafb8ea34 100644 --- a/src/lib/local_state.ts +++ b/src/lib/local_state.ts @@ -10,7 +10,7 @@ import { ensureApifyDirectory } from './utils.js'; export const getLocalState = () => { try { return JSON.parse(readFileSync(STATE_FILE_PATH(), 'utf-8')) || {}; - } catch (e) { + } catch { return {}; } }; diff --git a/src/lib/projects/CrawleeAnalyzer.ts b/src/lib/projects/CrawleeAnalyzer.ts index 08eafe467..57935b053 100644 --- a/src/lib/projects/CrawleeAnalyzer.ts +++ b/src/lib/projects/CrawleeAnalyzer.ts @@ -17,7 +17,7 @@ export class CrawleeAnalyzer { const packageJsonParsed = JSON.parse(packageJson); return CRAWLEE_PACKAGES.some((pkg) => packageJsonParsed?.dependencies?.[pkg] !== undefined); - } catch (err) { + } catch { return false; } } diff --git a/src/lib/projects/OldApifySDKAnalyzer.ts b/src/lib/projects/OldApifySDKAnalyzer.ts index 4235cce37..7cba14974 100644 --- a/src/lib/projects/OldApifySDKAnalyzer.ts +++ b/src/lib/projects/OldApifySDKAnalyzer.ts @@ -42,7 +42,7 @@ export class OldApifySDKAnalyzer { } return lt(actualVersion, VERSION_WHEN_APIFY_MOVED_TO_CRAWLEE); - } catch (err) { + } catch { return false; } } diff --git a/src/lib/secrets.ts b/src/lib/secrets.ts index a0a7f22b4..a373d8470 100644 --- a/src/lib/secrets.ts +++ b/src/lib/secrets.ts @@ -12,7 +12,7 @@ const MAX_ENV_VAR_VALUE_LENGTH = 50000; export const getSecretsFile = () => { try { return JSON.parse(readFileSync(SECRETS_FILE_PATH(), 'utf-8')) || {}; - } catch (e) { + } catch { return {}; } }; diff --git a/src/lib/telemetry.ts b/src/lib/telemetry.ts index aa10d9774..9b6f4c727 100644 --- a/src/lib/telemetry.ts +++ b/src/lib/telemetry.ts @@ -31,7 +31,7 @@ export const getOrCreateLocalDistinctId = async () => { try { const telemetry = JSON.parse(readFileSync(TELEMETRY_FILE_PATH(), 'utf-8')); return telemetry.distinctId; - } catch (e) { + } catch { const userInfo = await getLocalUserInfo(); const distinctId = userInfo.id || createLocalDistinctId(); @@ -73,7 +73,7 @@ export const maybeTrackTelemetry = async ({ app: 'cli', ...eventData, }); - } catch (e) { + } catch { // Ignore errors } }; @@ -94,7 +94,7 @@ export const useApifyIdentity = async (userId: string) => { alias: distinctId, }, }); - } catch (e) { + } catch { // Ignore errors } }; diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 9f70b771b..4cbd266d8 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -114,7 +114,7 @@ export const getLocalUserInfo = async (): Promise => { /** * Gets instance of ApifyClient for user otherwise throws error */ -export const getLoggedClientOrThrow = async () => { +export async function getLoggedClientOrThrow() { const loggedClient = await getLoggedClient(); if (!loggedClient) { @@ -122,7 +122,7 @@ export const getLoggedClientOrThrow = async () => { } return loggedClient; -}; +} const getTokenWithAuthFileFallback = (existingToken?: string) => { if (!existingToken && existsSync(GLOBAL_CONFIGS_FOLDER()) && existsSync(AUTH_FILE_PATH())) { @@ -164,7 +164,7 @@ export const getApifyClientOptions = (token?: string, apiBaseUrl?: string): Apif * NOTE: It refreshes global auth file each run * @param [token] */ -export const getLoggedClient = async (token?: string, apiBaseUrl?: string) => { +export async function getLoggedClient(token?: string, apiBaseUrl?: string) { token = getTokenWithAuthFileFallback(token); const apifyClient = new ApifyClient(getApifyClientOptions(token, apiBaseUrl)); @@ -172,7 +172,7 @@ export const getLoggedClient = async (token?: string, apiBaseUrl?: string) => { let userInfo; try { userInfo = await apifyClient.user('me').get(); - } catch (err) { + } catch { return null; } @@ -182,7 +182,7 @@ export const getLoggedClient = async (token?: string, apiBaseUrl?: string) => { writeFileSync(AUTH_FILE_PATH(), JSON.stringify({ token: apifyClient.token, ...userInfo }, null, '\t')); return apifyClient; -}; +} export const getLocalConfigPath = (cwd: string) => join(cwd, LOCAL_CONFIG_PATH); @@ -522,11 +522,11 @@ export const downloadAndUnzip = async ({ url, pathTo }: { url: string; pathTo: s /** * Ensures the Apify directory exists, as well as nested folders (for tests) */ -export const ensureApifyDirectory = (file: string) => { +export function ensureApifyDirectory(file: string) { const path = dirname(file); mkdirSync(path, { recursive: true }); -}; +} export const TimestampFormatter = new Timestamp('YYYY-MM-DD [at] HH:mm:ss'); diff --git a/test/__setup__/build-utils.ts b/test/__setup__/build-utils.ts index b0b60462f..8eaf62d21 100644 --- a/test/__setup__/build-utils.ts +++ b/test/__setup__/build-utils.ts @@ -9,7 +9,9 @@ export const waitForBuildToFinish = async (client: ApifyClient, buildId: string) while (true) { const build = await client.build(buildId).get(); if (build!.status !== (ACTOR_JOB_STATUSES.RUNNING as unknown)) return build; - await new Promise((resolve) => setTimeout(resolve, 2500)); + await new Promise((resolve) => { + setTimeout(resolve, 2500); + }); } }; @@ -18,7 +20,9 @@ export const waitForBuildToFinish = async (client: ApifyClient, buildId: string) */ export const waitForBuildToFinishWithTimeout = async (client: ApifyClient, buildId: string, timeoutSecs = 60) => { const buildPromise = waitForBuildToFinish(client, buildId); - const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve(false), timeoutSecs * 1000)); + const timeoutPromise = new Promise((resolve) => { + setTimeout(() => resolve(false), timeoutSecs * 1000); + }); const result = await Promise.race([buildPromise, timeoutPromise]); if (!result) throw new Error(`Timed out after ${timeoutSecs} seconds`); }; diff --git a/test/__setup__/hooks/withRetries.ts b/test/__setup__/hooks/withRetries.ts index 1699aae7c..00a87edcb 100644 --- a/test/__setup__/hooks/withRetries.ts +++ b/test/__setup__/hooks/withRetries.ts @@ -9,7 +9,9 @@ export async function withRetries unknown>(func: T, retries = 3, throw err; } - await new Promise((resolve) => setTimeout(resolve, delay)); + await new Promise((resolve) => { + setTimeout(resolve, delay); + }); } } diff --git a/test/commands/log_in_out.test.ts b/test/commands/log_in_out.test.ts index ce62f81c7..cb0214c27 100644 --- a/test/commands/log_in_out.test.ts +++ b/test/commands/log_in_out.test.ts @@ -1,6 +1,7 @@ import { existsSync, readFileSync } from 'node:fs'; import axios from 'axios'; +import type { MockInstance } from 'vitest'; import { AUTH_FILE_PATH } from '../../src/lib/consts.js'; import { TEST_USER_BAD_TOKEN, TEST_USER_TOKEN, testUserClient } from '../__setup__/config.js'; @@ -17,7 +18,7 @@ const { LoginCommand } = await import('../../src/commands/login.js'); const { LogoutCommand } = await import('../../src/commands/logout.js'); describe('apify login and logout', () => { - let spy: import('vitest').MockInstance<(typeof console)['error']>; + let spy: MockInstance<(typeof console)['error']>; beforeEach(() => { spy = vitest.spyOn(console, 'error'); diff --git a/test/commands/run.test.ts b/test/commands/run.test.ts index 36b1b3758..d6f0aab36 100644 --- a/test/commands/run.test.ts +++ b/test/commands/run.test.ts @@ -258,7 +258,7 @@ describe('apify run', () => { await rimrafPromised(getLocalStorageDir()); try { await RunCommand.run(['--purge'], import.meta.url); - } catch (err) { + } catch { throw new Error('Can not run Actor without storage folder!'); } }); From 40fd7b22b409b3402259b2f522f95de08bf90f8b Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Tue, 29 Apr 2025 12:47:43 +0300 Subject: [PATCH 5/5] chore: requested changes --- eslint.config.mjs | 3 ++- package.json | 1 - renovate.json | 2 +- yarn.lock | 16 +--------------- 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 614f0fe51..271b4f328 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -41,6 +41,7 @@ export default [ 'no-underscore-dangle': 'off', // we do default exports + // TODO: remove once moved to yargs 'import/no-default-export': 'off', '@typescript-eslint/consistent-type-imports': [ @@ -52,7 +53,7 @@ export default [ '@typescript-eslint/consistent-type-definitions': ['error', 'interface'], // Not ideal, but we still use any for simplicity - '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-explicit-any': 'off', // '@typescript-eslint/array-type': 'error', // '@typescript-eslint/no-empty-object-type': 'off', diff --git a/package.json b/package.json index 9e3501a3d..747328a47 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,6 @@ "@crawlee/types": "^3.11.1", "@cucumber/cucumber": "^11.0.0", "@oclif/test": "^4.0.8", - "@stylistic/eslint-plugin-ts": "^4.2.0", "@types/adm-zip": "^0.5.5", "@types/archiver": "^6.0.2", "@types/chai": "^4.3.17", diff --git a/renovate.json b/renovate.json index 916240c70..a578856ef 100644 --- a/renovate.json +++ b/renovate.json @@ -24,7 +24,7 @@ }, { "groupName": "eslint/prettier/biome", - "automerge": false, + "automerge": true, "groupSlug": "formatting-linting-dependencies", "matchPackageNames": ["/eslint/", "/prettier/", "/biome/"] } diff --git a/yarn.lock b/yarn.lock index e244ea4c2..1d29a2e72 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2884,19 +2884,6 @@ __metadata: languageName: node linkType: hard -"@stylistic/eslint-plugin-ts@npm:^4.2.0": - version: 4.2.0 - resolution: "@stylistic/eslint-plugin-ts@npm:4.2.0" - dependencies: - "@typescript-eslint/utils": "npm:^8.23.0" - eslint-visitor-keys: "npm:^4.2.0" - espree: "npm:^10.3.0" - peerDependencies: - eslint: ">=9.0.0" - checksum: 10c0/018a0cf08f9cfbf48ff77d214ca5cb52a60ba8b4b70bda1af3eea8f9640e24ea7add694fd6bfd916566cc7a63635ba07d6fde4d1f298fc1a99bd6ab39c99a7c2 - languageName: node - linkType: hard - "@szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" @@ -3422,7 +3409,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.31.0, @typescript-eslint/utils@npm:^8.23.0": +"@typescript-eslint/utils@npm:8.31.0": version: 8.31.0 resolution: "@typescript-eslint/utils@npm:8.31.0" dependencies: @@ -3835,7 +3822,6 @@ __metadata: "@sapphire/duration": "npm:^1.1.2" "@sapphire/result": "npm:^2.7.2" "@sapphire/timestamp": "npm:^1.0.3" - "@stylistic/eslint-plugin-ts": "npm:^4.2.0" "@types/adm-zip": "npm:^0.5.5" "@types/archiver": "npm:^6.0.2" "@types/chai": "npm:^4.3.17"