@einja/dev-cli 0.1.45 → 0.1.48

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.
Files changed (32) hide show
  1. package/dist/commands/sync.d.ts.map +1 -1
  2. package/dist/commands/sync.js +50 -11
  3. package/dist/commands/sync.js.map +1 -1
  4. package/dist/commands/sync.test.js +1 -1
  5. package/dist/commands/sync.test.js.map +1 -1
  6. package/dist/lib/sync/file-filter.d.ts.map +1 -1
  7. package/dist/lib/sync/file-filter.js +49 -0
  8. package/dist/lib/sync/file-filter.js.map +1 -1
  9. package/dist/lib/sync/file-filter.test.js +40 -0
  10. package/dist/lib/sync/file-filter.test.js.map +1 -1
  11. package/dist/lib/sync/json-processor.d.ts +49 -27
  12. package/dist/lib/sync/json-processor.d.ts.map +1 -1
  13. package/dist/lib/sync/json-processor.js +182 -82
  14. package/dist/lib/sync/json-processor.js.map +1 -1
  15. package/dist/lib/sync/json-processor.test.d.ts +2 -0
  16. package/dist/lib/sync/json-processor.test.d.ts.map +1 -0
  17. package/dist/lib/sync/json-processor.test.js +334 -0
  18. package/dist/lib/sync/json-processor.test.js.map +1 -0
  19. package/dist/lib/sync/metadata-manager.d.ts +6 -1
  20. package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
  21. package/dist/lib/sync/metadata-manager.js +26 -6
  22. package/dist/lib/sync/metadata-manager.js.map +1 -1
  23. package/dist/types/sync.d.ts +2 -0
  24. package/dist/types/sync.d.ts.map +1 -1
  25. package/dist/types/sync.js +1 -0
  26. package/dist/types/sync.js.map +1 -1
  27. package/package.json +1 -1
  28. package/presets/default/.claude/commands/einja/einja-sync.md +6 -6
  29. package/presets/default/docs/einja/instructions/setup-flow.md +40 -0
  30. package/presets/default/package.json +73 -0
  31. package/presets/default/preset.yaml +2 -2
  32. package/presets/default/scripts/ensure-serena.sh +26 -7
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "einja-management-monorepo",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "packageManager": "pnpm@10.14.0",
6
+ "workspaces": [
7
+ "apps/*",
8
+ "packages/*"
9
+ ],
10
+ "scripts": {
11
+ "prepare": "husky",
12
+ "dev": "tsx scripts/worktree/dev.ts",
13
+ "dev:bg": "tsx scripts/worktree/dev.ts --background",
14
+ "dev:stop": "tsx scripts/worktree/dev.ts --stop",
15
+ "dev:status": "tsx scripts/worktree/dev.ts --status",
16
+ "dev:logs": "tail -f log/dev.log",
17
+ "dev:skip-setup": "turbo run dev",
18
+ "build": "dotenvx run -f .env.production -- turbo run build",
19
+ "build:dev": "dotenvx run -f .env.develop -- turbo run build",
20
+ "build:local": "turbo run build",
21
+ "start": "turbo run start",
22
+ "generate": "turbo run generate",
23
+ "lint": "turbo run lint",
24
+ "lint:fix": "turbo run lint:fix",
25
+ "format": "turbo run format",
26
+ "format:fix": "turbo run format:fix",
27
+ "typecheck": "turbo run typecheck",
28
+ "test": "turbo run test",
29
+ "test:watch": "turbo run test:watch",
30
+ "test:ui": "turbo run test:ui",
31
+ "test:coverage": "turbo run test:coverage",
32
+ "prepush": "pnpm prepush:lint && pnpm prepush:typecheck && pnpm prepush:test",
33
+ "prepush:lint": "lint-staged",
34
+ "prepush:typecheck": "turbo run typecheck",
35
+ "prepush:test": "turbo run test",
36
+ "db:generate": "turbo run db:generate",
37
+ "db:push": "turbo run db:push",
38
+ "db:migrate": "turbo run db:migrate",
39
+ "db:migrate:deploy": "turbo run db:migrate:deploy",
40
+ "db:studio": "turbo run db:studio",
41
+ "db:seed": "turbo run db:seed",
42
+ "dev:setup": "tsx scripts/setup-dev.ts",
43
+ "dotenvx": "dotenvx",
44
+ "env:update": "tsx scripts/env.ts",
45
+ "env:encrypt": "dotenvx encrypt",
46
+ "env:show": "tsx scripts/env-show.ts",
47
+ "env:rotate-secrets": "tsx scripts/env-rotate-secrets.ts",
48
+ "einja:sync": "npx --yes @einja/dev-cli@latest sync",
49
+ "init:github": "tsx scripts/init-github.ts",
50
+ "task:loop": "npx --yes @einja/dev-cli@latest task:loop",
51
+ "changeset": "changeset"
52
+ },
53
+ "devDependencies": {
54
+ "@changesets/changelog-github": "^0.5.1",
55
+ "@changesets/cli": "^2.29.0",
56
+ "@clack/prompts": "^0.11.0",
57
+ "@dotenvx/dotenvx": "^1.51.4",
58
+ "@types/node": "^25.0.3",
59
+ "husky": "^9.1.7",
60
+ "lint-staged": "^16.1.0",
61
+ "tsx": "^4.7.0",
62
+ "turbo": "^2.5.8"
63
+ },
64
+ "volta": {
65
+ "node": "22.16.0",
66
+ "pnpm": "10.14.0"
67
+ },
68
+ "dependencies": {
69
+ "@hono/zod-validator": "^0.7.6",
70
+ "hono": "^4.11.3",
71
+ "zod": "^4.3.5"
72
+ }
73
+ }
@@ -124,8 +124,8 @@ requirements:
124
124
  "format:fix": "biome format --write ."
