diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 119acbb..a661387 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [18, 19, 20, 21] + node: + - 20 # Maintenance LTS + - 22 # Maintenance LTS + - 24 # Active LTS + - 25 # Current steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/.nvmrc b/.nvmrc index 9944ce6..5870c66 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -21.6.2 +25.2.1 diff --git a/examples/jest/package.json b/examples/jest/package.json index da3d496..c7f9862 100644 --- a/examples/jest/package.json +++ b/examples/jest/package.json @@ -2,6 +2,7 @@ "name": "@examples/jest", "private": true, "scripts": { + "check": "yarn compile && yarn test", "compile": "tsc", "test": "jest" }, @@ -9,7 +10,7 @@ "@assertive-ts/core": "workspace:^", "@examples/symbol-plugin": "workspace:^", "@types/jest": "^29.5.12", - "@types/node": "^20.11.19", + "@types/node": "^24.10.1", "jest": "^29.7.0", "ts-jest": "^29.1.2", "ts-node": "^10.9.2", diff --git a/examples/mocha/package.json b/examples/mocha/package.json index ba4f615..778a646 100644 --- a/examples/mocha/package.json +++ b/examples/mocha/package.json @@ -2,6 +2,7 @@ "name": "@examples/mocha", "private": true, "scripts": { + "check": "yarn compile && yarn test --forbid-only", "compile": "tsc", "test": "mocha" }, @@ -9,7 +10,7 @@ "@assertive-ts/core": "workspace:^", "@examples/symbol-plugin": "workspace:^", "@types/mocha": "^10.0.6", - "@types/node": "^20.11.19", + "@types/node": "^24.10.1", "mocha": "^10.3.0", "ts-node": "^10.9.2", "typescript": "^5.4.2" diff --git a/examples/mocha/test/hooks.ts b/examples/mocha/test/hooks.ts index 10539a2..4ca6597 100644 --- a/examples/mocha/test/hooks.ts +++ b/examples/mocha/test/hooks.ts @@ -1,9 +1,8 @@ /* eslint-disable react-hooks/rules-of-hooks */ import { usePlugin } from "@assertive-ts/core"; import { SymbolPlugin } from "@examples/symbol-plugin"; -import { RootHookObject } from "mocha"; -export function mochaHooks(): RootHookObject { +export function mochaHooks(): Mocha.RootHookObject { return { beforeAll() { usePlugin(SymbolPlugin); diff --git a/examples/symbolPlugin/package.json b/examples/symbolPlugin/package.json index a68bd97..0a96b92 100644 --- a/examples/symbolPlugin/package.json +++ b/examples/symbolPlugin/package.json @@ -4,6 +4,7 @@ "main": "./dist/main.js", "types": "./dist/main.d.ts", "scripts": { + "check": "yarn compile", "build": "tsc -p tsconfig.prod.json", "compile": "tsc" }, diff --git a/package.json b/package.json index 28f391c..062b1dc 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "author": "Stack Builders ", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20" }, "packageManager": "yarn@4.1.0", "workspaces": [ @@ -15,6 +15,7 @@ ], "scripts": { "check": "turbo check && yarn lint", + "clean": "rimraf **/.turbo/ **/build/ **/dist/ **/node_modules/", "build": "turbo run build", "compile": "turbo run compile", "docs": "turbo docs", @@ -33,6 +34,7 @@ "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-sonarjs": "^0.24.0", + "rimraf": "^6.1.2", "turbo": "^1.12.4", "typescript": "^5.4.2" } diff --git a/packages/core/package.json b/packages/core/package.json index 3d92d89..3339f60 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@types/mocha": "^10.0.6", - "@types/node": "^20.11.19", + "@types/node": "^24.10.1", "@types/sinon": "^17.0.3", "all-contributors-cli": "^6.26.1", "mocha": "^10.3.0", diff --git a/packages/dom/package.json b/packages/dom/package.json index 407cac0..db420e8 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -44,7 +44,7 @@ "@testing-library/react": "^16.0.0", "@types/jsdom-global": "^3", "@types/mocha": "^10.0.6", - "@types/node": "^20.11.19", + "@types/node": "^24.10.1", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/react-test-renderer": "^18", diff --git a/packages/native/package.json b/packages/native/package.json index cae4d30..9d68014 100644 --- a/packages/native/package.json +++ b/packages/native/package.json @@ -42,7 +42,7 @@ "@assertive-ts/core": "workspace:^", "@testing-library/react-native": "^12.9.0", "@types/mocha": "^10.0.6", - "@types/node": "^20.11.19", + "@types/node": "^24.10.1", "@types/react": "^18.2.70", "@types/react-test-renderer": "^18.0.7", "@types/sinon": "^17.0.3", diff --git a/packages/sinon/package.json b/packages/sinon/package.json index 2d79a14..ac39d9e 100644 --- a/packages/sinon/package.json +++ b/packages/sinon/package.json @@ -40,7 +40,7 @@ "devDependencies": { "@assertive-ts/core": "workspace:^", "@types/mocha": "^10.0.6", - "@types/node": "^20.11.19", + "@types/node": "^24.10.1", "@types/sinon": "^17.0.3", "mocha": "^10.3.0", "semantic-release": "^23.0.2", diff --git a/yarn.lock b/yarn.lock index 59fbafb..12ff163 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27,7 +27,7 @@ __metadata: resolution: "@assertive-ts/core@workspace:packages/core" dependencies: "@types/mocha": "npm:^10.0.6" - "@types/node": "npm:^20.11.19" + "@types/node": "npm:^24.10.1" "@types/sinon": "npm:^17.0.3" all-contributors-cli: "npm:^6.26.1" dedent: "npm:^1.5.1" @@ -54,7 +54,7 @@ __metadata: "@testing-library/react": "npm:^16.0.0" "@types/jsdom-global": "npm:^3" "@types/mocha": "npm:^10.0.6" - "@types/node": "npm:^20.11.19" + "@types/node": "npm:^24.10.1" "@types/react": "npm:^18.3.3" "@types/react-dom": "npm:^18.3.0" "@types/react-test-renderer": "npm:^18" @@ -88,7 +88,7 @@ __metadata: "@assertive-ts/core": "workspace:^" "@testing-library/react-native": "npm:^12.9.0" "@types/mocha": "npm:^10.0.6" - "@types/node": "npm:^20.11.19" + "@types/node": "npm:^24.10.1" "@types/react": "npm:^18.2.70" "@types/react-test-renderer": "npm:^18.0.7" "@types/sinon": "npm:^17.0.3" @@ -128,7 +128,7 @@ __metadata: dependencies: "@assertive-ts/core": "workspace:^" "@types/mocha": "npm:^10.0.6" - "@types/node": "npm:^20.11.19" + "@types/node": "npm:^24.10.1" "@types/sinon": "npm:^17.0.3" fast-deep-equal: "npm:^3.1.3" mocha: "npm:^10.3.0" @@ -1486,7 +1486,7 @@ __metadata: "@assertive-ts/core": "workspace:^" "@examples/symbol-plugin": "workspace:^" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^20.11.19" + "@types/node": "npm:^24.10.1" jest: "npm:^29.7.0" ts-jest: "npm:^29.1.2" ts-node: "npm:^10.9.2" @@ -1501,7 +1501,7 @@ __metadata: "@assertive-ts/core": "workspace:^" "@examples/symbol-plugin": "workspace:^" "@types/mocha": "npm:^10.0.6" - "@types/node": "npm:^20.11.19" + "@types/node": "npm:^24.10.1" mocha: "npm:^10.3.0" ts-node: "npm:^10.9.2" typescript: "npm:^5.4.2" @@ -1560,6 +1560,22 @@ __metadata: languageName: node linkType: hard +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10/102fbc6d2c0d5edf8f6dbf2b3feb21695a21bc850f11bc47c4f06aa83bd8884fde3fe9d6d797d619901d96865fdcb4569ac2a54c937992c48885c5e3d9967fe8 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10/cf3b7f206aff12128214a1df764ac8cdbc517c110db85249b945282407e3dfc5c6e66286383a7c9391a059fc8e6e6a8ca82262fc9d2590bd615376141fbebd2d + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -3176,7 +3192,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^20.11.19": +"@types/node@npm:*": version: 20.11.19 resolution: "@types/node@npm:20.11.19" dependencies: @@ -3185,6 +3201,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^24.10.1": + version: 24.10.1 + resolution: "@types/node@npm:24.10.1" + dependencies: + undici-types: "npm:~7.16.0" + checksum: 10/ddac8c97be5f7401e31ea0e9316c6e864993c6cd06689b7f9874ecfb576ef8349f2d14298248a08b94a6dd029570a46a285cddc4d50e524817f1a3730b29a86e + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.1, @types/normalize-package-data@npm:^2.4.3": version: 2.4.4 resolution: "@types/normalize-package-data@npm:2.4.4" @@ -3999,6 +4024,7 @@ __metadata: eslint-plugin-react: "npm:^7.34.1" eslint-plugin-react-hooks: "npm:^4.6.0" eslint-plugin-sonarjs: "npm:^0.24.0" + rimraf: "npm:^6.1.2" turbo: "npm:^1.12.4" typescript: "npm:^5.4.2" languageName: unknown @@ -6848,6 +6874,17 @@ __metadata: languageName: node linkType: hard +"glob@npm:^13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" + dependencies: + minimatch: "npm:^10.1.1" + minipass: "npm:^7.1.2" + path-scurry: "npm:^2.0.0" + checksum: 10/de390721d29ee1c9ea41e40ec2aa0de2cabafa68022e237dc4297665a5e4d650776f2573191984ea1640aba1bf0ea34eddef2d8cbfbfc2ad24b5fb0af41d8846 + languageName: node + linkType: hard + "glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -9145,6 +9182,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^11.0.0": + version: 11.2.2 + resolution: "lru-cache@npm:11.2.2" + checksum: 10/fa7919fbf068a739f79a1ad461eb273514da7246cebb9dca68e3cd7ba19e3839e7e2aaecd9b72867e08038561eeb96941189e89b3d4091c75ced4f56c71c80db + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -9640,6 +9684,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^10.1.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" + dependencies: + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10/110f38921ea527022e90f7a5f43721838ac740d0a0c26881c03b57c261354fb9a0430e40b2c56dfcea2ef3c773768f27210d1106f1f2be19cde3eea93f26f45e + languageName: node + linkType: hard + "minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -9749,6 +9802,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -10603,6 +10663,13 @@ __metadata: languageName: node linkType: hard +"package-json-from-dist@npm:^1.0.1": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 + languageName: node + linkType: hard + "pacote@npm:^17.0.0, pacote@npm:^17.0.4, pacote@npm:^17.0.6": version: 17.0.6 resolution: "pacote@npm:17.0.6" @@ -10788,6 +10855,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^2.0.0": + version: 2.0.1 + resolution: "path-scurry@npm:2.0.1" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10/1e9c74e9ccf94d7c16056a5cb2dba9fa23eec1bc221ab15c44765486b9b9975b4cd9a4d55da15b96eadf67d5202e9a2f1cec9023fbb35fe7d9ccd0ff1891f88b + languageName: node + linkType: hard + "path-to-regexp@npm:^6.2.1": version: 6.3.0 resolution: "path-to-regexp@npm:6.3.0" @@ -11716,6 +11793,18 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^6.1.2": + version: 6.1.2 + resolution: "rimraf@npm:6.1.2" + dependencies: + glob: "npm:^13.0.0" + package-json-from-dist: "npm:^1.0.1" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10/add8e566fe903f59d7b55c6c2382320c48302778640d1951baf247b3b451af496c2dee7195c204a8c646fd6327feadd1f5b61ce68c1362d4898075a726d83cc6 + languageName: node + linkType: hard + "rimraf@npm:~2.6.2": version: 2.6.3 resolution: "rimraf@npm:2.6.3" @@ -13416,6 +13505,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10/db43439f69c2d94cc29f75cbfe9de86df87061d6b0c577ebe9bb3255f49b22c50162a7d7eb413b0458b6510b8ca299ac7cff38c3a29fbd31af9f504bcf7fbc0d + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1"