diff --git a/.gitignore b/.gitignore index f22903bfc..7d30ce798 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ .env .cmake-js +modules/**/*/doc modules/**/*/lib modules/**/*/build modules/*/include/rmm diff --git a/modules/core/package.json b/modules/core/package.json index e4d2c4420..124bf85bc 100644 --- a/modules/core/package.json +++ b/modules/core/package.json @@ -42,6 +42,7 @@ "segfault-handler": "1.3.0", "ts-jest": "25.5.1", "ts-node": "8.10.1", + "typedoc": "0.20.14", "typescript": "3.9.2" }, "files": [ diff --git a/modules/cuda/package.json b/modules/cuda/package.json index 54efe62bf..a97a4bdcf 100644 --- a/modules/cuda/package.json +++ b/modules/cuda/package.json @@ -9,7 +9,8 @@ "main": "index.js", "types": "build/js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --no-cache --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build && yarn cpp:build", "compile": "yarn tsc:build && yarn cpp:compile", diff --git a/modules/cuda/typedoc.js b/modules/cuda/typedoc.js new file mode 100644 index 000000000..507997456 --- /dev/null +++ b/modules/cuda/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/cuda', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/modules/cudf/package.json b/modules/cudf/package.json index afe8f98c1..4561b10e7 100644 --- a/modules/cudf/package.json +++ b/modules/cudf/package.json @@ -9,7 +9,8 @@ ], "main": "index.js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --no-cache --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build && yarn cpp:build", "compile": "yarn tsc:build && yarn cpp:compile", diff --git a/modules/cudf/typedoc.js b/modules/cudf/typedoc.js new file mode 100644 index 000000000..017e7cb66 --- /dev/null +++ b/modules/cudf/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/cudf', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/modules/cugraph/package.json b/modules/cugraph/package.json index 902332f52..74afe4612 100644 --- a/modules/cugraph/package.json +++ b/modules/cugraph/package.json @@ -9,7 +9,8 @@ "main": "index.js", "types": "build/js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --no-cache --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build && yarn cpp:build", "compile": "yarn tsc:build && yarn cpp:compile", diff --git a/modules/cugraph/typedoc.js b/modules/cugraph/typedoc.js new file mode 100644 index 000000000..194629abc --- /dev/null +++ b/modules/cugraph/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/cugraph', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/modules/deck.gl/package.json b/modules/deck.gl/package.json index 077755684..abfb02e31 100644 --- a/modules/deck.gl/package.json +++ b/modules/deck.gl/package.json @@ -9,7 +9,8 @@ "main": "index.js", "types": "build/js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build", "compile": "yarn tsc:build", diff --git a/modules/deck.gl/typedoc.js b/modules/deck.gl/typedoc.js new file mode 100644 index 000000000..3e36f8be3 --- /dev/null +++ b/modules/deck.gl/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/deck.gl', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/modules/glfw/package.json b/modules/glfw/package.json index 61920dff4..37d5208e1 100644 --- a/modules/glfw/package.json +++ b/modules/glfw/package.json @@ -9,7 +9,8 @@ "main": "index.js", "types": "build/js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --no-cache --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build && yarn cpp:build", "compile": "yarn tsc:build && yarn cpp:compile", diff --git a/modules/glfw/typedoc.js b/modules/glfw/typedoc.js new file mode 100644 index 000000000..1bb5aaf4e --- /dev/null +++ b/modules/glfw/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/glfw', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/modules/rmm/package.json b/modules/rmm/package.json index 27859d39c..bd64bfb1b 100644 --- a/modules/rmm/package.json +++ b/modules/rmm/package.json @@ -9,7 +9,8 @@ "main": "index.js", "types": "build/js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --no-cache --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build && yarn cpp:build", "compile": "yarn tsc:build && yarn cpp:compile", diff --git a/modules/rmm/typedoc.js b/modules/rmm/typedoc.js new file mode 100644 index 000000000..0496c9a5e --- /dev/null +++ b/modules/rmm/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/rmm', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/modules/webgl/package.json b/modules/webgl/package.json index 3b2da4dac..167fdb268 100644 --- a/modules/webgl/package.json +++ b/modules/webgl/package.json @@ -9,7 +9,8 @@ "main": "index.js", "types": "build/js", "scripts": { - "clean": "rimraf build compile_commands.json", + "clean": "rimraf build doc compile_commands.json", + "doc": "rimraf doc && typedoc --options typedoc.js", "test": "jest --no-cache --runInBand --detectOpenHandles --verbose -c jest.config.js test/*", "build": "yarn tsc:build && yarn cpp:build", "compile": "yarn tsc:build && yarn cpp:compile", diff --git a/modules/webgl/typedoc.js b/modules/webgl/typedoc.js new file mode 100644 index 000000000..ff409b758 --- /dev/null +++ b/modules/webgl/typedoc.js @@ -0,0 +1,9 @@ +module.exports = { + entryPoints: ['src'], + out: 'doc', + name: '@nvidia/webgl', + tsconfig: 'tsconfig.json', + excludePrivate: true, + excludeProtected: true, + excludeExternals: true, +}; diff --git a/package.json b/package.json index 98fc78b44..d0f3828cc 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ ], "scripts": { "clean": "scripts/exec.js clean", + "doc": "scripts/exec.js run doc", "demo": "scripts/exec.js demo", "test": "scripts/exec.js test", "lint": "scripts/exec.js lint", diff --git a/yarn.lock b/yarn.lock index dd1ad66ea..641928d06 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4227,6 +4227,11 @@ asynckit@^0.4.0: resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob-lite@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" @@ -5528,6 +5533,11 @@ colors@1.1.2: resolved "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= +colors@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + colors@~0.6.0-1: version "0.6.2" resolved "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" @@ -8248,6 +8258,16 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + fs-minipass@^1.2.5: version "1.2.7" resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -10837,7 +10857,7 @@ json3@^3.3.2: resolved "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== -json5@2.x, json5@^2.1.1, json5@^2.1.2: +json5@2.x, json5@^2.1.0, json5@^2.1.1, json5@^2.1.2: version "2.1.3" resolved "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== @@ -10858,6 +10878,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -11388,6 +11417,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lunr@^2.3.9: + version "2.3.9" + resolved "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + macos-release@^2.2.0: version "2.4.1" resolved "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" @@ -11512,6 +11546,11 @@ mapbox-gl@^1.0.0, mapbox-gl@^1.2.1: tinyqueue "^2.0.3" vt-pbf "^3.1.1" +marked@^1.2.5: + version "1.2.7" + resolved "https://registry.npmjs.org/marked/-/marked-1.2.7.tgz#6e14b595581d2319cdcf033a24caaf41455a01fb" + integrity sha512-No11hFYcXr/zkBvL6qFmAp1z6BKY3zqLMHny/JN/ey+al7qwCM2+CMBL9BOgqMxZU36fz4cCWfn2poWIf7QRXA== + math.gl@^3.0.0, math.gl@^3.2.0, math.gl@^3.2.1: version "3.4.1" resolved "https://registry.npmjs.org/math.gl/-/math.gl-3.4.1.tgz#39ec5760e395db428e8da70c94b0a03fa4671272" @@ -11759,7 +11798,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -12541,6 +12580,13 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +onigasm@^2.2.5: + version "2.2.5" + resolved "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz#cc4d2a79a0fa0b64caec1f4c7ea367585a676892" + integrity sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA== + dependencies: + lru-cache "^5.1.1" + open@^7.0.2: version "7.3.1" resolved "https://registry.npmjs.org/open/-/open-7.3.1.tgz#111119cb919ca1acd988f49685c4fdd0f4755356" @@ -13959,7 +14005,7 @@ process@^0.11.10: resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.0, progress@^2.0.1: +progress@^2.0.0, progress@^2.0.1, progress@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -15591,11 +15637,45 @@ shelljs@0.8.1: interpret "^1.0.0" rechoir "^0.6.2" +shelljs@^0.8.4: + version "0.8.4" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +shiki-languages@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/shiki-languages/-/shiki-languages-0.2.7.tgz#7230b675b96d37a36ac1bf995525375ce69f3924" + integrity sha512-REmakh7pn2jCn9GDMRSK36oDgqhh+rSvJPo77sdWTOmk44C5b0XlYPwJZcFOMJWUZJE0c7FCbKclw4FLwUKLRw== + dependencies: + vscode-textmate "^5.2.0" + +shiki-themes@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/shiki-themes/-/shiki-themes-0.2.7.tgz#6e04451d832152e0fc969876a7bd926b3963c1f2" + integrity sha512-ZMmboDYw5+SEpugM8KGUq3tkZ0vXg+k60XX6NngDK7gc1Sv6YLUlanpvG3evm57uKJvfXsky/S5MzSOTtYKLjA== + dependencies: + json5 "^2.1.0" + vscode-textmate "^5.2.0" + +shiki@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/shiki/-/shiki-0.2.7.tgz#d2547548ed8742673730e1e4bbe792a77c445540" + integrity sha512-bwVc7cdtYYHEO9O+XJ8aNOskKRfaQd5Y4ovLRfbQkmiLSUaR+bdlssbZUUhbQ0JAFMYcTcJ5tjG5KtnufttDHQ== + dependencies: + onigasm "^2.2.5" + shiki-languages "^0.2.7" + shiki-themes "^0.2.7" + vscode-textmate "^5.2.0" + side-channel@^1.0.2, side-channel@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -16954,6 +17034,28 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typedoc-default-themes@0.12.1: + version "0.12.1" + resolved "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.1.tgz#6c4a759f9dc365b4021579587b3773deb6fb6eeb" + integrity sha512-6PEvV+/kWAJeUwEtrKgIsZQSbybW5DGCr6s2mMjHsDplpgN8iBHI52UbA+2C+c2TMCxBNMK9TMS6pdeIdwsLSw== + +typedoc@0.20.14: + version "0.20.14" + resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.20.14.tgz#894ff71841a4abbe8f46cf52f3cc96c9d68328dc" + integrity sha512-9bsZp5/qkl+gDSv9DRvHbfbY8Sr0tD8fKx7hNIvcluxeAFzBCEo9o0qDCdLUZw+/axbfd9TaqHvSuCVRu+YH6Q== + dependencies: + colors "^1.4.0" + fs-extra "^9.0.1" + handlebars "^4.7.6" + lodash "^4.17.20" + lunr "^2.3.9" + marked "^1.2.5" + minimatch "^3.0.0" + progress "^2.0.3" + shelljs "^0.8.4" + shiki "^0.2.7" + typedoc-default-themes "0.12.1" + typescript@3.9.2: version "3.9.2" resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.2.tgz#64e9c8e9be6ea583c54607677dd4680a1cf35db9" @@ -17063,6 +17165,16 @@ universalify@^0.1.0: resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -17288,6 +17400,11 @@ vm-browserify@^1.0.1: resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +vscode-textmate@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" + integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== + vt-pbf@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.1.tgz#b0f627e39a10ce91d943b898ed2363d21899fb82"