Skip to content

v0.4.0 - Full TypeScript migration, new features & modernization - #3

Merged
tiveor merged 2 commits into
masterfrom
release/0.4.0
Feb 11, 2026
Merged

v0.4.0 - Full TypeScript migration, new features & modernization#3
tiveor merged 2 commits into
masterfrom
release/0.4.0

Conversation

@tiveor

@tiveor tiveor commented Feb 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Phase 2 - Modernization: Full TypeScript migration with strict mode, dual ESM/CJS build (tsup), Vitest test runner, ESLint flat config, GitHub Actions CI (Node 18/20/22), command sanitization security
  • Phase 3 - New Features: Template engine plugin system (registerEngine), chainable Pipeline API, Scaffold engine with manifest-based generation, CLI (init, generate, render), file Watcher with auto-rebuild, async FileHelper operations
  • 65 tests passing covering all existing and new functionality

Changes

Category Details
New files 16 TypeScript sources, configs (tsconfig, tsup, vitest, eslint), CI workflow, CLI
Removed files 11 old JS sources, .travis.yml, index.js, test.js
Modified package.json (v0.4.0, ESM, dual exports), README.md (full rewrite), example/index.js
Lines +7,548 / -2,649

Test plan

  • npm run typecheck - TypeScript strict mode passes
  • npm run lint - ESLint passes
  • npm test - 65 tests pass (Vitest)
  • npm run build - Dual CJS/ESM build succeeds
  • Verify CI passes on GitHub Actions (Node 18, 20, 22)
  • Test CLI commands: npx @tiveor/scg init, generate, render

🤖 Generated with Claude Code

tiveor and others added 2 commits February 11, 2026 10:31
- Migrated to TypeScript + ESM (dual ESM/CJS, .d.ts generated)
- Switched to Vitest + tsup + ESLint flat config
- Added CI (Node 18/20/22), Node >=18 required
- Hardened CommandHelper with input sanitization + security tests
…I, watcher, async)

- Plugin system: registerEngine(), getEngine(), getRegisteredEngines() for custom template engines
- Pipeline: chainable API (fromString/fromFile/fromTemplate → transform → writeTo/execute)
- Scaffold engine: generate directory structures from manifests with dry-run support
- CLI: scg init, scg generate, scg render commands (registered as bin in package.json)
- File watcher: auto-rebuild templates on changes with start/stop/callbacks
- Async FileHelper: readFileAsync, writeFileAsync, readJsonFileAsync, existsAsync, etc.
- 65 tests (up from 40), all passing
- README.md fully updated with new API documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tiveor
tiveor merged commit 8379ca4 into master Feb 11, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant