-
Notifications
You must be signed in to change notification settings - Fork 0
Changes for v0.8.0 #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Let's ship some features after a long hiatus!
For a better development experience, of course.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This is a major version update (v0.8.0) that modernizes the runbook project by migrating from Node.js/npm to Bun, updating dependencies, and improving functionality. The PR includes bug fixes, feature additions, and significant architectural changes to support ESM and improved development workflows.
- Migration from Node.js/npm toolchain to Bun for faster execution and better TypeScript/ESM support
- Update of all dependencies to latest versions and removal of unused packages
- Enhanced CLI functionality with better error handling, exit code pass-through, and interactive features
Reviewed Changes
Copilot reviewed 32 out of 38 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ui/run.ts | Updated imports to use path aliases and chalk instead of colors, improved type safety |
| src/rules/unique-block-signatures.ts | Simplified function signature and updated imports |
| src/index.ts | Updated imports to use path aliases |
| src/index.test.ts | Migrated from Mocha/Chai to Bun test framework with new test cases |
| src/features/terminal.ts | Added support for FORCE_INTERACTIVE environment variable |
| src/features/markdown.ts | Updated remark imports for newer versions |
| src/features/log.ts | Enhanced logging with timestamps and util.inspect, simplified log file naming |
| src/features/id.ts | Replaced uuid dependency with native Node.js crypto |
| src/features/html.ts | Updated unified import for newer version |
| src/features/handlebars.ts | Fixed duplicate argument names bug using Set instead of Array |
| src/features/fonts.ts | Removed unused fonts utility module |
| src/features/files.ts | Updated globby import for newer version |
| src/features/errors.ts | Added exit code support to ApplicationError |
| src/features/directories.ts | Updated imports to use node: prefix |
| src/features/debug.ts | Updated environment variable access syntax |
| src/features/completions.ts | Updated imports to use path aliases |
| src/features/colors.ts | Removed unused colors utility module |
| src/commands/serve.ts | Updated imports and replaced colors with chalk |
| src/commands/run.ts | Major refactor with Bun support, improved error handling, and better suggestions |
| src/commands/ls.ts | Enhanced command listing with ANSI formatting and improved location tracking |
| src/commands/help.ts | Updated imports and help text formatting |
| src/cli.ts | Added better error handling and exit code propagation |
| package.json | Complete dependency overhaul, ESM support, and Bun configuration |
a92bba6 to
a62c9d5
Compare
As part of this move, knocking some stuff out, like: - Moving to ESM - Retiring the short `r` command (r is a special PowerShell alias) - Adding the short `rb` command - Adding file extensions to all local imports - Emitting TypeScript types - Dropping some dependencies - Upgrading all dependencies to latest - Better build step that tests node, os, and arch matrix - Adding a job to quickly test before running the bigger test matrix - Upgrading minimum supported node version - Running typescript, ts, esm, and es6 blocks with bun - Adding more tests - Running tests on both node and bun runtimes - Checking if CLI runs across node, tsx, bun, and native - Adding standardized output for file and command names - Pass-through exit code for a failed command - Fixing bug with repeated arg names - Adding support for passing the FORCE_INTERACTIVE env var - Using single log file with timestamps instead of timestamped file name - Using inspect instead of JSON stringify when logging - Logging trimmed command script content when running - Using minimist directly instead of yargs - Suggesting commands that have any word that matches user input - Allowing run logs to be silenced - Adding proper file extensions for all supported languages - Removing the need for chmod - Adding a custom-built inquirer plugin for searchable lists - Changes to log output, including suggestions
a62c9d5 to
9eef424
Compare
Note
Picking development of this repository back up! 🥳
Fixes
hbstemplate)Features
tsconfig.jsonfrombun initbun test{ "type": "module" }typescript,ts,esm, andes6blocks withbunFORCE_INTERACTIVEenv varutil.inspect()instead ofJSON.stringify()when logging (bunfails if circular references)minimistdirectly instead ofyargschmod