From 2642595e39e593acd4a6d4725daaa85c69ffa654 Mon Sep 17 00:00:00 2001 From: Matthew Keil Date: Thu, 9 Mar 2023 10:21:28 -0600 Subject: [PATCH] Reorganize/Clean-Up Node Bindings (#189) * refactor(node-bindings): create src/lib/test folders * feat(node-bindings): update bundle/publish commands * refactor(node-bindings): remove unused files and dependencies * refactor(node-bindings): move fixtures to __fixtures__ * fix(node-bindings): revert format of fixture json file * fix(node-bindings): prettierignore and gitignore * feat(node-bindings): add bindings package * fix(node-bindings): fix test setup path * fix(node-bindings): remove post-build copy action in bindings.gyp * fix(node-bindings): package.json keys * Update contributors --------- Co-authored-by: George Kadianakis --- bindings/node.js/.gitignore | 2 +- bindings/node.js/.npmignore | 22 --- bindings/node.js/.prettierignore | 1 + bindings/node.js/Makefile | 15 +- bindings/node.js/babel.config.js | 6 - bindings/node.js/binding.dist.gyp | 31 +--- bindings/node.js/binding.gyp | 13 +- bindings/node.js/{ => lib}/kzg.ts | 2 +- bindings/node.js/package.json | 22 +-- bindings/node.js/rollup.config.js | 14 -- bindings/node.js/{ => src}/kzg.cxx | 0 .../__fixtures__}/testing_trusted_setups.json | 0 .../node.js/{test.ts => test/kzg.test.ts} | 18 +- bindings/node.js/tsconfig.build.json | 9 + bindings/node.js/tsconfig.json | 20 +- bindings/node.js/yarn.lock | 171 +++++++----------- 16 files changed, 130 insertions(+), 216 deletions(-) delete mode 100644 bindings/node.js/.npmignore delete mode 100644 bindings/node.js/babel.config.js rename bindings/node.js/{ => lib}/kzg.ts (99%) delete mode 100644 bindings/node.js/rollup.config.js rename bindings/node.js/{ => src}/kzg.cxx (100%) rename bindings/node.js/{ => test/__fixtures__}/testing_trusted_setups.json (100%) rename bindings/node.js/{test.ts => test/kzg.test.ts} (98%) create mode 100644 bindings/node.js/tsconfig.build.json diff --git a/bindings/node.js/.gitignore b/bindings/node.js/.gitignore index 58f478b..35639e5 100644 --- a/bindings/node.js/.gitignore +++ b/bindings/node.js/.gitignore @@ -2,4 +2,4 @@ build dist *.node node_modules -testing_trusted_setups.txt +test/__fixtures__/testing_trusted_setups.txt diff --git a/bindings/node.js/.npmignore b/bindings/node.js/.npmignore deleted file mode 100644 index 44f507a..0000000 --- a/bindings/node.js/.npmignore +++ /dev/null @@ -1,22 +0,0 @@ -.vscode -build -!dist/deps/blst/build -node_modules -.gitignore -.npmignore -.prettierignore -.prettierrc.json -*.o -*.node -test.ts -kzg.ts -jest.config.js -rollup.config.js -tsconfig.json -babel.config.js -*.bak -Dockerfile -binding.dist.gyp -Makefile -testing_trusted_setups.txt -testing_trusted_setups.json diff --git a/bindings/node.js/.prettierignore b/bindings/node.js/.prettierignore index c2bc31c..5802506 100644 --- a/bindings/node.js/.prettierignore +++ b/bindings/node.js/.prettierignore @@ -1,3 +1,4 @@ # Ignore artifacts: build dist +node_modules \ No newline at end of file diff --git a/bindings/node.js/Makefile b/bindings/node.js/Makefile index c3baba3..f9d938d 100644 --- a/bindings/node.js/Makefile +++ b/bindings/node.js/Makefile @@ -8,7 +8,7 @@ clean: rm -f *.a rm -f *.o -build: kzg.cxx kzg.ts package.json binding.gyp Makefile +build: src/kzg.cxx lib/kzg.ts package.json binding.gyp Makefile cd ../../src && make c_kzg_4844.o && cp c_kzg_4844.o ../bindings/node.js yarn install yarn node-gyp rebuild @@ -20,17 +20,20 @@ format: yarn prettier --write . bundle: clean - yarn rollup --config rollup.config.js --bundleConfigAsCjs + mkdir dist + cp README.md dist/README.md + cp package.json dist/package.json + cp binding.dist.gyp dist/binding.gyp + node_modules/.bin/tsc -p tsconfig.build.json + cp -r src dist/src mkdir -p dist/deps/c-kzg cp -r ../../blst dist/deps cp ../../src/c_kzg_4844.c dist/deps/c-kzg cp ../../src/c_kzg_4844.h dist/deps/c-kzg publish: bundle - mv binding.gyp binding.gyp.bak - cp binding.dist.gyp binding.gyp - npm publish && mv binding.gyp.bak binding.gyp || mv binding.gyp.bak binding.gyp - + cd dist + npm publish linux-test: bundle docker build -t "linux-test" . diff --git a/bindings/node.js/babel.config.js b/bindings/node.js/babel.config.js deleted file mode 100644 index dd242dc..0000000 --- a/bindings/node.js/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ["@babel/preset-env", { targets: { node: "current" } }], - "@babel/preset-typescript", - ], -}; diff --git a/bindings/node.js/binding.dist.gyp b/bindings/node.js/binding.dist.gyp index ae13c6b..c9f1108 100644 --- a/bindings/node.js/binding.dist.gyp +++ b/bindings/node.js/binding.dist.gyp @@ -12,10 +12,10 @@ "NAPI_DISABLE_CPP_EXCEPTIONS", "FIELD_ELEMENTS_PER_BLOB=", + "Matthew Keil " + ], "license": "MIT", - "main": "dist/kzg.js", - "types": "dist/dts/kzg.d.ts", - "gypfile": true, + "dependencies": { + "node-addon-api": "^5.0.0", + "bindings": "^1.5.0" + }, "devDependencies": { - "@babel/preset-typescript": "^7.18.6", - "@rollup/plugin-typescript": "^9.0.2", "@types/jest": "^29.2.1", "jest": "^29.2.2", "node-gyp": "^9.3.0", "prettier": "2.7.1", - "rollup": "^3.2.5", "ts-jest": "^29.0.3", - "tslib": "^2.4.1", "typescript": "^4.8.4", "glob": "^9.1.0", "js-yaml": "^4.1.0" }, - "dependencies": { - "node-addon-api": "^5.0.0" - } + "main": "lib/kzg.js", + "types": "lib/kzg.d.ts", + "gypfile": true } diff --git a/bindings/node.js/rollup.config.js b/bindings/node.js/rollup.config.js deleted file mode 100644 index 5d0528d..0000000 --- a/bindings/node.js/rollup.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import typescript from "@rollup/plugin-typescript"; - -export default { - input: "kzg.ts", - output: { - dir: "dist", - format: "cjs", - }, - plugins: [ - typescript({ - exclude: ["test.ts"], - }), - ], -}; diff --git a/bindings/node.js/kzg.cxx b/bindings/node.js/src/kzg.cxx similarity index 100% rename from bindings/node.js/kzg.cxx rename to bindings/node.js/src/kzg.cxx diff --git a/bindings/node.js/testing_trusted_setups.json b/bindings/node.js/test/__fixtures__/testing_trusted_setups.json similarity index 100% rename from bindings/node.js/testing_trusted_setups.json rename to bindings/node.js/test/__fixtures__/testing_trusted_setups.json diff --git a/bindings/node.js/test.ts b/bindings/node.js/test/kzg.test.ts similarity index 98% rename from bindings/node.js/test.ts rename to bindings/node.js/test/kzg.test.ts index 0071e9a..834cbf5 100644 --- a/bindings/node.js/test.ts +++ b/bindings/node.js/test/kzg.test.ts @@ -1,6 +1,6 @@ import { randomBytes } from "crypto"; -import { existsSync, readFileSync } from "fs"; -import { join } from "path"; +import { readFileSync } from "fs"; +import { join, resolve } from "path"; import { globSync } from "glob"; const yaml = require("js-yaml"); @@ -26,17 +26,17 @@ import { BYTES_PER_PROOF, BYTES_PER_FIELD_ELEMENT, ProofResult, -} from "./kzg"; +} from "../lib/kzg"; -const setupFileName = "testing_trusted_setups.json"; - -const SETUP_FILE_PATH = existsSync(setupFileName) - ? setupFileName - : `../../src/${setupFileName}`; +const SETUP_FILE_PATH = resolve( + __dirname, + "__fixtures__", + "testing_trusted_setups.json", +); const MAX_TOP_BYTE = 114; -const TEST_DIR = "../../tests"; +const TEST_DIR = "../../../tests"; type BlobToKzgCommitmentTest = TestMeta<{ blob: string }, string>; const BLOB_TO_KZG_COMMITMENT_TESTS = join( TEST_DIR, diff --git a/bindings/node.js/tsconfig.build.json b/bindings/node.js/tsconfig.build.json new file mode 100644 index 0000000..081eb67 --- /dev/null +++ b/bindings/node.js/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "include": ["./lib"], + "compilerOptions": { + "rootDir": ".", + "outDir": "dist", + "noEmit": false + } +} diff --git a/bindings/node.js/tsconfig.json b/bindings/node.js/tsconfig.json index 56a8c9f..67c9c61 100644 --- a/bindings/node.js/tsconfig.json +++ b/bindings/node.js/tsconfig.json @@ -1,9 +1,21 @@ { "compilerOptions": { - "declaration": true, - "declarationDir": "dist/dts", "target": "esnext", - "forceConsistentCasingInFileNames": true, - "strict": true + "module": "commonjs", + "noEmit": true, + "pretty": true, + "strict": true, + "alwaysStrict": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "strictBindCallApply": true, + "strictPropertyInitialization": true, + "noImplicitAny": true, + "noImplicitThis": true, + "noImplicitReturns": true, + "declaration": true, + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true } } diff --git a/bindings/node.js/yarn.lock b/bindings/node.js/yarn.lock index bda5372..081a290 100644 --- a/bindings/node.js/yarn.lock +++ b/bindings/node.js/yarn.lock @@ -52,13 +52,6 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-compilation-targets@^7.19.3": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" @@ -69,19 +62,6 @@ browserslist "^4.21.3" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" - integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" @@ -102,13 +82,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== - dependencies: - "@babel/types" "^7.18.9" - "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" @@ -130,29 +103,11 @@ "@babel/traverse" "^7.19.6" "@babel/types" "^7.19.4" -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== -"@babel/helper-replace-supers@^7.18.9": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" - "@babel/helper-simple-access@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" @@ -296,31 +251,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": +"@babel/plugin-syntax-typescript@^7.7.2": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== dependencies: "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-typescript@^7.18.6": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.0.tgz#2c7ec62b8bfc21482f3748789ba294a46a375169" - integrity sha512-xOAsAFaun3t9hCwZ13Qe7gq423UgMZ6zAgmLxeGGapFqlT/X3L5qT2btjiVLlFn7gWtMaVyceS5VxGAuKbgizw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-typescript" "^7.20.0" - -"@babel/preset-typescript@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" - "@babel/template@^7.18.10", "@babel/template@^7.3.3": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -330,7 +267,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.19.1", "@babel/traverse@^7.19.6", "@babel/traverse@^7.20.1", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.19.6", "@babel/traverse@^7.20.1", "@babel/traverse@^7.7.2": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== @@ -346,7 +283,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== @@ -629,23 +566,6 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@rollup/plugin-typescript@^9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-9.0.2.tgz#c0cdfa39e267f306ff7316405a35406d5821eaa7" - integrity sha512-/sS93vmHUMjzDUsl5scNQr1mUlNE1QjBBvOhmRwJCH8k2RRhDIm3c977B3wdu3t3Ap17W6dDeXP3hj1P1Un1bA== - dependencies: - "@rollup/pluginutils" "^5.0.1" - resolve "^1.22.1" - -"@rollup/pluginutils@^5.0.1": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" - integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - "@sinclair/typebox@^0.24.1": version "0.24.51" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" @@ -703,11 +623,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/estree@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - "@types/graceful-fs@^4.1.3": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" @@ -857,6 +772,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + babel-jest@^29.2.2: version "29.2.2" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.2.2.tgz#2c15abd8c2081293c9c3f4f80a4ed1d51542fee5" @@ -922,6 +842,13 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1227,11 +1154,6 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -1275,6 +1197,11 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -1302,7 +1229,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -1369,6 +1296,16 @@ glob@^8.0.1: minimatch "^5.0.1" once "^1.3.0" +glob@^9.1.0: + version "9.2.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.2.1.tgz#f47e34e1119e7d4f93a546e75851ba1f1e68de50" + integrity sha512-Pxxgq3W0HyA3XUvSXcFhRSs+43Jsx0ddxcFrbjxNGkL2Ak5BAUBxLqI5G6ADDeCHLfzzXFhe0b1yYcctGmytMA== + dependencies: + fs.realpath "^1.0.0" + minimatch "^7.4.1" + minipass "^4.2.4" + path-scurry "^1.6.1" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -1946,6 +1883,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -1995,6 +1939,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + lru-cache@^7.7.1: version "7.14.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" @@ -2073,6 +2022,13 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^7.4.1: + version "7.4.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f" + integrity sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA== + dependencies: + brace-expansion "^2.0.1" + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -2119,6 +2075,11 @@ minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: dependencies: yallist "^4.0.0" +minipass@^4.0.2, minipass@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.4.tgz#7d0d97434b6a19f59c5c3221698b48bbf3b2cd06" + integrity sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ== + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -2289,6 +2250,14 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.1.tgz#dab45f7bb1d3f45a0e271ab258999f4ab7e23132" + integrity sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA== + dependencies: + lru-cache "^7.14.1" + minipass "^4.0.2" + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -2382,7 +2351,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.20.0, resolve@^1.22.1: +resolve@^1.20.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -2403,13 +2372,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.2.5.tgz#9452168ac083218c8212bf53d2448bdc6b8b0de7" - integrity sha512-/Ha7HhVVofduy+RKWOQJrxe4Qb3xyZo+chcpYiD8SoQa4AG7llhupUtyfKSSrdBM2mWJjhM8wZwmbY23NmlIYw== - optionalDependencies: - fsevents "~2.3.2" - safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -2642,11 +2604,6 @@ ts-jest@^29.0.3: semver "7.x" yargs-parser "^21.0.1" -tslib@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - type-detect@4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"