Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@
"@emotion/styled": "^11.14.0",
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
"@happy-dom/global-registrator": "^18.0.1",
"@ndelangen/get-tarball": "^3.0.7",
"@ngard/tiny-isequal": "^1.1.0",
"@polka/compression": "^1.0.0-next.28",
"@radix-ui/react-dialog": "^1.1.2",
Expand Down Expand Up @@ -290,6 +289,7 @@
"leven": "^4.0.0",
"memfs": "^4.11.1",
"memoizerific": "^1.11.3",
"modern-tar": "^0.5.5",
"nanoid": "^4.0.2",
"npmlog": "^7.0.0",
"open": "^10.2.0",
Expand Down
19 changes: 15 additions & 4 deletions code/core/src/cli/dirs.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import { join } from 'node:path';
import { Readable } from 'node:stream';
import { pipeline } from 'node:stream/promises';
import type { ReadableStream } from 'node:stream/web';
import { createGunzip } from 'node:zlib';

import { temporaryDirectory, versions } from 'storybook/internal/common';
import type { JsPackageManager } from 'storybook/internal/common';
import type { SupportedFrameworks, SupportedRenderers } from 'storybook/internal/types';

import downloadTarballDefault from '@ndelangen/get-tarball';
import getNpmTarballUrlDefault from 'get-npm-tarball-url';
import { unpackTar } from 'modern-tar/fs';
import invariant from 'tiny-invariant';

import { resolvePackageDir } from '../shared/utils/module';
Expand All @@ -21,15 +25,22 @@ const resolveUsingBranchInstall = async (packageManager: JsPackageManager, reque
// an artifact of esbuild + type=commonjs + exportmap
// @ts-expect-error (default export)
const getNpmTarballUrl = getNpmTarballUrlDefault.default || getNpmTarballUrlDefault;
// @ts-expect-error (default export)
const downloadTarball = downloadTarballDefault.default || downloadTarballDefault;

const url = getNpmTarballUrl(request, version, {
registry: await packageManager.getRegistryURL(),
});

const response = await fetch(url);
if (!response.ok || !response.body) {
throw new Error(`Failed to download tarball from ${url}`);
}

// this unzips the tarball into the temp directory
await downloadTarball({ url, dir: tempDirectory });
await pipeline(
Readable.fromWeb(response.body as ReadableStream<Uint8Array>),
createGunzip(),
unpackTar(tempDirectory)
);

return join(tempDirectory, 'package');
};
Expand Down
154 changes: 12 additions & 142 deletions code/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4043,17 +4043,6 @@ __metadata:
languageName: node
linkType: hard

"@ndelangen/get-tarball@npm:^3.0.7":
version: 3.0.9
resolution: "@ndelangen/get-tarball@npm:3.0.9"
dependencies:
gunzip-maybe: "npm:^1.4.2"
pump: "npm:^3.0.0"
tar-fs: "npm:^2.1.1"
checksum: 10c0/d66e76c6c990745d691c85d1dfa7f3dfd181405bb52c295baf4d1838b847d40c686e24602ea0ab1cdeb14d409db59f6bb9e2f96f56fe53da275da9cccf778e27
languageName: node
linkType: hard

"@neoconfetti/react@npm:^1.0.0":
version: 1.0.0
resolution: "@neoconfetti/react@npm:1.0.0"
Expand Down Expand Up @@ -10845,15 +10834,6 @@ __metadata:
languageName: node
linkType: hard

"browserify-zlib@npm:^0.1.4":
version: 0.1.4
resolution: "browserify-zlib@npm:0.1.4"
dependencies:
pako: "npm:~0.2.0"
checksum: 10c0/0cde7ca5d33d43125649330fd75c056397e53731956a2593c4a2529f4e609a8e6abdb2b8e1921683abf5645375b92cfb2a21baa42fe3c9fc3e2556d32043af93
languageName: node
linkType: hard

"browserify-zlib@npm:^0.2.0":
version: 0.2.0
resolution: "browserify-zlib@npm:0.2.0"
Expand Down Expand Up @@ -11261,13 +11241,6 @@ __metadata:
languageName: node
linkType: hard

"chownr@npm:^1.1.1":
version: 1.1.4
resolution: "chownr@npm:1.1.4"
checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db
languageName: node
linkType: hard

"chownr@npm:^3.0.0":
version: 3.0.0
resolution: "chownr@npm:3.0.0"
Expand Down Expand Up @@ -12980,18 +12953,6 @@ __metadata:
languageName: node
linkType: hard

"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
version: 3.7.1
resolution: "duplexify@npm:3.7.1"
dependencies:
end-of-stream: "npm:^1.0.0"
inherits: "npm:^2.0.1"
readable-stream: "npm:^2.0.0"
stream-shift: "npm:^1.0.0"
checksum: 10c0/59d1440c1b4e3a4db35ae96933392703ce83518db1828d06b9b6322920d6cbbf0b7159e88be120385fe459e77f1eb0c7622f26e9ec1f47c9ff05c2b35747dbd3
languageName: node
linkType: hard

