From 2fd5e71574a39c5f3ce0611053b718e9791af03a Mon Sep 17 00:00:00 2001 From: dswbx Date: Sat, 25 Oct 2025 10:26:05 +0200 Subject: [PATCH] finalize deno addition to the cli starters --- app/src/cli/commands/create/create.ts | 21 +++++++++++--------- app/src/cli/commands/create/npm.ts | 28 ++++++++++++++------------- examples/deno/deno.json | 3 +++ 3 files changed, 30 insertions(+), 22 deletions(-) diff --git a/app/src/cli/commands/create/create.ts b/app/src/cli/commands/create/create.ts index d3caae6..3fca3b2 100644 --- a/app/src/cli/commands/create/create.ts +++ b/app/src/cli/commands/create/create.ts @@ -10,6 +10,7 @@ import color from "picocolors"; import { overridePackageJson, updateBkndPackages } from "./npm"; import { type Template, templates, type TemplateSetupCtx } from "./templates"; import { createScoped, flush } from "cli/utils/telemetry"; +import path from "node:path"; const config = { types: { @@ -260,15 +261,17 @@ async function action(options: { } } - // update package name - await overridePackageJson( - (pkg) => ({ - ...pkg, - name: ctx.name, - }), - { dir: ctx.dir }, - ); - $p.log.success(`Updated package name to ${color.cyan(ctx.name)}`); + // update package name if there is a package.json + if (fs.existsSync(path.resolve(ctx.dir, "package.json"))) { + await overridePackageJson( + (pkg) => ({ + ...pkg, + name: ctx.name, + }), + { dir: ctx.dir }, + ); + $p.log.success(`Updated package name to ${color.cyan(ctx.name)}`); + } if (template.installDeps !== false) { const install = diff --git a/app/src/cli/commands/create/npm.ts b/app/src/cli/commands/create/npm.ts index 7722e1c..964ee47 100644 --- a/app/src/cli/commands/create/npm.ts +++ b/app/src/cli/commands/create/npm.ts @@ -93,17 +93,19 @@ export async function replacePackageJsonVersions( } export async function updateBkndPackages(dir?: string, map?: Record) { - const versions = { - bknd: await sysGetVersion(), - ...(map ?? {}), - }; - await replacePackageJsonVersions( - async (pkg) => { - if (pkg in versions) { - return versions[pkg]; - } - return; - }, - { dir }, - ); + try { + const versions = { + bknd: await sysGetVersion(), + ...(map ?? {}), + }; + await replacePackageJsonVersions( + async (pkg) => { + if (pkg in versions) { + return versions[pkg]; + } + return; + }, + { dir }, + ); + } catch (e) {} } diff --git a/examples/deno/deno.json b/examples/deno/deno.json index 0f8edde..6e8656b 100644 --- a/examples/deno/deno.json +++ b/examples/deno/deno.json @@ -1,5 +1,8 @@ { "nodeModulesDir": "auto", + "tasks": { + "dev": "deno serve -A --watch main.ts" + }, "imports": { "bknd": "npm:bknd@0.19.0-rc.1" },