@einja/dev-cli 0.1.12 → 0.1.14

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
@@ -92,6 +92,33 @@ npx @einja/dev-cli sync --only hooks
92
92
 
93
93
  詳細は [マーカー仕様書](docs/MARKER_SPECIFICATION.md) を参照してください。
94
94
 
95
+ **JSONマージ設定:**
96
+
97
+ `.einja-sync.json`に`jsonPaths`を設定することで、JSONファイルのマージ動作を制御できます:
98
+
99
+ ```json
100
+ {
101
+ "version": "1.0.0",
102
+ "lastSync": "2024-01-11T00:00:00Z",
103
+ "templateVersion": "1.0.0",
104
+ "files": {},
105
+ "jsonPaths": {
106
+ "managed": {
107
+ "package.json": ["scripts.dev", "scripts.build", "scripts.lint"]
108
+ },
109
+ "seed": {
110
+ "package.json": ["scripts.custom"]
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ - **managed パス**: 常にテンプレート値で上書き
117
+ - **seed パス**: ローカルに存在しない場合のみテンプレート値をコピー
118
+ - **その他**: ローカル優先(ユーザー追加分を保持)
119
+
120
+ **注意**: `jsonPaths`設定は`create-einja-app add`コマンドと共通です。
121
+
95
122
  ### `task:loop`
96
123
 
97
124
  GitHub Issueのタスクを自動実行します(Claude Code経由)。
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmDrD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuXrE"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmDrD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmdrE"}
@@ -10,6 +10,7 @@ import { createValidationErrorMessage, validateCategories, } from "../lib/sync/c
10
10
  import { ConflictReporter } from "../lib/sync/conflict-reporter.js";
11
11
  import { DiffEngine } from "../lib/sync/diff-engine.js";
12
12
  import { FileFilter } from "../lib/sync/file-filter.js";
13
+ import { JsonProcessor } from "../lib/sync/json-processor.js";
13
14
  import { MarkerProcessor } from "../lib/sync/marker-processor.js";
14
15
  import { MetadataManager } from "../lib/sync/metadata-manager.js";
15
16
  import { SeedSynchronizer } from "../lib/sync/seed-synchronizer.js";
@@ -85,6 +86,7 @@ export async function syncCommand(options) {
85
86
  const batchProcessor = new BatchProcessor(10); // バッチサイズ: 10ファイル
86
87
  const markerProcessor = new MarkerProcessor();
87
88
  const seedSynchronizer = new SeedSynchronizer();
89
+ const jsonProcessor = new JsonProcessor();
88
90
  // 3. メタデータ読み込み
89
91
  spinner.start("メタデータを読み込み中...");
90
92
  const metadata = await metadataManager.load();
@@ -145,19 +147,57 @@ export async function syncCommand(options) {
145
147
  // 既存ファイル:マージシミュレーション
146
148
  const projectPath = path.join(cwd, target.path);
147
149
  const localContent = await fs.readFile(projectPath, "utf-8");
148
- const fileMetadata = metadata.files[target.path];
149
- const baseContent = fileMetadata
150
- ? (await metadataManager.getBaseContent(target.templatePath)).content
151
- : "";
152
- const mergeResult = diffEngine.merge3Way(baseContent, localContent, templateContent);
153
- if (mergeResult.success) {
154
- dryRunStats.updated++;
155
- log(chalk.cyan(` 📝 更新: ${target.path}`), options);
150
+ // JSONファイルの場合はJsonProcessorを使用
151
+ if (target.path.endsWith(".json")) {
152
+ try {
153
+ const templateJson = JSON.parse(templateContent);
154
+ const localJson = JSON.parse(localContent);
155
+ // jsonPathsの取得(メタデータに存在しない場合はデフォルト値)
156
+ const jsonPaths = metadata.jsonPaths || {
157
+ managed: {},
158
+ seed: {},
159
+ };
160
+ // ファイル名のみを抽出(create-einja-appの登録形式に合わせる)
161
+ const fileName = target.path.split("/").pop() || target.path;
162
+ jsonProcessor.mergeJson(templateJson, localJson, jsonPaths, fileName);
163
+ // JSONマージは基本的に成功扱い
164
+ dryRunStats.updated++;
165
+ log(chalk.cyan(` 📝 更新: ${target.path}`), options);
166
+ }
167
+ catch (error) {
168
+ // JSONのパースエラーの場合は3方向マージにフォールバック
169
+ const fileMetadata = metadata.files[target.path];
170
+ const baseContent = fileMetadata
171
+ ? (await metadataManager.getBaseContent(target.templatePath)).content
172
+ : "";
173
+ const mergeResult = diffEngine.merge3Way(baseContent, localContent, templateContent);
174
+ if (mergeResult.success) {
175
+ dryRunStats.updated++;
176
+ log(chalk.cyan(` 📝 更新: ${target.path}`), options);
177
+ }
178
+ else {
179
+ dryRunStats.conflicts++;
180
+ dryRunConflicts.set(target.path, mergeResult.conflicts);
181
+ log(chalk.yellow(` ⚠️ コンフリクト: ${target.path}`), options);
182
+ }
183
+ }
156
184
  }
157
185
  else {
158
- dryRunStats.conflicts++;
159
- dryRunConflicts.set(target.path, mergeResult.conflicts);
160
- log(chalk.yellow(` ⚠️ コンフリクト: ${target.path}`), options);
186
+ // 非JSONファイルの場合
187
+ const fileMetadata = metadata.files[target.path];
188
+ const baseContent = fileMetadata
189
+ ? (await metadataManager.getBaseContent(target.templatePath)).content
190
+ : "";
191
+ const mergeResult = diffEngine.merge3Way(baseContent, localContent, templateContent);
192
+ if (mergeResult.success) {
193
+ dryRunStats.updated++;
194
+ log(chalk.cyan(` 📝 更新: ${target.path}`), options);
195
+ }
196
+ else {
197
+ dryRunStats.conflicts++;
198
+ dryRunConflicts.set(target.path, mergeResult.conflicts);
199
+ log(chalk.yellow(` ⚠️ コンフリクト: ${target.path}`), options);
200
+ }
161
201
  }
162
202
  }
163
203
  }
@@ -227,6 +267,46 @@ export async function syncCommand(options) {
227
267
  }
228
268
  // 既存ファイルの内容を読み込み
229
269
  const localContent = await fs.readFile(projectPath, "utf-8");
270
+ // JSONファイルの場合はJsonProcessorを使用
271
+ if (target.path.endsWith(".json")) {
272
+ try {
273
+ const templateJson = JSON.parse(templateContent);
274
+ const localJson = JSON.parse(localContent);
275
+ // jsonPathsの取得(メタデータに存在しない場合はデフォルト値)
276
+ const jsonPaths = metadata.jsonPaths || {
277
+ managed: {},
278
+ seed: {},
279
+ };
280
+ // ファイル名のみを抽出(create-einja-appの登録形式に合わせる)
281
+ const fileName = target.path.split("/").pop() || target.path;
282
+ const mergedJson = jsonProcessor.mergeJson(templateJson, localJson, jsonPaths, fileName);
283
+ const mergedContent = `${JSON.stringify(mergedJson, null, 2)}\n`;
284
+ return {
285
+ target,
286
+ templateContent,
287
+ mergeContent: mergedContent,
288
+ success: true,
289
+ conflicts: [],
290
+ action: "merged",
291
+ };
292
+ }
293
+ catch (error) {
294
+ // JSONのパースエラーの場合は3方向マージにフォールバック
295
+ const fileMetadata = metadata.files[target.path];
296
+ const baseContent = fileMetadata
297
+ ? (await metadataManager.getBaseContent(target.templatePath)).content
298
+ : "";
299
+ const mergeResult = diffEngine.merge3Way(baseContent, localContent, templateContent);
300
+ return {
301
+ target,
302
+ templateContent,
303
+ mergeContent: mergeResult.content,
304
+ success: mergeResult.success,
305
+ conflicts: mergeResult.conflicts,
306
+ action: "merged",
307
+ };
308
+ }
309
+ }
230
310
  // マーカーの有無をチェック(テンプレートまたはローカルにマーカーがある場合)
231
311
  const templateHasMarkers = hasMarkers(templateContent);
232
312
  const localHasMarkers = hasMarkers(localContent);
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE;;GAEG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAClF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,YAAoB,EACpB,eAAuB,EACvB,eAAgC,EAChC,gBAAkC;IAElC,oBAAoB;IACpB,MAAM,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAEjE,6BAA6B;IAC7B,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAEpF,qCAAqC;IACrC,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAE/E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,GAAG,CAAC,OAAe,EAAE,OAAoB;IAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,kCAAkC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,gCAAgC;IAChC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAElE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;IAElD,2BAA2B;IAC3B,IAAI,UAAU,GAAyB,SAAS,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC5B,mCAAmC;YACnC,gBAAgB;YAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,iBAAiB;IACjB,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;IAChE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAEhD,eAAe;IACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjC,mBAAmB;IACnB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACpF,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACxF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB;SACnC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,6BAA6B;IAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IAE9D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,OAAO,CAAC,KAAK,cAAc,CAAC,MAAM,WAAW,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,MAAM,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB;IAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC,CAAC;QAEvD,4BAA4B;QAC5B,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;SACb,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAC;QAEJ,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,SAAS;gBACT,WAAW,CAAC,GAAG,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,WAAW,GAAG,YAAY;oBAC9B,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO;oBACrE,CAAC,CAAC,EAAE,CAAC;gBAEP,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;gBAErF,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,WAAW,CAAC,OAAO,EAAE,CAAC;oBACtB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,SAAS,EAAE,CAAC;oBACxB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;oBACxD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW;QACX,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QACzC,GAAG,CAAC,eAAe,WAAW,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,GAAG,CAAC,eAAe,WAAW,CAAC,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,GAAG,CAAC,eAAe,WAAW,CAAC,SAAS,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,GAAG,CAAC,WAAW,cAAc,CAAC,MAAM,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpD,aAAa;QACb,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1E,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK;YAChC,CAAC,CAAC;gBACE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC;gBACjD,OAAO,EAAE,KAAK;aACf;YACH,CAAC,CAAC;gBACE,OAAO,EAAE,GAAG,cAAc,CAAC,MAAM,oBAAoB;gBACrD,OAAO,EAAE,IAAI;aACd,CAAC;QAEN,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;4BAEtC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,IACZ,YAAY;SAElB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,eAAe,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,kCAAkC;IAClC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;IACJ,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,aAAa;IACb,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACtF,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,iBAAiB;YACjB,OAAO;gBACL,MAAM;gBACN,eAAe;gBACf,YAAY,EAAE,eAAe;gBAC7B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAyB;aACvE,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7D,wCAAwC;QACxC,MAAM,kBAAkB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;YAC1C,cAAc;YACd,iBAAiB;YACjB,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEtE,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxD,iCAAiC;gBACjC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,WAAW,GAAG,YAAY;oBAC9B,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO;oBACrE,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;gBAErF,OAAO;oBACL,MAAM;oBACN,eAAe;oBACf,YAAY,EAAE,WAAW,CAAC,OAAO;oBACjC,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,MAAM,EAAE,QAAiB;iBAC1B,CAAC;YACJ,CAAC;YAED,oBAAoB;YACpB,MAAM,aAAa,GAAG,gBAAgB,CACpC,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,CACjB,CAAC;YAEF,OAAO;gBACL,MAAM;gBACN,eAAe;gBACf,YAAY,EAAE,aAAa;gBAC3B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,QAAiB;aAC1B,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,YAAY;YAC9B,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO;YACrE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAErF,OAAO;YACL,MAAM;YACN,eAAe;YACf,YAAY,EAAE,WAAW,CAAC,OAAO;YACjC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,MAAM,EAAE,QAAiB;SAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAE1C,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBACxB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACtD,GAAG,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,OAAO,CAAC,CAAC;YAEpD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBACxB,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,YAAY;oBACrB,QAAQ,EAAE,CAAC,CAAC,eAAe;iBAC5B,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAED,UAAU;QACV,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,cAAc,CAC1D,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAClB,MAAM,CAAC,eAAe,CACvB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IAEnD,2BAA2B;IAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7B,cAAc;IACd,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErC,iBAAiB;IACjB,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAElE,WAAW;IACX,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,qBAAqB;QACrB,MAAM,UAAU,GAAe;YAC7B,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YACnE,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,OAAO,EAAE,YAAY,CAAC,MAAM;gBAC5B,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,cAAc,CAAC,cAAc;gBACxC,OAAO,EAAE,SAAS;aACnB;YACD,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE;gBACR,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC;SACF,CAAC;QACF,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO;QACP,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QACvC,GAAG,CAAC,WAAW,YAAY,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,cAAc,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,eAAe,cAAc,CAAC,cAAc,MAAM,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,GAAG,CAAC,aAAa,SAAS,MAAM,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAChC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import type { JsonPathsConfig } from "../../types/sync.js";
2
+ /**
3
+ * JSONファイルのマージ処理を行うクラス
4
+ * marker-processor.tsのパターンに従い、パス指定によるマージを実装します。
5
+ */
6
+ export declare class JsonProcessor {
7
+ /**
8
+ * JSONをマージする
9
+ * - managed パス: テンプレート値で上書き
10
+ * - seed パス: ローカル優先(キーが存在しない場合のみコピー)
11
+ * - その他: ディープマージ(テンプレートの新規キーも追加)
12
+ *
13
+ * @param templateJson - テンプレート版のJSON
14
+ * @param localJson - ローカル版のJSON(nullの場合はテンプレート版をそのまま返す)
15
+ * @param jsonPaths - JSONパス設定
16
+ * @param filePath - 対象ファイルパス
17
+ * @returns マージ後のJSON
18
+ */
19
+ mergeJson(templateJson: Record<string, unknown>, localJson: Record<string, unknown> | null, jsonPaths: JsonPathsConfig, filePath: string): Record<string, unknown>;
20
+ /**
21
+ * 指定されたパスの値を取得
22
+ *
23
+ * @param obj - 対象オブジェクト
24
+ * @param path - ドット区切りのパス (例: "scripts.build")
25
+ * @returns パスに対応する値(存在しない場合はundefined)
26
+ */
27
+ private getValueAtPath;
28
+ /**
29
+ * 指定されたパスに値を設定
30
+ *
31
+ * @param obj - 対象オブジェクト
32
+ * @param path - ドット区切りのパス (例: "scripts.build")
33
+ * @param value - 設定する値
34
+ */
35
+ private setValueAtPath;
36
+ /**
37
+ * オブジェクトのディープクローンを作成
38
+ *
39
+ * @param obj - クローン対象のオブジェクト
40
+ * @returns クローンされたオブジェクト
41
+ */
42
+ private deepClone;
43
+ /**
44
+ * パス設定を考慮したディープマージ
45
+ *
46
+ * @param template - テンプレートオブジェクト
47
+ * @param existing - 既存オブジェクト
48
+ * @param jsonPaths - JSONパス設定
49
+ * @param filePath - ファイルパス
50
+ * @param currentPath - 現在のパス(再帰用)
51
+ * @returns マージ後のオブジェクト
52
+ */
53
+ private deepMergeWithPaths;
54
+ /**
55
+ * パスがmanagedかどうか判定
56
+ *
57
+ * @param filePath - ファイルパス
58
+ * @param keyPath - JSONパス
59
+ * @param jsonPaths - JSONパス設定
60
+ * @returns managedの場合true
61
+ */
62
+ private isPathManaged;
63
+ /**
64
+ * パスがseedかどうか判定
65
+ *
66
+ * @param filePath - ファイルパス
67
+ * @param keyPath - JSONパス
68
+ * @param jsonPaths - JSONパス設定
69
+ * @returns seedの場合true
70
+ */
71
+ private isPathSeed;
72
+ /**
73
+ * オブジェクトかどうか判定
74
+ *
75
+ * @param value - 判定対象
76
+ * @returns オブジェクトの場合true
77
+ */
78
+ private isObject;
79
+ }
80
+ //# sourceMappingURL=json-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-processor.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/json-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,aAAa;IACxB;;;;;;;;;;;OAWG;IACH,SAAS,CACP,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACzC,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAU1B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAiBtB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAkBjB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAkD1B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * JSONファイルのマージ処理を行うクラス
3
+ * marker-processor.tsのパターンに従い、パス指定によるマージを実装します。
4
+ */
5
+ export class JsonProcessor {
6
+ /**
7
+ * JSONをマージする
8
+ * - managed パス: テンプレート値で上書き
9
+ * - seed パス: ローカル優先(キーが存在しない場合のみコピー)
10
+ * - その他: ディープマージ(テンプレートの新規キーも追加)
11
+ *
12
+ * @param templateJson - テンプレート版のJSON
13
+ * @param localJson - ローカル版のJSON(nullの場合はテンプレート版をそのまま返す)
14
+ * @param jsonPaths - JSONパス設定
15
+ * @param filePath - 対象ファイルパス
16
+ * @returns マージ後のJSON
17
+ */
18
+ mergeJson(templateJson, localJson, jsonPaths, filePath) {
19
+ // ローカルファイルが存在しない場合はテンプレート版をそのまま返す
20
+ if (!localJson) {
21
+ return this.deepClone(templateJson);
22
+ }
23
+ // ディープマージ(パス設定を考慮)
24
+ return this.deepMergeWithPaths(templateJson, localJson, jsonPaths, filePath, "");
25
+ }
26
+ /**
27
+ * 指定されたパスの値を取得
28
+ *
29
+ * @param obj - 対象オブジェクト
30
+ * @param path - ドット区切りのパス (例: "scripts.build")
31
+ * @returns パスに対応する値(存在しない場合はundefined)
32
+ */
33
+ getValueAtPath(obj, path) {
34
+ const keys = path.split(".");
35
+ let current = obj;
36
+ for (const key of keys) {
37
+ if (current === null || current === undefined) {
38
+ return undefined;
39
+ }
40
+ if (typeof current !== "object") {
41
+ return undefined;
42
+ }
43
+ current = current[key];
44
+ }
45
+ return current;
46
+ }
47
+ /**
48
+ * 指定されたパスに値を設定
49
+ *
50
+ * @param obj - 対象オブジェクト
51
+ * @param path - ドット区切りのパス (例: "scripts.build")
52
+ * @param value - 設定する値
53
+ */
54
+ setValueAtPath(obj, path, value) {
55
+ const keys = path.split(".");
56
+ let current = obj;
57
+ for (let i = 0; i < keys.length - 1; i++) {
58
+ const key = keys[i];
59
+ if (!(key in current) || typeof current[key] !== "object" || current[key] === null) {
60
+ current[key] = {};
61
+ }
62
+ current = current[key];
63
+ }
64
+ const lastKey = keys[keys.length - 1];
65
+ current[lastKey] = value;
66
+ }
67
+ /**
68
+ * オブジェクトのディープクローンを作成
69
+ *
70
+ * @param obj - クローン対象のオブジェクト
71
+ * @returns クローンされたオブジェクト
72
+ */
73
+ deepClone(obj) {
74
+ if (obj === null || typeof obj !== "object") {
75
+ return obj;
76
+ }
77
+ if (Array.isArray(obj)) {
78
+ return obj.map((item) => this.deepClone(item));
79
+ }
80
+ const cloned = {};
81
+ for (const key in obj) {
82
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
83
+ cloned[key] = this.deepClone(obj[key]);
84
+ }
85
+ }
86
+ return cloned;
87
+ }
88
+ /**
89
+ * パス設定を考慮したディープマージ
90
+ *
91
+ * @param template - テンプレートオブジェクト
92
+ * @param existing - 既存オブジェクト
93
+ * @param jsonPaths - JSONパス設定
94
+ * @param filePath - ファイルパス
95
+ * @param currentPath - 現在のパス(再帰用)
96
+ * @returns マージ後のオブジェクト
97
+ */
98
+ deepMergeWithPaths(template, existing, jsonPaths, filePath, currentPath) {
99
+ const result = this.deepClone(existing);
100
+ for (const [key, templateValue] of Object.entries(template)) {
101
+ const keyPath = currentPath ? `${currentPath}.${key}` : key;
102
+ if (this.isPathManaged(filePath, keyPath, jsonPaths)) {
103
+ // managed: テンプレートで上書き
104
+ result[key] = this.deepClone(templateValue);
105
+ }
106
+ else if (this.isPathSeed(filePath, keyPath, jsonPaths)) {
107
+ // seed: オブジェクトの場合はディープマージ(既存にないキーのみ追加)
108
+ if (this.isObject(templateValue) && this.isObject(existing[key])) {
109
+ // seedパス内でもディープマージ(既存にないキーのみ追加)
110
+ result[key] = this.deepMergeWithPaths(templateValue, existing[key], jsonPaths, filePath, keyPath);
111
+ }
112
+ else if (!(key in existing)) {
113
+ // seedパスはローカル優先(キーが存在しない場合のみ追加)
114
+ result[key] = this.deepClone(templateValue);
115
+ }
116
+ // 既存値がある場合は何もしない(既存値を保持)
117
+ }
118
+ else if (this.isObject(templateValue) && this.isObject(existing[key])) {
119
+ // 両方オブジェクト: 再帰的にマージ
120
+ result[key] = this.deepMergeWithPaths(templateValue, existing[key], jsonPaths, filePath, keyPath);
121
+ }
122
+ else if (!(key in existing)) {
123
+ // 既存にないキー: 追加(これが重要!)
124
+ result[key] = this.deepClone(templateValue);
125
+ }
126
+ // 既存にあるキー: 保持(何もしない)
127
+ }
128
+ return result;
129
+ }
130
+ /**
131
+ * パスがmanagedかどうか判定
132
+ *
133
+ * @param filePath - ファイルパス
134
+ * @param keyPath - JSONパス
135
+ * @param jsonPaths - JSONパス設定
136
+ * @returns managedの場合true
137
+ */
138
+ isPathManaged(filePath, keyPath, jsonPaths) {
139
+ const managedPaths = jsonPaths.managed[filePath] || [];
140
+ // keyPath が managedPaths のいずれかで始まるかチェック
141
+ // 例: keyPath="scripts.dev" が managedPaths=["scripts"] にマッチ
142
+ return managedPaths.some((p) => keyPath === p || keyPath.startsWith(`${p}.`));
143
+ }
144
+ /**
145
+ * パスがseedかどうか判定
146
+ *
147
+ * @param filePath - ファイルパス
148
+ * @param keyPath - JSONパス
149
+ * @param jsonPaths - JSONパス設定
150
+ * @returns seedの場合true
151
+ */
152
+ isPathSeed(filePath, keyPath, jsonPaths) {
153
+ const seedPaths = jsonPaths.seed[filePath] || [];
154
+ // keyPath が seedPaths のいずれかで始まるかチェック
155
+ return seedPaths.some((p) => keyPath === p || keyPath.startsWith(`${p}.`));
156
+ }
157
+ /**
158
+ * オブジェクトかどうか判定
159
+ *
160
+ * @param value - 判定対象
161
+ * @returns オブジェクトの場合true
162
+ */
163
+ isObject(value) {
164
+ return value !== null && typeof value === "object" && !Array.isArray(value);
165
+ }
166
+ }
167
+ //# sourceMappingURL=json-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-processor.js","sourceRoot":"","sources":["../../../src/lib/sync/json-processor.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@ export declare const FileMetadataSchema: z.ZodObject<{
7
7
  syncedAt: z.ZodString;
8
8
  conflicts: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
9
  }, z.core.$strip>;
10
+ /**
11
+ * JSON パス設定の Zod スキーマ
12
+ * managed: テンプレート値で上書き
13
+ * seed: ローカル優先(キーが存在しない場合のみコピー)
14
+ */
15
+ export declare const JsonPathsConfigSchema: z.ZodObject<{
16
+ managed: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
17
+ seed: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
18
+ }, z.core.$strip>;
10
19
  /**
11
20
  * 同期メタデータのZodスキーマ
12
21
  */
@@ -19,11 +28,19 @@ export declare const SyncMetadataSchema: z.ZodObject<{
19
28
  syncedAt: z.ZodString;
20
29
  conflicts: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
30
  }, z.core.$strip>>;
31
+ jsonPaths: z.ZodOptional<z.ZodObject<{
32
+ managed: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
33
+ seed: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
34
+ }, z.core.$strip>>;
22
35
  }, z.core.$strip>;
23
36
  /**
24
37
  * ファイルメタデータの型定義
25
38
  */
26
39
  export type FileMetadata = z.infer<typeof FileMetadataSchema>;
40
+ /**
41
+ * JSON パス設定の型定義
42
+ */
43
+ export type JsonPathsConfig = z.infer<typeof JsonPathsConfigSchema>;
27
44
  /**
28
45
  * 同期メタデータの型定義
29
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/types/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/types/sync.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@ export const FileMetadataSchema = z.object({
7
7
  syncedAt: z.string(),
8
8
  conflicts: z.array(z.string()).optional(),
9
9
  });
10
+ /**
11
+ * JSON パス設定の Zod スキーマ
12
+ * managed: テンプレート値で上書き
13
+ * seed: ローカル優先(キーが存在しない場合のみコピー)
14
+ */
15
+ export const JsonPathsConfigSchema = z.object({
16
+ managed: z.record(z.string(), z.array(z.string())),
17
+ seed: z.record(z.string(), z.array(z.string())),
18
+ });
10
19
  /**
11
20
  * 同期メタデータのZodスキーマ
12
21
  */
@@ -15,5 +24,6 @@ export const SyncMetadataSchema = z.object({
15
24
  lastSync: z.string(),
16
25
  templateVersion: z.string(),
17
26
  files: z.record(z.string(), FileMetadataSchema),
27
+ jsonPaths: JsonPathsConfigSchema.optional(),
18
28
  });
19
29
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/types/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC;CAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/types/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC;IAC/C,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@einja/dev-cli",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "description": "Einja CLI - .claude設定とテンプレート同期をnpxでインストール",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",