"duplexify@npm:^4.0.0, duplexify@npm:^4.1.1":
version: 4.1.3
resolution: "duplexify@npm:4.1.3"
Expand Down Expand Up @@ -13295,7 +13256,7 @@ __metadata:
languageName: node
linkType: hard

"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1":
"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1":
version: 1.4.5
resolution: "end-of-stream@npm:1.4.5"
dependencies:
Expand Down Expand Up @@ -15948,22 +15909,6 @@ __metadata:
languageName: node
linkType: hard

"gunzip-maybe@npm:^1.4.2":
version: 1.4.2
resolution: "gunzip-maybe@npm:1.4.2"
dependencies:
browserify-zlib: "npm:^0.1.4"
is-deflate: "npm:^1.0.0"
is-gzip: "npm:^1.0.0"
peek-stream: "npm:^1.1.0"
pumpify: "npm:^1.3.3"
through2: "npm:^2.0.3"
bin:
gunzip-maybe: bin.js
checksum: 10c0/42798a8061759885c2084e1804e51313d14f2dc9cf6c137e222953ec802f914e592d6f9dbf6ad67f4e78eb036e86db017d9c7c93bb23e90cd5ae09326296ed77
languageName: node
linkType: hard

"handle-thing@npm:^2.0.0":
version: 2.0.1
resolution: "handle-thing@npm:2.0.1"
Expand Down Expand Up @@ -17053,13 +16998,6 @@ __metadata:
languageName: node
linkType: hard

"is-deflate@npm:^1.0.0":
version: 1.0.0
resolution: "is-deflate@npm:1.0.0"
checksum: 10c0/35f7ffcbef3549dd8a4d8df5dc09b4f4656a0fc88326e8b5201cda54114a9c2d8efb689d87c16f3f35c95bd71dcf13dc790d62b7504745b42c53ab4b40238f5a
languageName: node
linkType: hard

"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1":
version: 2.2.1
resolution: "is-docker@npm:2.2.1"
Expand Down Expand Up @@ -17148,13 +17086,6 @@ __metadata:
languageName: node
linkType: hard

"is-gzip@npm:^1.0.0":
version: 1.0.0
resolution: "is-gzip@npm:1.0.0"
checksum: 10c0/cbc1db080c636a6fb0f7346e3076f8276a29a9d8b52ae67c1971a8131c43f308e98ed227d1a6f49970e6c6ebabee0568e60aed7a3579dd4e1817cddf2faaf9b7
languageName: node
linkType: hard

"is-hexadecimal@npm:^1.0.0":
version: 1.0.4
resolution: "is-hexadecimal@npm:1.0.4"
Expand Down Expand Up @@ -19720,13 +19651,6 @@ __metadata:
languageName: node
linkType: hard

"mkdirp-classic@npm:^0.5.2":
version: 0.5.3
resolution: "mkdirp-classic@npm:0.5.3"
checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168
languageName: node
linkType: hard

"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1":
version: 0.5.6
resolution: "mkdirp@npm:0.5.6"
Expand Down Expand Up @@ -19764,6 +19688,13 @@ __metadata:
languageName: node
linkType: hard

"modern-tar@npm:^0.5.5":
version: 0.5.5
resolution: "modern-tar@npm:0.5.5"
checksum: 10c0/e34b60e735941c53a9786cf0d9c6835e24af24860dc848c1fb8a8e2f477421d6bff19ae6d68361a2955ea8a83692ed098b3e946342670b9ff6cc8ea6f30ca6e8
languageName: node
linkType: hard

"module-alias@npm:^2.2.3":
version: 2.2.3
resolution: "module-alias@npm:2.2.3"
Expand Down Expand Up @@ -20895,13 +20826,6 @@ __metadata:
languageName: node
linkType: hard

"pako@npm:~0.2.0":
version: 0.2.9
resolution: "pako@npm:0.2.9"
checksum: 10c0/79c1806ebcf325b60ae599e4d7227c2e346d7b829dc20f5cf24cef07c934079dc3a61c5b3c8278a2f7a190c4a613e343ea11e5302dbe252efd11712df4b6b041
languageName: node
linkType: hard

"pako@npm:~1.0.5":
version: 1.0.11
resolution: "pako@npm:1.0.11"
Expand Down Expand Up @@ -21230,17 +21154,6 @@ __metadata:
languageName: node
linkType: hard

"peek-stream@npm:^1.1.0":
version: 1.1.3
resolution: "peek-stream@npm:1.1.3"
dependencies:
buffer-from: "npm:^1.0.0"
duplexify: "npm:^3.5.0"
through2: "npm:^2.0.3"
checksum: 10c0/3c35d1951b8640036f93b1b5628a90f849e49ca4f2e6aba393ff4978413931d9c491c83f71a92f878d5ea4c670af0bba04dfcfb79b310ead22601db7c1420e36
languageName: node
linkType: hard

