All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Two-layer template model: hosted root keeps
@open-templatesbranding; adopter files live undertemplates/with placeholders npm run initwizard (scripts/lib/template-init/) copies and personalizes files fromtemplates/to the repo root- Git-aware defaults from
git remote,git config, and GitHub CLI (gh) - Step 1: auto-detect Git owner for
package.jsonauthor (name, noreply email, GitHub login) with accept or manual entry - Step 2: repository owner, package name, and Dependabot bundler selector (npm, pnpm, yarn, bun, or none)
@open-templatesbranded terminal UI with colors and arrow-key menus- Post-init cleanup: removes init scaffolding from
scripts/while keepingrelease.jsandsetup.js --yes,--no-cleanup, and other CLI flags for non-interactive and debugging flowsdocs/INIT_TEMPLATE.mdandtemplates/ABOUT_TEMPLATES.md
setup.jsis now a dev checklist (no longer wraps init)- Adopter
templates/package.jsonincludes asetupscript; author placeholders are separate from repo owner - Root docs and community files simplified for hosted template presentation
- Corrected
.npmrcso scoped packages no longer route to the wrong registry during publish - Added explicit
publishConfig.registryfor npm publishing - Regenerated
package-lock.jsonto fixnpm cisync errors
- Replaced Rollup with tsup for faster ESM + CJS builds and declaration output
- Replaced Jest with Vitest for native ESM testing and V8 coverage
- Updated TypeScript target to ES2022 with strict modern compiler options
- Raised minimum Node.js version to 22 (Maintenance LTS; CI runs on Node 22)
- Migrated ESLint to unified typescript-eslint flat config
- Removed PowerShell-only scripts in favor of cross-platform npm scripts
- Modernized
package.jsonexports, addedsideEffects: false, and updated build artifacts - Fixed Dependabot configuration to allow patch/minor updates while ignoring major bumps
rollup.config.js,jest.config.json, and PowerShell dev/release scripts
- BREAKING: Migrated to hybrid authentication approach (Trusted Publishing with NPM_TOKEN fallback)
- Primary: npm Trusted Publishing (OIDC) - no tokens needed, more secure
- Fallback: NPM_TOKEN secret - automatic fallback if Trusted Publishing fails
- Updated publish workflow to try Trusted Publishing first, then fall back to NPM_TOKEN
- Updated
.npmrcto remove npm token reference (GitHub Packages token remains) - Updated all documentation to reflect hybrid authentication approach
- Updated all dependencies to latest versions
- BREAKING: Migrated ESLint configuration to flat config format (ESLint 9)
- Replaced
.eslintrc.jsonwitheslint.config.js - Added
@eslint/jsandglobalsas new dependencies - Updated ESLint configuration to use new flat config format
- Replaced
- Enhanced security by prioritizing Trusted Publishing (OIDC) over access tokens
- Eliminates need for long-lived tokens when Trusted Publishing is configured
- Maintains backward compatibility with NPM_TOKEN for flexibility
- Updated
docs/TEMPLATE_SETUP.mdwith Trusted Publishing setup instructions - Updated
README.mdto highlight Trusted Publishing feature - Updated
docs/WORKFLOWS.mdto explain Trusted Publishing in publish workflow - Updated release scripts to remove token references
- Deploy workflow for production environment with URL and README badge
- Updated some dependencies
- Templates folder with blank files to fill with your desired package information
- Minor fixes
- Minor fix (package version bump, merged dependabot dependencies bumps)
- TypeScript setup with strict configuration
- Rollup build system (ESM + CJS)
- Jest testing with coverage
- ESLint for code quality
- Automated CI/CD with GitHub Actions
- Dual registry publishing (NPM & GitHub Packages)
- Smart NPM publishing (scoped fallback)
- PowerShell and Node.js scripts for release/dev
- Security policy and CodeQL analysis
- Dependabot for dependency updates
- Comprehensive documentation and setup guide
- GitHub template support for easy customization
Getting Started:
- Use this template via GitHub or clone the repository
- Run
npm installandnpm run setup - Customize files and add your code to
src/ - Run
npm run devfor development - Create a GitHub release to publish
Notes:
- Update placeholders like
YOUR_USERNAMEandYOUR_PACKAGE_NAME - Customize README and package.json for your project
- Automated publishing supports both scoped and unscoped names