diff --git a/.changeset/big-spies-tie.md b/.changeset/big-spies-tie.md new file mode 100644 index 0000000..757c75a --- /dev/null +++ b/.changeset/big-spies-tie.md @@ -0,0 +1,5 @@ +--- +"@tktco/create-devenv": patch +--- + +feat: ビルド時にバージョン情報を埋め込み、実行時に表示するように改善 diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..edcc94e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,28 @@ +# CLAUDE.md + +このファイルは Claude Code がこのリポジトリで作業する際のガイダンスを提供します。 + +## プロジェクト概要 + +pnpm workspaces を使用したモノレポ構成のプロジェクトです。 + +## 開発ワークフロー + +### 変更を加える際のルール + +- **機能追加・バグ修正時は必ず `pnpm changeset add` を実行してください** + - changeset はリリースノートとバージョン管理に使用されます + - patch / minor / major を適切に選択してください + +### コマンド + +```bash +# 依存関係のインストール +pnpm install + +# ビルド +pnpm build + +# changeset の追加 +pnpm changeset add +``` diff --git a/packages/create-devenv/build.config.ts b/packages/create-devenv/build.config.ts index a4cef31..68739df 100644 --- a/packages/create-devenv/build.config.ts +++ b/packages/create-devenv/build.config.ts @@ -1,4 +1,5 @@ import { defineBuildConfig } from "unbuild"; +import pkg from "./package.json"; export default defineBuildConfig({ entries: ["src/index"], @@ -6,5 +7,11 @@ export default defineBuildConfig({ declaration: false, rollup: { emitCJS: false, + replace: { + preventAssignment: true, + values: { + __VERSION__: JSON.stringify(pkg.version), + }, + }, }, }); diff --git a/packages/create-devenv/src/commands/init.ts b/packages/create-devenv/src/commands/init.ts index 80b4f18..ec2be1f 100644 --- a/packages/create-devenv/src/commands/init.ts +++ b/packages/create-devenv/src/commands/init.ts @@ -7,10 +7,14 @@ import type { Answers } from "../modules/schemas"; import { promptInit } from "../prompts/init"; import { fetchTemplates } from "../utils/template"; +// ビルド時に置換される定数 +declare const __VERSION__: string; +const version = typeof __VERSION__ !== "undefined" ? __VERSION__ : "dev"; + export const initCommand = defineCommand({ meta: { name: "create-devenv", - version: "0.1.0", + version, description: "開発環境テンプレートを適用", }, args: { @@ -32,6 +36,9 @@ export const initCommand = defineCommand({ }, }, async run({ args }) { + // バージョン情報を最初に表示 + consola.info(`@tktco/create-devenv v${version}`); + // "init" という引数は無視して現在のディレクトリを使用 const dir = args.dir === "init" ? "." : args.dir; const targetDir = resolve(dir);