Fixes: 1. media.ts: wrap placeholder generation in try-catch 2. toolbar.ts: check r.ok, display error message in popover
6.0 KiB
create-emdash
0.9.0
Minor Changes
-
#859
3015280Thanks @ask-bonk! - Adds non-interactive mode tocreate-emdashfor CI / scripted scaffolding (#711). Pass--template,--platform,--pm,--install/--no-install,--yes, and--forceto skip prompts; partial flag use only prompts for unset fields. Interactive flow is unchanged when no flags are supplied.--template <key>accepts a bare template (blog | starter | marketing | portfolio) or the combined form<platform>:<key>(e.g.cloudflare:blog).--pm <key>(alias--package-manager) selects the package manager.--yes/-yaccepts defaults for any unset field (cloudflare, blog, detected pm,my-sitefor an unset name).--forceis required alongside--yesto overwrite a non-empty target directory; without it, the CLI refuses rather than silently clobbering files.--help/-hprints usage. Unknown flags fail loudly so typos don't silently drop into interactive mode.- An extra positional argument (e.g.
npm create emdash my blogwith a space instead of a hyphen) is now rejected as a likely typo.
No new dependencies — built on
node:util'sparseArgs. -
#811
cee403dThanks @ascorbic! - Scaffolds a freshEMDASH_ENCRYPTION_KEYinto.dev.vars(Cloudflare templates) or.env(Node templates) on project creation, and ensures the file is gitignored. Idempotent — won't overwrite an existing key on re-runs.
Patch Changes
-
#852
e73bb5fThanks @ask-bonk! - Removes the "Blank" template from thenpm create emdashpicker. The minimal-content template isstarter; the previously listedblankonly existed for the Node.js path (never Cloudflare) and was confusing. PickStarterfor a minimal site on either platform. -
#869
a8bac5dThanks @ask-bonk! - Fixes autosave validation errors on content seeded from the blog, portfolio, and starter templates (issue #867).Two related issues:
_keywas strictly required on Portable Text blocks by the generated Zod schema, but the rest of the block schema is.passthrough()and the editor regenerates_keyon every change, so requiring it on input rejected legitimate seed/import data without protecting any real invariant._keyis now optional in the validator.- The portfolio template shipped
featured_imageas bare URL strings.imagefields validate as{ id, ... }objects, so any user who edited a different field on a portfolio entry hitfeatured_image: expected object, received string. The portfolio seeds now use$mediareferences in the same shape as the blog template, and every shipped template seed has stable_keys on its Portable Text nodes.
A regression test runs every shipped template seed through the same validator the autosave endpoint uses, so future template changes that break this invariant fail before release.
0.8.0
Minor Changes
- #785
e0dd616Thanks @MattieTK! - Adds support for positional directory argument, allowingnpm create emdash .to scaffold into the current directory andnpm create emdash my-projectto skip the interactive name prompt.
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Minor Changes
Patch Changes
-
#12
9db4c2cThanks @ascorbic! - Remove manual bootstrap step from CLI outputThe create-emdash CLI no longer suggests running
bootstrapas a manual step, since EmDash now auto-bootstraps on first run.
0.0.4
Patch Changes
- #7
2022b77Thanks @ascorbic! - Fix spinner hanging during dependency installation by using async exec instead of execSync, which was blocking the event loop and preventing the spinner animation from updating.
0.0.3
Patch Changes
- #5
8e389d5Thanks @ascorbic! - Improve create-emdash CLI experience: add the EmDash branded banner, let users pick their package manager (auto-detects the one that invoked it), and ask whether to install dependencies with a spinner showing progress.
0.0.2
Patch Changes
- #3
2dc5815Thanks @ascorbic! - Fix create-emdash to use all available templates from the new standalone templates repo. Templates are now selected in two steps: platform (Node.js or Cloudflare Workers) then template type (blog, starter, marketing, portfolio, blank). Downloads fromemdash-cms/templatesinstead of the old monorepo path.