From ba904f2c3907f34ed7a51fe942947477bf438223 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 16:19:39 +0200 Subject: [PATCH 1/7] prefer esm to bundle in --- code/core/scripts/prep.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/core/scripts/prep.ts b/code/core/scripts/prep.ts index 7fb69f15f3c3..5ba43838a4cc 100644 --- a/code/core/scripts/prep.ts +++ b/code/core/scripts/prep.ts @@ -120,7 +120,7 @@ async function run() { target: 'node18', splitting: false, platform: 'neutral', - mainFields: ['main', 'module', 'node'], + mainFields: ['module', 'main', 'node'], conditions: ['node', 'module', 'import', 'require'], } satisfies EsbuildContextOptions; From a91f9b9b9003caa0fc584bdeb0883421ecd3d7a1 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 16:20:47 +0200 Subject: [PATCH 2/7] deal with odd case with default export CJS/ESM --- code/core/src/cli/dirs.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/core/src/cli/dirs.ts b/code/core/src/cli/dirs.ts index 88515e6b6683..42cf4eaa1f65 100644 --- a/code/core/src/cli/dirs.ts +++ b/code/core/src/cli/dirs.ts @@ -1,7 +1,7 @@ import { dirname, join } from 'path'; import downloadTarball from '@ndelangen/get-tarball'; -import getNpmTarballUrl from 'get-npm-tarball-url'; +import getNpmTarballUrlDefault from 'get-npm-tarball-url'; import invariant from 'tiny-invariant'; import { externalFrameworks } from './project_types'; @@ -17,6 +17,10 @@ const resolveUsingBranchInstall = async (packageManager: JsPackageManager, reque // FIXME: this might not be the right version for community packages const version = versions[name] || (await packageManager.latestVersion(request)); + // an artifact of esbuild + type=commonjs + exportmap + // @ts-expect-error (default export) + const getNpmTarballUrl = getNpmTarballUrlDefault.default || getNpmTarballUrlDefault; + const url = getNpmTarballUrl(request, version, { registry: await packageManager.getRegistryURL(), }); From d773352602e5d2ff5d2eda20654002df06079a33 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 16:37:39 +0200 Subject: [PATCH 3/7] add test --- .circleci/config.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0d15bdbbb805..fb935fae02ac 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -608,6 +608,19 @@ jobs: IN_STORYBOOK_SANDBOX: true STORYBOOK_INIT_EMPTY_TYPE: << parameters.template >> STORYBOOK_DISABLE_TELEMETRY: true + - run: + name: Storybook init from empty directory (--skip-install) + command: | + cd code + yarn local-registry --open & + cd ../../ + mkdir empty-<< parameters.template >> + cd empty-<< parameters.template >> + npx storybook init --yes --skip-install + environment: + IN_STORYBOOK_SANDBOX: true + STORYBOOK_INIT_EMPTY_TYPE: << parameters.template >> + STORYBOOK_DISABLE_TELEMETRY: true - report-workflow-on-failure test-portable-stories: parameters: From b62d936551a668eb1d192e8ac0d6c74c3b71238e Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 16:53:46 +0200 Subject: [PATCH 4/7] fixed with more hacks --- code/core/scripts/prep.ts | 2 +- code/core/src/cli/dirs.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/core/scripts/prep.ts b/code/core/scripts/prep.ts index 5ba43838a4cc..7fb69f15f3c3 100644 --- a/code/core/scripts/prep.ts +++ b/code/core/scripts/prep.ts @@ -120,7 +120,7 @@ async function run() { target: 'node18', splitting: false, platform: 'neutral', - mainFields: ['module', 'main', 'node'], + mainFields: ['main', 'module', 'node'], conditions: ['node', 'module', 'import', 'require'], } satisfies EsbuildContextOptions; diff --git a/code/core/src/cli/dirs.ts b/code/core/src/cli/dirs.ts index 42cf4eaa1f65..ff848818e53e 100644 --- a/code/core/src/cli/dirs.ts +++ b/code/core/src/cli/dirs.ts @@ -1,6 +1,6 @@ import { dirname, join } from 'path'; -import downloadTarball from '@ndelangen/get-tarball'; +import downloadTarballDefault from '@ndelangen/get-tarball'; import getNpmTarballUrlDefault from 'get-npm-tarball-url'; import invariant from 'tiny-invariant'; @@ -20,6 +20,8 @@ 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(), From 877037988e915974341f797f101753329fb40622 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 17:26:15 +0200 Subject: [PATCH 5/7] tweak ci config --- .circleci/config.yml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fb935fae02ac..33c0cb54e5ef 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -608,19 +608,22 @@ jobs: IN_STORYBOOK_SANDBOX: true STORYBOOK_INIT_EMPTY_TYPE: << parameters.template >> STORYBOOK_DISABLE_TELEMETRY: true - - run: - name: Storybook init from empty directory (--skip-install) - command: | - cd code - yarn local-registry --open & - cd ../../ - mkdir empty-<< parameters.template >> - cd empty-<< parameters.template >> - npx storybook init --yes --skip-install - environment: - IN_STORYBOOK_SANDBOX: true - STORYBOOK_INIT_EMPTY_TYPE: << parameters.template >> - STORYBOOK_DISABLE_TELEMETRY: true + - when: + condition: + equal: ["react-vite-ts", << parameters.template >>] + - run: + name: Storybook init from empty directory (--skip-install) + command: | + cd code + yarn local-registry --open & + cd ../../ + mkdir empty-<< parameters.template >>-no-install + cd empty-<< parameters.template >>-no-install + npx storybook init --yes --skip-install + environment: + IN_STORYBOOK_SANDBOX: true + STORYBOOK_INIT_EMPTY_TYPE: << parameters.template >> + STORYBOOK_DISABLE_TELEMETRY: true - report-workflow-on-failure test-portable-stories: parameters: From 08262afcfda9c67bdfc227b2ad2bb6696690936d Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 17:27:16 +0200 Subject: [PATCH 6/7] fix --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 33c0cb54e5ef..6ff1fb7ed744 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -611,6 +611,7 @@ jobs: - when: condition: equal: ["react-vite-ts", << parameters.template >>] + steps: - run: name: Storybook init from empty directory (--skip-install) command: | From 66221acdbe4096ed3b813e529bc3e9916955658d Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Fri, 9 Aug 2024 19:24:34 +0200 Subject: [PATCH 7/7] fix linting --- code/core/src/cli/dirs.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/core/src/cli/dirs.ts b/code/core/src/cli/dirs.ts index 8e48562c21d5..11ca9cb67441 100644 --- a/code/core/src/cli/dirs.ts +++ b/code/core/src/cli/dirs.ts @@ -1,12 +1,11 @@ -import { dirname, join } from 'path'; - -import downloadTarballDefault from '@ndelangen/get-tarball'; -import getNpmTarballUrlDefault from 'get-npm-tarball-url'; +import { dirname, join } from 'node:path'; import type { JsPackageManager } from '@storybook/core/common'; import { temporaryDirectory, versions } from '@storybook/core/common'; import type { SupportedFrameworks } from '@storybook/core/types'; +import downloadTarballDefault from '@ndelangen/get-tarball'; +import getNpmTarballUrlDefault from 'get-npm-tarball-url'; import invariant from 'tiny-invariant'; import { externalFrameworks } from './project_types';