@42ws/cli 0.0.46 → 0.0.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.
package/README.md CHANGED
@@ -131,12 +131,15 @@ Print an AI-facing guide. `cli` (overall), `context` (site build conventions), `
131
131
 
132
132
  ### `42ws whoami`
133
133
 
134
- Show the currently logged-in user.
134
+ Show the logged-in user, the target environment, and the plan features available on the account.
135
135
 
136
136
  ```
137
137
  42ws whoami
138
+ 42ws whoami --json
138
139
  ```
139
140
 
141
+ Output includes the API endpoint (so you can tell which environment you're on) and which features your plan enables (hosting / contact form / collection / custom domains). AI agents should check this before proposing features so they don't suggest something the plan can't use.
142
+
140
143
  ## Localization
141
144
 
142
145
  The CLI auto-detects locale from `LANG` / `LC_ALL` env vars and falls back to the OS locale via `Intl`. Override explicitly with `--lang ja` or `--lang en`. Currently supports English and Japanese.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAiCA,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,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiGxD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAkCA,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,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DxD"}
@@ -4,7 +4,8 @@ import { createInterface } from 'node:readline';
4
4
  import { spawn } from 'node:child_process';
5
5
  import { execSync } from 'node:child_process';
6
6
  import { detectFramework } from '../lib/detect.js';
7
- import { loadConfig } from '../lib/config.js';
7
+ import { loadConfig, deriveDomains } from '../lib/config.js';
8
+ import { apiRequest } from '../lib/api.js';
8
9
  import { error, info, isJsonMode } from '../lib/output.js';
9
10
  function slugify(name) {
10
11
  return name
@@ -48,168 +49,96 @@ export async function init(args) {
48
49
  }
49
50
  // Interactive mode
50
51
  if (!process.stdin.isTTY) {
51
- error('NOT_A_TTY', 'Stdin is not a TTY.', 'Use --site, --output, --build, --spa flags with --json for non-interactive mode.');
52
+ error('NOT_A_TTY', '対話モードを起動できません。', '非対話で使うときは --json --site=<名前> を指定してください。');
52
53
  process.exit(1);
53
54
  }
54
- // Check if 42ws.json already exists
55
- if (existsSync(configPath)) {
56
- const overwrite = await prompt('42ws.json already exists. Overwrite? [y/N]: ');
55
+ // 42ws.json が既にある場合だけ確認(それ以外は質問せず賢く既定で進める)
56
+ if (existsSync(configPath) && !args.yes) {
57
+ const overwrite = await prompt('42ws.json が既にあります。上書きしますか? [y/N]: ');
57
58
  if (overwrite.toLowerCase() !== 'y') {
58
- process.stderr.write('Cancelled.\n');
59
+ info('中止しました。');
59
60
  process.exit(0);
60
61
  }
61
62
  }
62
- // 1. Site name
63
- const defaultSite = slugify(basename(cwd));
64
- const siteAnswer = await prompt(`Site name [${defaultSite}]: `);
65
- const siteName = siteAnswer.length > 0 ? siteAnswer : defaultSite;
66
- // 2. Output directory
67
- const defaultOutput = detection.output ?? 'dist';
68
- const outputAnswer = await prompt(`Output directory [${defaultOutput}]: `);
69
- const outputDir = outputAnswer.length > 0 ? outputAnswer : defaultOutput;
70
- // 3. Build command
71
- const defaultBuild = detection.build ?? 'npm run build';
72
- const buildAnswer = await prompt(`Build command [${defaultBuild}] (empty for none): `);
73
- let buildCmd;
74
- if (buildAnswer === '') {
75
- // keep default
76
- buildCmd = defaultBuild;
77
- }
78
- else if (buildAnswer.toLowerCase() === 'none') {
79
- buildCmd = undefined;
80
- }
81
- else {
82
- buildCmd = buildAnswer;
83
- }
84
- // 4. SPA mode
85
- const defaultSpa = detection.spa ?? false;
86
- const spaPrompt = defaultSpa ? '[Y/n]' : '[y/N]';
87
- const spaAnswer = await prompt(`SPA mode? ${spaPrompt}: `);
88
- let spaMode;
89
- if (spaAnswer === '') {
90
- spaMode = defaultSpa;
91
- }
92
- else {
93
- spaMode = spaAnswer.toLowerCase() === 'y';
94
- }
95
- const config = {
96
- site: siteName,
97
- output: outputDir,
98
- };
99
- if (buildCmd)
100
- config.build = buildCmd;
101
- if (spaMode)
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' };
67
+ if (detection.build)
68
+ config.build = detection.build;
69
+ if (detection.spa)
102
70
  config.spa = true;
103
71
  writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', { encoding: 'utf-8' });
104
- process.stdout.write(`Created 42ws.json\n`);
105
- // 5. プロジェクトブリーフ (オプション、デフォルト N)
106
- // 「適当に作って」のような曖昧開始も普通のユースケースなので、必要な人だけ y を選ぶ前提。
107
- const briefCreated = await maybeRunBrief(cwd);
108
- // 6. AI agent 用ガイド (CLAUDE.md / AGENTS.md) を配置
109
- await setupAgentGuides(cwd, { hasBrief: briefCreated });
110
- // 7. AI agent (claude / codex) を起動
72
+ const { sitesHost } = deriveDomains(loadConfig().apiUrl);
73
+ info(`42ws.json を作成しました(サイト名: ${siteName} → https://${siteName}.${sitesHost})`);
74
+ // AI agent 用ガイド (CLAUDE.md / AGENTS.md) を配置 → 起動。ヒアリングや設計は起動後に AI が行う。
75
+ await setupAgentGuides(cwd);
111
76
  await launchAgent(cwd);
112
77
  }
