supadeck 0.0.1
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.
- package/README.md +338 -0
- package/dist/cli/export.d.ts +7 -0
- package/dist/cli/export.js +36 -0
- package/dist/cli/export.js.map +1 -0
- package/dist/cli/index.d.ts +14 -0
- package/dist/cli/index.js +104 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/serve.d.ts +8 -0
- package/dist/cli/serve.js +13 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/templates.d.ts +1 -0
- package/dist/cli/templates.js +36 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/cli/workspace.d.ts +2 -0
- package/dist/cli/workspace.js +27 -0
- package/dist/cli/workspace.js.map +1 -0
- package/dist/content/parse-deck.d.ts +36 -0
- package/dist/content/parse-deck.js +137 -0
- package/dist/content/parse-deck.js.map +1 -0
- package/dist/content/remark-unwrap-jsx-paragraphs.d.ts +7 -0
- package/dist/content/remark-unwrap-jsx-paragraphs.js +64 -0
- package/dist/content/remark-unwrap-jsx-paragraphs.js.map +1 -0
- package/dist/export/pdf.d.ts +6 -0
- package/dist/export/pdf.js +41 -0
- package/dist/export/pdf.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/App.d.ts +8 -0
- package/dist/runtime/App.js +46 -0
- package/dist/runtime/App.js.map +1 -0
- package/dist/runtime/components/Callout.d.ts +7 -0
- package/dist/runtime/components/Callout.js +14 -0
- package/dist/runtime/components/Callout.js.map +1 -0
- package/dist/runtime/components/Center.d.ts +4 -0
- package/dist/runtime/components/Center.js +5 -0
- package/dist/runtime/components/Center.js.map +1 -0
- package/dist/runtime/components/Columns.d.ts +6 -0
- package/dist/runtime/components/Columns.js +5 -0
- package/dist/runtime/components/Columns.js.map +1 -0
- package/dist/runtime/components/Disclosure.d.ts +6 -0
- package/dist/runtime/components/Disclosure.js +6 -0
- package/dist/runtime/components/Disclosure.js.map +1 -0
- package/dist/runtime/components/Frame.d.ts +5 -0
- package/dist/runtime/components/Frame.js +5 -0
- package/dist/runtime/components/Frame.js.map +1 -0
- package/dist/runtime/components/index.d.ts +8 -0
- package/dist/runtime/components/index.js +5 -0
- package/dist/runtime/components/index.js.map +1 -0
- package/dist/runtime/default-components.d.ts +3 -0
- package/dist/runtime/default-components.js +39 -0
- package/dist/runtime/default-components.js.map +1 -0
- package/dist/runtime/hooks/slides.d.ts +1 -0
- package/dist/runtime/hooks/slides.js +46 -0
- package/dist/runtime/hooks/slides.js.map +1 -0
- package/dist/runtime/index.html +12 -0
- package/dist/runtime/layout/DeckSlide.d.ts +2 -0
- package/dist/runtime/layout/DeckSlide.js +7 -0
- package/dist/runtime/layout/DeckSlide.js.map +1 -0
- package/dist/runtime/layout/SlideFrame.d.ts +2 -0
- package/dist/runtime/layout/SlideFrame.js +7 -0
- package/dist/runtime/layout/SlideFrame.js.map +1 -0
- package/dist/runtime/main.d.ts +1 -0
- package/dist/runtime/main.js +32 -0
- package/dist/runtime/main.js.map +1 -0
- package/dist/runtime/mdx-components.d.ts +2 -0
- package/dist/runtime/mdx-components.js +17 -0
- package/dist/runtime/mdx-components.js.map +1 -0
- package/dist/runtime/primitives/DeckChrome.d.ts +7 -0
- package/dist/runtime/primitives/DeckChrome.js +7 -0
- package/dist/runtime/primitives/DeckChrome.js.map +1 -0
- package/dist/runtime/primitives/DeckNavigation.d.ts +6 -0
- package/dist/runtime/primitives/DeckNavigation.js +5 -0
- package/dist/runtime/primitives/DeckNavigation.js.map +1 -0
- package/dist/runtime/primitives/DeckProgress.d.ts +6 -0
- package/dist/runtime/primitives/DeckProgress.js +6 -0
- package/dist/runtime/primitives/DeckProgress.js.map +1 -0
- package/dist/runtime/primitives/DeckTitle.d.ts +5 -0
- package/dist/runtime/primitives/DeckTitle.js +5 -0
- package/dist/runtime/primitives/DeckTitle.js.map +1 -0
- package/dist/runtime/public-components.d.ts +22 -0
- package/dist/runtime/public-components.js +24 -0
- package/dist/runtime/public-components.js.map +1 -0
- package/dist/runtime/styles/base.css +201 -0
- package/dist/runtime/tailwind-hmr.d.ts +18 -0
- package/dist/runtime/tailwind-hmr.js +68 -0
- package/dist/runtime/tailwind-hmr.js.map +1 -0
- package/dist/runtime/tailwind-sources.d.ts +4 -0
- package/dist/runtime/tailwind-sources.js +43 -0
- package/dist/runtime/tailwind-sources.js.map +1 -0
- package/dist/runtime/theme-components.d.ts +3 -0
- package/dist/runtime/theme-components.js +18 -0
- package/dist/runtime/theme-components.js.map +1 -0
- package/dist/runtime/theme-resolution.d.ts +2 -0
- package/dist/runtime/theme-resolution.js +63 -0
- package/dist/runtime/theme-resolution.js.map +1 -0
- package/dist/runtime/theme-types.d.ts +48 -0
- package/dist/runtime/theme-types.js +2 -0
- package/dist/runtime/theme-types.js.map +1 -0
- package/dist/runtime/themes/base/DefaultDeck.d.ts +2 -0
- package/dist/runtime/themes/base/DefaultDeck.js +11 -0
- package/dist/runtime/themes/base/DefaultDeck.js.map +1 -0
- package/dist/runtime/themes/base/theme.css +245 -0
- package/dist/runtime/themes/default/DefaultDeck.d.ts +2 -0
- package/dist/runtime/themes/default/DefaultDeck.js +11 -0
- package/dist/runtime/themes/default/DefaultDeck.js.map +1 -0
- package/dist/runtime/themes/default/DefaultThemeDeck.d.ts +2 -0
- package/dist/runtime/themes/default/DefaultThemeDeck.js +23 -0
- package/dist/runtime/themes/default/DefaultThemeDeck.js.map +1 -0
- package/dist/runtime/themes/default/components.d.ts +65 -0
- package/dist/runtime/themes/default/components.js +80 -0
- package/dist/runtime/themes/default/components.js.map +1 -0
- package/dist/runtime/themes/default/index.d.ts +4 -0
- package/dist/runtime/themes/default/index.js +18 -0
- package/dist/runtime/themes/default/index.js.map +1 -0
- package/dist/runtime/themes/default/theme.css +577 -0
- package/dist/runtime/themes/default.css +10 -0
- package/dist/runtime/themes/sunset/index.d.ts +4 -0
- package/dist/runtime/themes/sunset/index.js +13 -0
- package/dist/runtime/themes/sunset/index.js.map +1 -0
- package/dist/runtime/themes/sunset/theme.css +12 -0
- package/dist/runtime/themes/sunset.css +10 -0
- package/dist/runtime/themes/supabase/SupabaseDeck.d.ts +2 -0
- package/dist/runtime/themes/supabase/SupabaseDeck.js +23 -0
- package/dist/runtime/themes/supabase/SupabaseDeck.js.map +1 -0
- package/dist/runtime/themes/supabase/components.d.ts +65 -0
- package/dist/runtime/themes/supabase/components.js +80 -0
- package/dist/runtime/themes/supabase/components.js.map +1 -0
- package/dist/runtime/themes/supabase/index.d.ts +4 -0
- package/dist/runtime/themes/supabase/index.js +17 -0
- package/dist/runtime/themes/supabase/index.js.map +1 -0
- package/dist/runtime/themes/supabase/theme.css +523 -0
- package/dist/runtime/utils/use-current-slide.d.ts +3 -0
- package/dist/runtime/utils/use-current-slide.js +20 -0
- package/dist/runtime/utils/use-current-slide.js.map +1 -0
- package/dist/runtime/vite-config.d.ts +10 -0
- package/dist/runtime/vite-config.js +218 -0
- package/dist/runtime/vite-config.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function parseAspectRatio(input) {
|
|
2
|
+
const value = String(input ?? "16:9");
|
|
3
|
+
const parts = value.split(":").map((part) => Number(part.trim()));
|
|
4
|
+
if (parts.length !== 2 ||
|
|
5
|
+
parts.some((part) => !Number.isFinite(part) || part <= 0)) {
|
|
6
|
+
return "16 / 9";
|
|
7
|
+
}
|
|
8
|
+
return `${parts[0]} / ${parts[1]}`;
|
|
9
|
+
}
|
|
10
|
+
export function clamp(value, min, max) {
|
|
11
|
+
return Math.min(max, Math.max(min, value));
|
|
12
|
+
}
|
|
13
|
+
export function getHashIndex(total) {
|
|
14
|
+
const raw = Number(window.location.hash.replace("#", ""));
|
|
15
|
+
if (!Number.isFinite(raw) || raw < 1) {
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
return clamp(raw - 1, 0, Math.max(total - 1, 0));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=use-current-slide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-current-slide.js","sourceRoot":"","sources":["../../../src/runtime/utils/use-current-slide.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,IACG,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAC1D,CAAC;QACA,OAAO,QAAQ,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InlineConfig } from "vite";
|
|
2
|
+
interface SupadeckConfigOptions {
|
|
3
|
+
deckPath: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
open?: boolean;
|
|
6
|
+
themeOverride?: string;
|
|
7
|
+
outputDirName?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function createSupadeckViteConfig({ deckPath, port, open, themeOverride, outputDirName, }: SupadeckConfigOptions): InlineConfig;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import tailwindcss from "@tailwindcss/vite";
|
|
5
|
+
import react from "@vitejs/plugin-react";
|
|
6
|
+
import mdx from "@mdx-js/rollup";
|
|
7
|
+
import { normalizePath } from "vite";
|
|
8
|
+
import remarkGfm from "remark-gfm";
|
|
9
|
+
import { parseDeck } from "../content/parse-deck.js";
|
|
10
|
+
import { remarkUnwrapJsxParagraphs } from "../content/remark-unwrap-jsx-paragraphs.js";
|
|
11
|
+
import { injectTailwindSources, isTailwindSourceFile, } from "./tailwind-sources.js";
|
|
12
|
+
import { collectImportedCssModules, dispatchTailwindCssUpdates, } from "./tailwind-hmr.js";
|
|
13
|
+
import { resolveRuntimeModulePath, resolveThemeModulePath, } from "./theme-resolution.js";
|
|
14
|
+
const DECK_VIRTUAL_ID = "virtual:supadeck/deck";
|
|
15
|
+
const DECK_VIRTUAL_RESOLVED = "\0virtual:supadeck/deck";
|
|
16
|
+
const THEME_ID = "virtual:supadeck/theme";
|
|
17
|
+
const THEME_RESOLVED = "\0virtual:supadeck/theme";
|
|
18
|
+
const ROOT_EXPORT_ID = "supadeck";
|
|
19
|
+
const ROOT_EXPORT_RESOLVED = "\0virtual:supadeck/root-export";
|
|
20
|
+
function toFsImport(filePath) {
|
|
21
|
+
return `/@fs/${normalizePath(filePath)}`;
|
|
22
|
+
}
|
|
23
|
+
function slideIdFor(deckPath, index) {
|
|
24
|
+
return `${normalizePath(deckPath)}?supadeck-slide=${index}`;
|
|
25
|
+
}
|
|
26
|
+
function sanitizeForTemplateLiteral(input) {
|
|
27
|
+
return input
|
|
28
|
+
.replace(/\\/g, "\\\\")
|
|
29
|
+
.replace(/`/g, "\\`")
|
|
30
|
+
.replace(/\$\{/g, "\\${");
|
|
31
|
+
}
|
|
32
|
+
function invalidateModules(context, modules, affectedModules) {
|
|
33
|
+
for (const module of modules) {
|
|
34
|
+
context.server.moduleGraph.invalidateModule(module);
|
|
35
|
+
affectedModules.push(module);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function createSupadeckPlugin({ deckPath, themeOverride, }) {
|
|
39
|
+
let lastKnownSlideCount = 0;
|
|
40
|
+
let lastKnownThemePath = resolveThemeModulePath(deckPath, themeOverride ?? "default", import.meta.url);
|
|
41
|
+
return {
|
|
42
|
+
name: "supadeck",
|
|
43
|
+
enforce: "pre",
|
|
44
|
+
async load(id) {
|
|
45
|
+
if (id === DECK_VIRTUAL_RESOLVED) {
|
|
46
|
+
this.addWatchFile(deckPath);
|
|
47
|
+
const source = await fs.readFile(deckPath, "utf8");
|
|
48
|
+
const deck = parseDeck(source, { themeOverride });
|
|
49
|
+
lastKnownSlideCount = deck.slides.length;
|
|
50
|
+
const imports = deck.slides
|
|
51
|
+
.map((slide, index) => `import Slide${index} from ${JSON.stringify(slideIdFor(deckPath, index))};`)
|
|
52
|
+
.join("\n");
|
|
53
|
+
const slides = deck.slides
|
|
54
|
+
.map((slide, index) => `{ index: ${index}, body: \`${sanitizeForTemplateLiteral(slide.body)}\`, Component: Slide${index} }`)
|
|
55
|
+
.join(",\n");
|
|
56
|
+
return `
|
|
57
|
+
${imports}
|
|
58
|
+
|
|
59
|
+
const deck = {
|
|
60
|
+
config: ${JSON.stringify(deck.config)},
|
|
61
|
+
slides: [${slides}]
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export default deck;
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
if (id === THEME_RESOLVED) {
|
|
68
|
+
this.addWatchFile(deckPath);
|
|
69
|
+
const source = await fs.readFile(deckPath, "utf8");
|
|
70
|
+
const deck = parseDeck(source, { themeOverride });
|
|
71
|
+
lastKnownSlideCount = deck.slides.length;
|
|
72
|
+
lastKnownThemePath = resolveThemeModulePath(deckPath, deck.config.theme, import.meta.url);
|
|
73
|
+
this.addWatchFile(lastKnownThemePath);
|
|
74
|
+
return `import themeModule from ${JSON.stringify(toFsImport(lastKnownThemePath))};\nexport default themeModule;`;
|
|
75
|
+
}
|
|
76
|
+
if (id === ROOT_EXPORT_RESOLVED) {
|
|
77
|
+
const rootExportPath = resolveRuntimeModulePath(import.meta.url, "../index");
|
|
78
|
+
return `export * from ${JSON.stringify(toFsImport(rootExportPath))};`;
|
|
79
|
+
}
|
|
80
|
+
if (id.startsWith(`${normalizePath(deckPath)}?supadeck-slide=`)) {
|
|
81
|
+
this.addWatchFile(deckPath);
|
|
82
|
+
const source = await fs.readFile(deckPath, "utf8");
|
|
83
|
+
const deck = parseDeck(source, { themeOverride });
|
|
84
|
+
lastKnownSlideCount = deck.slides.length;
|
|
85
|
+
const index = Number(id.split("=").at(-1));
|
|
86
|
+
const slide = deck.slides[index];
|
|
87
|
+
if (!slide) {
|
|
88
|
+
throw new Error(`Slide ${index} does not exist in ${deckPath}`);
|
|
89
|
+
}
|
|
90
|
+
return `${deck.prelude}\n\n${slide.body}`;
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
},
|
|
94
|
+
resolveId(id) {
|
|
95
|
+
if (id === DECK_VIRTUAL_ID) {
|
|
96
|
+
return DECK_VIRTUAL_RESOLVED;
|
|
97
|
+
}
|
|
98
|
+
if (id === THEME_ID) {
|
|
99
|
+
return THEME_RESOLVED;
|
|
100
|
+
}
|
|
101
|
+
if (id === ROOT_EXPORT_ID) {
|
|
102
|
+
return ROOT_EXPORT_RESOLVED;
|
|
103
|
+
}
|
|
104
|
+
if (id.startsWith(`${normalizePath(deckPath)}?supadeck-slide=`)) {
|
|
105
|
+
return id;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
},
|
|
109
|
+
transform(code, id) {
|
|
110
|
+
const [pathname] = id.split("?", 1);
|
|
111
|
+
if (!pathname.endsWith(".css")) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
code: injectTailwindSources(code, deckPath),
|
|
116
|
+
map: null,
|
|
117
|
+
};
|
|
118
|
+
},
|
|
119
|
+
async handleHotUpdate(context) {
|
|
120
|
+
const isDeckFileChange = normalizePath(context.file) === normalizePath(deckPath);
|
|
121
|
+
const isWorkspaceTailwindSourceChange = isTailwindSourceFile(deckPath, context.file);
|
|
122
|
+
if (isDeckFileChange) {
|
|
123
|
+
const source = await fs.readFile(deckPath, "utf8");
|
|
124
|
+
const deck = parseDeck(source, { themeOverride });
|
|
125
|
+
const affectedModules = [];
|
|
126
|
+
const slideCount = Math.max(lastKnownSlideCount, deck.slides.length);
|
|
127
|
+
lastKnownThemePath = resolveThemeModulePath(deckPath, deck.config.theme, import.meta.url);
|
|
128
|
+
const themeModule = context.server.moduleGraph.getModuleById(THEME_RESOLVED);
|
|
129
|
+
const themeCssModules = themeModule
|
|
130
|
+
? collectImportedCssModules(themeModule)
|
|
131
|
+
: [];
|
|
132
|
+
for (const moduleId of [DECK_VIRTUAL_RESOLVED, THEME_RESOLVED]) {
|
|
133
|
+
const module = context.server.moduleGraph.getModuleById(moduleId);
|
|
134
|
+
if (module) {
|
|
135
|
+
invalidateModules(context, [module], affectedModules);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
invalidateModules(context, themeCssModules, affectedModules);
|
|
139
|
+
for (let index = 0; index < slideCount; index += 1) {
|
|
140
|
+
const module = context.server.moduleGraph.getModuleById(slideIdFor(deckPath, index));
|
|
141
|
+
if (module) {
|
|
142
|
+
invalidateModules(context, [module], affectedModules);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
lastKnownSlideCount = deck.slides.length;
|
|
146
|
+
const cssDispatch = dispatchTailwindCssUpdates({
|
|
147
|
+
file: context.file,
|
|
148
|
+
hot: context.server.ws,
|
|
149
|
+
modules: themeCssModules,
|
|
150
|
+
timestamp: context.timestamp,
|
|
151
|
+
});
|
|
152
|
+
if (cssDispatch.kind === "full-reload") {
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
return affectedModules;
|
|
156
|
+
}
|
|
157
|
+
if (isWorkspaceTailwindSourceChange) {
|
|
158
|
+
const themeModule = context.server.moduleGraph.getModuleById(THEME_RESOLVED);
|
|
159
|
+
const themeCssModules = themeModule
|
|
160
|
+
? collectImportedCssModules(themeModule)
|
|
161
|
+
: [];
|
|
162
|
+
const affectedModules = [];
|
|
163
|
+
invalidateModules(context, themeCssModules, affectedModules);
|
|
164
|
+
const cssDispatch = dispatchTailwindCssUpdates({
|
|
165
|
+
file: context.file,
|
|
166
|
+
hot: context.server.ws,
|
|
167
|
+
modules: themeCssModules,
|
|
168
|
+
timestamp: context.timestamp,
|
|
169
|
+
});
|
|
170
|
+
if (cssDispatch.kind === "full-reload") {
|
|
171
|
+
return [];
|
|
172
|
+
}
|
|
173
|
+
return undefined;
|
|
174
|
+
}
|
|
175
|
+
if (normalizePath(context.file) === normalizePath(lastKnownThemePath)) {
|
|
176
|
+
const themeModule = context.server.moduleGraph.getModuleById(THEME_RESOLVED);
|
|
177
|
+
if (themeModule) {
|
|
178
|
+
context.server.moduleGraph.invalidateModule(themeModule);
|
|
179
|
+
return [themeModule];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return undefined;
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
export function createSupadeckViteConfig({ deckPath, port, open, themeOverride, outputDirName = ".supadeck-dist", }) {
|
|
187
|
+
const runtimeRoot = fileURLToPath(new URL(".", import.meta.url));
|
|
188
|
+
const packageRoot = path.resolve(runtimeRoot, "..");
|
|
189
|
+
const workspaceRoot = path.dirname(deckPath);
|
|
190
|
+
return {
|
|
191
|
+
root: runtimeRoot,
|
|
192
|
+
plugins: [
|
|
193
|
+
createSupadeckPlugin({ deckPath, themeOverride }),
|
|
194
|
+
mdx({
|
|
195
|
+
include: [/\.mdx$/, /\.mdx\?.*$/],
|
|
196
|
+
remarkPlugins: [remarkGfm, remarkUnwrapJsxParagraphs],
|
|
197
|
+
}),
|
|
198
|
+
react(),
|
|
199
|
+
tailwindcss(),
|
|
200
|
+
],
|
|
201
|
+
server: {
|
|
202
|
+
host: "127.0.0.1",
|
|
203
|
+
port,
|
|
204
|
+
open,
|
|
205
|
+
fs: {
|
|
206
|
+
allow: [runtimeRoot, packageRoot, workspaceRoot],
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
preview: {
|
|
210
|
+
host: "127.0.0.1",
|
|
211
|
+
},
|
|
212
|
+
build: {
|
|
213
|
+
outDir: path.resolve(workspaceRoot, outputDirName),
|
|
214
|
+
emptyOutDir: true,
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=vite-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../src/runtime/vite-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EACJ,qBAAqB,EACrB,oBAAoB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACJ,yBAAyB,EACzB,0BAA0B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACJ,wBAAwB,EACxB,sBAAsB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAChD,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AACxD,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,cAAc,GAAG,UAAU,CAAC;AAClC,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAE9D,SAAS,UAAU,CAAC,QAAgB;IACjC,OAAO,QAAQ,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,KAAa;IAChD,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,mBAAmB,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC9C,OAAO,KAAK;SACR,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CACvB,OAAmB,EACnB,OAA6B,EAC7B,eAA6B;IAE7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACJ,CAAC;AAUD,SAAS,oBAAoB,CAAC,EAC3B,QAAQ,EACR,aAAa,GAC4C;IACzD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,kBAAkB,GAAG,sBAAsB,CAC5C,QAAQ,EACR,aAAa,IAAI,SAAS,EAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;IAEF,OAAO;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK;QACd,KAAK,CAAC,IAAI,CAAO,EAAE;YAChB,IAAI,EAAE,KAAK,qBAAqB,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClD,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM;qBACvB,GAAG,CACD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACd,eAAe,KAAK,SAAS,IAAI,CAAC,SAAS,CACxC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC7B,GAAG,CACT;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;qBACtB,GAAG,CACD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACd,YAAY,KAAK,aAAa,0BAA0B,CACrD,KAAK,CAAC,IAAI,CACZ,uBAAuB,KAAK,IAAI,CACtC;qBACA,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEhB,OAAO;EACjB,OAAO;;;YAGG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1B,MAAM;;;;CAIlB,CAAC;YACO,CAAC;YAED,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClD,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzC,kBAAkB,GAAG,sBAAsB,CACxC,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;gBACtC,OAAO,2BAA2B,IAAI,CAAC,SAAS,CAC7C,UAAU,CAAC,kBAAkB,CAAC,CAChC,gCAAgC,CAAC;YACrC,CAAC;YAED,IAAI,EAAE,KAAK,oBAAoB,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG,wBAAwB,CAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,EACf,UAAU,CACZ,CAAC;gBACF,OAAO,iBAAiB,IAAI,CAAC,SAAS,CACnC,UAAU,CAAC,cAAc,CAAC,CAC5B,GAAG,CAAC;YACR,CAAC;YAED,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClD,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,QAAQ,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,OAAO,GAAG,IAAI,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7C,CAAC;YAED,OAAO,IAAI,CAAC;QACf,CAAC;QACD,SAAS,CAAC,EAAE;YACT,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC1B,OAAO,qBAAqB,CAAC;YAChC,CAAC;YACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC;YACzB,CAAC;YACD,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;gBACzB,OAAO,oBAAoB,CAAC;YAC/B,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/D,OAAO,EAAE,CAAC;YACb,CAAC;YACD,OAAO,IAAI,CAAC;QACf,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,EAAE;YACf,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACf,CAAC;YAED,OAAO;gBACJ,IAAI,EAAE,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC3C,GAAG,EAAE,IAAI;aACX,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,OAAO;YAC1B,MAAM,gBAAgB,GACnB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,+BAA+B,GAAG,oBAAoB,CACzD,QAAQ,EACR,OAAO,CAAC,IAAI,CACd,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClD,MAAM,eAAe,GAAiB,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACxB,mBAAmB,EACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CACpB,CAAC;gBACF,kBAAkB,GAAG,sBAAsB,CACxC,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;gBACF,MAAM,WAAW,GACd,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,WAAW;oBAChC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;oBACxC,CAAC,CAAC,EAAE,CAAC;gBAER,KAAK,MAAM,QAAQ,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,EAAE,CAAC;oBAC9D,MAAM,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACtD,IAAI,MAAM,EAAE,CAAC;wBACV,iBAAiB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;oBACzD,CAAC;gBACJ,CAAC;gBAED,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;gBAE7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CACpD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC7B,CAAC;oBACF,IAAI,MAAM,EAAE,CAAC;wBACV,iBAAiB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;oBACzD,CAAC;gBACJ,CAAC;gBAED,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzC,MAAM,WAAW,GAAG,0BAA0B,CAAC;oBAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;oBACtB,OAAO,EAAE,eAAe;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC9B,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACtC,OAAO,EAAE,CAAC;gBACb,CAAC;gBAED,OAAO,eAAe,CAAC;YAC1B,CAAC;YAED,IAAI,+BAA+B,EAAE,CAAC;gBACnC,MAAM,WAAW,GACd,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,WAAW;oBAChC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACR,MAAM,eAAe,GAAiB,EAAE,CAAC;gBACzC,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;gBAE7D,MAAM,WAAW,GAAG,0BAA0B,CAAC;oBAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;oBACtB,OAAO,EAAE,eAAe;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC9B,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACtC,OAAO,EAAE,CAAC;gBACb,CAAC;gBAED,OAAO,SAAS,CAAC;YACpB,CAAC;YAED,IACG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,kBAAkB,CAAC,EAClE,CAAC;gBACA,MAAM,WAAW,GACd,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,WAAW,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACzD,OAAO,CAAC,WAAW,CAAC,CAAC;gBACxB,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACpB,CAAC;KACH,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EACtC,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,aAAa,GAAG,gBAAgB,GACX;IACrB,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO;QACJ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACN,oBAAoB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YACjD,GAAG,CAAC;gBACD,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACjC,aAAa,EAAE,CAAC,SAAS,EAAE,yBAAyB,CAAC;aACvD,CAAC;YACF,KAAK,EAAE;YACP,WAAW,EAAE;SACf;QACD,MAAM,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,IAAI;YACJ,IAAI;YACJ,EAAE,EAAE;gBACD,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC;aAClD;SACH;QACD,OAAO,EAAE;YACN,IAAI,EAAE,WAAW;SACnB;QACD,KAAK,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;YAClD,WAAW,EAAE,IAAI;SACnB;KACH,CAAC;AACL,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "supadeck",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Zero-config MDX presentations with hot reload and PDF export.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"supadeck": "./dist/cli/index.js"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc -p tsconfig.build.json && node ./scripts/copy-static.mjs",
|
|
19
|
+
"dev": "SUPADECK_DEFAULT_INPUT=examples/dev tsx ./src/cli/index.ts",
|
|
20
|
+
"export": "SUPADECK_DEFAULT_INPUT=examples/dev tsx ./src/cli/index.ts export",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
23
|
+
"prepublishOnly": "npm run test && npm run build",
|
|
24
|
+
"release:patch": "npm version patch && git push && git push origin --tags && npm publish",
|
|
25
|
+
"release:minor": "npm version minor && git push && git push origin --tags && npm publish",
|
|
26
|
+
"release:major": "npm version major && git push && git push origin --tags && npm publish"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"mdx",
|
|
30
|
+
"slides",
|
|
31
|
+
"presentations",
|
|
32
|
+
"vite",
|
|
33
|
+
"tailwind"
|
|
34
|
+
],
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@base-ui-components/react": "^1.0.0-rc.0",
|
|
38
|
+
"@mdx-js/rollup": "^3.1.0",
|
|
39
|
+
"@tailwindcss/vite": "^4.1.0",
|
|
40
|
+
"@vitejs/plugin-react": "^5.0.0",
|
|
41
|
+
"gray-matter": "^4.0.3",
|
|
42
|
+
"playwright": "^1.54.0",
|
|
43
|
+
"react": "^19.1.0",
|
|
44
|
+
"react-dom": "^19.1.0",
|
|
45
|
+
"remark-gfm": "^4.0.1",
|
|
46
|
+
"remark-mdx": "^3.1.0",
|
|
47
|
+
"remark-parse": "^11.0.0",
|
|
48
|
+
"tailwindcss": "^4.1.0",
|
|
49
|
+
"unified": "^11.0.5",
|
|
50
|
+
"vite": "^7.0.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@types/node": "^24.0.0",
|
|
54
|
+
"@types/react": "^19.1.0",
|
|
55
|
+
"@types/react-dom": "^19.1.0",
|
|
56
|
+
"tsx": "^4.19.0",
|
|
57
|
+
"typescript": "^5.8.0",
|
|
58
|
+
"vitest": "^3.2.4"
|
|
59
|
+
}
|
|
60
|
+
}
|