From a6939c771d87b2f1a412a31ea1de03552cf0b2c4 Mon Sep 17 00:00:00 2001 From: Tomas Dvorak Date: Mon, 23 Dec 2024 16:00:52 +0100 Subject: [PATCH] feat: improve copyright headers handling Signed-off-by: Tomas Dvorak --- .github/workflows/main.yml | 4 +- .gitignore | 1 + .husky/pre-commit | 2 +- eslint.config.js | 12 ++ package.json | 11 +- scripts/copyright.sh | 3 +- .../proto/caikit_data_model_caikit_nlp.proto | 28 ++- .../proto/caikit_data_model_common.proto | 28 ++- .../proto/caikit_data_model_nlp.proto | 28 ++- .../proto/caikit_data_model_runtime.proto | 28 ++- .../ibm-vllm/proto/caikit_runtime_Nlp.proto | 28 ++- src/adapters/ibm-vllm/proto/generation.proto | 28 ++- src/agents/bee/runners/default/runner.ts | 1 + src/agents/bee/runners/granite/runner.ts | 1 + src/agents/parsers/linePrefix.ts | 1 + yarn.lock | 179 +++++++++--------- 16 files changed, 201 insertions(+), 182 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 112ef4fc..7f1d6925 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,11 +28,11 @@ jobs: cache: "yarn" - name: Install dependencies run: yarn install --immutable - - name: Copyright Headers + - name: Check Copyright Header uses: actions/setup-go@v3 with: go-version: 1.23 - run: yarn copyright + run: yarn copyright:check - name: Code Lint run: yarn lint - name: Code Format diff --git a/.gitignore b/.gitignore index ba1a6777..42e82e55 100644 --- a/.gitignore +++ b/.gitignore @@ -137,3 +137,4 @@ dist .idea /experiments .npmrc +.DS_Store diff --git a/.husky/pre-commit b/.husky/pre-commit index 7a1c2ba7..dfdf6203 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1,2 @@ yarn lint-staged -CI=true yarn docs:check && yarn lint && yarn format && yarn ts:check && yarn run test:unit && yarn copyright +CI=true yarn docs:check && yarn lint && yarn format && yarn ts:check && yarn run test:unit && yarn copyright:check diff --git a/eslint.config.js b/eslint.config.js index b332b78a..fb2ed788 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -5,6 +5,7 @@ import tseslint from "typescript-eslint"; import prettierConfig from "eslint-config-prettier"; import unusedImports from "eslint-plugin-unused-imports"; import markdown from "@eslint/markdown"; +import stylisticJs from "@stylistic/eslint-plugin-js"; export default tseslint.config( { @@ -40,6 +41,8 @@ export default tseslint.config( }, plugins: { "unused-imports": unusedImports, + // @ts-expect-error wrong types + "@stylistic/js": stylisticJs, }, rules: { "no-console": ["error"], @@ -74,6 +77,15 @@ export default tseslint.config( "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-empty-object-type": "off", "quote-props": ["error", "consistent"], + "@stylistic/js/lines-around-comment": [ + "error", + { + applyDefaultIgnorePatterns: false, + afterBlockComment: true, + beforeBlockComment: false, + ignorePattern: /^(?![\s\S]*Copyright \d+ IBM Corp.)[\s\S]+$/u.source, + }, + ], }, }, { diff --git a/package.json b/package.json index 775e3d93..e0ca4ac7 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,10 @@ }, "lint-staged": { "*.{ts,js}": "eslint --fix", - "*": ["prettier --ignore-unknown --write", "yarn copyright"], + "*": [ + "prettier --ignore-unknown --write", + "yarn copyright" + ], "docs/**/*.md": "yarn docs:links" }, "prettier": { @@ -159,6 +162,7 @@ "test:examples:watch": "vitest --config ./examples/vitest.examples.config.ts watch tests/examples", "prepare": "husky", "copyright": "./scripts/copyright.sh", + "copyright:check": "TYPE=check ./scripts/copyright.sh", "release": "release-it", "ibm-vllm:generate-types": "./scripts/ibm_vllm_generate_protos/ibm_vllm_generate_protos.sh", "_ensure_env": "cp -n .env.template .env || true" @@ -288,6 +292,7 @@ "@opentelemetry/semantic-conventions": "^1.28.0", "@release-it/conventional-changelog": "^8.0.2", "@rollup/plugin-commonjs": "^28.0.1", + "@stylistic/eslint-plugin-js": "^2.12.1", "@swc/core": "^1.10.0", "@types/eslint": "^9.6.1", "@types/eslint-config-prettier": "^6.11.3", @@ -303,7 +308,7 @@ "docsify-cli": "^4.4.4", "dotenv": "^16.4.7", "embedme": "^1.22.1", - "eslint": "^9.16.0", + "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-unused-imports": "^4.1.4", "glob": "^11.0.0", @@ -331,7 +336,7 @@ "tsup": "^8.3.5", "tsx": "^4.19.2", "typescript": "^5.7.2", - "typescript-eslint": "^8.17.0", + "typescript-eslint": "^8.18.1", "vite-tsconfig-paths": "^5.1.3", "vitest": "^2.1.8", "yaml": "^2.6.1" diff --git a/scripts/copyright.sh b/scripts/copyright.sh index 73b5f957..afba967c 100755 --- a/scripts/copyright.sh +++ b/scripts/copyright.sh @@ -16,7 +16,7 @@ set -e if [ "$#" -eq 0 ]; then - TARGETS=("src" "dist" "tests" "scripts") + TARGETS=('src/**/*.{js,ts,proto}' "dist/**/*.js" "tests/**/*.{js,ts}" "scripts/**/*.{sh,ts,js}") else TARGETS=("$@") fi @@ -50,6 +50,7 @@ fi TYPE=${TYPE:-add} if command -v nwa &> /dev/null; then + echo "Running 'nwa' version $(nwa --version)" nwa "${TYPE}" -l apache -c "$AUTHOR" "${TARGETS[@]}" elif command -v docker &> /dev/null; then docker run --rm -v "${PWD}:/src" ghcr.io/b1nary-gr0up/nwa:main "${TYPE}" -l apache -c "$AUTHOR" "${TARGETS[@]}" diff --git a/src/adapters/ibm-vllm/proto/caikit_data_model_caikit_nlp.proto b/src/adapters/ibm-vllm/proto/caikit_data_model_caikit_nlp.proto index d449471f..bb0d478a 100644 --- a/src/adapters/ibm-vllm/proto/caikit_data_model_caikit_nlp.proto +++ b/src/adapters/ibm-vllm/proto/caikit_data_model_caikit_nlp.proto @@ -1,18 +1,16 @@ -/** - * Copyright 2024 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2024 IBM Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Source: https://github.com/IBM/vllm/blob/main/proto/caikit_data_model_caikit_nlp.proto diff --git a/src/adapters/ibm-vllm/proto/caikit_data_model_common.proto b/src/adapters/ibm-vllm/proto/caikit_data_model_common.proto index a212c2b7..00dd2d41 100644 --- a/src/adapters/ibm-vllm/proto/caikit_data_model_common.proto +++ b/src/adapters/ibm-vllm/proto/caikit_data_model_common.proto @@ -1,18 +1,16 @@ -/** - * Copyright 2024 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2024 IBM Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Source: https://github.com/IBM/vllm/blob/main/proto/caikit_data_model_common.proto diff --git a/src/adapters/ibm-vllm/proto/caikit_data_model_nlp.proto b/src/adapters/ibm-vllm/proto/caikit_data_model_nlp.proto index c1be0169..8e4e2db2 100644 --- a/src/adapters/ibm-vllm/proto/caikit_data_model_nlp.proto +++ b/src/adapters/ibm-vllm/proto/caikit_data_model_nlp.proto @@ -1,18 +1,16 @@ -/** - * Copyright 2024 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2024 IBM Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Source: https://github.com/IBM/vllm/blob/main/proto/caikit_data_model_nlp.proto diff --git a/src/adapters/ibm-vllm/proto/caikit_data_model_runtime.proto b/src/adapters/ibm-vllm/proto/caikit_data_model_runtime.proto index 24ce5669..5363d16b 100644 --- a/src/adapters/ibm-vllm/proto/caikit_data_model_runtime.proto +++ b/src/adapters/ibm-vllm/proto/caikit_data_model_runtime.proto @@ -1,18 +1,16 @@ -/** - * Copyright 2024 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2024 IBM Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Source: https://github.com/IBM/vllm/blob/main/proto/caikit_data_model_runtime.proto diff --git a/src/adapters/ibm-vllm/proto/caikit_runtime_Nlp.proto b/src/adapters/ibm-vllm/proto/caikit_runtime_Nlp.proto index d51af243..627ffd7a 100644 --- a/src/adapters/ibm-vllm/proto/caikit_runtime_Nlp.proto +++ b/src/adapters/ibm-vllm/proto/caikit_runtime_Nlp.proto @@ -1,18 +1,16 @@ -/** - * Copyright 2024 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2024 IBM Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Source: https://github.com/IBM/vllm/blob/main/proto/caikit_runtime_Nlp.proto diff --git a/src/adapters/ibm-vllm/proto/generation.proto b/src/adapters/ibm-vllm/proto/generation.proto index 709bc751..c0d258f1 100644 --- a/src/adapters/ibm-vllm/proto/generation.proto +++ b/src/adapters/ibm-vllm/proto/generation.proto @@ -1,18 +1,16 @@ -/** - * Copyright 2024 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2024 IBM Corp. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Source: https://github.com/IBM/vllm/blob/main/proto/generation.proto diff --git a/src/agents/bee/runners/default/runner.ts b/src/agents/bee/runners/default/runner.ts index c55ba265..3710717f 100644 --- a/src/agents/bee/runners/default/runner.ts +++ b/src/agents/bee/runners/default/runner.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { BaseRunner, BeeRunnerLLMInput, BeeRunnerToolInput } from "@/agents/bee/runners/base.js"; import type { BeeAgentRunIteration, diff --git a/src/agents/bee/runners/granite/runner.ts b/src/agents/bee/runners/granite/runner.ts index dabc4016..d306ca70 100644 --- a/src/agents/bee/runners/granite/runner.ts +++ b/src/agents/bee/runners/granite/runner.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { BaseMessage, Role } from "@/llms/primitives/message.js"; import type { AnyTool } from "@/tools/base.js"; import { isEmpty } from "remeda"; diff --git a/src/agents/parsers/linePrefix.ts b/src/agents/parsers/linePrefix.ts index 9bad60d4..d60b0519 100644 --- a/src/agents/parsers/linePrefix.ts +++ b/src/agents/parsers/linePrefix.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { Emitter } from "@/emitter/emitter.js"; import { entries } from "remeda"; import { ValueError } from "@/errors.js"; diff --git a/yarn.lock b/yarn.lock index 480e2dff..1d7be431 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1472,7 +1472,14 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.16.0, @eslint/js@npm:^9.16.0": +"@eslint/js@npm:9.17.0": + version: 9.17.0 + resolution: "@eslint/js@npm:9.17.0" + checksum: 10c0/a0fda8657a01c60aa540f95397754267ba640ffb126e011b97fd65c322a94969d161beeaef57c1441c495da2f31167c34bd38209f7c146c7225072378c3a933d + languageName: node + linkType: hard + +"@eslint/js@npm:^9.16.0": version: 9.16.0 resolution: "@eslint/js@npm:9.16.0" checksum: 10c0/a55846a4ddade720662d36682f3eaaf38eac06eeee12c83bb837bba2b7d550dadcb3445b104219f0bc1da2e09b4fe5fb5ba123b8338c8c787bcfbd540878df75 @@ -3700,6 +3707,18 @@ __metadata: languageName: node linkType: hard +"@stylistic/eslint-plugin-js@npm:^2.12.1": + version: 2.12.1 + resolution: "@stylistic/eslint-plugin-js@npm:2.12.1" + dependencies: + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10c0/f0941e97098b85414ddf372c37e8b034c1e742956a9bad98ae936750b99bf0832f53da84a6926ac20bbe4e2b34573d394a5941cc98792f451b55936d413a954d + languageName: node + linkType: hard + "@swc/core-darwin-arm64@npm:1.10.0": version: 1.10.0 resolution: "@swc/core-darwin-arm64@npm:1.10.0" @@ -4156,15 +4175,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.17.0" +"@typescript-eslint/eslint-plugin@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.18.1" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.17.0" - "@typescript-eslint/type-utils": "npm:8.17.0" - "@typescript-eslint/utils": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/type-utils": "npm:8.18.1" + "@typescript-eslint/utils": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4172,108 +4191,99 @@ __metadata: peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d78778173571a9a1370345bc2aa3e850235a489d16b8a8b5ba3086b988bbef7549bdae38e509d7a679ba3179c688cc5a408376b158be402770836e94ffc9602d + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/7994d323228f3fc3ec124291cd02761251bcd9a5a6356001d2cb8f68abdb400c3cfbeb343d6941d8e6b6c8d2d616a278bbb3b6d9ed839ba5148a05f60a1f67b4 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/parser@npm:8.17.0" +"@typescript-eslint/parser@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/parser@npm:8.18.1" dependencies: - "@typescript-eslint/scope-manager": "npm:8.17.0" - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/typescript-estree": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/typescript-estree": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2543deadf01302a92d3b6f58a4c14f98d8936c4d976e7da05e3bb65608f19d8de93b25282e343c304eca3e3f37f2ac23e97fa9c11c6edff36dd2d4f6b601a630 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/23ab30b3f00b86108137e7df03710a088046ead3582595b0f8e17d5062770365e24e0a1ae3398bb3a1c29aa0f05a0de30887e2e0f6fb86163e878dd0eed1b25c languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/scope-manager@npm:8.17.0" +"@typescript-eslint/scope-manager@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/scope-manager@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" - checksum: 10c0/0c08d14240bad4b3f6874f08ba80b29db1a6657437089a6f109db458c544d835bcdc06ba9140bb4f835233ba4326d9a86e6cf6bdb5209960d2f7025aa3191f4f + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" + checksum: 10c0/97c503b2ece79b6c99ca8e6a5f1f40855cf72f17fbf05e42e62d19c2666e7e6f5df9bf71f13dbc4720c5ee0397670ba8052482a90441fbffa901da5f2e739565 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/type-utils@npm:8.17.0" +"@typescript-eslint/type-utils@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/type-utils@npm:8.18.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.17.0" - "@typescript-eslint/utils": "npm:8.17.0" + "@typescript-eslint/typescript-estree": "npm:8.18.1" + "@typescript-eslint/utils": "npm:8.18.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/6138ec71b5692d4b5e0bf3d7f66a6fa4e91ddea7031907b0ac45a7693df0a2f4cc5bca7218311e0639620d636ceb7efec83a137dfcd5938304d873b774fcc8bd + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/cfe5362a22fa5e18a2662928904da024e42c84cb58a46238b9b61edafcd046f53c9505637176c8cd1c386165c6a6ed15a2b51700495cad6c20e0e33499d483a1 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/types@npm:8.17.0" - checksum: 10c0/26b1bf9dfc3ee783c85c6f354b84c28706d5689d777f3ff2de2cb496e45f9d0189c0d561c03ccbc8b24712438be17cf63dd0871ff3ca2083e7f48749770d1893 +"@typescript-eslint/types@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/types@npm:8.18.1" + checksum: 10c0/0a2ca5f7cdebcc844b6bc1e5afc5d83b563f55917d20e3fea3a17ed39c54b003178e26b5ec535113f45c93c569b46628d9a67defa70c01cbdfa801573fed69a2 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.17.0" +"@typescript-eslint/typescript-estree@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/visitor-keys": "npm:8.17.0" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/visitor-keys": "npm:8.18.1" debug: "npm:^4.3.4" 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/523013f9b5cf2c58c566868e4c3b0b9ac1b4807223a6d64e2a7c58e01e53b6587ba61f1a8241eade361f3f426d6057657515473176141ef8aebb352bc0d223ce + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/7ecb061dc63c729b23f4f15db5736ca93b1ae633108400e6c31cf8af782494912f25c3683f9f952dbfd10cb96031caba247a1ad406abf5d163639a00ac3ce5a3 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/utils@npm:8.17.0" +"@typescript-eslint/utils@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/utils@npm:8.18.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.17.0" - "@typescript-eslint/types": "npm:8.17.0" - "@typescript-eslint/typescript-estree": "npm:8.17.0" + "@typescript-eslint/scope-manager": "npm:8.18.1" + "@typescript-eslint/types": "npm:8.18.1" + "@typescript-eslint/typescript-estree": "npm:8.18.1" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/a9785ae5f7e7b51d521dc3f48b15093948e4fcd03352c0b60f39bae366cbc935947d215f91e2ae3182d52fa6affb5ccbb50feff487bd1209011f3e0da02cdf07 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/1e29408bd8fbda9f3386dabdb2b7471dacff28342d5bd6521ca3b7932df0cae100030d2eac75d946a82cbefa33f78000eed4ce789128fdea069ffeabd4429d80 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.17.0": - version: 8.17.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.17.0" +"@typescript-eslint/visitor-keys@npm:8.18.1": + version: 8.18.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.18.1" dependencies: - "@typescript-eslint/types": "npm:8.17.0" + "@typescript-eslint/types": "npm:8.18.1" eslint-visitor-keys: "npm:^4.2.0" - checksum: 10c0/9144c4e4a63034fb2031a0ee1fc77e80594f30cab3faafa9a1f7f83782695774dd32fac8986f260698b4e150b4dd52444f2611c07e4c101501f08353eb47c82c + checksum: 10c0/68651ae1825dbd660ea39b4e1d1618f6ad0026fa3a04aecec296750977cab316564e3e2ace8edbebf1ae86bd17d86acc98cac7b6e9aad4e1c666bd26f18706ad languageName: node linkType: hard @@ -4826,6 +4836,7 @@ __metadata: "@release-it/conventional-changelog": "npm:^8.0.2" "@rollup/plugin-commonjs": "npm:^28.0.1" "@streamparser/json": "npm:^0.0.21" + "@stylistic/eslint-plugin-js": "npm:^2.12.1" "@swc/core": "npm:^1.10.0" "@types/eslint": "npm:^9.6.1" "@types/eslint-config-prettier": "npm:^6.11.3" @@ -4845,7 +4856,7 @@ __metadata: dotenv: "npm:^16.4.7" duck-duck-scrape: "npm:^2.2.6" embedme: "npm:^1.22.1" - eslint: "npm:^9.16.0" + eslint: "npm:^9.17.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-unused-imports: "npm:^4.1.4" fast-xml-parser: "npm:^4.5.0" @@ -4891,7 +4902,7 @@ __metadata: tsx: "npm:^4.19.2" turndown: "npm:^7.2.0" typescript: "npm:^5.7.2" - typescript-eslint: "npm:^8.17.0" + typescript-eslint: "npm:^8.18.1" vite-tsconfig-paths: "npm:^5.1.3" vitest: "npm:^2.1.8" wikipedia: "npm:^2.1.2" @@ -6027,7 +6038,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.5": +"cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -6999,16 +7010,16 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.16.0": - version: 9.16.0 - resolution: "eslint@npm:9.16.0" +"eslint@npm:^9.17.0": + version: 9.17.0 + resolution: "eslint@npm:9.17.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.12.1" "@eslint/config-array": "npm:^0.19.0" "@eslint/core": "npm:^0.9.0" "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:9.16.0" + "@eslint/js": "npm:9.17.0" "@eslint/plugin-kit": "npm:^0.2.3" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" @@ -7017,7 +7028,7 @@ __metadata: "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.5" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" eslint-scope: "npm:^8.2.0" @@ -7044,7 +7055,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/f36d12652c6f20bab8a77375b8ad29a6af030c3840deb0a5f9dd4cee49d68a2d68d7dc73b0c25918df59d83cd686dd5712e11387e696e1f3842e8dde15cd3255 + checksum: 10c0/9edd8dd782b4ae2eb00a158ed4708194835d4494d75545fa63a51f020ed17f865c49b4ae1914a2ecbc7fdb262bd8059e811aeef9f0bae63dced9d3293be1bbdd languageName: node linkType: hard @@ -13769,19 +13780,17 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.17.0": - version: 8.17.0 - resolution: "typescript-eslint@npm:8.17.0" +"typescript-eslint@npm:^8.18.1": + version: 8.18.1 + resolution: "typescript-eslint@npm:8.18.1" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.17.0" - "@typescript-eslint/parser": "npm:8.17.0" - "@typescript-eslint/utils": "npm:8.17.0" + "@typescript-eslint/eslint-plugin": "npm:8.18.1" + "@typescript-eslint/parser": "npm:8.18.1" + "@typescript-eslint/utils": "npm:8.18.1" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/b148525769b9afa789ad3c2d52249fa78e67a225d48d17f2f0117b0e8b52566112be3a35de6cd26bcaffba3114be87c1070f7f4b4e2b730c059668fec4a530bc + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/cb75af9b7381051cf80a18d4d96782a23196f7500766fa52926c1515fd7eaa42cb01ed37582d1bf519860075bea3f5375e6fcbbaf7fed3e3ab1b0f6da95805ce languageName: node linkType: hard