Skip to content

Commit f881fc9

Browse files
authored
Inject mdx compiler for mdx1 (#556)
fixes #557 I found that mdx was not working correctly here, and @valentinpalkovic realized my fallback in Storybook 7 wasn't either (storybookjs/storybook#20823). It was because we used to inject the mdx compiler into the source code that we get back from the `@storybook/mdx1-csf` compiler, but we lost that in https://github.com/storybookjs/builder-vite/pull/548/files#diff-f2dfc4dfa9074d77a728a88e6629a1d66be8a0765cab8562526cd00fbae910e5L6. This re-introduces it, with a bit better of a guarantee that the correct version is going to be loaded, by starting from inside `@storybook/mdx1-csf`. I've also pinned mdx1-csf here, in case the import is moved from the loader to the compiler, as @shilman has suggested doing. We'll need to adjust this if that happens.
1 parent 4d49af6 commit f881fc9

File tree

23 files changed

+246
-123
lines changed

23 files changed

+246
-123
lines changed

examples/lit-ts/.storybook/main.cjs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
const path = require('node:path');
12
const { mergeConfig } = require('vite');
23
const postcssLit = require('rollup-plugin-postcss-lit');
34

@@ -18,6 +19,16 @@ module.exports = {
1819
return mergeConfig(config, {
1920
// prettier-ignore
2021
plugins: [postcssLit({ include: ['**/*.scss', '**/*.scss\?*'] })],
22+
// because rollup does not respect NODE_PATH, and we have a funky example setup that needs it
23+
build: {
24+
rollupOptions: {
25+
plugins: {
26+
resolveId: function (code) {
27+
if (code === 'react') return path.resolve(require.resolve('react'));
28+
},
29+
},
30+
},
31+
},
2132
});
2233
},
2334
};

examples/lit-ts/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2732,7 +2732,7 @@ __metadata:
27322732
dependencies:
27332733
"@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1
27342734
"@storybook/core-common": ^6.4.3
2735-
"@storybook/mdx1-csf": ^1.0.0-next.0
2735+
"@storybook/mdx1-csf": 1.0.0-next.0
27362736
"@storybook/node-logger": ^6.4.3
27372737
"@storybook/semver": ^7.3.2
27382738
"@storybook/source-loader": ^6.4.3
@@ -3220,6 +3220,16 @@ __metadata:
32203220
languageName: node
32213221
linkType: hard
32223222

3223+
"@storybook/mdx1-csf@npm:1.0.0-next.0":
3224+
version: 1.0.0-next.0
3225+
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3226+
dependencies:
3227+
"@mdx-js/mdx": ^1.6.22
3228+
"@mdx-js/react": ^1.6.22
3229+
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3230+
languageName: node
3231+
linkType: hard
3232+
32233233
"@storybook/mdx1-csf@npm:^0.0.1":
32243234
version: 0.0.1
32253235
resolution: "@storybook/mdx1-csf@npm:0.0.1"
@@ -3239,16 +3249,6 @@ __metadata:
32393249
languageName: node
32403250
linkType: hard
32413251

3242-
"@storybook/mdx1-csf@npm:^1.0.0-next.0":
3243-
version: 1.0.0-next.0
3244-
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3245-
dependencies:
3246-
"@mdx-js/mdx": ^1.6.22
3247-
"@mdx-js/react": ^1.6.22
3248-
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3249-
languageName: node
3250-
linkType: hard
3251-
32523252
"@storybook/node-logger@npm:6.5.12, @storybook/node-logger@npm:^6.4.3":
32533253
version: 6.5.12
32543254
resolution: "@storybook/node-logger@npm:6.5.12"

examples/preact/.storybook/main.cjs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const path = require('node:path');
2+
13
module.exports = {
24
framework: '@storybook/preact',
35
stories: ['../stories/**/*.stories.mdx', '../stories/**/*.stories.@(js|jsx|ts|tsx)'],
@@ -7,4 +9,16 @@ module.exports = {
79
// we don't want to muck up the data when we're working on the builder
810
disableTelemetry: true,
911
},
12+
async viteFinal(config) {
13+
// because rollup does not respect NODE_PATH, and we have a funky example setup that needs it
14+
config.build.rollupOptions = {
15+
plugins: {
16+
resolveId: function (code) {
17+
if (code === 'react') return path.resolve(require.resolve('react'));
18+
if (code === 'preact/compat') return path.resolve(require.resolve('preact/compat'));
19+
},
20+
},
21+
};
22+
return config;
23+
},
1024
};

