Skip to content

Conversation

@khalidx
Copy link
Owner

@khalidx khalidx commented Jul 22, 2025

Note

Picking development of this repository back up! 🥳

Fixes

  • Fixing minor TypeScript errors
  • Fixing bug with repeated arg names (when using the same name multiple times in a hbs template)
  • Failed commands now pass-through their exit code
  • Adding proper file extensions for all supported languages

Features

  • Updating license years
  • Adding some sensible VSCode settings
  • Adding a Dev Container configuration file
  • Adding link and instructions for GitHub Codespaces
  • Updating node versions array and adding engines
  • Moving to Bun, the fast JS all-in-one toolkit
  • Using tsconfig.json from bun init
  • Using bun test
  • Getting ESM support with { "type": "module" }
  • Dropping some dependencies, and upgrading all dependencies to latest
  • Better build step that tests node, os, and arch matrix
  • Running typescript, ts, esm, and es6 blocks with bun
  • Adding more tests
  • Adding standardized output for file and command names
  • Adding support for passing the FORCE_INTERACTIVE env var
  • Using a single log file with timestamps instead of a timestamped file name
  • Using util.inspect() instead of JSON.stringify() when logging (bun fails if circular references)
  • Logging trimmed command script content when running (to show command content preview)
  • Using minimist directly instead of yargs
  • Suggesting commands that have any word that matches user input
  • Allowing run logs to be silenced (useful for clean test output)
  • Removing the need for chmod
  • Changes to log output, including suggestions
  • Adding sourcemap support

@khalidx khalidx requested a review from Copilot July 22, 2025 20:19
Copy link

Copilot AI left a 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

@khalidx khalidx force-pushed the feature/next-release branch 18 times, most recently from a92bba6 to a62c9d5 Compare July 24, 2025 04:02
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
@khalidx khalidx force-pushed the feature/next-release branch from a62c9d5 to 9eef424 Compare July 24, 2025 04:12
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.

2 participants