@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.
- package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
- package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/apps/web/package.json +2 -1
- package/dist/scripts/auto-migrate.js +4 -11
- package/package.json +2 -1
- package/prisma.config.ts +28 -0
- /package/.next/standalone/apps/web/.next/static/{UEbtaW0dIEqC-1j06ZhQV → JoYqGRe1NI9K8yLxCSu7g}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{UEbtaW0dIEqC-1j06ZhQV → JoYqGRe1NI9K8yLxCSu7g}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{UEbtaW0dIEqC-1j06ZhQV → JoYqGRe1NI9K8yLxCSu7g}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minimalcorp/tsunagi",
|
|
3
|
-
"version": "0.0.
|
|
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
|
-
|
|
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'
|
|
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
|
+
"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/**/*",
|
package/prisma.config.ts
ADDED
|
@@ -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
|
+
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|