Skip to content

0.19.0

Compare
Choose a tag to compare
@hasundue hasundue released this 29 Jul 12:55
· 42 commits to main since this release

What's Changed

The main focus of this release is to stabilize updating lock files and support bumping version ranges. That required a rewrite of the whole codebase of @molt/core and @molt/cli.

@molt/core

Breaking Changes

  • The API has been changed completely
    • Documentation is not complete yet. Please refer to the source code of the CLI for now.
  • Import resolution using an import map has been abandoned for the sake of simplicity (#181)
    • Will be re-implemented in the near feature
    • It does NOT mean that you cannot update dependencies in import maps. Molt can collect dependencies from import maps directly.

New Features

  • Updating lock files has been stabilized (as stable as other features)
  • Bumping version ranges is now supported
    • Molt uses a similar versioning strategy as increase-if-necessary in Dependabot to determine the new version range
  • Support updating type directives such as // @ts-types="..." (#184)

These changes are reflected in the CLI as well.

@molt/cli

Breaking Changes

  • deno.json or deno.jsonc and deno.lock are only searched from the current directory
  • --import-map has been abandoned in favor of --config
  • --prefix-lock has been abandoned for simplicity
  • --no-resolve has been abandoned and is now the default behavior
  • Files that import dependencies are no longer printed by default (use --referrer)
  • --write no longer prints the files that have been updated to stdout
  • --commit no longer prints the commit messages to stdout
  • --ignore and --only now accepts a single RegExp pattern instead of multiple strings
  • Now prints nothing when no updates found

New Features

  • Arguments are now optional. If no arguments are provided, it will
    1. Check for updates to dependencies in deno.json or deno.jsonc
    2. If a configuration file with dependencies is not available, it will collect dependencies from all .ts files under the current directory
  • Show spinners during operations:
    • Collecting dependencies
    • Checking for updates
    • Writing changes to files
    • Committing changes to git
    • Running pre-commit tasks