From 6b1fcab44eaf12195e1a285c94587290f5573afd Mon Sep 17 00:00:00 2001 From: Bryce Tham Date: Thu, 23 Jan 2025 13:54:54 -0500 Subject: [PATCH 1/2] feat: upgrade to node 22 and yarn 1.22.22 --- .github/workflows/npm-publish.yml | 2 +- .github/workflows/pull-request-checks.yml | 2 +- .nvmrc | 1 + package.json | 7 ++++--- yarn.lock | 23 +++++++++++++++-------- 5 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 .nvmrc diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index b44dcd3..d716f6e 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -18,7 +18,7 @@ jobs: token: ${{ secrets.CI_TOKEN }} - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 22 - run: yarn install - run: yarn build - run: npx semantic-release diff --git a/.github/workflows/pull-request-checks.yml b/.github/workflows/pull-request-checks.yml index 9236d06..6373a22 100644 --- a/.github/workflows/pull-request-checks.yml +++ b/.github/workflows/pull-request-checks.yml @@ -7,7 +7,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: '16' + node-version: 22 - run: yarn install - run: yarn test:lint - run: yarn test:coverage diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..8fdd954 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 \ No newline at end of file diff --git a/package.json b/package.json index 30e5e1c..8831df2 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@types/jest": "^27.0.1", "@types/lodash": "^4.14.171", "@types/mocha": "^9.0.0", - "@types/node": "^16.0.1", + "@types/node": "^22.10.10", "@types/sdp-transform": "^2.4.5", "@typescript-eslint/eslint-plugin": "^4.28.2", "@typescript-eslint/parser": "^4.28.2", @@ -73,7 +73,7 @@ "ts-jest": "^27.0.5", "ts-loader": "^9.2.3", "typescript": "^5.5.2", - "yarn": "^1.22.18" + "yarn": "^1.22.22" }, "scripts": { "build": "run-s clean compile", @@ -120,5 +120,6 @@ "eslint --max-warnings=0", "cspell" ] - } + }, + "packageManager": "yarn@1.22.22" } diff --git a/yarn.lock b/yarn.lock index e8f9f28..9c8c47c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2447,10 +2447,12 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.3.tgz#b31eb300610c3835ac008d690de6f87e28f9b878" integrity sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw== -"@types/node@^16.0.1": - version "16.11.65" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.65.tgz#59500b86af757d6fcabd3dec32fecb6e357d7a45" - integrity sha512-Vfz7wGMOr4jbQGiQHVJm8VjeQwM9Ya7mHe9LtQ264/Epf5n1KiZShOFqk++nBzw6a/ubgYdB9Od7P+MH/LjoWw== +"@types/node@^22.10.10": + version "22.10.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.10.tgz#85fe89f8bf459dc57dfef1689bd5b52ad1af07e6" + integrity sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww== + dependencies: + undici-types "~6.20.0" "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -11075,6 +11077,11 @@ unbzip2-stream@^1.0.9, unbzip2-stream@^1.3.3: buffer "^5.2.1" through "^2.3.8" +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -11625,10 +11632,10 @@ yargs@16.2.0, yargs@^16.0.3, yargs@^16.1.1, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yarn@^1.22.18: - version "1.22.19" - resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.19.tgz#4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447" - integrity sha512-/0V5q0WbslqnwP91tirOvldvYISzaqhClxzyUKXYxs07yUILIs5jx/k6CFe8bvKSkds5w+eiOqta39Wk3WxdcQ== +yarn@^1.22.22: + version "1.22.22" + resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.22.tgz#ac34549e6aa8e7ead463a7407e1c7390f61a6610" + integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== yauzl@^2.10.0, yauzl@^2.4.2: version "2.10.0" From 275229f1e099901426e0d4fbca49b6e36d39a454 Mon Sep 17 00:00:00 2001 From: Bryce Tham Date: Thu, 23 Jan 2025 14:40:31 -0500 Subject: [PATCH 2/2] fix: strict engine checks and minor updates --- .eslintrc.js | 1 + .npmrc | 1 + package.json | 9 ++++-- yarn.lock | 82 ++++++++++++++++++++++++++++------------------------ 4 files changed, 53 insertions(+), 40 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 244234d..3022f90 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -89,6 +89,7 @@ module.exports = { ], 'jsdoc/require-param-type': 0, 'jsdoc/require-returns-type': 0, + 'jsdoc/tag-lines': 0, 'jsdoc/valid-types': 1, 'no-underscore-dangle': 0, 'no-shadow': 0, diff --git a/.npmrc b/.npmrc index e1531a3..fcd219a 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ +engine-strict = true registry = https://registry.npmjs.org \ No newline at end of file diff --git a/package.json b/package.json index 8831df2..be317f3 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,11 @@ }, "repository": "https://github.com/webex/webrtc-core.git", "license": "MIT", + "engines": { + "node": ">=22.0.0", + "npm": "please-use-yarn", + "yarn": ">=1.22.0" + }, "devDependencies": { "@commitlint/cli": "^12.1.4", "@commitlint/config-conventional": "^12.1.4", @@ -33,7 +38,7 @@ "@types/jest": "^27.0.1", "@types/lodash": "^4.14.171", "@types/mocha": "^9.0.0", - "@types/node": "^22.10.10", + "@types/node": "^22.0.0", "@types/sdp-transform": "^2.4.5", "@typescript-eslint/eslint-plugin": "^4.28.2", "@typescript-eslint/parser": "^4.28.2", @@ -44,7 +49,7 @@ "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.24.0", "eslint-plugin-jest": "^24.3.6", - "eslint-plugin-jsdoc": "^35.5.0", + "eslint-plugin-jsdoc": "^43.0.0", "eslint-plugin-prettier": "^3.4.0", "husky": "^7.0.0", "jest": "^27.0.6", diff --git a/yarn.lock b/yarn.lock index 9c8c47c..fc0a0fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1334,14 +1334,14 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-2.0.2.tgz#8618b9f4825b3d80e1788082c19ac9c15832463e" integrity sha512-/MB0RS0Gn01s4pgmjy0FvsLfr3RRMrRphEuvTRserNcM8XVtoIVAtrjig/Gg0DPwDrN8Clm0L1j7iQay6S8D0g== -"@es-joy/jsdoccomment@0.9.0-alpha.1": - version "0.9.0-alpha.1" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.9.0-alpha.1.tgz#f48bd162e185ec7f9f222273a282d10e52fe52f7" - integrity sha512-Clxxc0PwpISoYYBibA+1L2qFJ7gvFVhI2Hos87S06K+Q0cXdOhZQJNKWuaQGPAeHjZEuUB/YoWOfwjuF2wirqA== +"@es-joy/jsdoccomment@~0.38.0": + version "0.38.0" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.38.0.tgz#2e74f8d824b4a4ec831eaabd4c3548fb11eae5cd" + integrity sha512-TFac4Bnv0ZYNkEeDnOWHQhaS1elWlvOCQxH06iHeu5iffs+hCaLVIZJwF+FqksQi68R4i66Pu+4DfFGvble+Uw== dependencies: - comment-parser "1.1.6-beta.0" - esquery "^1.4.0" - jsdoc-type-pratt-parser "1.0.4" + comment-parser "1.3.1" + esquery "^1.5.0" + jsdoc-type-pratt-parser "~4.0.0" "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -2447,7 +2447,7 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.3.tgz#b31eb300610c3835ac008d690de6f87e28f9b878" integrity sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw== -"@types/node@^22.10.10": +"@types/node@^22.0.0": version "22.10.10" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.10.tgz#85fe89f8bf459dc57dfef1689bd5b52ad1af07e6" integrity sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww== @@ -2934,6 +2934,11 @@ archy@~1.0.0: resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== +are-docs-informative@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" + integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== + are-we-there-yet@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" @@ -3920,10 +3925,10 @@ comment-json@^4.2.2: has-own-prop "^2.0.0" repeat-string "^1.6.1" -comment-parser@1.1.6-beta.0: - version "1.1.6-beta.0" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.1.6-beta.0.tgz#57e503b18d0a5bd008632dcc54b1f95c2fffe8f6" - integrity sha512-q3cA8TSMyqW7wcPSYWzbO/rMahnXgzs4SLG/UIWXdEsnXTFPZkEkWAdNgPiHig2OzxgpPLOh4WwsmClDxndwHw== +comment-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" + integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== common-ancestor-path@^1.0.1: version "1.0.1" @@ -5037,19 +5042,18 @@ eslint-plugin-jest@^24.3.6: dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" -eslint-plugin-jsdoc@^35.5.0: - version "35.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-35.5.1.tgz#45932ee22669bbe06c97b82b936d56361efad370" - integrity sha512-pPYPWtsykwVEue1tYEyoppBj4dgF7XicF67tLLLraY6RQYBq7qMKjUHji19+hfiTtYKKBD0YfeK8hgjPAE5viw== +eslint-plugin-jsdoc@^43.0.0: + version "43.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-43.2.0.tgz#9d0df2329100a6956635f26211d0723c3ff91f15" + integrity sha512-Hst7XUfqh28UmPD52oTXmjaRN3d0KrmOZdgtp4h9/VHUJD3Evoo82ZGXi1TtRDWgWhvqDIRI63O49H0eH7NrZQ== dependencies: - "@es-joy/jsdoccomment" "0.9.0-alpha.1" - comment-parser "1.1.6-beta.0" - debug "^4.3.2" - esquery "^1.4.0" - jsdoc-type-pratt-parser "^1.0.4" - lodash "^4.17.21" - regextras "^0.8.0" - semver "^7.3.5" + "@es-joy/jsdoccomment" "~0.38.0" + are-docs-informative "^0.0.2" + comment-parser "1.3.1" + debug "^4.3.4" + escape-string-regexp "^4.0.0" + esquery "^1.5.0" + semver "^7.5.0" spdx-expression-parse "^3.0.1" eslint-plugin-prettier@^3.4.0: @@ -5158,6 +5162,13 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -7167,15 +7178,10 @@ js-yaml@~3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsdoc-type-pratt-parser@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.4.tgz#5750d2d32ffb001866537d3baaedea7cf84c7036" - integrity sha512-jzmW9gokeq9+bHPDR1nCeidMyFUikdZlbOhKzh9+/nJqB75XhpNKec1/UuxW5c4+O+Pi31Gc/dCboyfSm/pSpQ== - -jsdoc-type-pratt-parser@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz#3482a3833b74a88c95a6ba7253f0c0de3b77b9f5" - integrity sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg== +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== jsdom@^16.6.0: version "16.7.0" @@ -9705,11 +9711,6 @@ regexpu-core@^5.1.0: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" -regextras@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" - integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ== - registry-auth-token@^4.0.0: version "4.2.2" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" @@ -10081,6 +10082,11 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.5.0: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + sentence-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f"