mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-13 21:33:32 +08:00
fix: sync opencode hook banner version
This commit is contained in:
@@ -456,7 +456,7 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
|
|||||||
const contextBlock = [
|
const contextBlock = [
|
||||||
"# ECC Context (preserve across compaction)",
|
"# ECC Context (preserve across compaction)",
|
||||||
"",
|
"",
|
||||||
"## Active Plugin: Everything Claude Code v1.8.0",
|
"## Active Plugin: Everything Claude Code v1.10.0",
|
||||||
"- Hooks: file.edited, tool.execute.before/after, session.created/idle/deleted, shell.env, compacting, permission.ask",
|
"- Hooks: file.edited, tool.execute.before/after, session.created/idle/deleted, shell.env, compacting, permission.ask",
|
||||||
"- Tools: run-tests, check-coverage, security-audit, format-code, lint-check, git-summary, changed-files",
|
"- Tools: run-tests, check-coverage, security-audit, format-code, lint-check, git-summary, changed-files",
|
||||||
"- Agents: 13 specialized (planner, architect, tdd-guide, code-reviewer, security-reviewer, build-error-resolver, e2e-runner, refactor-cleaner, doc-updater, go-reviewer, go-build-resolver, database-reviewer, python-reviewer)",
|
"- Agents: 13 specialized (planner, architect, tdd-guide, code-reviewer, security-reviewer, build-error-resolver, e2e-runner, refactor-cleaner, doc-updater, go-reviewer, go-build-resolver, database-reviewer, python-reviewer)",
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ CODEX_MARKETPLACE_JSON=".agents/plugins/marketplace.json"
|
|||||||
CODEX_PLUGIN_JSON=".codex-plugin/plugin.json"
|
CODEX_PLUGIN_JSON=".codex-plugin/plugin.json"
|
||||||
OPENCODE_PACKAGE_JSON=".opencode/package.json"
|
OPENCODE_PACKAGE_JSON=".opencode/package.json"
|
||||||
OPENCODE_PACKAGE_LOCK_JSON=".opencode/package-lock.json"
|
OPENCODE_PACKAGE_LOCK_JSON=".opencode/package-lock.json"
|
||||||
|
OPENCODE_ECC_HOOKS_PLUGIN=".opencode/plugins/ecc-hooks.ts"
|
||||||
README_FILE="README.md"
|
README_FILE="README.md"
|
||||||
ZH_CN_README_FILE="docs/zh-CN/README.md"
|
ZH_CN_README_FILE="docs/zh-CN/README.md"
|
||||||
SELECTIVE_INSTALL_ARCHITECTURE_DOC="docs/SELECTIVE-INSTALL-ARCHITECTURE.md"
|
SELECTIVE_INSTALL_ARCHITECTURE_DOC="docs/SELECTIVE-INSTALL-ARCHITECTURE.md"
|
||||||
@@ -55,7 +56,7 @@ if [[ -n "$(git status --porcelain --untracked-files=all)" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Verify versioned manifests exist
|
# Verify versioned manifests exist
|
||||||
for FILE in "$ROOT_PACKAGE_JSON" "$PACKAGE_LOCK_JSON" "$ROOT_AGENTS_MD" "$TR_AGENTS_MD" "$ZH_CN_AGENTS_MD" "$AGENT_YAML" "$VERSION_FILE" "$PLUGIN_JSON" "$MARKETPLACE_JSON" "$CODEX_MARKETPLACE_JSON" "$CODEX_PLUGIN_JSON" "$OPENCODE_PACKAGE_JSON" "$OPENCODE_PACKAGE_LOCK_JSON" "$README_FILE" "$ZH_CN_README_FILE" "$SELECTIVE_INSTALL_ARCHITECTURE_DOC"; do
|
for FILE in "$ROOT_PACKAGE_JSON" "$PACKAGE_LOCK_JSON" "$ROOT_AGENTS_MD" "$TR_AGENTS_MD" "$ZH_CN_AGENTS_MD" "$AGENT_YAML" "$VERSION_FILE" "$PLUGIN_JSON" "$MARKETPLACE_JSON" "$CODEX_MARKETPLACE_JSON" "$CODEX_PLUGIN_JSON" "$OPENCODE_PACKAGE_JSON" "$OPENCODE_PACKAGE_LOCK_JSON" "$OPENCODE_ECC_HOOKS_PLUGIN" "$README_FILE" "$ZH_CN_README_FILE" "$SELECTIVE_INSTALL_ARCHITECTURE_DOC"; do
|
||||||
if [[ ! -f "$FILE" ]]; then
|
if [[ ! -f "$FILE" ]]; then
|
||||||
echo "Error: $FILE not found"
|
echo "Error: $FILE not found"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -217,6 +218,24 @@ update_codex_marketplace_version() {
|
|||||||
' "$CODEX_MARKETPLACE_JSON" "$VERSION"
|
' "$CODEX_MARKETPLACE_JSON" "$VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_opencode_hook_banner_version() {
|
||||||
|
node -e '
|
||||||
|
const fs = require("fs");
|
||||||
|
const file = process.argv[1];
|
||||||
|
const version = process.argv[2];
|
||||||
|
const current = fs.readFileSync(file, "utf8");
|
||||||
|
const updated = current.replace(
|
||||||
|
/(## Active Plugin: Everything Claude Code v)[0-9]+\.[0-9]+\.[0-9]+/,
|
||||||
|
`$1${version}`
|
||||||
|
);
|
||||||
|
if (updated === current) {
|
||||||
|
console.error(`Error: could not update OpenCode hook banner version in ${file}`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
fs.writeFileSync(file, updated);
|
||||||
|
' "$OPENCODE_ECC_HOOKS_PLUGIN" "$VERSION"
|
||||||
|
}
|
||||||
|
|
||||||
# Update all shipped package/plugin manifests
|
# Update all shipped package/plugin manifests
|
||||||
update_version "$ROOT_PACKAGE_JSON" "s|\"version\": *\"[^\"]*\"|\"version\": \"$VERSION\"|"
|
update_version "$ROOT_PACKAGE_JSON" "s|\"version\": *\"[^\"]*\"|\"version\": \"$VERSION\"|"
|
||||||
update_package_lock_version "$PACKAGE_LOCK_JSON"
|
update_package_lock_version "$PACKAGE_LOCK_JSON"
|
||||||
@@ -231,6 +250,7 @@ update_codex_marketplace_version
|
|||||||
update_version "$CODEX_PLUGIN_JSON" "s|\"version\": *\"[^\"]*\"|\"version\": \"$VERSION\"|"
|
update_version "$CODEX_PLUGIN_JSON" "s|\"version\": *\"[^\"]*\"|\"version\": \"$VERSION\"|"
|
||||||
update_version "$OPENCODE_PACKAGE_JSON" "s|\"version\": *\"[^\"]*\"|\"version\": \"$VERSION\"|"
|
update_version "$OPENCODE_PACKAGE_JSON" "s|\"version\": *\"[^\"]*\"|\"version\": \"$VERSION\"|"
|
||||||
update_package_lock_version "$OPENCODE_PACKAGE_LOCK_JSON"
|
update_package_lock_version "$OPENCODE_PACKAGE_LOCK_JSON"
|
||||||
|
update_opencode_hook_banner_version
|
||||||
update_readme_version_row "$README_FILE" "Version" "Plugin" "Plugin" "Reference config"
|
update_readme_version_row "$README_FILE" "Version" "Plugin" "Plugin" "Reference config"
|
||||||
update_readme_version_row "$ZH_CN_README_FILE" "版本" "插件" "插件" "参考配置"
|
update_readme_version_row "$ZH_CN_README_FILE" "版本" "插件" "插件" "参考配置"
|
||||||
update_selective_install_repo_version "$SELECTIVE_INSTALL_ARCHITECTURE_DOC"
|
update_selective_install_repo_version "$SELECTIVE_INSTALL_ARCHITECTURE_DOC"
|
||||||
@@ -243,7 +263,7 @@ node tests/scripts/build-opencode.test.js
|
|||||||
node tests/plugin-manifest.test.js
|
node tests/plugin-manifest.test.js
|
||||||
|
|
||||||
# Stage, commit, tag, and push
|
# Stage, commit, tag, and push
|
||||||
git add "$ROOT_PACKAGE_JSON" "$PACKAGE_LOCK_JSON" "$ROOT_AGENTS_MD" "$TR_AGENTS_MD" "$ZH_CN_AGENTS_MD" "$AGENT_YAML" "$VERSION_FILE" "$PLUGIN_JSON" "$MARKETPLACE_JSON" "$CODEX_MARKETPLACE_JSON" "$CODEX_PLUGIN_JSON" "$OPENCODE_PACKAGE_JSON" "$OPENCODE_PACKAGE_LOCK_JSON" "$README_FILE" "$ZH_CN_README_FILE" "$SELECTIVE_INSTALL_ARCHITECTURE_DOC"
|
git add "$ROOT_PACKAGE_JSON" "$PACKAGE_LOCK_JSON" "$ROOT_AGENTS_MD" "$TR_AGENTS_MD" "$ZH_CN_AGENTS_MD" "$AGENT_YAML" "$VERSION_FILE" "$PLUGIN_JSON" "$MARKETPLACE_JSON" "$CODEX_MARKETPLACE_JSON" "$CODEX_PLUGIN_JSON" "$OPENCODE_PACKAGE_JSON" "$OPENCODE_PACKAGE_LOCK_JSON" "$OPENCODE_ECC_HOOKS_PLUGIN" "$README_FILE" "$ZH_CN_README_FILE" "$SELECTIVE_INSTALL_ARCHITECTURE_DOC"
|
||||||
git commit -m "chore: bump plugin version to $VERSION"
|
git commit -m "chore: bump plugin version to $VERSION"
|
||||||
git tag "v$VERSION"
|
git tag "v$VERSION"
|
||||||
git push origin main "v$VERSION"
|
git push origin main "v$VERSION"
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ const zhCnReadmePath = path.join(repoRoot, 'docs', 'zh-CN', 'README.md');
|
|||||||
const selectiveInstallArchitecturePath = path.join(repoRoot, 'docs', 'SELECTIVE-INSTALL-ARCHITECTURE.md');
|
const selectiveInstallArchitecturePath = path.join(repoRoot, 'docs', 'SELECTIVE-INSTALL-ARCHITECTURE.md');
|
||||||
const opencodePackageJsonPath = path.join(repoRoot, '.opencode', 'package.json');
|
const opencodePackageJsonPath = path.join(repoRoot, '.opencode', 'package.json');
|
||||||
const opencodePackageLockPath = path.join(repoRoot, '.opencode', 'package-lock.json');
|
const opencodePackageLockPath = path.join(repoRoot, '.opencode', 'package-lock.json');
|
||||||
|
const opencodeHooksPluginPath = path.join(repoRoot, '.opencode', 'plugins', 'ecc-hooks.ts');
|
||||||
|
|
||||||
let passed = 0;
|
let passed = 0;
|
||||||
let failed = 0;
|
let failed = 0;
|
||||||
@@ -134,6 +135,13 @@ test('docs/SELECTIVE-INSTALL-ARCHITECTURE.md repoVersion example matches package
|
|||||||
assert.strictEqual(match[1], expectedVersion);
|
assert.strictEqual(match[1], expectedVersion);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('.opencode/plugins/ecc-hooks.ts active plugin banner matches package.json', () => {
|
||||||
|
const source = fs.readFileSync(opencodeHooksPluginPath, 'utf8');
|
||||||
|
const match = source.match(/## Active Plugin: Everything Claude Code v([0-9]+\.[0-9]+\.[0-9]+)/);
|
||||||
|
assert.ok(match, 'Expected .opencode/plugins/ecc-hooks.ts to declare an active plugin banner');
|
||||||
|
assert.strictEqual(match[1], expectedVersion);
|
||||||
|
});
|
||||||
|
|
||||||
test('docs/pt-BR/README.md latest release heading matches package.json', () => {
|
test('docs/pt-BR/README.md latest release heading matches package.json', () => {
|
||||||
const source = fs.readFileSync(ptBrReadmePath, 'utf8');
|
const source = fs.readFileSync(ptBrReadmePath, 'utf8');
|
||||||
assert.ok(
|
assert.ok(
|
||||||
|
|||||||
Reference in New Issue
Block a user