@einja/dev-cli 0.1.39 → 0.1.41
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 +89 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +71 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +187 -13
- package/dist/commands/sync.js.map +1 -1
- package/dist/lib/dependency-checker.d.ts.map +1 -1
- package/dist/lib/merger.d.ts +12 -0
- package/dist/lib/merger.d.ts.map +1 -1
- package/dist/lib/merger.js +28 -0
- package/dist/lib/merger.js.map +1 -1
- package/dist/lib/preset-update/cli-repo-detector.d.ts.map +1 -1
- package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
- package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
- package/dist/lib/preset.d.ts.map +1 -1
- package/dist/lib/sync/category-validator.d.ts +1 -1
- package/dist/lib/sync/category-validator.d.ts.map +1 -1
- package/dist/lib/sync/category-validator.js +2 -1
- package/dist/lib/sync/category-validator.js.map +1 -1
- package/dist/lib/sync/category-validator.test.js +3 -1
- package/dist/lib/sync/category-validator.test.js.map +1 -1
- package/dist/lib/sync/conflict-reporter.d.ts.map +1 -1
- package/dist/lib/sync/diff-engine.d.ts.map +1 -1
- package/dist/lib/sync/file-filter.d.ts.map +1 -1
- package/dist/lib/sync/file-filter.js +1 -0
- package/dist/lib/sync/file-filter.js.map +1 -1
- package/dist/lib/sync/integration.test.js +255 -69
- package/dist/lib/sync/integration.test.js.map +1 -1
- package/dist/lib/sync/json-processor.d.ts +4 -4
- package/dist/lib/sync/json-processor.d.ts.map +1 -1
- package/dist/lib/sync/json-processor.js +11 -11
- package/dist/lib/sync/json-processor.js.map +1 -1
- package/dist/lib/sync/marker-processor.d.ts +60 -8
- package/dist/lib/sync/marker-processor.d.ts.map +1 -1
- package/dist/lib/sync/marker-processor.js +117 -26
- package/dist/lib/sync/marker-processor.js.map +1 -1
- package/dist/lib/sync/marker-processor.test.js +261 -40
- package/dist/lib/sync/marker-processor.test.js.map +1 -1
- package/dist/lib/sync/metadata-manager.d.ts +4 -0
- package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
- package/dist/lib/sync/metadata-manager.js +15 -0
- package/dist/lib/sync/metadata-manager.js.map +1 -1
- package/dist/lib/sync/metadata-manager.test.js +68 -0
- package/dist/lib/sync/metadata-manager.test.js.map +1 -1
- package/dist/lib/sync/orphan-cleaner.d.ts +29 -0
- package/dist/lib/sync/orphan-cleaner.d.ts.map +1 -0
- package/dist/lib/sync/orphan-cleaner.js +80 -0
- package/dist/lib/sync/orphan-cleaner.js.map +1 -0
- package/dist/lib/sync/orphan-cleaner.test.d.ts +2 -0
- package/dist/lib/sync/orphan-cleaner.test.d.ts.map +1 -0
- package/dist/lib/sync/orphan-cleaner.test.js +169 -0
- package/dist/lib/sync/orphan-cleaner.test.js.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.d.ts +52 -0
- package/dist/lib/sync/project-private-synchronizer.d.ts.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.js +106 -0
- package/dist/lib/sync/project-private-synchronizer.js.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.test.d.ts +2 -0
- package/dist/lib/sync/project-private-synchronizer.test.d.ts.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.test.js +348 -0
- package/dist/lib/sync/project-private-synchronizer.test.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/sync.d.ts +36 -6
- package/dist/types/sync.d.ts.map +1 -1
- package/dist/types/sync.js +2 -2
- package/dist/types/sync.js.map +1 -1
- package/package.json +5 -4
- package/presets/default/.claude/agents/einja/Explore.md +140 -0
- package/presets/default/.claude/agents/einja/backend-architect.md +4 -0
- package/presets/default/.claude/agents/einja/codex-agent.md +4 -0
- package/presets/default/.claude/agents/einja/design-engineer.md +4 -0
- package/presets/default/.claude/agents/einja/docs/docs-updater.md +4 -0
- package/presets/default/.claude/agents/einja/frontend-architect.md +4 -0
- package/presets/default/.claude/agents/einja/frontend-coder.md +4 -0
- package/presets/default/.claude/agents/einja/git/conflict-resolver.md +4 -0
- package/presets/default/.claude/agents/einja/specs/spec-design-generator.md +4 -1
- package/presets/default/.claude/agents/einja/specs/spec-qa-generator.md +4 -0
- package/presets/default/.claude/agents/einja/specs/spec-requirements-generator.md +4 -1
- package/presets/default/.claude/agents/einja/specs/spec-tasks-generator.md +6 -2
- package/presets/default/.claude/agents/einja/specs/spec-tasks-validator.md +4 -0
- package/presets/default/.claude/agents/einja/task/task-executer.md +57 -115
- package/presets/default/.claude/agents/einja/task/task-modification-analyzer.md +4 -0
- package/presets/default/.claude/agents/einja/task/task-qa.md +4 -0
- package/presets/default/.claude/agents/einja/task/task-reviewer.md +4 -0
- package/presets/default/.claude/commands/einja/einja-sync.md +5 -1
- package/presets/default/.claude/commands/einja/frontend-implement.md +3 -1
- package/presets/default/.claude/commands/einja/issue-exec.md +403 -0
- package/presets/default/.claude/commands/einja/spec-create.md +15 -1
- package/presets/default/.claude/commands/einja/start-dev.md +4 -0
- package/presets/default/.claude/commands/einja/sync-cursor-commands.md +4 -0
- package/presets/default/.claude/commands/einja/task-exec.md +106 -14
- package/presets/default/.claude/commands/einja/update-docs-by-task-specs.md +4 -0
- package/presets/default/.claude/hooks/einja/plan-mode-skill-loader.sh +23 -0
- package/presets/default/.claude/settings.json +15 -1
- package/presets/default/.claude/skills/einja-conflict-resolver/SKILL.md +4 -0
- package/presets/default/.claude/skills/einja-general-context-loader/SKILL.md +4 -0
- package/presets/default/.claude/skills/einja-output-format/SKILL.md +4 -0
- package/presets/default/.claude/skills/einja-project-overview/SKILL.md +7 -3
- package/presets/default/.claude/skills/einja-skill-creator/SKILL.md +266 -274
- package/presets/default/.claude/skills/einja-skill-creator/agents/analyzer.md +274 -0
- package/presets/default/.claude/skills/einja-skill-creator/agents/comparator.md +202 -0
- package/presets/default/.claude/skills/einja-skill-creator/agents/grader.md +195 -0
- package/presets/default/.claude/skills/einja-skill-creator/assets/eval_review.html +146 -0
- package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/generate_review.py +471 -0
- package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/viewer.html +1325 -0
- package/presets/default/.claude/skills/einja-skill-creator/references/schemas.md +430 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/aggregate_benchmark.py +154 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/generate_report.py +265 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/improve_description.py +252 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/init_skill.py +13 -19
- package/presets/default/.claude/skills/einja-skill-creator/scripts/package_skill.py +36 -7
- package/presets/default/.claude/skills/einja-skill-creator/scripts/run_eval.py +310 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/run_loop.py +295 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/utils.py +48 -0
- package/presets/default/.claude/skills/einja-spec-context-loader/SKILL.md +4 -0
- package/presets/default/.claude/skills/einja-task-commit/SKILL.md +4 -0
- package/presets/default/.claude/skills/einja-task-qa/SKILL.md +4 -0
- package/presets/default/.envrc +5 -0
- package/presets/default/.mcp.json +2 -12
- package/presets/default/CLAUDE.md.template +26 -4
- package/presets/default/docs/einja/example/specs/issues/issue999-example-task/tasks.md +1 -1
- package/presets/default/docs/einja/instructions/deployment-setup.md +3 -8
- package/presets/default/docs/einja/instructions/environment-setup.md +3 -8
- package/presets/default/docs/einja/instructions/issue-exec-workflow.md +276 -0
- package/presets/default/docs/einja/instructions/local-server-environment-and-worktree.md +70 -8
- package/presets/default/docs/einja/instructions/neon-cli-reference.md +3 -8
- package/presets/default/docs/einja/instructions/task-execute.md +23 -28
- package/presets/default/docs/einja/instructions/vercel-cli-reference.md +17 -10
- package/presets/default/docs/einja/steering/README.md +11 -11
- package/presets/default/docs/einja/steering/acceptance-criteria-and-qa-guide.md +3 -8
- package/presets/default/docs/einja/steering/architecture.md +3 -8
- package/presets/default/docs/einja/steering/branch-strategy.md +63 -70
- package/presets/default/docs/einja/steering/commit-rules.md +3 -8
- package/presets/default/docs/einja/steering/db-schema-design.md +3 -8
- package/presets/default/docs/einja/steering/development/api-development.md +3 -8
- package/presets/default/docs/einja/steering/development/backend-architecture.md +3 -8
- package/presets/default/docs/einja/steering/development/coding-standards.md +723 -0
- package/presets/default/docs/einja/steering/development/component-design.md +502 -0
- package/presets/default/docs/einja/steering/development/database-guidelines.md +54 -5
- package/presets/default/docs/einja/steering/development/frontend-development.md +3 -8
- package/presets/default/docs/einja/steering/development/playwright-guidelines.md +59 -0
- package/presets/default/docs/einja/steering/development/review-guidelines.md +3 -8
- package/presets/default/docs/einja/steering/development/testing-strategy.md +3 -8
- package/presets/default/docs/einja/steering/development-workflow.md +71 -124
- package/presets/default/docs/einja/steering/infrastructure/deployment.md +49 -55
- package/presets/default/docs/einja/steering/infrastructure/environment-variables.md +4 -8
- package/presets/default/docs/einja/steering/product.md +3 -8
- package/presets/default/docs/einja/steering/task-management.md +14 -98
- package/presets/default/scripts/ensure-serena.sh +75 -0
- package/presets/default/scripts/env-rotate-secrets.ts +336 -0
- package/presets/default/scripts/env-show.ts +130 -0
- package/presets/default/scripts/env.ts +479 -0
- package/presets/default/scripts/init.sh +92 -0
- package/presets/default/scripts/lib/env-common.ts +108 -0
- package/presets/default/scripts/lib/worktree-config.ts +64 -0
- package/presets/default/scripts/setup-dev.ts +640 -0
- package/presets/default/scripts/stop-serena.sh +25 -0
- package/presets/default/scripts/worktree/dev.ts +872 -0
- package/dist/lib/sync/seed-synchronizer.d.ts +0 -27
- package/dist/lib/sync/seed-synchronizer.d.ts.map +0 -1
- package/dist/lib/sync/seed-synchronizer.js +0 -72
- package/dist/lib/sync/seed-synchronizer.js.map +0 -1
- package/dist/lib/sync/seed-synchronizer.test.d.ts +0 -2
- package/dist/lib/sync/seed-synchronizer.test.d.ts.map +0 -1
- package/dist/lib/sync/seed-synchronizer.test.js +0 -147
- package/dist/lib/sync/seed-synchronizer.test.js.map +0 -1
- package/presets/default/.claude/skills/einja-api-development/SKILL.md +0 -14
- package/presets/default/.claude/skills/einja-backend-architecture/SKILL.md +0 -18
- package/presets/default/.claude/skills/einja-coding-standards/SKILL.md +0 -132
- package/presets/default/.claude/skills/einja-coding-standards/references/import-conventions.md +0 -69
- package/presets/default/.claude/skills/einja-coding-standards/references/naming-conventions.md +0 -107
- package/presets/default/.claude/skills/einja-coding-standards/references/prohibited-patterns.md +0 -169
- package/presets/default/.claude/skills/einja-coding-standards/references/typescript-rules.md +0 -247
- package/presets/default/.claude/skills/einja-component-design/SKILL.md +0 -109
- package/presets/default/.claude/skills/einja-component-design/references/directory-structure.md +0 -117
- package/presets/default/.claude/skills/einja-component-design/references/props-patterns.md +0 -159
- package/presets/default/.claude/skills/einja-component-design/references/styling-guide.md +0 -122
- package/presets/default/.claude/skills/einja-frontend-development/SKILL.md +0 -14
- package/presets/default/docs/einja/instructions/task-vibe-kanban-loop.md +0 -565
|
@@ -6,7 +6,7 @@ export class JsonProcessor {
|
|
|
6
6
|
/**
|
|
7
7
|
* JSONをマージする
|
|
8
8
|
* - managed パス: テンプレート値で上書き
|
|
9
|
-
* -
|
|
9
|
+
* - project-private パス: ローカル優先(キーが存在しない場合のみコピー)
|
|
10
10
|
* - その他: ディープマージ(テンプレートの新規キーも追加)
|
|
11
11
|
*
|
|
12
12
|
* @param templateJson - テンプレート版のJSON
|
|
@@ -103,14 +103,14 @@ export class JsonProcessor {
|
|
|
103
103
|
// managed: テンプレートで上書き
|
|
104
104
|
result[key] = this.deepClone(templateValue);
|
|
105
105
|
}
|
|
106
|
-
else if (this.
|
|
107
|
-
//
|
|
106
|
+
else if (this.isPathProjectPrivate(filePath, keyPath, jsonPaths)) {
|
|
107
|
+
// project-private: オブジェクトの場合はディープマージ(既存にないキーのみ追加)
|
|
108
108
|
if (this.isObject(templateValue) && this.isObject(existing[key])) {
|
|
109
|
-
//
|
|
109
|
+
// project-privateパス内でもディープマージ(既存にないキーのみ追加)
|
|
110
110
|
result[key] = this.deepMergeWithPaths(templateValue, existing[key], jsonPaths, filePath, keyPath);
|
|
111
111
|
}
|
|
112
112
|
else if (!(key in existing)) {
|
|
113
|
-
//
|
|
113
|
+
// project-privateパスはローカル優先(キーが存在しない場合のみ追加)
|
|
114
114
|
result[key] = this.deepClone(templateValue);
|
|
115
115
|
}
|
|
116
116
|
// 既存値がある場合は何もしない(既存値を保持)
|
|
@@ -142,17 +142,17 @@ export class JsonProcessor {
|
|
|
142
142
|
return managedPaths.some((p) => keyPath === p || keyPath.startsWith(`${p}.`));
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
|
-
* パスが
|
|
145
|
+
* パスがproject-privateかどうか判定
|
|
146
146
|
*
|
|
147
147
|
* @param filePath - ファイルパス
|
|
148
148
|
* @param keyPath - JSONパス
|
|
149
149
|
* @param jsonPaths - JSONパス設定
|
|
150
|
-
* @returns
|
|
150
|
+
* @returns project-privateの場合true
|
|
151
151
|
*/
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
// keyPath が
|
|
155
|
-
return
|
|
152
|
+
isPathProjectPrivate(filePath, keyPath, jsonPaths) {
|
|
153
|
+
const projectPrivatePaths = jsonPaths["project-private"][filePath] || [];
|
|
154
|
+
// keyPath が projectPrivatePaths のいずれかで始まるかチェック
|
|
155
|
+
return projectPrivatePaths.some((p) => keyPath === p || keyPath.startsWith(`${p}.`));
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
158
|
* オブジェクトかどうか判定
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-processor.js","sourceRoot":"","sources":["../../../src/lib/sync/json-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"json-processor.js","sourceRoot":"","sources":["../../../src/lib/sync/json-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MarkerSection, MarkerValidationResult } from "../../types/sync.js";
|
|
2
2
|
/**
|
|
3
|
-
* @einja:managedおよび@einja:
|
|
3
|
+
* @einja:managedおよび@einja:project-privateマーカーの処理を行うクラス
|
|
4
4
|
* マーカーをパースしてセクションを分離し、検証・置換処理を提供します。
|
|
5
5
|
*/
|
|
6
6
|
export declare class MarkerProcessor {
|
|
@@ -10,25 +10,35 @@ export declare class MarkerProcessor {
|
|
|
10
10
|
private static readonly MARKDOWN_MANAGED_START_PATTERN;
|
|
11
11
|
private static readonly MARKDOWN_MANAGED_END_PATTERN;
|
|
12
12
|
/**
|
|
13
|
-
* Markdownファイル用の
|
|
13
|
+
* Markdownファイル用のproject-privateマーカーパターン(ID属性はオプショナルだが、検証で必須チェック)
|
|
14
14
|
*/
|
|
15
|
-
private static readonly
|
|
16
|
-
private static readonly
|
|
15
|
+
private static readonly MARKDOWN_PROJECT_PRIVATE_START_PATTERN;
|
|
16
|
+
private static readonly MARKDOWN_PROJECT_PRIVATE_END_PATTERN;
|
|
17
17
|
/**
|
|
18
18
|
* YAML/JSONファイル用のmanagedマーカーパターン(ID属性オプショナル)
|
|
19
19
|
*/
|
|
20
20
|
private static readonly YAML_MANAGED_START_PATTERN;
|
|
21
21
|
private static readonly YAML_MANAGED_END_PATTERN;
|
|
22
22
|
/**
|
|
23
|
-
* YAML/JSONファイル用の
|
|
23
|
+
* YAML/JSONファイル用のproject-privateマーカーパターン(ID属性はオプショナルだが、検証で必須チェック)
|
|
24
24
|
*/
|
|
25
|
-
private static readonly
|
|
26
|
-
private static readonly
|
|
25
|
+
private static readonly YAML_PROJECT_PRIVATE_START_PATTERN;
|
|
26
|
+
private static readonly YAML_PROJECT_PRIVATE_END_PATTERN;
|
|
27
|
+
/**
|
|
28
|
+
* レガシーMarkdownファイル用のseedマーカーパターン(後方互換)
|
|
29
|
+
*/
|
|
30
|
+
private static readonly MARKDOWN_LEGACY_SEED_START_PATTERN;
|
|
31
|
+
private static readonly MARKDOWN_LEGACY_SEED_END_PATTERN;
|
|
32
|
+
/**
|
|
33
|
+
* レガシーYAML/JSONファイル用のseedマーカーパターン(後方互換)
|
|
34
|
+
*/
|
|
35
|
+
private static readonly YAML_LEGACY_SEED_START_PATTERN;
|
|
36
|
+
private static readonly YAML_LEGACY_SEED_END_PATTERN;
|
|
27
37
|
/**
|
|
28
38
|
* ファイル内容をパースしてマーカーセクションに分離する
|
|
29
39
|
*
|
|
30
40
|
* @param content - ファイル内容
|
|
31
|
-
* @returns セクション配列(managed/
|
|
41
|
+
* @returns セクション配列(managed/project-private/unmanagedが配置される)
|
|
32
42
|
*/
|
|
33
43
|
parseMarkers(content: string): MarkerSection[];
|
|
34
44
|
/**
|
|
@@ -74,5 +84,47 @@ export declare class MarkerProcessor {
|
|
|
74
84
|
* @returns マーカー終了の場合true
|
|
75
85
|
*/
|
|
76
86
|
private isEndMarker;
|
|
87
|
+
/**
|
|
88
|
+
* コンテンツからproject-privateセクションを抽出して返す
|
|
89
|
+
*
|
|
90
|
+
* @param content - ファイル内容
|
|
91
|
+
* @returns project-privateセクションの配列(id、content)
|
|
92
|
+
*/
|
|
93
|
+
extractProjectPrivateSections(content: string): Array<{
|
|
94
|
+
id: string;
|
|
95
|
+
content: string;
|
|
96
|
+
}>;
|
|
97
|
+
/**
|
|
98
|
+
* コンテンツからproject-privateセクションを除去した本文を返す
|
|
99
|
+
*
|
|
100
|
+
* @param content - ファイル内容
|
|
101
|
+
* @returns project-privateセクションを除去した本文
|
|
102
|
+
*/
|
|
103
|
+
stripProjectPrivateSections(content: string): string;
|
|
104
|
+
/**
|
|
105
|
+
* 本文の末尾にproject-privateセクションを再付加する
|
|
106
|
+
*
|
|
107
|
+
* @param content - 本文内容
|
|
108
|
+
* @param ppSections - project-privateセクションの配列
|
|
109
|
+
* @returns project-privateセクションを再付加した内容
|
|
110
|
+
*/
|
|
111
|
+
reattachProjectPrivateSections(content: string, ppSections: Array<{
|
|
112
|
+
id: string;
|
|
113
|
+
content: string;
|
|
114
|
+
}>): string;
|
|
115
|
+
/**
|
|
116
|
+
* ファイル内容にmanagedマーカーが含まれるかチェック
|
|
117
|
+
*
|
|
118
|
+
* @param content - ファイル内容
|
|
119
|
+
* @returns managedマーカーが存在する場合true
|
|
120
|
+
*/
|
|
121
|
+
hasManagedMarkers(content: string): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* 旧 @einja:seed マーカーを @einja:project-private に自動マイグレーション
|
|
124
|
+
*
|
|
125
|
+
* @param content - ファイル内容
|
|
126
|
+
* @returns マイグレーション後の内容
|
|
127
|
+
*/
|
|
128
|
+
migrateLegacySeedMarkers(content: string): string;
|
|
77
129
|
}
|
|
78
130
|
//# sourceMappingURL=marker-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker-processor.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/marker-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACb,sBAAsB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"marker-processor.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/marker-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACb,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CACM;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAuC;IAE3F;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sCAAsC,CACM;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oCAAoC,CAA+C;IAE3G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CACO;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAoC;IAEpF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CACO;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAA4C;IAEpG;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CACD;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAoC;IAE5F;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CACA;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAiC;IAErF;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;IAmF9C;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;IA0FxD;;;;;;OAMG;IACH,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAqC/E;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAwCxB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAkCtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;IACH,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAOtF;;;;;OAKG;IACH,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAMpD;;;;;;OAMG;IACH,8BAA8B,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GACjD,MAAM;IAaT;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAKlD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @einja:managedおよび@einja:
|
|
2
|
+
* @einja:managedおよび@einja:project-privateマーカーの処理を行うクラス
|
|
3
3
|
* マーカーをパースしてセクションを分離し、検証・置換処理を提供します。
|
|
4
4
|
*/
|
|
5
5
|
export class MarkerProcessor {
|
|
@@ -7,7 +7,7 @@ export class MarkerProcessor {
|
|
|
7
7
|
* ファイル内容をパースしてマーカーセクションに分離する
|
|
8
8
|
*
|
|
9
9
|
* @param content - ファイル内容
|
|
10
|
-
* @returns セクション配列(managed/
|
|
10
|
+
* @returns セクション配列(managed/project-private/unmanagedが配置される)
|
|
11
11
|
*/
|
|
12
12
|
parseMarkers(content) {
|
|
13
13
|
const lines = content.split("\n");
|
|
@@ -36,7 +36,7 @@ export class MarkerProcessor {
|
|
|
36
36
|
content: currentContent.join("\n"),
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
// managed/
|
|
39
|
+
// managed/project-privateセクション開始
|
|
40
40
|
currentType = startMarker.type;
|
|
41
41
|
currentId = startMarker.id;
|
|
42
42
|
currentStartLine = lineNumber;
|
|
@@ -51,7 +51,7 @@ export class MarkerProcessor {
|
|
|
51
51
|
}
|
|
52
52
|
// マーカー終了行を追加
|
|
53
53
|
currentContent.push(line);
|
|
54
|
-
// managed/
|
|
54
|
+
// managed/project-privateセクションを保存
|
|
55
55
|
sections.push({
|
|
56
56
|
type: currentType,
|
|
57
57
|
startLine: currentStartLine,
|
|
@@ -109,12 +109,12 @@ export class MarkerProcessor {
|
|
|
109
109
|
// ネストマーカーを無視して処理を続行
|
|
110
110
|
continue;
|
|
111
111
|
}
|
|
112
|
-
//
|
|
113
|
-
if (startMarker.type === "
|
|
112
|
+
// project-privateマーカーにID必須チェック
|
|
113
|
+
if (startMarker.type === "project-private" && !startMarker.id) {
|
|
114
114
|
errors.push({
|
|
115
115
|
line: lineNumber,
|
|
116
|
-
message: "@einja:
|
|
117
|
-
type: "
|
|
116
|
+
message: "@einja:project-privateマーカーにはid属性が必須です",
|
|
117
|
+
type: "project_private_without_id",
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
// ID重複チェック
|
|
@@ -225,20 +225,30 @@ export class MarkerProcessor {
|
|
|
225
225
|
if (match) {
|
|
226
226
|
return { type: "managed", id: match[1] };
|
|
227
227
|
}
|
|
228
|
-
// Markdown
|
|
229
|
-
match = line.match(MarkerProcessor.
|
|
228
|
+
// Markdown project-private
|
|
229
|
+
match = line.match(MarkerProcessor.MARKDOWN_PROJECT_PRIVATE_START_PATTERN);
|
|
230
230
|
if (match) {
|
|
231
|
-
return { type: "
|
|
231
|
+
return { type: "project-private", id: match[1] };
|
|
232
|
+
}
|
|
233
|
+
// Markdown legacy seed(後方互換)
|
|
234
|
+
match = line.match(MarkerProcessor.MARKDOWN_LEGACY_SEED_START_PATTERN);
|
|
235
|
+
if (match) {
|
|
236
|
+
return { type: "project-private", id: match[1] };
|
|
232
237
|
}
|
|
233
238
|
// YAML managed
|
|
234
239
|
match = line.match(MarkerProcessor.YAML_MANAGED_START_PATTERN);
|
|
235
240
|
if (match) {
|
|
236
241
|
return { type: "managed", id: match[1] };
|
|
237
242
|
}
|
|
238
|
-
// YAML
|
|
239
|
-
match = line.match(MarkerProcessor.
|
|
243
|
+
// YAML project-private
|
|
244
|
+
match = line.match(MarkerProcessor.YAML_PROJECT_PRIVATE_START_PATTERN);
|
|
240
245
|
if (match) {
|
|
241
|
-
return { type: "
|
|
246
|
+
return { type: "project-private", id: match[1] };
|
|
247
|
+
}
|
|
248
|
+
// YAML legacy seed(後方互換)
|
|
249
|
+
match = line.match(MarkerProcessor.YAML_LEGACY_SEED_START_PATTERN);
|
|
250
|
+
if (match) {
|
|
251
|
+
return { type: "project-private", id: match[1] };
|
|
242
252
|
}
|
|
243
253
|
return null;
|
|
244
254
|
}
|
|
@@ -253,17 +263,25 @@ export class MarkerProcessor {
|
|
|
253
263
|
if (MarkerProcessor.MARKDOWN_MANAGED_END_PATTERN.test(line)) {
|
|
254
264
|
return "managed";
|
|
255
265
|
}
|
|
256
|
-
// Markdown
|
|
257
|
-
if (MarkerProcessor.
|
|
258
|
-
return "
|
|
266
|
+
// Markdown project-private
|
|
267
|
+
if (MarkerProcessor.MARKDOWN_PROJECT_PRIVATE_END_PATTERN.test(line)) {
|
|
268
|
+
return "project-private";
|
|
269
|
+
}
|
|
270
|
+
// Markdown legacy seed(後方互換)
|
|
271
|
+
if (MarkerProcessor.MARKDOWN_LEGACY_SEED_END_PATTERN.test(line)) {
|
|
272
|
+
return "project-private";
|
|
259
273
|
}
|
|
260
274
|
// YAML managed
|
|
261
275
|
if (MarkerProcessor.YAML_MANAGED_END_PATTERN.test(line)) {
|
|
262
276
|
return "managed";
|
|
263
277
|
}
|
|
264
|
-
// YAML
|
|
265
|
-
if (MarkerProcessor.
|
|
266
|
-
return "
|
|
278
|
+
// YAML project-private
|
|
279
|
+
if (MarkerProcessor.YAML_PROJECT_PRIVATE_END_PATTERN.test(line)) {
|
|
280
|
+
return "project-private";
|
|
281
|
+
}
|
|
282
|
+
// YAML legacy seed(後方互換)
|
|
283
|
+
if (MarkerProcessor.YAML_LEGACY_SEED_END_PATTERN.test(line)) {
|
|
284
|
+
return "project-private";
|
|
267
285
|
}
|
|
268
286
|
return null;
|
|
269
287
|
}
|
|
@@ -285,6 +303,69 @@ export class MarkerProcessor {
|
|
|
285
303
|
isEndMarker(line) {
|
|
286
304
|
return this.parseEndMarker(line) !== null;
|
|
287
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* コンテンツからproject-privateセクションを抽出して返す
|
|
308
|
+
*
|
|
309
|
+
* @param content - ファイル内容
|
|
310
|
+
* @returns project-privateセクションの配列(id、content)
|
|
311
|
+
*/
|
|
312
|
+
extractProjectPrivateSections(content) {
|
|
313
|
+
const sections = this.parseMarkers(content);
|
|
314
|
+
return sections
|
|
315
|
+
.filter((s) => s.type === "project-private" && s.id)
|
|
316
|
+
.map((s) => ({ id: s.id, content: s.content }));
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* コンテンツからproject-privateセクションを除去した本文を返す
|
|
320
|
+
*
|
|
321
|
+
* @param content - ファイル内容
|
|
322
|
+
* @returns project-privateセクションを除去した本文
|
|
323
|
+
*/
|
|
324
|
+
stripProjectPrivateSections(content) {
|
|
325
|
+
const sections = this.parseMarkers(content);
|
|
326
|
+
const nonPpSections = sections.filter((s) => s.type !== "project-private");
|
|
327
|
+
return nonPpSections.map((s) => s.content).join("\n");
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* 本文の末尾にproject-privateセクションを再付加する
|
|
331
|
+
*
|
|
332
|
+
* @param content - 本文内容
|
|
333
|
+
* @param ppSections - project-privateセクションの配列
|
|
334
|
+
* @returns project-privateセクションを再付加した内容
|
|
335
|
+
*/
|
|
336
|
+
reattachProjectPrivateSections(content, ppSections) {
|
|
337
|
+
if (ppSections.length === 0)
|
|
338
|
+
return content;
|
|
339
|
+
const lines = [content];
|
|
340
|
+
// 末尾が空行でなければ追加
|
|
341
|
+
if (!content.endsWith("\n\n")) {
|
|
342
|
+
lines.push("");
|
|
343
|
+
}
|
|
344
|
+
for (const pp of ppSections) {
|
|
345
|
+
lines.push(pp.content);
|
|
346
|
+
}
|
|
347
|
+
return lines.join("\n");
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* ファイル内容にmanagedマーカーが含まれるかチェック
|
|
351
|
+
*
|
|
352
|
+
* @param content - ファイル内容
|
|
353
|
+
* @returns managedマーカーが存在する場合true
|
|
354
|
+
*/
|
|
355
|
+
hasManagedMarkers(content) {
|
|
356
|
+
return content.includes("@einja:managed:start");
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* 旧 @einja:seed マーカーを @einja:project-private に自動マイグレーション
|
|
360
|
+
*
|
|
361
|
+
* @param content - ファイル内容
|
|
362
|
+
* @returns マイグレーション後の内容
|
|
363
|
+
*/
|
|
364
|
+
migrateLegacySeedMarkers(content) {
|
|
365
|
+
return content
|
|
366
|
+
.replace(/@einja:seed:start/g, "@einja:project-private:start")
|
|
367
|
+
.replace(/@einja:seed:end/g, "@einja:project-private:end");
|
|
368
|
+
}
|
|
288
369
|
}
|
|
289
370
|
/**
|
|
290
371
|
* Markdownファイル用のmanagedマーカーパターン(ID属性オプショナル)
|
|
@@ -292,18 +373,28 @@ export class MarkerProcessor {
|
|
|
292
373
|
MarkerProcessor.MARKDOWN_MANAGED_START_PATTERN = /^<!--\s*@einja:managed:start(?:\s+id="([^"]+)")?\s*-->$/;
|
|
293
374
|
MarkerProcessor.MARKDOWN_MANAGED_END_PATTERN = /^<!--\s*@einja:managed:end\s*-->$/;
|
|
294
375
|
/**
|
|
295
|
-
* Markdownファイル用の
|
|
376
|
+
* Markdownファイル用のproject-privateマーカーパターン(ID属性はオプショナルだが、検証で必須チェック)
|
|
296
377
|
*/
|
|
297
|
-
MarkerProcessor.
|
|
298
|
-
MarkerProcessor.
|
|
378
|
+
MarkerProcessor.MARKDOWN_PROJECT_PRIVATE_START_PATTERN = /^<!--\s*@einja:project-private:start(?:\s+id="([^"]+)")?\s*-->$/;
|
|
379
|
+
MarkerProcessor.MARKDOWN_PROJECT_PRIVATE_END_PATTERN = /^<!--\s*@einja:project-private:end\s*-->$/;
|
|
299
380
|
/**
|
|
300
381
|
* YAML/JSONファイル用のmanagedマーカーパターン(ID属性オプショナル)
|
|
301
382
|
*/
|
|
302
383
|
MarkerProcessor.YAML_MANAGED_START_PATTERN = /^\s*#\s*@einja:managed:start(?:\s+id="([^"]+)")?\s*$/;
|
|
303
384
|
MarkerProcessor.YAML_MANAGED_END_PATTERN = /^\s*#\s*@einja:managed:end\s*$/;
|
|
304
385
|
/**
|
|
305
|
-
* YAML/JSONファイル用の
|
|
386
|
+
* YAML/JSONファイル用のproject-privateマーカーパターン(ID属性はオプショナルだが、検証で必須チェック)
|
|
387
|
+
*/
|
|
388
|
+
MarkerProcessor.YAML_PROJECT_PRIVATE_START_PATTERN = /^\s*#\s*@einja:project-private:start(?:\s+id="([^"]+)")?\s*$/;
|
|
389
|
+
MarkerProcessor.YAML_PROJECT_PRIVATE_END_PATTERN = /^\s*#\s*@einja:project-private:end\s*$/;
|
|
390
|
+
/**
|
|
391
|
+
* レガシーMarkdownファイル用のseedマーカーパターン(後方互換)
|
|
392
|
+
*/
|
|
393
|
+
MarkerProcessor.MARKDOWN_LEGACY_SEED_START_PATTERN = /^<!--\s*@einja:seed:start(?:\s+id="([^"]+)")?\s*-->$/;
|
|
394
|
+
MarkerProcessor.MARKDOWN_LEGACY_SEED_END_PATTERN = /^<!--\s*@einja:seed:end\s*-->$/;
|
|
395
|
+
/**
|
|
396
|
+
* レガシーYAML/JSONファイル用のseedマーカーパターン(後方互換)
|
|
306
397
|
*/
|
|
307
|
-
MarkerProcessor.
|
|
308
|
-
MarkerProcessor.
|
|
398
|
+
MarkerProcessor.YAML_LEGACY_SEED_START_PATTERN = /^\s*#\s*@einja:seed:start(?:\s+id="([^"]+)")?\s*$/;
|
|
399
|
+
MarkerProcessor.YAML_LEGACY_SEED_END_PATTERN = /^\s*#\s*@einja:seed:end\s*$/;
|
|
309
400
|
//# sourceMappingURL=marker-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker-processor.js","sourceRoot":"","sources":["../../../src/lib/sync/marker-processor.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"marker-processor.js","sourceRoot":"","sources":["../../../src/lib/sync/marker-processor.ts"],"names":[],"mappings":"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"}
|