125
125
  typecheck: "tsc --noEmit"
126
126
  prepush: "{pm} run lint && {pm} run typecheck"
127
- "task:loop": "npx @einja/dev-cli task:loop"
128
- "einja:sync": "npx @einja/dev-cli sync"
127
+ "task:loop": "npx @einja/dev-cli@latest task:loop"
128
+ "einja:sync": "npx @einja/dev-cli@latest sync"
129
129
 
130
130
  # システムコマンド(警告表示のみ、自動インストールしない)
131
131
  systemCommands:
@@ -7,15 +7,34 @@ _SERENA_BASE="${1:-$(pwd)}"
7
7
  _SERENA_PORT_FILE="$_SERENA_BASE/.serena-port"
8
8
  _SERENA_DEFAULT_PORT="${SERENA_PORT:-9850}"
9
9
 
10
- # --- 既存インスタンスチェック(PIDベース) ---
10
+ # --- ヘルパー関数 ---
11
+ _is_uint() {
12
+ case "$1" in
13
+ ""|0|*[!0-9]*) return 1 ;;
14
+ *) return 0 ;;
15
+ esac
16
+ }
17
+ _escape_ere() {
18
+ printf '%s' "$1" | sed -e 's/[][(){}.^$*+?|\\]/\\&/g'
19
+ }
20
+
21
+ # --- 既存インスタンスチェック(PID×プロセス検証) ---
11
22
  if [ -f "$_SERENA_PORT_FILE" ]; then
12
- read -r _saved_port _saved_pid < "$_SERENA_PORT_FILE"
13
- if [ -n "$_saved_pid" ] && kill -0 "$_saved_pid" 2>/dev/null; then
14
- # PIDが生存 自プロジェクトのSerena
15
- export SERENA_PORT="$_saved_port"
16
- return 0 2>/dev/null || true
23
+ IFS=' ' read -r _saved_port _saved_pid _rest < "$_SERENA_PORT_FILE" || true
24
+
25
+ if _is_uint "$_saved_pid" && _is_uint "$_saved_port"; then
26
+ _cmd="$(ps -p "$_saved_pid" -ww -o command= 2>/dev/null || true)"
27
+ _base_ere="$(_escape_ere "$_SERENA_BASE")"
28
+
29
+ if [ -n "$_cmd" ] \
30
+ && printf '%s\n' "$_cmd" | grep -Eq -- "(^|[[:space:]])--project(=|[[:space:]])${_base_ere}([[:space:]]|$)"; then
31
+ # 自プロジェクトのSerenaプロセス → 再利用
32
+ export SERENA_PORT="$_saved_port"
33
+ return 0 2>/dev/null || true
34
+ fi
17
35
  fi
18
- # PID死亡 → クリーンアップ
36
+
37
+ # PID死亡 or 数値不正 or 別プロセス/別プロジェクトのSerena → クリーンアップ
19
38
  rm -f "$_SERENA_PORT_FILE"
20
39
  fi
21
40