@einja/dev-cli 0.1.40 → 0.1.44
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/commands/task-loop/lib/github-client.test.js.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +2 -2
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.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/file-copier.js +3 -3
- package/dist/lib/preset-update/file-copier.js.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 +69 -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 +110 -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 +21 -1
- package/presets/default/.claude/agents/einja/codex-agent.md +5 -1
- package/presets/default/.claude/agents/einja/design-engineer.md +5 -1
- package/presets/default/.claude/agents/einja/docs/docs-updater.md +7 -93
- package/presets/default/.claude/agents/einja/frontend-architect.md +21 -1
- package/presets/default/.claude/agents/einja/frontend-coder.md +5 -1
- package/presets/default/.claude/agents/einja/{specs/spec-design-generator.md → issue-specs/design-generator.md} +16 -8
- package/presets/default/.claude/agents/einja/{specs/spec-qa-generator.md → issue-specs/qa-generator.md} +10 -4
- package/presets/default/.claude/agents/einja/{specs/spec-requirements-generator.md → issue-specs/requirements-generator.md} +9 -6
- package/presets/default/.claude/agents/einja/{specs/spec-tasks-generator.md → issue-specs/tasks-generator.md} +19 -16
- package/presets/default/.claude/agents/einja/{specs/spec-tasks-validator.md → issue-specs/tasks-validator.md} +13 -9
- package/presets/default/.claude/agents/einja/issue-specs/ui-design-generator.md +114 -0
- package/presets/default/.claude/agents/einja/task/task-executer.md +64 -116
- package/presets/default/.claude/agents/einja/task/task-modification-analyzer.md +6 -2
- package/presets/default/.claude/agents/einja/task/task-qa.md +7 -3
- package/presets/default/.claude/agents/einja/task/task-reviewer.md +17 -1
- package/presets/default/.claude/commands/einja/einja-sync.md +124 -45
- package/presets/default/.claude/commands/einja/frontend-implement.md +3 -1
- package/presets/default/.claude/commands/einja/issue-exec.md +413 -0
- package/presets/default/.claude/commands/einja/start-dev.md +4 -0
- package/presets/default/.claude/commands/einja/sync-cursor-commands.md +10 -6
- package/presets/default/.claude/commands/einja/{update-docs-by-task-specs.md → update-docs-by-issue-specs.md} +61 -57
- package/presets/default/.claude/hooks/einja/plan-mode-skill-loader.sh +27 -0
- package/presets/default/.claude/settings.json +29 -5
- package/presets/default/.claude/skills/{einja-general-context-loader → _einja-general-context-loader}/SKILL.md +6 -2
- package/presets/default/.claude/skills/{einja-output-format → _einja-output-format}/SKILL.md +5 -1
- package/presets/default/.claude/skills/_einja-project-overview/SKILL.md +29 -0
- package/presets/default/.claude/skills/{einja-spec-context-loader → _einja-spec-context-loader}/SKILL.md +9 -5
- package/presets/default/.claude/skills/einja-coding-standards/references/testing-strategy.md +899 -0
- package/presets/default/.claude/skills/einja-conflict-resolver/SKILL.md +5 -1
- package/presets/default/.claude/skills/einja-create-pr/SKILL.md +138 -0
- package/presets/default/.claude/skills/einja-infra-maintenance/SKILL.md +779 -0
- package/presets/default/.claude/{commands/einja/spec-create.md → skills/einja-issue-spec-create/SKILL.md} +60 -23
- package/presets/default/.claude/skills/einja-issue-spec-generator/SKILL.md +105 -0
- package/presets/default/.claude/skills/einja-issue-spec-generator/references/format-rules.md +35 -0
- package/presets/default/.claude/skills/einja-issue-spec-validator/SKILL.md +130 -0
- package/presets/default/.claude/skills/einja-issue-spec-validator/references/validation-rules.md +52 -0
- package/presets/default/.claude/skills/einja-npm-release/SKILL.md +242 -0
- package/presets/default/.claude/skills/einja-skill-creator/SKILL.md +311 -263
- 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 +401 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/compare_runs.py +154 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/generate_report.py +272 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/improve_description.py +247 -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 +375 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/utils.py +48 -0
- package/presets/default/.claude/skills/einja-skill-first/SKILL.md +265 -0
- package/presets/default/.claude/skills/einja-subagent-question-protocol/SKILL.md +98 -0
- package/presets/default/.claude/skills/einja-task-commit/SKILL.md +11 -7
- package/presets/default/.claude/{commands/einja/task-exec.md → skills/einja-task-exec/SKILL.md} +106 -89
- package/presets/default/.claude/skills/einja-task-qa/SKILL.md +8 -4
- package/presets/default/.claude/skills/einja-task-qa/references/troubleshooting.md +1 -1
- package/presets/default/.claude/skills/einja-task-qa/references/usage-patterns.md +2 -2
- package/presets/default/.claude/skills/einja-team-exec/SKILL.md +165 -0
- package/presets/default/.envrc +5 -0
- package/presets/default/.mcp.json +2 -12
- package/presets/default/CLAUDE.md.template +45 -8
- package/presets/default/docs/einja/example/specs/issues/issue999-example-task/tasks.md +1 -1
- package/presets/default/docs/einja/instructions/deployment-setup.md +4 -9
- 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 +71 -9
- package/presets/default/docs/einja/instructions/neon-cli-reference.md +3 -8
- package/presets/default/docs/einja/instructions/setup-flow.md +279 -0
- package/presets/default/docs/einja/instructions/task-execute.md +63 -68
- 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 +4 -9
- 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 +2 -2
- 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 +155 -140
- package/presets/default/docs/einja/steering/infrastructure/deployment.md +156 -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 +22 -110
- package/presets/default/scripts/ensure-serena.sh +75 -0
- package/presets/default/scripts/env-rotate-secrets.ts +396 -0
- package/presets/default/scripts/env-show.ts +130 -0
- package/presets/default/scripts/env.ts +479 -0
- package/presets/default/scripts/init-github.ts +363 -0
- package/presets/default/scripts/init.sh +98 -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 +655 -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/agents/einja/git/conflict-resolver.md +0 -148
- package/presets/default/.claude/hooks/einja/validate-git-commit.sh +0 -239
- 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/.claude/skills/einja-project-overview/SKILL.md +0 -35
- 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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"}
|