@42ws/cli 0.1.11 → 0.1.13
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/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +81 -139
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/upgrade.d.ts +2 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +15 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/whoami.d.ts +3 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +59 -2
- package/dist/commands/whoami.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +4 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +8 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/update-check.d.ts +22 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +182 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/run.d.ts +2 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +17 -0
- package/dist/run.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -2
package/dist/commands/init.d.ts
CHANGED
|
@@ -5,5 +5,14 @@ export interface InitArgs {
|
|
|
5
5
|
spa?: boolean;
|
|
6
6
|
yes?: boolean;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* `42ws init` — プロジェクトのセットアップ。
|
|
10
|
+
*
|
|
11
|
+
* 42ws は「install はターミナルで1回、init 以降は AI(Claude Code / Codex)が叩く」運用。
|
|
12
|
+
* よって init は **非対話(headless)一本**: プロンプトを出さず、別エージェントも起動しない。
|
|
13
|
+
* 42ws.json + AI ガイド (CLAUDE.md / AGENTS.md) + .claude/settings.json を一式そろえ、
|
|
14
|
+
* AI に次手順を返す。サイト名は --site か作業フォルダ名から決める。
|
|
15
|
+
* `--json` は機械可読モード(42ws.json だけ書いて JSON を返す)。
|
|
16
|
+
*/
|
|
8
17
|
export declare function init(args: InitArgs): Promise<void>;
|
|
9
18
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDxD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { existsSync, writeFileSync, readFileSync, appendFileSync } from 'node:fs';
|
|
1
|
+
import { existsSync, writeFileSync, readFileSync, appendFileSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { join, basename } from 'node:path';
|
|
3
|
-
import { createInterface } from 'node:readline';
|
|
4
|
-
import { spawn } from 'node:child_process';
|
|
5
|
-
import { execSync } from 'node:child_process';
|
|
6
3
|
import { detectFramework } from '../lib/detect.js';
|
|
7
4
|
import { loadConfig, deriveDomains } from '../lib/config.js';
|
|
8
5
|
import { apiRequest } from '../lib/api.js';
|
|
@@ -13,115 +10,117 @@ function slugify(name) {
|
|
|
13
10
|
.replace(/[^a-z0-9-]+/g, '-')
|
|
14
11
|
.replace(/^-+|-+$/g, '');
|
|
15
12
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
/**
|
|
14
|
+
* `42ws init` — プロジェクトのセットアップ。
|
|
15
|
+
*
|
|
16
|
+
* 42ws は「install はターミナルで1回、init 以降は AI(Claude Code / Codex)が叩く」運用。
|
|
17
|
+
* よって init は **非対話(headless)一本**: プロンプトを出さず、別エージェントも起動しない。
|
|
18
|
+
* 42ws.json + AI ガイド (CLAUDE.md / AGENTS.md) + .claude/settings.json を一式そろえ、
|
|
19
|
+
* AI に次手順を返す。サイト名は --site か作業フォルダ名から決める。
|
|
20
|
+
* `--json` は機械可読モード(42ws.json だけ書いて JSON を返す)。
|
|
21
|
+
*/
|
|
25
22
|
export async function init(args) {
|
|
26
23
|
const cwd = process.cwd();
|
|
27
24
|
const configPath = join(cwd, '42ws.json');
|
|
28
25
|
const detection = detectFramework(cwd);
|
|
29
|
-
//
|
|
26
|
+
// --json: 機械可読モード(42ws.json のみ)。--site 必須。
|
|
30
27
|
if (isJsonMode()) {
|
|
31
28
|
const siteName = args.site;
|
|
32
29
|
if (!siteName) {
|
|
33
30
|
error('INVALID_SITE_NAME', 'Site name is required in JSON mode.', 'Use --site=<name>.');
|
|
34
31
|
process.exit(1);
|
|
35
32
|
}
|
|
36
|
-
const config = {
|
|
37
|
-
|
|
38
|
-
output: args.output ?? detection.output ?? 'dist',
|
|
39
|
-
};
|
|
40
|
-
if (args.build !== undefined) {
|
|
33
|
+
const config = { site: siteName, output: args.output ?? detection.output ?? 'dist' };
|
|
34
|
+
if (args.build !== undefined)
|
|
41
35
|
config.build = args.build || undefined;
|
|
42
|
-
|
|
43
|
-
if (args.spa !== undefined) {
|
|
36
|
+
if (args.spa !== undefined)
|
|
44
37
|
config.spa = args.spa;
|
|
45
|
-
}
|
|
46
38
|
writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', { encoding: 'utf-8' });
|
|
47
39
|
process.stdout.write(JSON.stringify({ ok: true, path: configPath, config }) + '\n');
|
|
48
40
|
return;
|
|
49
41
|
}
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
55
|
-
// 42ws.json が既にある場合だけ確認(それ以外は質問せず賢く既定で進める)
|
|
56
|
-
if (existsSync(configPath) && !args.yes) {
|
|
57
|
-
const overwrite = await prompt('42ws.json が既にあります。上書きしますか? [y/N]: ');
|
|
58
|
-
if (overwrite.toLowerCase() !== 'y') {
|
|
59
|
-
info('中止しました。');
|
|
60
|
-
process.exit(0);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// サイト名(サブドメインになる)。dir 名を既定にし、空きを確認して通ったものを使う。
|
|
64
|
-
const siteName = await resolveAvailableSite(slugify(basename(cwd)), args.site);
|
|
65
|
-
// Output / Build / SPA は自動検出して 42ws.json に静かに書く(CLI では聞かない)。
|
|
66
|
-
const config = { site: siteName, output: detection.output ?? 'dist' };
|
|
42
|
+
// サイト名: --site か作業フォルダ名から(質問しない)。Output/Build/SPA は自動検出。
|
|
43
|
+
const site = (args.site ? slugify(args.site) : slugify(basename(cwd))).toLowerCase();
|
|
44
|
+
const config = { site, output: args.output ?? detection.output ?? 'dist' };
|
|
67
45
|
if (detection.build)
|
|
68
46
|
config.build = detection.build;
|
|
69
47
|
if (detection.spa)
|
|
70
48
|
config.spa = true;
|
|
71
49
|
writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', { encoding: 'utf-8' });
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
50
|
+
const cfg = loadConfig();
|
|
51
|
+
const { sitesHost } = deriveDomains(cfg.apiUrl);
|
|
52
|
+
info(`42ws.json を作成しました(サイト名: ${site} → https://${site}.${sitesHost})`);
|
|
53
|
+
// サイト名の空き確認(best-effort・ブロックしない)。埋まっていれば AI に修正を促す。
|
|
54
|
+
try {
|
|
55
|
+
const res = await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(site)}/availability`);
|
|
56
|
+
if (res && !res.available) {
|
|
57
|
+
info(`注意: サイト名 "${site}" は使用中/不可です。42ws.json の "site" を別名に変えてください(公開前に要修正)。`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch { /* オフライン等は無視 */ }
|
|
75
61
|
await setupAgentGuides(cwd);
|
|
76
|
-
await
|
|
62
|
+
await setupClaudeSettings(cwd);
|
|
63
|
+
const loggedIn = !!cfg.token;
|
|
64
|
+
let n = 1;
|
|
65
|
+
info('');
|
|
66
|
+
info('=== 42ws セットアップ完了(AI 向け次手順)===');
|
|
67
|
+
if (!loggedIn)
|
|
68
|
+
info(`${n++}) 未ログインです。ユーザーに \`42ws login\` の実行を促してください(ブラウザ認可)。`);
|
|
69
|
+
info(`${n++}) CLAUDE.md を読み、\`42ws whoami\` で使える機能(hosting / フォーム / コレクション / 独自ドメイン)を確認。`);
|
|
70
|
+
info(`${n++}) ユーザーにヒアリング(参考サイト・原稿)→ design.md を起こす → 制作 → \`42ws dev\` で確認 → 公開。`);
|
|
71
|
+
info(' 規約は `42ws prompts get build`、プラットフォーム前提は `42ws prompts get context` を取得して従う。');
|
|
77
72
|
}
|
|
78
73
|
/**
|
|
79
|
-
*
|
|
80
|
-
* -
|
|
81
|
-
* -
|
|
82
|
-
*
|
|
74
|
+
* .claude/settings.json に 42ws を「AI に認知させる」設定をマージ追記する(strategy §4.5 の制御点の堀)。
|
|
75
|
+
* - permissions.allow に Bash(42ws:*)(毎回の権限確認を消す)
|
|
76
|
+
* - hooks.SessionStart に `42ws whoami --hook`(起動時にログイン/プラン/接続先を AI に渡す)
|
|
77
|
+
* 既存の settings は壊さずマージし、重複は入れない。
|
|
83
78
|
*/
|
|
84
|
-
async function
|
|
85
|
-
const
|
|
86
|
-
const
|
|
79
|
+
async function setupClaudeSettings(cwd) {
|
|
80
|
+
const dir = join(cwd, '.claude');
|
|
81
|
+
const file = join(dir, 'settings.json');
|
|
82
|
+
let settings = {};
|
|
83
|
+
if (existsSync(file)) {
|
|
87
84
|
try {
|
|
88
|
-
|
|
85
|
+
settings = JSON.parse(readFileSync(file, 'utf-8'));
|
|
89
86
|
}
|
|
90
87
|
catch {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
};
|
|
94
|
-
const reasonText = {
|
|
95
|
-
taken: 'すでに使われています',
|
|
96
|
-
reserved: '予約済みで使えません',
|
|
97
|
-
invalid: '使えない名前です(半角英数とハイフン、4〜32文字)',
|
|
98
|
-
};
|
|
99
|
-
let candidate = (fromFlag || defaultSite).toLowerCase();
|
|
100
|
-
for (;;) {
|
|
101
|
-
const res = await check(candidate);
|
|
102
|
-
if (res === null) {
|
|
103
|
-
info(`サイト名の空き確認をスキップしました(オフライン?)。"${candidate}" で進めます。`);
|
|
104
|
-
return candidate;
|
|
105
|
-
}
|
|
106
|
-
if (res.available) {
|
|
107
|
-
info(`サイト名 "${candidate}" は利用可能です。`);
|
|
108
|
-
return candidate;
|
|
109
|
-
}
|
|
110
|
-
info(`サイト名 "${candidate}" は${reasonText[res.reason ?? ''] ?? '使えません'}。`);
|
|
111
|
-
const next = await prompt('別のサイト名を入力してください: ');
|
|
112
|
-
if (!next) {
|
|
113
|
-
info('空のためそのまま進めます(公開時に再確認されます)。');
|
|
114
|
-
return candidate;
|
|
88
|
+
info('.claude/settings.json が壊れているため 42ws 設定の仕込みをスキップしました。');
|
|
89
|
+
return;
|
|
115
90
|
}
|
|
116
|
-
candidate = next.toLowerCase();
|
|
117
91
|
}
|
|
92
|
+
const perms = (settings.permissions ?? {});
|
|
93
|
+
const allow = Array.isArray(perms.allow) ? perms.allow : [];
|
|
94
|
+
const hooks = (settings.hooks ?? {});
|
|
95
|
+
const sessionStart = Array.isArray(hooks.SessionStart) ? hooks.SessionStart : [];
|
|
96
|
+
const ALLOW_RULE = 'Bash(42ws:*)';
|
|
97
|
+
const hasAllow = allow.includes(ALLOW_RULE);
|
|
98
|
+
const hasHook = JSON.stringify(sessionStart).includes('42ws whoami --hook');
|
|
99
|
+
if (hasAllow && hasHook) {
|
|
100
|
+
info('.claude/settings.json に 42ws の設定が既にあります (skip)');
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (!hasAllow)
|
|
104
|
+
allow.push(ALLOW_RULE);
|
|
105
|
+
const newSessionStart = hasHook
|
|
106
|
+
? sessionStart
|
|
107
|
+
: [...sessionStart, { matcher: 'startup', hooks: [{ type: 'command', command: '42ws whoami --hook', timeout: 10 }] }];
|
|
108
|
+
const merged = {
|
|
109
|
+
...settings,
|
|
110
|
+
permissions: { ...(typeof settings.permissions === 'object' && settings.permissions ? settings.permissions : {}), allow },
|
|
111
|
+
hooks: { ...(typeof settings.hooks === 'object' && settings.hooks ? settings.hooks : {}), SessionStart: newSessionStart },
|
|
112
|
+
};
|
|
113
|
+
if (!existsSync(dir))
|
|
114
|
+
mkdirSync(dir, { recursive: true });
|
|
115
|
+
writeFileSync(file, JSON.stringify(merged, null, 2) + '\n', { encoding: 'utf-8' });
|
|
116
|
+
info('.claude/settings.json に 42ws の許可 (Bash(42ws:*)) とセッション開始フック (42ws whoami) を追加しました');
|
|
118
117
|
}
|
|
119
118
|
function buildAgentGuide() {
|
|
120
119
|
return `# 42ws Site Project
|
|
121
120
|
|
|
122
121
|
このプロジェクトは [42ws](https://42ws.com) で公開されます。
|
|
123
122
|
|
|
124
|
-
##
|
|
123
|
+
## まず最初に(ヒアリング)
|
|
125
124
|
|
|
126
125
|
いきなり作り始めない。まずユーザーに**雑談ベースで**確認する(管理画面用語=「コレクション」等は使わない):
|
|
127
126
|
|
|
@@ -133,17 +132,15 @@ function buildAgentGuide() {
|
|
|
133
132
|
|
|
134
133
|
## 使える機能を先に確認
|
|
135
134
|
|
|
136
|
-
\`
|
|
135
|
+
\`42ws whoami\` で**ログイン状態と契約プランの機能**(hosting / contact=フォーム / collection / customDomains)を確認する。
|
|
137
136
|
**使えない機能は提案しない**(例: フォーム不可のプランなら問い合わせフォームを設計に入れない)。未ログインなら先にログインを促す。
|
|
138
137
|
|
|
139
138
|
## 制作前に必ず読む(オンライン・常に最新)
|
|
140
139
|
|
|
141
140
|
ガイドは 42ws がオンラインで配信します。ローカルに古い規約を抱えないため、**作業前に毎回取得**してください:
|
|
142
141
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
npx @42ws/cli@latest prompts get context # 42ws プラットフォームの前提(フォーム埋め込み、CMS の作法、禁止事項)
|
|
146
|
-
npx @42ws/cli@latest prompts get build # 制作規約(素 HTML 優先・スマホ対応・SEO 構造・デザイン方針・画像・プレビュー)
|
|
142
|
+
42ws prompts get context # 42ws プラットフォームの前提(フォーム埋め込み、CMS の作法、禁止事項)
|
|
143
|
+
42ws prompts get build # 制作規約(素 HTML 優先・スマホ対応・SEO 構造・デザイン方針・画像・プレビュー)
|
|
147
144
|
|
|
148
145
|
## 設計を起こす(design.md)
|
|
149
146
|
|
|
@@ -152,7 +149,7 @@ function buildAgentGuide() {
|
|
|
152
149
|
## 作る → プレビュー → 公開
|
|
153
150
|
|
|
154
151
|
1. \`build\` 規約に従って素の HTML/CSS で作る(理由が無ければフレームワーク不要)
|
|
155
|
-
2. **\`
|
|
152
|
+
2. **\`42ws dev\` でローカル起動し、ブラウザ(スマホ幅でも)で確認**。崩れ・エラーは検証ツールバー / \`dev errors\` で診断(手順は \`prompts get inspector\`)
|
|
156
153
|
3. 公開・フォーム/コレクション組み込み・既存サイト移行は \`prompts get cli\` / \`prompts get migrate\`
|
|
157
154
|
|
|
158
155
|
## バージョン更新の検知
|
|
@@ -178,7 +175,7 @@ function shouldSkipExisting(file, marker) {
|
|
|
178
175
|
}
|
|
179
176
|
async function setupAgentGuides(cwd) {
|
|
180
177
|
// CLAUDE.md (Claude Code) と AGENTS.md (codex 等) を生成。
|
|
181
|
-
//
|
|
178
|
+
// 既にあれば marker で重複を防ぎつつ末尾に追記(非対話)。
|
|
182
179
|
const guide = buildAgentGuide();
|
|
183
180
|
const marker = '42ws Site Project'; // ヘッダ重複検知用
|
|
184
181
|
for (const fname of ['CLAUDE.md', 'AGENTS.md']) {
|
|
@@ -188,11 +185,6 @@ async function setupAgentGuides(cwd) {
|
|
|
188
185
|
info(`${fname} に 42ws のガイドが既にあります (skip)`);
|
|
189
186
|
continue;
|
|
190
187
|
}
|
|
191
|
-
const ans = await prompt(`${fname} が存在します。末尾に 42ws のガイドを追記しますか? [y/N]: `);
|
|
192
|
-
if (ans.toLowerCase() !== 'y') {
|
|
193
|
-
info(`${fname} はスキップしました`);
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
188
|
appendFileSync(fpath, '\n\n' + guide);
|
|
197
189
|
info(`${fname} に追記しました`);
|
|
198
190
|
}
|
|
@@ -202,54 +194,4 @@ async function setupAgentGuides(cwd) {
|
|
|
202
194
|
}
|
|
203
195
|
}
|
|
204
196
|
}
|
|
205
|
-
function detectAgentBin() {
|
|
206
|
-
for (const name of ['claude', 'codex']) {
|
|
207
|
-
try {
|
|
208
|
-
const path = execSync(`command -v ${name} 2>/dev/null || which ${name} 2>/dev/null`, { encoding: 'utf-8' }).trim();
|
|
209
|
-
if (path)
|
|
210
|
-
return { name, path };
|
|
211
|
-
}
|
|
212
|
-
catch {
|
|
213
|
-
// ignore
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
return null;
|
|
217
|
-
}
|
|
218
|
-
async function launchAgent(cwd) {
|
|
219
|
-
const config = loadConfig();
|
|
220
|
-
const loggedIn = !!config.token;
|
|
221
|
-
const agent = detectAgentBin();
|
|
222
|
-
if (!agent) {
|
|
223
|
-
info('');
|
|
224
|
-
info('AI エージェント (claude / codex) が見つかりませんでした。導入後に手動で起動してください:');
|
|
225
|
-
info(' - Claude Code: https://docs.claude.com/ja/docs/claude-code/overview');
|
|
226
|
-
info(' - codex: https://github.com/openai/codex');
|
|
227
|
-
if (!loggedIn) {
|
|
228
|
-
info('');
|
|
229
|
-
info('ログインも必要です: npx @42ws/cli@latest login');
|
|
230
|
-
}
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
if (!loggedIn) {
|
|
234
|
-
info('');
|
|
235
|
-
info('未ログインです。先に `npx @42ws/cli@latest login` を実行してから再度 init してください。');
|
|
236
|
-
info(`(検出した AI エージェント: ${agent.name})`);
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
const ans = await prompt(`AI エージェント "${agent.name}" を起動しますか? [Y/n]: `);
|
|
240
|
-
if (ans.toLowerCase() === 'n') {
|
|
241
|
-
info(`手動で起動する場合: ${agent.name}`);
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
info(`${agent.name} を起動します...`);
|
|
245
|
-
// stdio を継承して対話モードを橋渡し
|
|
246
|
-
const child = spawn(agent.path, [], { cwd, stdio: 'inherit' });
|
|
247
|
-
await new Promise((resolveSpawn) => {
|
|
248
|
-
child.on('exit', () => resolveSpawn());
|
|
249
|
-
child.on('error', (err) => {
|
|
250
|
-
info(`AI エージェントの起動に失敗しました: ${err.message}`);
|
|
251
|
-
resolveSpawn();
|
|
252
|
-
});
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
197
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAKA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ7C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { runUpgrade } from '../lib/update-check.js';
|
|
2
|
+
import { successMessage, error } from '../lib/output.js';
|
|
3
|
+
// 42ws upgrade — 最新の単一バイナリへ明示更新する。
|
|
4
|
+
// 単一バイナリ(~/.42ws/bin/42ws)なら DL + atomic 置換。npm 版なら更新コマンドを案内。
|
|
5
|
+
export async function upgrade() {
|
|
6
|
+
const r = await runUpgrade();
|
|
7
|
+
if (r.ok) {
|
|
8
|
+
successMessage(r.message);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
error('UPGRADE_FAILED', r.message);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzD,mCAAmC;AACnC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACT,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAmEA,wBAAsB,MAAM,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CzE"}
|
package/dist/commands/whoami.js
CHANGED
|
@@ -1,7 +1,64 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { loadConfig, deriveDomains, configPath } from '../lib/config.js';
|
|
2
3
|
import { apiRequest, ApiError } from '../lib/api.js';
|
|
3
4
|
import { successMessage, error, isJsonMode } from '../lib/output.js';
|
|
4
|
-
|
|
5
|
+
// Part G(update-check)が書く ~/.42ws/update.json を読み、SessionStart で AI に伝える更新通知文を返す。
|
|
6
|
+
function readUpdateNotice() {
|
|
7
|
+
try {
|
|
8
|
+
const raw = readFileSync(configPath('update.json'), 'utf-8');
|
|
9
|
+
const u = JSON.parse(raw);
|
|
10
|
+
if (u.available && u.latest) {
|
|
11
|
+
return `42ws: 新しいバージョン ${u.latest} があります。\`42ws upgrade\` で更新できます。`;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// 無ければ何もしない
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Claude Code の SessionStart フック用出力。
|
|
21
|
+
* `{hookSpecificOutput:{hookEventName:"SessionStart", additionalContext:"..."}}` を stdout に出す。
|
|
22
|
+
* additionalContext にログイン状態 / 使える機能 / 接続先 / 更新通知を載せ、AI が起動時に把握できる。
|
|
23
|
+
* 何があっても **exit 0**(セッションを壊さない)。
|
|
24
|
+
*/
|
|
25
|
+
async function emitSessionHook() {
|
|
26
|
+
const lines = [];
|
|
27
|
+
try {
|
|
28
|
+
const config = loadConfig();
|
|
29
|
+
if (!config.token) {
|
|
30
|
+
lines.push('42ws: 未ログインです。サイト公開やフォーム等を使う前に `42ws login` を実行してください。');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
try {
|
|
34
|
+
const me = await apiRequest(config, 'GET', '/v1/whoami');
|
|
35
|
+
const lic = me.license;
|
|
36
|
+
const feats = lic
|
|
37
|
+
? [lic.hosting && 'ホスティング', lic.contact && 'フォーム', lic.collection && 'コレクション', lic.customDomains && '独自ドメイン'].filter(Boolean).join(' / ')
|
|
38
|
+
: '';
|
|
39
|
+
lines.push(`42ws: ログイン済み (${me.email ?? me.userId}) / 接続先 ${config.apiUrl}`);
|
|
40
|
+
lines.push(feats ? `使える機能: ${feats}(使えない機能はユーザーに提案しない)` : '使える機能がありません(プラン未割当の可能性。ユーザーに確認を)');
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
lines.push(`42ws: ログイン情報はありますが状態確認に失敗しました(接続先 ${config.apiUrl})。\`42ws whoami\` で確認できます。`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const upd = readUpdateNotice();
|
|
47
|
+
if (upd)
|
|
48
|
+
lines.push(upd);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// セッションは壊さない
|
|
52
|
+
}
|
|
53
|
+
process.stdout.write(JSON.stringify({
|
|
54
|
+
hookSpecificOutput: { hookEventName: 'SessionStart', additionalContext: lines.join('\n') },
|
|
55
|
+
}) + '\n');
|
|
56
|
+
}
|
|
57
|
+
export async function whoami(opts = {}) {
|
|
58
|
+
if (opts.hook) {
|
|
59
|
+
await emitSessionHook();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
5
62
|
const config = loadConfig();
|
|
6
63
|
if (!config.token) {
|
|
7
64
|
error('NOT_LOGGED_IN', 'You are not logged in.', 'Run `42ws login --token <your-token>` to authenticate.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+IA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6T1C"}
|
package/dist/index.js
CHANGED
|
@@ -14,23 +14,13 @@ import { chatlog } from './commands/chatlog.js';
|
|
|
14
14
|
import { context } from './commands/context.js';
|
|
15
15
|
import { domains } from './commands/domains.js';
|
|
16
16
|
import { dev } from './commands/dev.js';
|
|
17
|
+
import { upgrade } from './commands/upgrade.js';
|
|
18
|
+
import { scheduleUpdateCheck, runUpdateCheck, printUpdateNotice } from './lib/update-check.js';
|
|
17
19
|
import { setJsonMode } from './lib/output.js';
|
|
18
20
|
import { setLocale } from './lib/i18n.js';
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
import {
|
|
22
|
-
import { fileURLToPath } from 'node:url';
|
|
23
|
-
import { dirname, join } from 'node:path';
|
|
24
|
-
const VERSION = (() => {
|
|
25
|
-
try {
|
|
26
|
-
const here = dirname(fileURLToPath(import.meta.url));
|
|
27
|
-
const pkg = JSON.parse(readFileSync(join(here, '..', 'package.json'), 'utf-8'));
|
|
28
|
-
return pkg.version ?? '0.0.0';
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return '0.0.0';
|
|
32
|
-
}
|
|
33
|
-
})();
|
|
21
|
+
// バージョンはビルド時に生成される version.ts(scripts/gen-version.mjs が package.json
|
|
22
|
+
// から生成)から取得する。単一バイナリ(bun --compile)でも package.json 非同梱で破綻しない。
|
|
23
|
+
import { VERSION } from './version.js';
|
|
34
24
|
const HELP = `
|
|
35
25
|
42ws — Publish static sites in one command
|
|
36
26
|
|
|
@@ -41,6 +31,7 @@ Commands:
|
|
|
41
31
|
login Authenticate with your 42ws token
|
|
42
32
|
logout Remove stored credentials
|
|
43
33
|
whoami Show currently logged-in user
|
|
34
|
+
upgrade Update 42ws to the latest version
|
|
44
35
|
publish Publish a static site
|
|
45
36
|
(sync from local; embed snippets and CMS-generated
|
|
46
37
|
files are protected. --allow-detach to override)
|
|
@@ -145,6 +136,12 @@ function parseArgs(argv) {
|
|
|
145
136
|
export async function main() {
|
|
146
137
|
const argv = process.argv.slice(2);
|
|
147
138
|
const { command, flags, positional } = parseArgs(argv);
|
|
139
|
+
// 隠しコマンド: バックグラウンド更新チェックの本体(scheduleUpdateCheck が detached で起動)。
|
|
140
|
+
// 出力もスケジューリングもせず、検査だけして終わる。
|
|
141
|
+
if (command === '_self-update-check') {
|
|
142
|
+
await runUpdateCheck();
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
148
145
|
// Global flags
|
|
149
146
|
if (flags['json'] === true) {
|
|
150
147
|
setJsonMode(true);
|
|
@@ -195,6 +192,8 @@ export async function main() {
|
|
|
195
192
|
process.stdout.write(HELP + '\n');
|
|
196
193
|
return;
|
|
197
194
|
}
|
|
195
|
+
// 実コマンド実行時に1日1回だけ更新チェックを detached で起動(前景はブロックしない)。
|
|
196
|
+
scheduleUpdateCheck();
|
|
198
197
|
switch (command) {
|
|
199
198
|
case '--help':
|
|
200
199
|
case '-h':
|
|
@@ -214,7 +213,10 @@ export async function main() {
|
|
|
214
213
|
await logout();
|
|
215
214
|
break;
|
|
216
215
|
case 'whoami':
|
|
217
|
-
await whoami();
|
|
216
|
+
await whoami({ hook: flags['hook'] === true });
|
|
217
|
+
break;
|
|
218
|
+
case 'upgrade':
|
|
219
|
+
await upgrade();
|
|
218
220
|
break;
|
|
219
221
|
case 'publish':
|
|
220
222
|
await publish({
|
|
@@ -420,5 +422,7 @@ export async function main() {
|
|
|
420
422
|
process.stderr.write(`Unknown command: ${command}\n\n${HELP}\n`);
|
|
421
423
|
process.exit(1);
|
|
422
424
|
}
|
|
425
|
+
// コマンド成功後に minor/major の更新通知があれば1行出す(best-effort)。
|
|
426
|
+
printUpdateNotice();
|
|
423
427
|
}
|
|
424
428
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -20,4 +20,8 @@ export declare function saveConfig(config: Partial<Config> & {
|
|
|
20
20
|
removeToken?: boolean;
|
|
21
21
|
removeApiUrl?: boolean;
|
|
22
22
|
}): void;
|
|
23
|
+
/** ~/.42ws 配下のファイルパスを返す(update.json 等の補助状態の置き場)。 */
|
|
24
|
+
export declare function configPath(name: string): string;
|
|
25
|
+
/** ~/.42ws 配下のバイナリ設置ディレクトリ(install.sh の配置先と一致)。 */
|
|
26
|
+
export declare function binDir(): string;
|
|
23
27
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,UAAU,IAAI,MAAM,CAkBnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAa5G"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,UAAU,IAAI,MAAM,CAkBnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAa5G;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,mDAAmD;AACnD,wBAAgB,MAAM,IAAI,MAAM,CAE/B"}
|
package/dist/lib/config.js
CHANGED
|
@@ -54,4 +54,12 @@ export function saveConfig(config) {
|
|
|
54
54
|
}
|
|
55
55
|
writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2) + '\n', { mode: 0o600 });
|
|
56
56
|
}
|
|
57
|
+
/** ~/.42ws 配下のファイルパスを返す(update.json 等の補助状態の置き場)。 */
|
|
58
|
+
export function configPath(name) {
|
|
59
|
+
return join(CONFIG_DIR, name);
|
|
60
|
+
}
|
|
61
|
+
/** ~/.42ws 配下のバイナリ設置ディレクトリ(install.sh の配置先と一致)。 */
|
|
62
|
+
export function binDir() {
|
|
63
|
+
return join(CONFIG_DIR, 'bin');
|
|
64
|
+
}
|
|
57
65
|
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,wEAAwE;AACxE,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,eAAe,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE/C,IAAI,UAAU,GAAoB,EAAE,CAAC;IACrC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC/C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK;QAChC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,eAAe;KACnF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAA2E;IACpG,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAW;QACrB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QACxE,+DAA+D;QAC/D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;KACnF,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtF,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,wEAAwE;AACxE,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,eAAe,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE/C,IAAI,UAAU,GAAoB,EAAE,CAAC;IACrC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC/C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK;QAChC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,eAAe;KACnF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAA2E;IACpG,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAW;QACrB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QACxE,+DAA+D;QAC/D,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;KACnF,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare function compareVersions(a: string, b: string): 'patch' | 'minor' | 'major' | null;
|
|
2
|
+
export declare function currentPlatform(): string | null;
|
|
3
|
+
/** 最新バイナリを temp に DL → 検証 → atomic 置換。成功で true。 */
|
|
4
|
+
export declare function downloadAndReplace(targetPath: string): Promise<boolean>;
|
|
5
|
+
/**
|
|
6
|
+
* 前景コマンドから呼ぶ。throttle を見て、必要なら detached でバックグラウンド検査を起動して即戻る。
|
|
7
|
+
* ネットワークも更新も前景をブロックしない。
|
|
8
|
+
*/
|
|
9
|
+
export declare function scheduleUpdateCheck(): void;
|
|
10
|
+
/** 隠しサブコマンド `_self-update-check` の本体(detached プロセスで実行)。 */
|
|
11
|
+
export declare function runUpdateCheck(): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* minor/major の更新通知を stderr に1行出す(前回チェックで書かれた ~/.42ws/update.json を読む)。
|
|
14
|
+
* 前景コマンドの末尾で best-effort 呼び出し。JSON モードや通知無しでは何もしない。
|
|
15
|
+
*/
|
|
16
|
+
export declare function printUpdateNotice(): void;
|
|
17
|
+
/** `42ws upgrade` の本体。明示更新(kind 問わず最新へ)。 */
|
|
18
|
+
export declare function runUpgrade(): Promise<{
|
|
19
|
+
ok: boolean;
|
|
20
|
+
message: string;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=update-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAyBA,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAMxF;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAI/C;AA4BD,mDAAmD;AACnD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB7E;AAUD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAe1C;AAED,2DAA2D;AAC3D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAQxC;AAED,4CAA4C;AAC5C,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5E"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
// 自動バージョン追随(strategy §4)。
|
|
2
|
+
// - コマンド実行時に1日1回だけ get.42ws.com/version を確認(throttle)。本処理はブロックしない
|
|
3
|
+
// (detached の隠しサブコマンド `_self-update-check` をバックグラウンドで spawn して即 unref)
|
|
4
|
+
// - patch(同 major.minor で patch 上昇)= サイレント自動更新(バイナリ atomic 置換)
|
|
5
|
+
// - minor / major = 自動更新しない。~/.42ws/update.json に通知を書き、whoami --hook / _suggest が拾う
|
|
6
|
+
// - npm 経由インストールはセルフ更新せず、通知のみ(更新は npm i -g)
|
|
7
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync, chmodSync, statSync } from 'node:fs';
|
|
8
|
+
import { spawn } from 'node:child_process';
|
|
9
|
+
import { dirname, join } from 'node:path';
|
|
10
|
+
import { VERSION } from '../version.js';
|
|
11
|
+
import { configPath, binDir } from './config.js';
|
|
12
|
+
const BASE_URL = process.env['FORTYTWO_WS_INSTALL_BASE'] ?? 'https://get.42ws.com';
|
|
13
|
+
const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000; // 1日
|
|
14
|
+
const STAMP = () => configPath('update-check'); // 最終チェック時刻
|
|
15
|
+
const NOTICE = () => configPath('update.json'); // minor/major 通知
|
|
16
|
+
function parse(v) {
|
|
17
|
+
const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v.trim());
|
|
18
|
+
return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : [0, 0, 0];
|
|
19
|
+
}
|
|
20
|
+
// a が b より新しいなら種別を返す。同じか古ければ null。
|
|
21
|
+
export function compareVersions(a, b) {
|
|
22
|
+
const [a0, a1, a2] = parse(a), [b0, b1, b2] = parse(b);
|
|
23
|
+
if (a0 !== b0)
|
|
24
|
+
return a0 > b0 ? 'major' : null;
|
|
25
|
+
if (a1 !== b1)
|
|
26
|
+
return a1 > b1 ? 'minor' : null;
|
|
27
|
+
if (a2 !== b2)
|
|
28
|
+
return a2 > b2 ? 'patch' : null;
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
export function currentPlatform() {
|
|
32
|
+
const os = process.platform === 'darwin' ? 'darwin' : process.platform === 'linux' ? 'linux' : null;
|
|
33
|
+
const arch = process.arch === 'arm64' ? 'arm64' : process.arch === 'x64' ? 'x64' : null;
|
|
34
|
+
return os && arch ? `${os}-${arch}` : null;
|
|
35
|
+
}
|
|
36
|
+
// 実行中が「~/.42ws/bin/42ws として配置された単一バイナリ」か(= セルフ更新の対象)。
|
|
37
|
+
function selfUpdatableBinaryPath() {
|
|
38
|
+
const expected = join(binDir(), '42ws');
|
|
39
|
+
// Bun コンパイル単一バイナリのときのみ process.execPath がそのバイナリを指す
|
|
40
|
+
if (process.versions.bun && process.execPath) {
|
|
41
|
+
try {
|
|
42
|
+
if (existsSync(expected) && statSync(expected).isFile()) {
|
|
43
|
+
// execPath が install 先と一致(あるいは同一 inode)なら更新対象
|
|
44
|
+
if (process.execPath === expected)
|
|
45
|
+
return expected;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch { /* noop */ }
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
async function fetchLatest() {
|
|
53
|
+
try {
|
|
54
|
+
const res = await fetch(`${BASE_URL}/version`, { signal: AbortSignal.timeout(5000) });
|
|
55
|
+
if (!res.ok)
|
|
56
|
+
return null;
|
|
57
|
+
const m = (await res.json());
|
|
58
|
+
return typeof m.latest === 'string' ? m.latest : null;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** 最新バイナリを temp に DL → 検証 → atomic 置換。成功で true。 */
|
|
65
|
+
export async function downloadAndReplace(targetPath) {
|
|
66
|
+
const platform = currentPlatform();
|
|
67
|
+
if (!platform)
|
|
68
|
+
return false;
|
|
69
|
+
try {
|
|
70
|
+
const res = await fetch(`${BASE_URL}/dl/42ws-${platform}`, { signal: AbortSignal.timeout(60000) });
|
|
71
|
+
if (!res.ok)
|
|
72
|
+
return false;
|
|
73
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
74
|
+
if (buf.length < 1_000_000)
|
|
75
|
+
return false; // 明らかに壊れた応答は弾く(バイナリは数十MB)
|
|
76
|
+
const dir = dirname(targetPath);
|
|
77
|
+
if (!existsSync(dir))
|
|
78
|
+
mkdirSync(dir, { recursive: true });
|
|
79
|
+
const tmp = join(dir, `.42ws-update-${process.pid}`);
|
|
80
|
+
writeFileSync(tmp, buf);
|
|
81
|
+
chmodSync(tmp, 0o755);
|
|
82
|
+
renameSync(tmp, targetPath); // 同一 FS で atomic。実行中バイナリは inode 保持で安全
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function writeNotice(n) {
|
|
90
|
+
try {
|
|
91
|
+
if (!existsSync(dirname(NOTICE())))
|
|
92
|
+
mkdirSync(dirname(NOTICE()), { recursive: true });
|
|
93
|
+
if (n)
|
|
94
|
+
writeFileSync(NOTICE(), JSON.stringify(n));
|
|
95
|
+
else
|
|
96
|
+
writeFileSync(NOTICE(), JSON.stringify({ available: false, latest: VERSION, kind: 'patch' }));
|
|
97
|
+
}
|
|
98
|
+
catch { /* noop */ }
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* 前景コマンドから呼ぶ。throttle を見て、必要なら detached でバックグラウンド検査を起動して即戻る。
|
|
102
|
+
* ネットワークも更新も前景をブロックしない。
|
|
103
|
+
*/
|
|
104
|
+
export function scheduleUpdateCheck() {
|
|
105
|
+
try {
|
|
106
|
+
if (process.env['FORTYTWO_WS_NO_UPDATE'] === '1')
|
|
107
|
+
return;
|
|
108
|
+
let last = 0;
|
|
109
|
+
try {
|
|
110
|
+
last = Number(readFileSync(STAMP(), 'utf-8')) || 0;
|
|
111
|
+
}
|
|
112
|
+
catch { /* 初回 */ }
|
|
113
|
+
if (Date.now() - last < CHECK_INTERVAL_MS)
|
|
114
|
+
return;
|
|
115
|
+
// 先にスタンプ更新(多重起動防止)
|
|
116
|
+
if (!existsSync(dirname(STAMP())))
|
|
117
|
+
mkdirSync(dirname(STAMP()), { recursive: true });
|
|
118
|
+
writeFileSync(STAMP(), String(Date.now()));
|
|
119
|
+
// detached 子プロセスで実検査(stdio 捨て、親は待たない)
|
|
120
|
+
const args = process.versions.bun
|
|
121
|
+
? ['_self-update-check']
|
|
122
|
+
: [process.argv[1], '_self-update-check'];
|
|
123
|
+
spawn(process.execPath, args, { detached: true, stdio: 'ignore' }).unref();
|
|
124
|
+
}
|
|
125
|
+
catch { /* 失敗してもコマンドは普通に進む */ }
|
|
126
|
+
}
|
|
127
|
+
/** 隠しサブコマンド `_self-update-check` の本体(detached プロセスで実行)。 */
|
|
128
|
+
export async function runUpdateCheck() {
|
|
129
|
+
const latest = await fetchLatest();
|
|
130
|
+
if (!latest)
|
|
131
|
+
return;
|
|
132
|
+
const kind = compareVersions(latest, VERSION);
|
|
133
|
+
if (!kind) {
|
|
134
|
+
writeNotice(null);
|
|
135
|
+
return;
|
|
136
|
+
} // 最新
|
|
137
|
+
if (kind === 'patch') {
|
|
138
|
+
// patch はサイレント自動更新(単一バイナリのときだけ)
|
|
139
|
+
const selfPath = selfUpdatableBinaryPath();
|
|
140
|
+
if (selfPath && await downloadAndReplace(selfPath)) {
|
|
141
|
+
writeNotice(null); // 更新済み
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// 自動更新できない場合(npm 等)は通知に留める
|
|
145
|
+
}
|
|
146
|
+
// minor / major、または patch 自動更新不可 → 通知を残す(whoami --hook / suggest が拾う)
|
|
147
|
+
writeNotice({ available: true, latest, kind });
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* minor/major の更新通知を stderr に1行出す(前回チェックで書かれた ~/.42ws/update.json を読む)。
|
|
151
|
+
* 前景コマンドの末尾で best-effort 呼び出し。JSON モードや通知無しでは何もしない。
|
|
152
|
+
*/
|
|
153
|
+
export function printUpdateNotice() {
|
|
154
|
+
try {
|
|
155
|
+
const raw = readFileSync(NOTICE(), 'utf-8');
|
|
156
|
+
const n = JSON.parse(raw);
|
|
157
|
+
if (n.available && n.latest && n.kind !== 'patch') {
|
|
158
|
+
process.stderr.write(`\n42ws: 新しいバージョン ${n.latest} があります。\`42ws upgrade\` で更新できます。\n`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch { /* 通知ファイルが無ければ何もしない */ }
|
|
162
|
+
}
|
|
163
|
+
/** `42ws upgrade` の本体。明示更新(kind 問わず最新へ)。 */
|
|
164
|
+
export async function runUpgrade() {
|
|
165
|
+
const latest = await fetchLatest();
|
|
166
|
+
if (!latest)
|
|
167
|
+
return { ok: false, message: '最新バージョンの確認に失敗しました(ネットワーク?)。' };
|
|
168
|
+
if (!compareVersions(latest, VERSION)) {
|
|
169
|
+
writeNotice(null);
|
|
170
|
+
return { ok: true, message: `既に最新です (${VERSION})。` };
|
|
171
|
+
}
|
|
172
|
+
const selfPath = selfUpdatableBinaryPath();
|
|
173
|
+
if (!selfPath) {
|
|
174
|
+
return { ok: false, message: `npm 版が動いています。更新は: npm i -g @42ws/cli@latest(現在 ${VERSION} → 最新 ${latest})` };
|
|
175
|
+
}
|
|
176
|
+
if (await downloadAndReplace(selfPath)) {
|
|
177
|
+
writeNotice(null);
|
|
178
|
+
return { ok: true, message: `42ws を ${VERSION} → ${latest} に更新しました。` };
|
|
179
|
+
}
|
|
180
|
+
return { ok: false, message: '更新のダウンロードに失敗しました。時間をおいて再試行してください。' };
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=update-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":""}
|
package/dist/run.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// bun build --compile 用のエントリポイント。
|
|
2
|
+
// npm 版の bin/cli.js(`import('../dist/index.js').then(m => m.main())`)と同じ
|
|
3
|
+
// 起動 + ApiError 整形ロジックを TS で持つ。bun はこの src を直接バンドルできる。
|
|
4
|
+
import { main } from './index.js';
|
|
5
|
+
main().catch((e) => {
|
|
6
|
+
const err = e;
|
|
7
|
+
if (err && err.name === 'ApiError') {
|
|
8
|
+
process.stderr.write(`Error [${err.code}]: ${err.message}\n`);
|
|
9
|
+
if (err.suggestedFix)
|
|
10
|
+
process.stderr.write(` Fix: ${err.suggestedFix}\n`);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
console.error(err?.message ?? e);
|
|
14
|
+
}
|
|
15
|
+
process.exit(1);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=run.js.map
|
package/dist/run.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,yEAAyE;AACzE,uDAAuD;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;IAC1B,MAAM,GAAG,GAAG,CAAqF,CAAC;IAClG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,YAAY;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,WAAW,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@42ws/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "Publish static sites in one command",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"cli"
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
|
-
"
|
|
26
|
+
"gen-version": "node ../../scripts/gen-version.mjs",
|
|
27
|
+
"build": "npm run gen-version && tsc -p tsconfig.json",
|
|
27
28
|
"prepublishOnly": "npm run build"
|
|
28
29
|
},
|
|
29
30
|
"engines": {
|