"perfect-debounce@npm:^2.0.0":
version: 2.0.0
resolution: "perfect-debounce@npm:2.0.0"
Expand Down Expand Up @@ -22144,16 +22057,6 @@ __metadata:
languageName: node
linkType: hard

"pump@npm:^2.0.0":
version: 2.0.1
resolution: "pump@npm:2.0.1"
dependencies:
end-of-stream: "npm:^1.1.0"
once: "npm:^1.3.1"
checksum: 10c0/f1fe8960f44d145f8617ea4c67de05392da4557052980314c8f85081aee26953bdcab64afad58a2b1df0e8ff7203e3710e848cbe81a01027978edc6e264db355
languageName: node
linkType: hard

"pump@npm:^3.0.0":
version: 3.0.3
resolution: "pump@npm:3.0.3"
Expand All @@ -22164,17 +22067,6 @@ __metadata:
languageName: node
linkType: hard

"pumpify@npm:^1.3.3":
version: 1.5.1
resolution: "pumpify@npm:1.5.1"
dependencies:
duplexify: "npm:^3.6.0"
inherits: "npm:^2.0.3"
pump: "npm:^2.0.0"
checksum: 10c0/0bcabf9e3dbf2d0cc1f9b84ac80d3c75386111caf8963bfd98817a1e2192000ac0ccc804ca6ccd5b2b8430fdb71347b20fb2f014fe3d41adbacb1b502a841c45
languageName: node
linkType: hard

"punycode@npm:^1.4.1":
version: 1.4.1
resolution: "punycode@npm:1.4.1"
Expand Down Expand Up @@ -22684,7 +22576,7 @@ __metadata:
languageName: node
linkType: hard

"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6":
"readable-stream@npm:^2.0.1, readable-stream@npm:^2.3.8":
version: 2.3.8
resolution: "readable-stream@npm:2.3.8"
dependencies:
Expand Down Expand Up @@ -24602,7 +24494,6 @@ __metadata:
"@emotion/styled": "npm:^11.14.0"
"@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2"
"@happy-dom/global-registrator": "npm:^18.0.1"
"@ndelangen/get-tarball": "npm:^3.0.7"
"@ngard/tiny-isequal": "npm:^1.1.0"
"@polka/compression": "npm:^1.0.0-next.28"
"@radix-ui/react-dialog": "npm:^1.1.2"
Expand Down Expand Up @@ -24676,6 +24567,7 @@ __metadata:
leven: "npm:^4.0.0"
memfs: "npm:^4.11.1"
memoizerific: "npm:^1.11.3"
modern-tar: "npm:^0.5.5"
nanoid: "npm:^4.0.2"
npmlog: "npm:^7.0.0"
open: "npm:^10.2.0"
Expand Down Expand Up @@ -24762,7 +24654,7 @@ __metadata:
languageName: node
linkType: hard

"stream-shift@npm:^1.0.0, stream-shift@npm:^1.0.2":
"stream-shift@npm:^1.0.2":
version: 1.0.3
resolution: "stream-shift@npm:1.0.3"
checksum: 10c0/939cd1051ca750d240a0625b106a2b988c45fb5a3be0cebe9a9858cb01bc1955e8c7b9fac17a9462976bea4a7b704e317c5c2200c70f0ca715a3363b9aa4fd3b
Expand Down Expand Up @@ -25242,19 +25134,7 @@ __metadata:
languageName: node
linkType: hard

"tar-fs@npm:^2.1.1":
version: 2.1.4
resolution: "tar-fs@npm:2.1.4"
dependencies:
chownr: "npm:^1.1.1"
mkdirp-classic: "npm:^0.5.2"
pump: "npm:^3.0.0"
tar-stream: "npm:^2.1.4"
checksum: 10c0/decb25acdc6839182c06ec83cba6136205bda1db984e120c8ffd0d80182bc5baa1d916f9b6c5c663ea3f9975b4dd49e3c6bb7b1707cbcdaba4e76042f43ec84c
languageName: node
linkType: hard

"tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0":
"tar-stream@npm:~2.2.0":
version: 2.2.0
resolution: "tar-stream@npm:2.2.0"
dependencies:
Expand Down Expand Up @@ -25405,16 +25285,6 @@ __metadata:
languageName: node
linkType: hard

"through2@npm:^2.0.3":
version: 2.0.5
resolution: "through2@npm:2.0.5"
dependencies:
readable-stream: "npm:~2.3.6"
xtend: "npm:~4.0.1"
checksum: 10c0/cbfe5b57943fa12b4f8c043658c2a00476216d79c014895cef1ac7a1d9a8b31f6b438d0e53eecbb81054b93128324a82ecd59ec1a4f91f01f7ac113dcb14eade
languageName: node
linkType: hard

"thunky@npm:^1.0.2":
version: 1.1.0
resolution: "thunky@npm:1.1.0"
Expand Down