From 47dba48876b194be906bcb3477c12728f9bebd09 Mon Sep 17 00:00:00 2001 From: Philip Peterson Date: Sun, 20 Apr 2025 02:00:41 -0700 Subject: [PATCH] try to resolve differences --- app/package.json | 2 +- app/patches/node-pty+1.0.0.patch | 15 ---- app/yarn.lock | 20 +++--- bin/cp-snapshot.js | 6 +- bin/mk-snapshot.js | 19 ++++- package.json | 5 +- webpack.config.ts | 4 -- yarn.lock | 116 +++++++++++++++++++++++++++---- 8 files changed, 134 insertions(+), 53 deletions(-) delete mode 100644 app/patches/node-pty+1.0.0.patch diff --git a/app/package.json b/app/package.json index a7c6f60f..43044041 100644 --- a/app/package.json +++ b/app/package.json @@ -29,7 +29,7 @@ "lodash": "4.17.21", "ms": "2.1.3", "native-process-working-directory": "^1.0.2", - "node-pty": "1.0.0", + "node-pty": "1.1.0-beta33", "os-locale": "5.0.0", "parse-url": "8.1.0", "queue": "6.0.2", diff --git a/app/patches/node-pty+1.0.0.patch b/app/patches/node-pty+1.0.0.patch deleted file mode 100644 index 51f70f2d..00000000 --- a/app/patches/node-pty+1.0.0.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/node_modules/node-pty/src/win/conpty.cc b/node_modules/node-pty/src/win/conpty.cc -index 47af75c..884d542 100644 ---- a/node_modules/node-pty/src/win/conpty.cc -+++ b/node_modules/node-pty/src/win/conpty.cc -@@ -472,10 +472,6 @@ static NAN_METHOD(PtyKill) { - } - } - -- DisconnectNamedPipe(handle->hIn); -- DisconnectNamedPipe(handle->hOut); -- CloseHandle(handle->hIn); -- CloseHandle(handle->hOut); - CloseHandle(handle->hShell); - } - diff --git a/app/yarn.lock b/app/yarn.lock index 8e654f1d..f74b28c1 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -586,11 +586,6 @@ ms@2.1.3: resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nan@^2.17.0: - version "2.17.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - native-process-working-directory@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/native-process-working-directory/-/native-process-working-directory-1.0.2.tgz#7843e2fa1490f53cf8d2c7d1913de8b275e8b89a" @@ -615,17 +610,22 @@ node-addon-api@^3.1.0: resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== +node-addon-api@^7.1.0: + version "7.1.1" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + node-gyp-build@4: version "4.3.0" resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== -node-pty@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/node-pty/-/node-pty-1.0.0.tgz#7daafc0aca1c4ca3de15c61330373af4af5861fd" - integrity sha512-wtBMWWS7dFZm/VgqElrTvtfMq4GzJ6+edFI0Y0zyzygUSZMgZdraDUMUhCIvkjhJjme15qWmbyJbtAx4ot4uZA== +node-pty@1.1.0-beta33: + version "1.1.0-beta33" + resolved "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0-beta33.tgz#9262e19712e7f42c84c14b11a864fb292de139d4" + integrity sha512-+BN2bT/KqO+fmCHnpFS99VMVJr7VUBCUa2VIBEw0oEvszkR7ri0kwD1lF91OeQToUJ2dXKA8j6scPjbO4eRWOQ== dependencies: - nan "^2.17.0" + node-addon-api "^7.1.0" normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" diff --git a/bin/cp-snapshot.js b/bin/cp-snapshot.js index a4e29392..0339e273 100644 --- a/bin/cp-snapshot.js +++ b/bin/cp-snapshot.js @@ -28,11 +28,7 @@ function getPathToElectron() { } function getV8ContextFileName(archToCopy) { - if (process.platform === 'darwin') { - return `v8_context_snapshot${archToCopy === 'arm64' ? '.arm64' : '.x86_64'}.bin`; - } else { - return `v8_context_snapshot.bin`; - } + return `snapshot_blob.bin`; } exports.default = async (context) => { diff --git a/bin/mk-snapshot.js b/bin/mk-snapshot.js index 209426cf..0dceca93 100644 --- a/bin/mk-snapshot.js +++ b/bin/mk-snapshot.js @@ -9,6 +9,11 @@ const excludedModules = {}; const crossArchDirs = ['clang_x86_v8_arm', 'clang_x64_v8_arm64', 'win_clang_x64']; +const archMap = { + x64: 'x86_64', + arm64: 'arm64' +}; + async function main() { const baseDirPath = path.resolve(__dirname, '..'); @@ -41,11 +46,19 @@ async function main() { } } + const startupBlobPath = path.join(outputBlobPath, 'snapshot_blob.bin'); + console.log(`Generating startup blob in "${outputBlobPath}"`); - childProcess.execFileSync( - path.resolve(__dirname, '..', 'node_modules', '.bin', 'mksnapshot' + (process.platform === 'win32' ? '.cmd' : '')), - [snapshotScriptPath, '--output_dir', outputBlobPath] + const res = childProcess.execFileSync( + path.resolve(__dirname, '..', 'node_modules', 'electron-mksnapshot', 'bin', 'mksnapshot' + (process.platform === 'win32' ? '.cmd' : '')), + [ + '--startup-src=' + snapshotScriptPath, + '--startup-blob=' + startupBlobPath, + `--target-arch=${archMap[process.env.npm_config_arch]}`, + //'--v8-context-snapshot=' + v8SnapshotPath + ] ); + console.log('result:', res.toString()) } main().catch((err) => console.error(err)); diff --git a/package.json b/package.json index 8d2edcf4..bdfcfef0 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "color": "4.2.3", "columnify": "1.6.0", "css-loader": "7.1.1", + "electron-rebuild": "^3.2.9", "got": "12.4.1", "json-loader": "0.5.7", "lodash": "4.17.21", @@ -109,10 +110,10 @@ "copy-webpack-plugin": "12.0.2", "cpy-cli": "^5.0.0", "cross-env": "7.0.3", - "electron": "33.0.2", + "electron": "34.5.1", "electron-builder": "^24.13.3", "electron-link": "^0.6.0", - "electron-mksnapshot": "29.3.0", + "electron-mksnapshot": "34.5.1", "electronmon": "^2.0.2", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/webpack.config.ts b/webpack.config.ts index 432b575f..e538901c 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -58,10 +58,6 @@ const config: webpack.Configuration[] = [ { from: './app/static', to: './static' - }, - { - from: './app/patches', - to: './patches' } ] }) diff --git a/yarn.lock b/yarn.lock index 110f0f9e..7aa07b65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1186,11 +1186,18 @@ dependencies: undici-types "~5.26.4" -"@types/node@^16.11.26", "@types/node@^16.9.2": +"@types/node@^16.9.2": version "16.18.36" resolved "https://registry.npmjs.org/@types/node/-/node-16.18.36.tgz#0db5d7efc4760d36d0d1d22c85d1a53accd5dc27" integrity sha512-8egDX8dE50XyXWH6C6PRCNkTP106DuUrvdrednFouDSmCi7IOvrqr0frznfZaHifHH/3aq/7a7v9N4wdXMqhBQ== +"@types/node@^20.9.0": + version "20.17.30" + resolved "https://registry.npmjs.org/@types/node/-/node-20.17.30.tgz#1d93f656d3b869dbef7b796568ac457606ba58d0" + integrity sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg== + dependencies: + undici-types "~6.19.2" + "@types/normalize-package-data@^2.4.1": version "2.4.1" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" @@ -3215,10 +3222,10 @@ electron-link@^0.6.0: resolve "^1.19.0" source-map "^0.7.3" -electron-mksnapshot@29.3.0: - version "29.3.0" - resolved "https://registry.npmjs.org/electron-mksnapshot/-/electron-mksnapshot-29.3.0.tgz#6cff15ff6909c3633a345e8cf8241122a2397996" - integrity sha512-rnUnfa6N4Rv1kLWnhTsugEkAPjFVDhNs3/SOzRswAlVTvfRzgNpolYBqAZTp/Eg3k7YAC0qUztJ3cLUraDDGog== +electron-mksnapshot@34.5.1: + version "34.5.1" + resolved "https://registry.npmjs.org/electron-mksnapshot/-/electron-mksnapshot-34.5.1.tgz#25fd5e935e9566d8ce157cb173643b0a9cf904e4" + integrity sha512-kD8VQLe/7vMw3ddAnJqcnseFQohTdZJSUgyoQpPwRa9fUf2Ko1sXBP9mriQjjw4Ho5SmKqaAz4rJMAUgsxf51Q== dependencies: "@electron/get" "^2.0.1" extract-zip "^2.0.0" @@ -3238,18 +3245,38 @@ electron-publish@24.13.1: lazy-val "^1.0.5" mime "^2.5.2" +electron-rebuild@^3.2.9: + version "3.2.9" + resolved "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.9.tgz#ea372be15f591f8d6d978ee9bca6526dadbcf20f" + integrity sha512-FkEZNFViUem3P0RLYbZkUjC8LUFIK+wKq09GHoOITSJjfDAVQv964hwaNseTTWt58sITQX3/5fHNYcTefqaCWw== + dependencies: + "@malept/cross-spawn-promise" "^2.0.0" + chalk "^4.0.0" + debug "^4.1.1" + detect-libc "^2.0.1" + fs-extra "^10.0.0" + got "^11.7.0" + lzma-native "^8.0.5" + node-abi "^3.0.0" + node-api-version "^0.1.4" + node-gyp "^9.0.0" + ora "^5.1.0" + semver "^7.3.5" + tar "^6.0.5" + yargs "^17.0.1" + electron-to-chromium@^1.4.648: version "1.4.648" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz#c7b46c9010752c37bb4322739d6d2dd82354fbe4" integrity sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg== -electron@22.3.25: - version "22.3.25" - resolved "https://registry.npmjs.org/electron/-/electron-22.3.25.tgz#a9a70b63a6712c658cd7fab343129b2a78450f80" - integrity sha512-AjrP7bebMs/IPsgmyowptbA7jycTkrJC7jLZTb5JoH30PkBC6pZx/7XQ0aDok82SsmSiF4UJDOg+HoLrEBiqmg== +electron@34.5.1: + version "34.5.1" + resolved "https://registry.npmjs.org/electron/-/electron-34.5.1.tgz#c7ce7b6f054eae6c7ef2d4ee933277db5bf069b3" + integrity sha512-z2Wm7QjhnJ5592fLITynj8UwIk1mBiT402mOakxSYiADrERIci3IOPk7xWHAFOMvt/eoG5RW16PPhgJiedZcGA== dependencies: "@electron/get" "^2.0.0" - "@types/node" "^16.11.26" + "@types/node" "^20.9.0" extract-zip "^2.0.1" electronmon@^2.0.2: @@ -5803,6 +5830,15 @@ lru-cache@^9.1.1: resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz#255fdbc14b75589d6d0e73644ca167a8db506835" integrity sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ== +lzma-native@^8.0.5: + version "8.0.6" + resolved "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.6.tgz#3ea456209d643bafd9b5d911781bdf0b396b2665" + integrity sha512-09xfg67mkL2Lz20PrrDeNYZxzeW7ADtpYFbwSQh9U8+76RIzx5QsJBMy8qikv3hbUPfpy6hqwxt6FcGK81g9AA== + dependencies: + node-addon-api "^3.1.0" + node-gyp-build "^4.2.1" + readable-stream "^3.6.0" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -6167,6 +6203,13 @@ nested-error-stacks@^2.1.1: resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== +node-abi@^3.0.0: + version "3.74.0" + resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0" + integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== + dependencies: + semver "^7.3.5" + node-abi@^3.45.0: version "3.47.0" resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz#6cbfa2916805ae25c2b7156ca640131632eb05e8" @@ -6184,6 +6227,18 @@ node-addon-api@^1.6.3: resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== +node-addon-api@^3.1.0: + version "3.2.1" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-api-version@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz#1ed46a485e462d55d66b5aa1fe2821720dedf080" + integrity sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g== + dependencies: + semver "^7.3.5" + node-api-version@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.0.tgz#5177441da2b1046a4d4547ab9e0972eed7b1ac1d" @@ -6198,6 +6253,11 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-gyp-build@^4.2.1: + version "4.8.4" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + node-gyp-build@^4.2.2: version "4.7.1" resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz#cd7d2eb48e594874053150a9418ac85af83ca8f7" @@ -7855,7 +7915,16 @@ stdin-discarder@^0.2.1: resolved "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7966,7 +8035,14 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -8499,6 +8575,11 @@ undici-types@~5.26.4: resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + unicorn-magic@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" @@ -8799,7 +8880,7 @@ wildcard@^2.0.0: resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -8817,6 +8898,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"