examples/preact/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2755,7 +2755,7 @@ __metadata:
27552755
dependencies:
27562756
"@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1
27572757
"@storybook/core-common": ^6.4.3
2758-
"@storybook/mdx1-csf": ^1.0.0-next.0
2758+
"@storybook/mdx1-csf": 1.0.0-next.0
27592759
"@storybook/node-logger": ^6.4.3
27602760
"@storybook/semver": ^7.3.2
27612761
"@storybook/source-loader": ^6.4.3
@@ -3243,6 +3243,16 @@ __metadata:
32433243
languageName: node
32443244
linkType: hard
32453245

3246+
"@storybook/mdx1-csf@npm:1.0.0-next.0":
3247+
version: 1.0.0-next.0
3248+
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3249+
dependencies:
3250+
"@mdx-js/mdx": ^1.6.22
3251+
"@mdx-js/react": ^1.6.22
3252+
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3253+
languageName: node
3254+
linkType: hard
3255+
32463256
"@storybook/mdx1-csf@npm:^0.0.1":
32473257
version: 0.0.1
32483258
resolution: "@storybook/mdx1-csf@npm:0.0.1"
@@ -3262,16 +3272,6 @@ __metadata:
32623272
languageName: node
32633273
linkType: hard
32643274

3265-
"@storybook/mdx1-csf@npm:^1.0.0-next.0":
3266-
version: 1.0.0-next.0
3267-
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3268-
dependencies:
3269-
"@mdx-js/mdx": ^1.6.22
3270-
"@mdx-js/react": ^1.6.22
3271-
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3272-
languageName: node
3273-
linkType: hard
3274-
32753275
"@storybook/node-logger@npm:6.5.12, @storybook/node-logger@npm:^6.4.3":
32763276
version: 6.5.12
32773277
resolution: "@storybook/node-logger@npm:6.5.12"

