promptslide 0.3.0 → 0.3.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.
- package/CHANGELOG.md +57 -0
- package/README.md +54 -0
- package/package.json +4 -2
- package/src/commands/add.mjs +27 -2
- package/src/commands/create.mjs +12 -1
- package/src/commands/publish.mjs +20 -11
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.3.2](https://github.com/prompticeu/promptslide/compare/promptslide-v0.3.1...promptslide-v0.3.2) (2026-03-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* correct package.json path resolution in CLI commands ([#59](https://github.com/prompticeu/promptslide/issues/59)) ([a79e81d](https://github.com/prompticeu/promptslide/commit/a79e81dab73606494cf334121bcbff52273d038c))
|
|
9
|
+
|
|
10
|
+
## [0.3.1](https://github.com/prompticeu/promptslide/compare/promptslide-v0.3.0...promptslide-v0.3.1) (2026-03-07)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **cli:** track promptslide version on publish and warn on add ([#58](https://github.com/prompticeu/promptslide/issues/58)) ([503e1f0](https://github.com/prompticeu/promptslide/commit/503e1f0bdac8066fb047b001c4b07c7ff6d87b23))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* hoist deckBaseSlug to fix ReferenceError in publish command ([#56](https://github.com/prompticeu/promptslide/issues/56)) ([dd29c36](https://github.com/prompticeu/promptslide/commit/dd29c36ecd862d2e52844933478cb8ef652c0c23))
|
|
21
|
+
* include CHANGELOG.md in published npm packages ([#53](https://github.com/prompticeu/promptslide/issues/53)) ([8a38a55](https://github.com/prompticeu/promptslide/commit/8a38a5533b0ea41593eba901551b0815e9da0515))
|
|
22
|
+
|
|
23
|
+
## [0.3.0](https://github.com/prompticeu/promptslide/compare/promptslide-v0.2.6...promptslide-v0.3.0) (2026-03-07)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### ⚠ BREAKING CHANGES
|
|
27
|
+
|
|
28
|
+
* move SlideFooter from core to user-land layouts ([#47](https://github.com/prompticeu/promptslide/issues/47))
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* add theme system and reusable slide layouts ([#8](https://github.com/prompticeu/promptslide/issues/8)) ([b107f35](https://github.com/prompticeu/promptslide/commit/b107f35bb9bcc4edf9b171f5947e5e1d0ad8eb2a))
|
|
33
|
+
* **cli:** add --yes flag for non-interactive project scaffolding ([#21](https://github.com/prompticeu/promptslide/issues/21)) ([88d233f](https://github.com/prompticeu/promptslide/commit/88d233fc6f8cc970e4a13f1876cb5a2f06dd13b9))
|
|
34
|
+
* **cli:** add lockfile integrity with file hashing and tracking ([4c6238a](https://github.com/prompticeu/promptslide/commit/4c6238ad6e0cee85e3b918b4a120450262fedb7b))
|
|
35
|
+
* **cli:** add org management, preview image generation, and registry improvements ([a5d36eb](https://github.com/prompticeu/promptslide/commit/a5d36eb8d6dc6098f8bba2746aae711da16461fa))
|
|
36
|
+
* **cli:** add registry commands with lockfile integrity and file hashing ([72ba46e](https://github.com/prompticeu/promptslide/commit/72ba46eff408a28132b6318c0f7b78e7b6b203fe))
|
|
37
|
+
* **cli:** add SlideEmbed and /embed route ([#44](https://github.com/prompticeu/promptslide/issues/44)) ([3014ff8](https://github.com/prompticeu/promptslide/commit/3014ff8fdae6b1bbf8807c00f8c7410a78eff529))
|
|
38
|
+
* merge promptslide-core into promptslide package ([9248ed2](https://github.com/prompticeu/promptslide/commit/9248ed21d4a9d075d9246dd4b2892aa21c41eb0a))
|
|
39
|
+
* move SlideFooter from core to user-land layouts ([#47](https://github.com/prompticeu/promptslide/issues/47)) ([8beae61](https://github.com/prompticeu/promptslide/commit/8beae615f299d3601eedf9faabba38ae7b3ccf81))
|
|
40
|
+
* persist publish slug and add promptslide pull ([#45](https://github.com/prompticeu/promptslide/issues/45)) ([c6b3781](https://github.com/prompticeu/promptslide/commit/c6b37810c272d0ee62223d0362e09d7bb1d37eac))
|
|
41
|
+
* **registry:** add registry cli funcs ([cb3cc2e](https://github.com/prompticeu/promptslide/commit/cb3cc2eca14d9bfe17c24050e066102f83ae093c))
|
|
42
|
+
* show URL after publishing deck or slides ([#46](https://github.com/prompticeu/promptslide/issues/46)) ([25d9791](https://github.com/prompticeu/promptslide/commit/25d97914bb0d666e36756b851cd05fd69fe98a14))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Bug Fixes
|
|
46
|
+
|
|
47
|
+
* add Windows support for browser open in login command ([3ac57bc](https://github.com/prompticeu/promptslide/commit/3ac57bc375e841a2ef711c1f040f6230b6f2870d))
|
|
48
|
+
* address PR review feedback — arg parsing, import path, and lockfile bugs ([9087a7e](https://github.com/prompticeu/promptslide/commit/9087a7ec001bab05544f401673af0b043d49e90c))
|
|
49
|
+
* build promptslide package and add development exports ([#12](https://github.com/prompticeu/promptslide/issues/12)) ([2e60766](https://github.com/prompticeu/promptslide/commit/2e60766bb41f3a72775bae196d4d7e89bd08897a))
|
|
50
|
+
* CLI security hardening and bug fixes ([52fa1af](https://github.com/prompticeu/promptslide/commit/52fa1af3b4392cdfbd5d673e7a7a9d43ac2db26c))
|
|
51
|
+
* grid view and studio broken by stale file: paths ([#43](https://github.com/prompticeu/promptslide/issues/43)) ([3f5c548](https://github.com/prompticeu/promptslide/commit/3f5c54892e05c5a12e6c7b6f473745e0e7adc8f1))
|
|
52
|
+
* prevent directory argument from being filtered out in create command ([#40](https://github.com/prompticeu/promptslide/issues/40)) ([c1ff8f5](https://github.com/prompticeu/promptslide/commit/c1ff8f5779f0e1687b0064f107ab8d64c753c35f))
|
|
53
|
+
* remove leftover optional chaining on storedFiles in update command ([ed10b3f](https://github.com/prompticeu/promptslide/commit/ed10b3fae1e761deee9b4d046b1af1c93c89cf4a))
|
|
54
|
+
* replace PROJECT_NAME placeholder in theme.ts during scaffolding ([#14](https://github.com/prompticeu/promptslide/issues/14)) ([62f03db](https://github.com/prompticeu/promptslide/commit/62f03db7da286562b574c91f406b800f145edafd))
|
|
55
|
+
* resolve all linting errors in CLI commands ([#50](https://github.com/prompticeu/promptslide/issues/50)) ([8e2a5e8](https://github.com/prompticeu/promptslide/commit/8e2a5e810786cb704e8b42e294bf695ca0e2f9dc))
|
|
56
|
+
* update default registry to promptslide.eu ([#35](https://github.com/prompticeu/promptslide/issues/35)) ([910dd62](https://github.com/prompticeu/promptslide/commit/910dd623c0b17786fe3fc8f15b4b8c94c2be80b6))
|
|
57
|
+
* vertically center content in SlideLayoutCentered layout ([#42](https://github.com/prompticeu/promptslide/issues/42)) ([f53851e](https://github.com/prompticeu/promptslide/commit/f53851ec4cab60b697a186d01f01c8cc6bd7d781))
|
package/README.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# promptslide
|
|
2
|
+
|
|
3
|
+
Vibe-code beautiful slide decks using your favorite coding agent.
|
|
4
|
+
|
|
5
|
+
PromptSlide is a local-first slide framework built with React, Tailwind CSS, and Framer Motion. Open your coding agent (Claude Code, Cursor, Windsurf, etc.), describe the slides you want in natural language, and watch them appear in real-time via Vite's hot module replacement.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
bun create slides my-deck
|
|
11
|
+
cd my-deck
|
|
12
|
+
bun install
|
|
13
|
+
bun run dev
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Then open your coding agent and say:
|
|
17
|
+
|
|
18
|
+
> "Create me a 10-slide deck about AgenticRAG"
|
|
19
|
+
|
|
20
|
+
## CLI Commands
|
|
21
|
+
|
|
22
|
+
All commands are run via `npx promptslide <command>` (or `bunx promptslide <command>`).
|
|
23
|
+
|
|
24
|
+
| Command | Description |
|
|
25
|
+
| --------- | ---------------------------------------- |
|
|
26
|
+
| `create` | Scaffold a new slide deck project |
|
|
27
|
+
| `studio` | Start the dev server with hot reload |
|
|
28
|
+
| `build` | Build the deck for production |
|
|
29
|
+
| `preview` | Preview the production build |
|
|
30
|
+
| `add` | Add a slide to the current deck |
|
|
31
|
+
| `remove` | Remove a slide from the current deck |
|
|
32
|
+
| `list` | List all slides in the current deck |
|
|
33
|
+
| `publish` | Publish the deck to PromptSlide registry |
|
|
34
|
+
| `search` | Search published decks |
|
|
35
|
+
| `pull` | Pull a published deck |
|
|
36
|
+
|
|
37
|
+
## How It Works
|
|
38
|
+
|
|
39
|
+
1. **You describe** what you want in natural language
|
|
40
|
+
2. **Your coding agent** uses the [promptslide Skill](https://github.com/prompticeu/promptslide/tree/main/skills/promptslide) to understand the framework
|
|
41
|
+
3. **Agent creates** `.tsx` slide files in `src/slides/`
|
|
42
|
+
4. **Vite hot-reloads** -- slides appear instantly in your browser
|
|
43
|
+
5. **Present** in fullscreen or export to PDF
|
|
44
|
+
|
|
45
|
+
> The Skill is installed automatically when you run `promptslide create`. To install it manually: `npx skills add prompticeu/promptslide`
|
|
46
|
+
|
|
47
|
+
## Links
|
|
48
|
+
|
|
49
|
+
- [GitHub](https://github.com/prompticeu/promptslide)
|
|
50
|
+
- [create-slides](https://www.npmjs.com/package/create-slides) -- scaffolding shortcut
|
|
51
|
+
|
|
52
|
+
## License
|
|
53
|
+
|
|
54
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "promptslide",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "CLI and slide engine for PromptSlide presentations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
"files": [
|
|
19
19
|
"src/",
|
|
20
20
|
"dist/",
|
|
21
|
-
"templates/"
|
|
21
|
+
"templates/",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"README.md"
|
|
22
24
|
],
|
|
23
25
|
"scripts": {
|
|
24
26
|
"build": "tsup",
|
package/src/commands/add.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs"
|
|
2
2
|
import { execFileSync } from "node:child_process"
|
|
3
|
-
import {
|
|
3
|
+
import { dirname, join, resolve, sep } from "node:path"
|
|
4
|
+
import { fileURLToPath } from "node:url"
|
|
4
5
|
|
|
5
|
-
import { bold, green, cyan, red, dim } from "../utils/ansi.mjs"
|
|
6
|
+
import { bold, green, cyan, red, dim, yellow } from "../utils/ansi.mjs"
|
|
6
7
|
import { requireAuth } from "../utils/auth.mjs"
|
|
7
8
|
import {
|
|
8
9
|
fetchRegistryItem,
|
|
@@ -22,6 +23,15 @@ import {
|
|
|
22
23
|
} from "../utils/deck-config.mjs"
|
|
23
24
|
import { confirm, closePrompts } from "../utils/prompts.mjs"
|
|
24
25
|
|
|
26
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
27
|
+
const CLI_VERSION = JSON.parse(readFileSync(join(__dirname, "..", "..", "package.json"), "utf-8")).version
|
|
28
|
+
|
|
29
|
+
/** Extract minor version number from a version string like "0.3.0" or "^0.3.0". */
|
|
30
|
+
function parseMinor(version) {
|
|
31
|
+
const match = version.replace(/^[\^~>=<\s]+/, "").match(/^(\d+)\.(\d+)/)
|
|
32
|
+
return match ? Number(match[2]) : null
|
|
33
|
+
}
|
|
34
|
+
|
|
25
35
|
export async function add(args) {
|
|
26
36
|
const cwd = process.cwd()
|
|
27
37
|
|
|
@@ -181,6 +191,21 @@ export async function add(args) {
|
|
|
181
191
|
}
|
|
182
192
|
}
|
|
183
193
|
|
|
194
|
+
// Check promptslide version compatibility
|
|
195
|
+
const publishedVersion = item.promptslideVersion
|
|
196
|
+
if (publishedVersion) {
|
|
197
|
+
const publishedMinor = parseMinor(publishedVersion)
|
|
198
|
+
const localMinor = parseMinor(CLI_VERSION)
|
|
199
|
+
if (publishedMinor !== null && localMinor !== null && publishedMinor !== localMinor) {
|
|
200
|
+
console.log()
|
|
201
|
+
console.log(` ${yellow("⚠")} This content was published with promptslide ${bold(`v${publishedVersion}`)}`)
|
|
202
|
+
console.log(` You have ${bold(`v${CLI_VERSION}`)} installed — this may cause issues.`)
|
|
203
|
+
const pm = detectPackageManager(cwd)
|
|
204
|
+
const installCmd = pm === "bun" ? "bun add" : pm === "pnpm" ? "pnpm add" : pm === "yarn" ? "yarn add" : "npm install"
|
|
205
|
+
console.log(` Run: ${cyan(`${installCmd} promptslide@^${publishedVersion}`)}`)
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
184
209
|
// Install npm dependencies
|
|
185
210
|
const existingPkg = join(cwd, "package.json")
|
|
186
211
|
if (Object.keys(resolved.npmDeps).length > 0 && existsSync(existingPkg)) {
|
package/src/commands/create.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { existsSync, cpSync, readFileSync, writeFileSync, mkdirSync } from "node
|
|
|
3
3
|
import { join, resolve, dirname } from "node:path"
|
|
4
4
|
import { fileURLToPath } from "node:url"
|
|
5
5
|
|
|
6
|
-
import { bold, green, cyan, red, dim } from "../utils/ansi.mjs"
|
|
6
|
+
import { bold, green, cyan, red, dim, yellow } from "../utils/ansi.mjs"
|
|
7
7
|
import { requireAuth } from "../utils/auth.mjs"
|
|
8
8
|
import { hexToOklch, isValidHex } from "../utils/colors.mjs"
|
|
9
9
|
import { prompt, confirm, closePrompts } from "../utils/prompts.mjs"
|
|
@@ -169,6 +169,17 @@ export async function create(args) {
|
|
|
169
169
|
const versionTag = item.version ? ` ${dim(`v${item.version}`)}` : ""
|
|
170
170
|
console.log(` Using deck ${bold(item.title || item.name)}${versionTag}`)
|
|
171
171
|
|
|
172
|
+
// Warn if the deck was published with a different minor version
|
|
173
|
+
if (item.promptslideVersion) {
|
|
174
|
+
const pubParts = item.promptslideVersion.match(/^(\d+)\.(\d+)/)
|
|
175
|
+
const localParts = CLI_VERSION.match(/^(\d+)\.(\d+)/)
|
|
176
|
+
if (pubParts && localParts && pubParts[2] !== localParts[2]) {
|
|
177
|
+
console.log()
|
|
178
|
+
console.log(` ${yellow("⚠")} This deck was published with promptslide ${bold(`v${item.promptslideVersion}`)}`)
|
|
179
|
+
console.log(` You have ${bold(`v${CLI_VERSION}`)} installed — some slides may need updating.`)
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
172
183
|
let resolved
|
|
173
184
|
try {
|
|
174
185
|
resolved = await resolveRegistryDependencies(item, auth, targetDir)
|
package/src/commands/publish.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs"
|
|
2
|
-
import { join, basename, relative, extname } from "node:path"
|
|
2
|
+
import { dirname, join, basename, relative, extname } from "node:path"
|
|
3
|
+
import { fileURLToPath } from "node:url"
|
|
3
4
|
|
|
4
5
|
import { bold, green, cyan, red, dim } from "../utils/ansi.mjs"
|
|
5
6
|
import { requireAuth } from "../utils/auth.mjs"
|
|
@@ -8,6 +9,9 @@ import { publishToRegistry, registryItemExists, searchRegistry, updateLockfileIt
|
|
|
8
9
|
import { prompt, confirm, select, closePrompts } from "../utils/prompts.mjs"
|
|
9
10
|
import { parseDeckConfig } from "../utils/deck-config.mjs"
|
|
10
11
|
|
|
12
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
13
|
+
const CLI_VERSION = JSON.parse(readFileSync(join(__dirname, "..", "..", "package.json"), "utf-8")).version
|
|
14
|
+
|
|
11
15
|
function readDeckPrefix(cwd) {
|
|
12
16
|
// Prefer stored prefix from lockfile (user's previous choice)
|
|
13
17
|
const lock = readLockfile(cwd)
|
|
@@ -292,7 +296,8 @@ async function publishItem({ filePath, cwd, auth, typeOverride, interactive = tr
|
|
|
292
296
|
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined,
|
|
293
297
|
registryDependencies: prefixedDeps.length ? prefixedDeps : undefined,
|
|
294
298
|
releaseNotes: releaseNotes || undefined,
|
|
295
|
-
previewImage: previewImage || undefined
|
|
299
|
+
previewImage: previewImage || undefined,
|
|
300
|
+
promptslideVersion: CLI_VERSION
|
|
296
301
|
}
|
|
297
302
|
|
|
298
303
|
const result = await publishToRegistry(payload, auth)
|
|
@@ -378,6 +383,9 @@ export async function publish(args) {
|
|
|
378
383
|
const existingSlug = existingLock.deckSlug
|
|
379
384
|
let deckPrefix, deckSlug
|
|
380
385
|
|
|
386
|
+
const dirName = basename(cwd)
|
|
387
|
+
const deckBaseSlug = dirName.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "")
|
|
388
|
+
|
|
381
389
|
if (existingSlug) {
|
|
382
390
|
console.log(` ${dim("Previously published as")} ${cyan(existingSlug)}`)
|
|
383
391
|
console.log()
|
|
@@ -388,14 +396,10 @@ export async function publish(args) {
|
|
|
388
396
|
deckPrefix = existingSlug.split("/")[0]
|
|
389
397
|
} else {
|
|
390
398
|
deckPrefix = await promptDeckPrefix(cwd, true)
|
|
391
|
-
const dirName = basename(cwd)
|
|
392
|
-
const deckBaseSlug = dirName.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "")
|
|
393
399
|
deckSlug = `${deckPrefix}/${deckBaseSlug}`
|
|
394
400
|
}
|
|
395
401
|
} else {
|
|
396
402
|
deckPrefix = await promptDeckPrefix(cwd, true)
|
|
397
|
-
const dirName = basename(cwd)
|
|
398
|
-
const deckBaseSlug = dirName.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "")
|
|
399
403
|
deckSlug = `${deckPrefix}/${deckBaseSlug}`
|
|
400
404
|
}
|
|
401
405
|
|
|
@@ -580,7 +584,8 @@ export async function publish(args) {
|
|
|
580
584
|
title: "Theme",
|
|
581
585
|
files: themePayloadFiles,
|
|
582
586
|
registryDependencies: assetDeps.length ? assetDeps : undefined,
|
|
583
|
-
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined
|
|
587
|
+
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined,
|
|
588
|
+
promptslideVersion: CLI_VERSION
|
|
584
589
|
}, auth)
|
|
585
590
|
console.log(` [${itemIndex}/${totalItems}] ${green("✓")} theme ${cyan(themeSlug)} ${dim(`v${result.version}`)}`)
|
|
586
591
|
updateLockfileItem(cwd, themeSlug, result.version ?? 0, themeFileHashes)
|
|
@@ -618,7 +623,8 @@ export async function publish(args) {
|
|
|
618
623
|
title: titleCase(layoutName),
|
|
619
624
|
files: [{ path: layoutFile, target: "src/layouts/", content }],
|
|
620
625
|
registryDependencies: regDeps.length ? regDeps : undefined,
|
|
621
|
-
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined
|
|
626
|
+
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined,
|
|
627
|
+
promptslideVersion: CLI_VERSION
|
|
622
628
|
}, auth)
|
|
623
629
|
console.log(` [${itemIndex}/${totalItems}] ${green("✓")} layout ${cyan(layoutSlug)} ${dim(`v${result.version}`)}`)
|
|
624
630
|
updateLockfileItem(cwd, layoutSlug, result.version ?? 0, fileHashes)
|
|
@@ -669,7 +675,8 @@ export async function publish(args) {
|
|
|
669
675
|
section,
|
|
670
676
|
registryDependencies: regDeps.length ? regDeps : undefined,
|
|
671
677
|
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined,
|
|
672
|
-
previewImage: slidePreview || undefined
|
|
678
|
+
previewImage: slidePreview || undefined,
|
|
679
|
+
promptslideVersion: CLI_VERSION
|
|
673
680
|
}, auth)
|
|
674
681
|
console.log(` [${itemIndex}/${totalItems}] ${green("✓")} slide ${cyan(slideSlug)} ${dim(`v${result.version}`)}`)
|
|
675
682
|
updateLockfileItem(cwd, slideSlug, result.version ?? 0, fileHashes)
|
|
@@ -698,7 +705,8 @@ export async function publish(args) {
|
|
|
698
705
|
files: [],
|
|
699
706
|
registryDependencies: allDeckDeps.length ? allDeckDeps : undefined,
|
|
700
707
|
releaseNotes: releaseNotes || undefined,
|
|
701
|
-
previewImage: previewImage || undefined
|
|
708
|
+
previewImage: previewImage || undefined,
|
|
709
|
+
promptslideVersion: CLI_VERSION
|
|
702
710
|
}, auth)
|
|
703
711
|
console.log(` [${itemIndex}/${totalItems}] ${green("✓")} deck ${cyan(deckSlug)} ${dim(`v${result.version}`)}`)
|
|
704
712
|
updateLockfileItem(cwd, deckSlug, result.version ?? 0, {})
|
|
@@ -886,7 +894,8 @@ export async function publish(args) {
|
|
|
886
894
|
npmDependencies: Object.keys(npmDeps).length ? npmDeps : undefined,
|
|
887
895
|
registryDependencies: prefixedRegistryDeps.length ? prefixedRegistryDeps : undefined,
|
|
888
896
|
releaseNotes: releaseNotes || undefined,
|
|
889
|
-
previewImage: previewImage || undefined
|
|
897
|
+
previewImage: previewImage || undefined,
|
|
898
|
+
promptslideVersion: CLI_VERSION
|
|
890
899
|
}
|
|
891
900
|
|
|
892
901
|
try {
|