vite-plugin-react-deck 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.cjs +24 -17
  2. package/index.mjs +24 -17
  3. package/package.json +1 -1
package/index.cjs CHANGED
@@ -43,12 +43,12 @@ function extractMainCodeAsChildren(source) {
43
43
  const hasLayout = withWrapper.match(/\n\s*return (<>|_jsxs\(_Fragment)/gm);
44
44
  if (hasLayout) {
45
45
  return withWrapper.replace(/\n\s*return <>/gm, "\nreturn <MDXLayout {...props}>").replace(/<\/>;\s*$/gm, "</MDXLayout>;\n").replace(
46
- "return _jsxs(_Fragment, {",
46
+ /return _jsxs?\(_Fragment, \{/,
47
47
  " return _jsx(MDXLayout, {...props,"
48
48
  );
49
49
  }
50
50
  const result = withWrapper.replace(/\n\s*return\s*</gm, "\nreturn <MDXLayout {...props}><").replace(/>;\s*$/gm, "></MDXLayout>;\n").replace(
51
- "return _jsx(_components",
51
+ /return _jsxs?\(_components/gm,
52
52
  " return _jsx(MDXLayout, {...props, children: _jsx(_components"
53
53
  ).replace(/}\);$/gm, "})});");
54
54
  return result;
@@ -97,28 +97,35 @@ ${slide}
97
97
  };
98
98
  })
99
99
  );
100
- return addInlineModules(
100
+ const output = addInlineModules(
101
101
  `
102
102
  import React from 'react';
103
103
  ${isProd ? 'import {Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs} from "react/jsx-runtime";import {useMDXComponents as _provideComponents} from "@mdx-js/react" ' : "import {useMDXComponents as _provideComponents} from '@mdx-js/react';"}
104
+
105
+ ${compiledSlides.map(
106
+ (slide, index) => `
107
+ export function Slide${index}(baseProps) {
108
+ const props = {...baseProps, frontmatter: ${JSON.stringify(slide.metadata)} };
109
+ ${slide.mdxContent}
110
+ }
111
+ `
112
+ ).join("\n")}
104
113
 
105
- export default {
106
- metadata: ${JSON.stringify(metadata)},
107
- slides: [${compiledSlides.map(
108
- (slide) => `{
109
- metadata: ${JSON.stringify(slide.metadata)},
110
- slideComponent: (baseProps) => {
111
- const props = {...baseProps, frontmatter: ${JSON.stringify(
112
- slide.metadata
113
- )} };
114
- ${slide.mdxContent}
115
- }
116
- }`
114
+ export default function Deck() {
115
+ };
116
+ Deck.metadata = ${JSON.stringify(metadata)};
117
+ Deck.slides = [
118
+ ${compiledSlides.map(
119
+ (slide, index) => `{
120
+ metadata: ${JSON.stringify(slide.metadata)},
121
+ slideComponent: Slide${index}
122
+ }`
117
123
  ).join(",")}
118
- ]
119
- };`,
124
+ ]
125
+ `,
120
126
  inlineModules
121
127
  );
128
+ return output;
122
129
  }
123
130
  var MOD_REG = /\\`|`(?:\\`|[^`])*`|(^(?:import|export).*$)/gm;
124
131
  function extractInlineModules(source, {
package/index.mjs CHANGED
@@ -20,12 +20,12 @@ function extractMainCodeAsChildren(source) {
20
20
  const hasLayout = withWrapper.match(/\n\s*return (<>|_jsxs\(_Fragment)/gm);
21
21
  if (hasLayout) {
22
22
  return withWrapper.replace(/\n\s*return <>/gm, "\nreturn <MDXLayout {...props}>").replace(/<\/>;\s*$/gm, "</MDXLayout>;\n").replace(
23
- "return _jsxs(_Fragment, {",
23
+ /return _jsxs?\(_Fragment, \{/,
24
24
  " return _jsx(MDXLayout, {...props,"
25
25
  );
26
26
  }
27
27
  const result = withWrapper.replace(/\n\s*return\s*</gm, "\nreturn <MDXLayout {...props}><").replace(/>;\s*$/gm, "></MDXLayout>;\n").replace(
28
- "return _jsx(_components",
28
+ /return _jsxs?\(_components/gm,
29
29
  " return _jsx(MDXLayout, {...props, children: _jsx(_components"
30
30
  ).replace(/}\);$/gm, "})});");
31
31
  return result;
@@ -74,28 +74,35 @@ ${slide}
74
74
  };
75
75
  })
76
76
  );
77
- return addInlineModules(
77
+ const output = addInlineModules(
78
78
  `
79
79
  import React from 'react';
80
80
  ${isProd ? 'import {Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs} from "react/jsx-runtime";import {useMDXComponents as _provideComponents} from "@mdx-js/react" ' : "import {useMDXComponents as _provideComponents} from '@mdx-js/react';"}
81
+
82
+ ${compiledSlides.map(
83
+ (slide, index) => `
84
+ export function Slide${index}(baseProps) {
85
+ const props = {...baseProps, frontmatter: ${JSON.stringify(slide.metadata)} };
86
+ ${slide.mdxContent}
87
+ }
88
+ `
89
+ ).join("\n")}
81
90
 
82
- export default {
83
- metadata: ${JSON.stringify(metadata)},
84
- slides: [${compiledSlides.map(
85
- (slide) => `{
86
- metadata: ${JSON.stringify(slide.metadata)},
87
- slideComponent: (baseProps) => {
88
- const props = {...baseProps, frontmatter: ${JSON.stringify(
89
- slide.metadata
90
- )} };
91
- ${slide.mdxContent}
92
- }
93
- }`
91
+ export default function Deck() {
92
+ };
93
+ Deck.metadata = ${JSON.stringify(metadata)};
94
+ Deck.slides = [
95
+ ${compiledSlides.map(
96
+ (slide, index) => `{
97
+ metadata: ${JSON.stringify(slide.metadata)},
98
+ slideComponent: Slide${index}
99
+ }`
94
100
  ).join(",")}
95
- ]
96
- };`,
101
+ ]
102
+ `,
97
103
  inlineModules
98
104
  );
105
+ return output;
99
106
  }
100
107
  var MOD_REG = /\\`|`(?:\\`|[^`])*`|(^(?:import|export).*$)/gm;
101
108
  function extractInlineModules(source, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-react-deck",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "index.cjs",