examples/react-18/.storybook/main.cjs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const path = require('node:path');
2+
13
module.exports = {
24
framework: '@storybook/react',
35
stories: ['../stories/**/*.stories.mdx', '../stories/**/*.stories.@(js|jsx|ts|tsx)'],
@@ -10,8 +12,15 @@ module.exports = {
1012
features: {
1113
storyStoreV7: true,
1214
},
13-
async viteFinal(config, { configType }) {
14-
// customize the Vite config here
15+
async viteFinal(config) {
16+
// because rollup does not respect NODE_PATH
17+
config.build.rollupOptions = {
18+
plugins: {
19+
resolveId: function (code, id) {
20+
if (code === 'react') return path.resolve(require.resolve('react'));
21+
},
22+
},
23+
};
1524
return config;
1625
},
1726
};

examples/react-18/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2802,7 +2802,7 @@ __metadata:
28022802
dependencies:
28032803
"@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1
28042804
"@storybook/core-common": ^6.4.3
2805-
"@storybook/mdx1-csf": ^1.0.0-next.0
2805+
"@storybook/mdx1-csf": 1.0.0-next.0
28062806
"@storybook/node-logger": ^6.4.3
28072807
"@storybook/semver": ^7.3.2
28082808
"@storybook/source-loader": ^6.4.3
@@ -3290,6 +3290,16 @@ __metadata:
32903290
languageName: node
32913291
linkType: hard
32923292

3293+
"@storybook/mdx1-csf@npm:1.0.0-next.0":
3294+
version: 1.0.0-next.0
3295+
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3296+
dependencies:
3297+
"@mdx-js/mdx": ^1.6.22
3298+
"@mdx-js/react": ^1.6.22
3299+
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3300+
languageName: node
3301+
linkType: hard
3302+
32933303
"@storybook/mdx1-csf@npm:^0.0.1":
32943304
version: 0.0.1
32953305
resolution: "@storybook/mdx1-csf@npm:0.0.1"
@@ -3309,16 +3319,6 @@ __metadata:
33093319
languageName: node
33103320
linkType: hard
33113321

3312-
"@storybook/mdx1-csf@npm:^1.0.0-next.0":
3313-
version: 1.0.0-next.0
3314-
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3315-
dependencies:
3316-
"@mdx-js/mdx": ^1.6.22
3317-
"@mdx-js/react": ^1.6.22
3318-
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3319-
languageName: node
3320-
linkType: hard
3321-
33223322
"@storybook/node-logger@npm:6.5.16, @storybook/node-logger@npm:^6.4.3":
33233323
version: 6.5.16
33243324
resolution: "@storybook/node-logger@npm:6.5.16"

examples/react-ts/.storybook/main.cjs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const path = require('node:path');
2+
13
module.exports = {
24
framework: '@storybook/react',
35
stories: ['../stories/**/*.stories.mdx', '../stories/**/*.stories.@(js|jsx|ts|tsx)'],
@@ -10,8 +12,15 @@ module.exports = {
1012
features: {
1113
storyStoreV7: true,
1214
},
13-
async viteFinal(config, { configType }) {
14-
// customize the Vite config here
15+
async viteFinal(config) {
16+
// because rollup does not respect NODE_PATH, and we have a funky example setup that needs it
17+
config.build.rollupOptions = {
18+
plugins: {
19+
resolveId: function (code) {
20+
if (code === 'react') return path.resolve(require.resolve('react'));
21+
},
22+
},
23+
};
1524
return config;
1625
},
1726
};

examples/react-ts/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2990,7 +2990,7 @@ __metadata:
29902990
dependencies:
29912991
"@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1
29922992
"@storybook/core-common": ^6.4.3
2993-
"@storybook/mdx1-csf": ^1.0.0-next.0
2993+
"@storybook/mdx1-csf": 1.0.0-next.0
29942994
"@storybook/node-logger": ^6.4.3
29952995
"@storybook/semver": ^7.3.2
29962996
"@storybook/source-loader": ^6.4.3
@@ -3478,6 +3478,16 @@ __metadata:
34783478
languageName: node
34793479
linkType: hard
34803480

3481+
"@storybook/mdx1-csf@npm:1.0.0-next.0":
3482+
version: 1.0.0-next.0
3483+
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3484+
dependencies:
3485+
"@mdx-js/mdx": ^1.6.22
3486+
"@mdx-js/react": ^1.6.22
3487+
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3488+
languageName: node
3489+
linkType: hard
3490+
34813491
"@storybook/mdx1-csf@npm:^0.0.1":
34823492
version: 0.0.1
34833493
resolution: "@storybook/mdx1-csf@npm:0.0.1"
@@ -3497,16 +3507,6 @@ __metadata:
34973507
languageName: node
34983508
linkType: hard
34993509

3500-
"@storybook/mdx1-csf@npm:^1.0.0-next.0":
3501-
version: 1.0.0-next.0
3502-
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3503-
dependencies:
3504-
"@mdx-js/mdx": ^1.6.22
3505-
"@mdx-js/react": ^1.6.22
3506-
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3507-
languageName: node
3508-
linkType: hard
3509-
35103510
"@storybook/node-logger@npm:6.5.12, @storybook/node-logger@npm:^6.4.3":
35113511
version: 6.5.12
35123512
resolution: "@storybook/node-logger@npm:6.5.12"

examples/react/.storybook/main.cjs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const path = require('node:path');
2+
13
module.exports = {
24
framework: '@storybook/react',
35
stories: ['../stories/**/*stories.mdx', '../stories/**/*.stories.@(js|jsx|ts|tsx)'],
@@ -12,6 +14,14 @@ module.exports = {
1214
previewMdx2: true,
1315
},
1416
async viteFinal(config) {
17+
// because rollup does not respect NODE_PATH, and we have a funky example setup that needs it
18+
config.build.rollupOptions = {
19+
plugins: {
20+
resolveId: function (code) {
21+
if (code === 'react') return path.resolve(require.resolve('react'));
22+
},
23+
},
24+
};
1525
return config;
1626
},
1727
};

examples/react/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2824,7 +2824,7 @@ __metadata:
28242824
dependencies:
28252825
"@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1
28262826
"@storybook/core-common": ^6.4.3
2827-
"@storybook/mdx1-csf": ^1.0.0-next.0
2827+
"@storybook/mdx1-csf": 1.0.0-next.0
28282828
"@storybook/node-logger": ^6.4.3
28292829
"@storybook/semver": ^7.3.2
28302830
"@storybook/source-loader": ^6.4.3
@@ -3312,6 +3312,16 @@ __metadata:
33123312
languageName: node
33133313
linkType: hard
33143314

3315+
"@storybook/mdx1-csf@npm:1.0.0-next.0":
3316+
version: 1.0.0-next.0
3317+
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3318+
dependencies:
3319+
"@mdx-js/mdx": ^1.6.22
3320+
"@mdx-js/react": ^1.6.22
3321+
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3322+
languageName: node
3323+
linkType: hard
3324+
33153325
"@storybook/mdx1-csf@npm:^0.0.1":
33163326
version: 0.0.1
33173327
resolution: "@storybook/mdx1-csf@npm:0.0.1"
@@ -3331,16 +3341,6 @@ __metadata:
33313341
languageName: node
33323342
linkType: hard
33333343

3334-
"@storybook/mdx1-csf@npm:^1.0.0-next.0":
3335-
version: 1.0.0-next.0
3336-
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3337-
dependencies:
3338-
"@mdx-js/mdx": ^1.6.22
3339-
"@mdx-js/react": ^1.6.22
3340-
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3341-
languageName: node
3342-
linkType: hard
3343-
33443344
"@storybook/mdx2-csf@npm:next":
33453345
version: 1.0.0-next.5
33463346
resolution: "@storybook/mdx2-csf@npm:1.0.0-next.5"

examples/svelte/.storybook/main.cjs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const preprocess = require('svelte-preprocess');
1+
const path = require('node:path');
22

33
module.exports = {
44
framework: '@storybook/svelte',
@@ -13,8 +13,15 @@ module.exports = {
1313
// On-demand store does not work for .svelte stories, only CSF.
1414
storyStoreV7: false,
1515
},
16-
async viteFinal(config, { configType }) {
17-
// customize the Vite config here
16+
async viteFinal(config) {
17+
// because rollup does not respect NODE_PATH, and we have a funky example setup that needs it
18+
config.build.rollupOptions = {
19+
plugins: {
20+
resolveId: function (code) {
21+
if (code === 'react') return path.resolve(require.resolve('react'));
22+
},
23+
},
24+
};
1825
return config;
1926
},
2027
// @ts-ignore

examples/svelte/yarn.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2741,7 +2741,7 @@ __metadata:
27412741
dependencies:
27422742
"@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1
27432743
"@storybook/core-common": ^6.4.3
2744-
"@storybook/mdx1-csf": ^1.0.0-next.0
2744+
"@storybook/mdx1-csf": 1.0.0-next.0
27452745
"@storybook/node-logger": ^6.4.3
27462746
"@storybook/semver": ^7.3.2
27472747
"@storybook/source-loader": ^6.4.3
@@ -3229,6 +3229,16 @@ __metadata:
32293229
languageName: node
32303230
linkType: hard
32313231

3232+
"@storybook/mdx1-csf@npm:1.0.0-next.0":
3233+
version: 1.0.0-next.0
3234+
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3235+
dependencies:
3236+
"@mdx-js/mdx": ^1.6.22
3237+
"@mdx-js/react": ^1.6.22
3238+
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3239+
languageName: node
3240+
linkType: hard
3241+
32323242
"@storybook/mdx1-csf@npm:^0.0.1":
32333243
version: 0.0.1
32343244
resolution: "@storybook/mdx1-csf@npm:0.0.1"
@@ -3248,16 +3258,6 @@ __metadata:
32483258
languageName: node
32493259
linkType: hard
32503260

3251-
"@storybook/mdx1-csf@npm:^1.0.0-next.0":
3252-
version: 1.0.0-next.0
3253-
resolution: "@storybook/mdx1-csf@npm:1.0.0-next.0"
3254-
dependencies:
3255-
"@mdx-js/mdx": ^1.6.22
3256-
"@mdx-js/react": ^1.6.22
3257-
checksum: 4524619df9f412d93e37df05bcdcef40bf3337b8de181a5bcc7ab2051f7afc96e8b9bf4bef8e078d470df81cc4d9d01315cd840e358ca3bfb1102efd595720cd
3258-
languageName: node
3259-
linkType: hard
3260-
32613261
"@storybook/node-logger@npm:6.5.12, @storybook/node-logger@npm:^6.4.3":
32623262
version: 6.5.12
32633263
resolution: "@storybook/node-logger@npm:6.5.12"

0 commit comments

Comments
 (0)