@minimalcorp/tsunagi 0.0.3 → 0.0.4

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 (45) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  20. package/.next/standalone/apps/web/.next/server/app/index.rsc +1 -1
  21. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
  23. package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  24. package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
  25. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
  27. package/.next/standalone/apps/web/.next/server/app/settings.rsc +1 -1
  28. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  29. package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  31. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  34. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  35. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  36. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  37. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  38. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  39. package/.next/standalone/apps/web/package.json +2 -1
  40. package/dist/scripts/auto-migrate.js +4 -11
  41. package/package.json +2 -1
  42. package/prisma.config.ts +28 -0
  43. /package/.next/standalone/apps/web/.next/static/{UEbtaW0dIEqC-1j06ZhQV → JoYqGRe1NI9K8yLxCSu7g}/_buildManifest.js +0 -0
  44. /package/.next/standalone/apps/web/.next/static/{UEbtaW0dIEqC-1j06ZhQV → JoYqGRe1NI9K8yLxCSu7g}/_clientMiddlewareManifest.js +0 -0
  45. /package/.next/standalone/apps/web/.next/static/{UEbtaW0dIEqC-1j06ZhQV → JoYqGRe1NI9K8yLxCSu7g}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "vFh3J1C+X31aQRKM46yzc1qSNXJ4oaZcLYfcJoeiC3w="
4
+ "encryptionKey": "irbNPp8556pwjcOSrV0udNWA/pBY9ead5Nd2ZSt+efc="
5
5
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimalcorp/tsunagi",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Multi-repo GitHub project management with Claude AI integration, designed for visualizing and controlling AI-driven development locally.",
5
5
  "keywords": [
6
6
  "tsunagi",
@@ -37,6 +37,7 @@
37
37
  "dist/**/*",
38
38
  "prisma/schema.prisma",
39
39
  "prisma/migrations/**/*",
40
+ "prisma.config.ts",
40
41
  ".next/standalone/**/*",
41
42
  "scripts/fix-node-pty-permissions.cjs",
42
43
  "tsunagi-marketplace/**/*",
@@ -43,25 +43,18 @@ const execAsync = (0, util_1.promisify)(child_process_1.exec);
43
43
  function getTsunagiDataDir() {
44
44
  return process.env.TSUNAGI_DATA_DIR || path.join(os.homedir(), '.tsunagi');
45
45
  }
46
- function getDatabasePath() {
47
- return path.join(getTsunagiDataDir(), 'state', 'tsunagi.db');
48
- }
49
46
  function getStateDir() {
50
47
  return path.join(getTsunagiDataDir(), 'state');
51
48
  }
52
49
  async function autoMigrate() {
53
50
  try {
54
51
  console.log('DB migration started');
55
- const dbPath = getDatabasePath();
56
52
  const stateDir = getStateDir();
57
53
  // データベースディレクトリが存在しない場合は作成
54
+ // データベース URL 自体は prisma.config.ts の datasource.url で解決される
55
+ // (Prisma 7 では schema.prisma の env("DATABASE_URL") は非対応)
58
56
  await fs.mkdir(stateDir, { recursive: true });
59
- // 環境変数を設定してprisma migrate deployを実行
60
- const env = {
61
- ...process.env,
62
- DATABASE_URL: `file:${dbPath}`,
63
- };
64
- const { stdout } = await execAsync('npx prisma migrate deploy', { env });
57
+ const { stdout } = await execAsync('npx prisma migrate deploy');
65
58
  // Prismaの出力から重要な行を抽出して表示
66
59
  const lines = stdout
67
60
  .split('\n')
@@ -72,7 +65,7 @@ async function autoMigrate() {
72
65
  }
73
66
  // Prisma Clientを生成
74
67
  console.log('Generating Prisma Client...');
75
- const { stdout: generateOutput } = await execAsync('npx prisma generate', { env });
68
+ const { stdout: generateOutput } = await execAsync('npx prisma generate');
76
69
  const generateLines = generateOutput
77
70
  .split('\n')
78
71
  .map((line) => line.trim())
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimalcorp/tsunagi",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Multi-repo GitHub project management with Claude AI integration, designed for visualizing and controlling AI-driven development locally.",
5
5
  "keywords": [
6
6
  "tsunagi",
@@ -37,6 +37,7 @@
37
37
  "dist/**/*",
38
38
  "prisma/schema.prisma",
39
39
  "prisma/migrations/**/*",
40
+ "prisma.config.ts",
40
41
  ".next/standalone/**/*",
41
42
  "scripts/fix-node-pty-permissions.cjs",
42
43
  "tsunagi-marketplace/**/*",
@@ -0,0 +1,28 @@
1
+ import 'dotenv/config';
2
+ import * as os from 'os';
3
+ import * as path from 'path';
4
+ import { defineConfig } from 'prisma/config';
5
+
6
+ // NOTE: published package には src/ が含まれないため、src/lib/data-path.ts からの
7
+ // import はできない。同等ロジックをインラインで実装する。
8
+ // 本体ロジック変更時は以下 3 箇所を同期する必要がある:
9
+ // - src/lib/data-path.ts
10
+ // - scripts/auto-migrate.ts
11
+ // - prisma.config.ts
12
+ function getTsunagiDataDir(): string {
13
+ return process.env.TSUNAGI_DATA_DIR || path.join(os.homedir(), '.tsunagi');
14
+ }
15
+
16
+ function getDatabasePath(): string {
17
+ return path.join(getTsunagiDataDir(), 'state', 'tsunagi.db');
18
+ }
19
+
20
+ export default defineConfig({
21
+ schema: 'prisma/schema.prisma',
22
+ migrations: {
23
+ path: 'prisma/migrations',
24
+ },
25
+ datasource: {
26
+ url: `file:${getDatabasePath()}`,
27
+ },
28
+ });