invertase / melos

🌋 A tool for managing Dart projects with multiple packages. With IntelliJ and Vscode IDE support. Supports automated versioning, changelogs & publishing via Conventional Commits.
https://melos.invertase.dev/~melos-latest
Apache License 2.0
1.08k stars 193 forks source link

feat: format built in command #657

Closed jessicatarra closed 4 months ago

jessicatarra commented 4 months ago

Description

This PR introduces a new built-in command called "format" that follows the same implementation logic used in the development of the "analyze" command, which was merged in a previous (PR). The purpose of this change is to eliminate the need to set up a separate script in order to format each package.

For example, instead of using the following YAML configuration:

scripts:
  format:
    description: Format Dart code.
    run: dart format .

  format:check:
    description: Check formatting of Dart code.
    run: dart format --output none --set-exit-if-changed .

The first script can now be replaced with a simpler command: melos format. Similarly, the second script can be replaced with melos format --output none --set-exit-if-changed.

Additionally, this new command supports all melos filtering options and concurrency.

Dear maintainers, please feel free to review, modify, or add code to this contribution :)

Type of Change

CLAassistant commented 4 months ago

CLA assistant check
All committers have signed the CLA.