Commit Graph
11 Commits
Author SHA1 Message Date
Dragan Filipovic 9e4918b4e1 fix: add @semantic-release/github plugin to create GitHub Releases
The update-major-tag workflow triggers on `release: published`, but
semantic-release was only creating git tags (via @semantic-release/git)
without creating actual GitHub Release objects. This meant the workflow
never fired.
2026-04-02 23:40:00 +02:00
Dragan Filipovic c88faf5656 fix: upgrade devDependencies and migrate to eslint 10 flat config
- Upgrade eslint 8.31 → 10.1 with new flat config (eslint.config.js)
- Upgrade @vercel/ncc 0.36 → 0.38.4
- Replace eslint-config-airbnb-base + eslint-plugin-import with @eslint/js + @stylistic/eslint-plugin
- Remove stale overrides in package.json (word-wrap, semver)
- Remove obsolete eslint-disable comments from source files
- Add { cause } to rethrown error in rsyncCli.js
- Add .gitignore and CLAUDE.md
- Resolves all 3 npm audit vulnerabilities (flatted, minimatch, js-yaml)
2026-04-02 23:31:02 +02:00
Dragan Filipovic aea56817cd Merge remote-tracking branch 'origin/main' into refactor/remove-rsyncwrapper 2026-04-02 23:19:51 +02:00
Dragan Filipovic a4b077c853 chore: revert e2e-manual to use published action 2026-04-02 23:19:12 +02:00
Dragan Filipovic 33880d2926 test: use local action in e2e-manual for branch testing 2026-04-02 23:17:55 +02:00
Dragan Filipovic c81b43c5bf fix: add proc.on('error') handler to prevent hanging on spawn failure 2026-04-02 23:09:25 +02:00
Dragan FilipovicandClaude Opus 4.6 71b8eb300f feat!: replace rsyncwrapper with local rsync module
Add src/rsync.js as a drop-in replacement for rsyncwrapper, using
child_process.spawn directly. Only implements the options this project
uses. Single line change in rsyncCli.js to swap the import.

BREAKING CHANGE: rsyncwrapper dependency removed, rsync command is now
constructed and executed via a local module using child_process.spawn.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:03:21 +02:00
Dragan FilipovicandClaude Opus 4.6 76668b2cd6 chore: add workflow to auto-update major version tag on release
Adds update-major-tag.yml that triggers on any published release and
force-updates the major version tag (e.g., v6) to point to the latest
release (e.g., v6.0.1). Enables users to pin to @v6 instead of full
version numbers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:59:30 +02:00
Dragan FilipovicandClaude Opus 4.6 be39df3f93 chore: update GitHub Actions to latest major versions
- actions/checkout v4 → v6
- actions/setup-node v4 → v6
- cycjimmy/semantic-release-action v4 → v6 (pinned semantic_version: 24)
- github/codeql-action v3 → v4
- actions/stale v9 (already latest)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:56:10 +02:00
Dragan FilipovicandClaude Opus 4.6 b11fb7f911 feat!: replace rsyncwrapper with direct child_process.spawn
Remove the outdated rsyncwrapper dependency (unmaintained, uses
deprecated util._extend) and replace with a built-in buildRsyncCommand()
+ spawn implementation. Zero runtime dependencies.

BREAKING CHANGE: rsyncwrapper dependency removed, rsync command is now
constructed and executed directly via child_process.spawn.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:50:21 +02:00
Dragan FilipovicandClaude Opus 4.6 681efb59f1 fix: update Node.js runtime from 20 to 24
GitHub Actions is deprecating Node.js 20 runners starting June 2, 2026.
Update action runtime and CI workflows to Node.js 24.

Closes #207

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:40:21 +02:00