113
- const BRIEF_FILE = 'BRIEF.md';
114
- const BRIEF_MARKER = 'プロジェクトブリーフ';
115
- async function maybeRunBrief(cwd) {
116
- const briefPath = join(cwd, BRIEF_FILE);
117
- if (existsSync(briefPath) && shouldSkipExisting(briefPath, BRIEF_MARKER)) {
118
- // 既にブリーフがあるなら再質問しない (AI が育てている前提)
119
- return true;
78
+ /**
79
+ * サイト名の空きを確認しながら確定する。
80
+ * - 既定(dir 名)が空いていればそのまま採用(質問しない)
81
+ * - 埋まっている/予約/不正なら理由を伝えて別名を入力してもらう(空きが見つかるまで)
82
+ * - 空き確認 API(公開・認証不要)に届かなければ、既定のまま進める(後続の create で再確認される)
83
+ */
84
+ async function resolveAvailableSite(defaultSite, fromFlag) {
85
+ const cfg = loadConfig();
86
+ const check = async (name) => {
87
+ try {
88
+ return await apiRequest(cfg, 'GET', `/v1/sites/${encodeURIComponent(name)}/availability`);
89
+ }
90
+ catch {
91
+ return null; // オフライン等は確認スキップ
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;
115
+ }
116
+ candidate = next.toLowerCase();
120
117
  }
121
- const ans = await prompt('AI にプロジェクトのヒアリングをさせますか? (BRIEF.md の空テンプレを置き、起動後に AI が対話で埋めます) [y/N]: ');
122
- if (ans.toLowerCase() !== 'y')
123
- return false;
124
- writeFileSync(briefPath, renderBriefTemplate());
125
- info(`${BRIEF_FILE} (空テンプレ) を作成しました。AI 起動後、対話で埋めてもらってください。`);
126
- return true;
127
118
  }
128
- function renderBriefTemplate() {
129
- return `# プロジェクトブリーフ
130
-
131
- このドキュメントは制作開始時のヒアリング結果と、制作中に決まったことを記録する場所です。
132
- **初回起動時、AI はユーザーに対話形式でヒアリングしてこのファイルを埋めてください**。
133
- 固定の順序ではなく、ユーザーの返答に応じて深掘り・追加質問・脱線からの拾い上げを自然に行ってください。
134
-
135
- ヒアリングの大原則:
136
- - ユーザーは Web 制作の専門家とは限らない。「コレクション」のような **管理画面側の用語** で聞かない。
137
- - ユーザーが言葉にするのは「やりたいこと」「見せたいもの」「運用イメージ」。
138
- そこから AI が **42ws の機能に翻訳して** 下の「AI による機能マッピング」欄に記録する。
139
- - 翻訳結果はユーザーに見せて方向性の確認だけ取れば OK (中身の説明はしない)。
140
-
141
- ---
142
-
143
- ## ユーザーが言ったこと (生の言葉のまま)
144
-
145
- ### サイトの用途・伝えたいこと
146
- (未記入)
147
-
148
- ### 想定する読み手
149
- (未記入)
150
-
151
- ### 雰囲気・好き / 嫌い
152
- (未記入。例: 「ミニマルが好き」「○○みたいなサイトが理想」)
153
-
154
- ### 参考素材・ブランド資産
155
- (未記入。URL、ロゴ、カラー、既存サイト、写真など)
156
-
157
- ### 運用イメージ
158
- (未記入。例: 「実績は時々追加したい」「お知らせは月1で出す」「問い合わせは欲しい」)
159
-
160
- ---
161
-
162
- ## AI による機能マッピング (ユーザーには見せず AI が判断)
163
-
164
- ユーザーの回答から 42ws の機能要否を AI が翻訳する。判定根拠も短く添える。
165
-
166
- - **問い合わせフォーム**: 未判定
167
- - 判定根拠:
168
- - **コレクション (繰り返しコンテンツ管理)**: 未判定
169
- - 候補となるコンテンツ (該当があれば): お知らせ / 実績 / ブログ / メンバー紹介 / 商品一覧 / イベント …
170
- - 判定根拠:
171
- - **その他特殊な要件**: 未判定
119
+ function buildAgentGuide() {
120
+ return `# 42ws Site Project
172
121
 
173
- ---
122
+ このプロジェクトは [42ws](https://42ws.com) で公開されます。
174
123
 
175
- ## 主要ページ構成 (確定したもの)
176
- (未記入。例: top / about / works / news / contact)
124
+ ## 起動したら最初に(ヒアリング)
177
125
 
178
- ---
126
+ いきなり作り始めない。まずユーザーに**雑談ベースで**確認する(管理画面用語=「コレクション」等は使わない):
179
127
 
180
- ## 更新ルール (AI 向け)
128
+ 1. **参考サイト・好きなデザインはあるか**(URL / 「○○みたいな感じ」)— 最重要。トーンの当たりが付く
129
+ 2. **原稿・素材はあるか**(文章、ロゴ、写真、既存サイト)— あればそれを使う、無ければ仮で起こして確認
130
+ 3. サイトの用途・伝えたいこと・想定読者・運用イメージ(更新するもの/問い合わせの要否)
181
131
 
182
- - ヒアリングは雑談ベースで OK。1 問ずつ機械的に聞かない。返答から次の質問を組み立てる
183
- - ユーザーが「適当に」「お任せで」と言ったら、AI が仮置きで埋めて「この方向で進めますか?」と確認する
184
- - 機能マッピングは AI の責任。ユーザーには結果だけ「こういう機能があるとできそうですが、いかがですか?」と方向確認
185
- - 制作中に決まったこと・変わったことは随時このファイルを更新 (大きな変更はユーザーに確認した上で書き換え)
186
- - このファイルが「制作の根拠」になる。コード生成時にここを参照して判断ブレを防ぐ
187
- `;
188
- }
189
- function buildAgentGuide(opts) {
190
- const briefSection = opts.hasBrief
191
- ? `## プロジェクト概要 (まず BRIEF.md を読む)
132
+ 聞いた内容と決めたことは \`design.md\` に記録する(判断のブレ止め)。「適当に」と言われたら仮置きで埋め、方向だけ確認する。
192
133
 
193
- このサイトの目的・対象ユーザー・トーン等は [BRIEF.md](./BRIEF.md) を根拠に進めてください。
134
+ ## 使える機能を先に確認
194
135
 
195
- **初回起動時、BRIEF.md が「(未記入)」のままならユーザーに対話形式でヒアリングして埋めてください**。
136
+ \`npx @42ws/cli@latest whoami --json\` で**ログイン状態と契約プランの機能**(hosting / contact=フォーム / collection / customDomains)を確認する。
137
+ **使えない機能は提案しない**(例: フォーム不可のプランなら問い合わせフォームを設計に入れない)。未ログインなら先にログインを促す。
196
138
 
197
- 重要な原則:
198
- - ユーザーは Web 制作の専門家とは限らない。「コレクション使いますか?」のような **管理画面側の用語** での聞き方は禁止 (コレクションは 42ws 管理画面の用語で、初見のユーザーには通じない)。
199
- - ユーザーは「やりたいこと」「見せたいもの」「運用イメージ」を言葉にする。
200
- そこから AI が 42ws の機能に **翻訳** して BRIEF.md の「AI による機能マッピング」欄に記録する。
201
- - 翻訳結果は方向性の確認だけ取る (中身の説明はしない。"こういう機能があるとできそうですが、いかがですか?")。
202
- - 雑談ベースで OK。1 問ずつ機械的に聞かない。返答から次の質問を組み立てる。
203
- - ユーザーが「適当に」「お任せで」と言ったら、AI が仮置きで埋めて方向性の確認だけ取る。
204
- - 制作中に要件が変わったら BRIEF.md の更新提案を出して、ユーザー確認の上で書き換える。
139
+ ## 制作前に必ず読む(オンライン・常に最新)
205
140
 
206
- `
207
- : '';
208
- return `# 42ws Site Project
209
-
210
- このプロジェクトは [42ws](https://42ws.com) で公開されます。
211
-
212
- ${briefSection}## 制作前に必ず読む(オンライン・常に最新)
141
+ ガイドは 42ws がオンラインで配信します。ローカルに古い規約を抱えないため、**作業前に毎回取得**してください:
213
142
 
214
143
  ガイドは 42ws がオンラインで配信します。ローカルに古い規約を抱えないため、**作業前に毎回取得**してください:
215
144
 
@@ -218,7 +147,7 @@ ${briefSection}## 制作前に必ず読む(オンライン・常に最新)
218
147
 
219
148
  ## 設計を起こす(design.md)
220
149
 
221
- ヒアリング(BRIEF.md)が埋まったら、**\`prompts get build\` の「7. 設計を先に起こす」の項目に沿って \`design.md\` を作成**し、ユーザーに方向確認を取ってから実装に入ってください(design.md の構造はオンライン規約が単一の真実。ローカルに雛形は置きません)。
150
+ 上のヒアリング内容をもとに、**\`prompts get build\` の「7. 設計を先に起こす」の項目に沿って \`design.md\` を作成**し、ユーザーに方向確認を取ってから実装に入ってください(design.md の構造はオンライン規約が単一の真実。ローカルに雛形は置きません)。
222
151
 
223
152
  ## 作る → プレビュー → 公開
224
153
 
@@ -247,10 +176,10 @@ function shouldSkipExisting(file, marker) {
247
176
  return false;
248
177
  }
249
178
  }
250
- async function setupAgentGuides(cwd, opts) {
179
+ async function setupAgentGuides(cwd) {
251
180
  // CLAUDE.md (Claude Code) と AGENTS.md (codex 等) を生成。
252
181
  // 既にあれば内容を確認、追記許可を取る。
253
- const guide = buildAgentGuide(opts);
182
+ const guide = buildAgentGuide();
254
183
  const marker = '42ws Site Project'; // ヘッダ重複検知用
255
184
  for (const fname of ['CLAUDE.md', 'AGENTS.md']) {
256
185
  const fpath = join(cwd, fname);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AASA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA6B5C"}
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAiBA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC5C"}
@@ -1,6 +1,6 @@
1
- import { loadConfig } from '../lib/config.js';
1
+ import { loadConfig, deriveDomains } from '../lib/config.js';
2
2
  import { apiRequest, ApiError } from '../lib/api.js';
3
- import { successMessage, error } from '../lib/output.js';
3
+ import { successMessage, error, isJsonMode } from '../lib/output.js';
4
4
  export async function whoami() {
5
5
  const config = loadConfig();
6
6
  if (!config.token) {
@@ -25,6 +25,17 @@ export async function whoami() {
25
25
  }
26
26
  process.exit(1);
27
27
  }
28
+ const { sitesHost } = deriveDomains(config.apiUrl);
29
+ if (isJsonMode()) {
30
+ successMessage(JSON.stringify({ ok: true, userId: me.userId, email: me.email, apiUrl: config.apiUrl, sitesHost, license: me.license ?? null }));
31
+ return;
32
+ }
28
33
  successMessage(me.email ?? me.userId);
34
+ successMessage(`接続先: ${config.apiUrl}(公開ドメイン *.${sitesHost})`);
35
+ const lic = me.license;
36
+ if (lic) {
37
+ const on = (b) => (b ? '✓' : '×');
38
+ successMessage(`プラン機能: ホスティング ${on(lic.hosting)} / フォーム ${on(lic.contact)} / コレクション ${on(lic.collection)} / 独自ドメイン ${on(lic.customDomains)}`);
39
+ }
29
40
  }
30
41
  //# sourceMappingURL=whoami.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzD,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CACH,eAAe,EACf,wBAAwB,EACxB,wDAAwD,CACzD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,EAAc,CAAC;IACnB,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,UAAU,CAAa,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzD,KAAK,CAAC,eAAe,EAAE,2BAA2B,EAAE,sCAAsC,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,eAAe,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAerE,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CACH,eAAe,EACf,wBAAwB,EACxB,wDAAwD,CACzD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,EAAc,CAAC;IACnB,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,UAAU,CAAa,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzD,KAAK,CAAC,eAAe,EAAE,2BAA2B,EAAE,sCAAsC,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,eAAe,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAChJ,OAAO;IACT,CAAC;IACD,cAAc,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,QAAQ,MAAM,CAAC,MAAM,aAAa,SAAS,GAAG,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;IACvB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,cAAc,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@42ws/cli",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "description": "Publish static sites in one command",
5
5
  "publishConfig": {
6
6
  "access": "public"