Skip to content

v4.0.0

Compare
Choose a tag to compare
@sindresorhus sindresorhus released this 26 Nov 10:53
· 127 commits to main since this release

Meow 4 is finally out ✨

Highlights

  • Requires Node.js 4 or higher.
  • Changed how minimist options are specified. (See more below) 43401c3 554119b
  • Disabled type inference by default. It can lead to some surprising behavior. Can be enabled again with the inferType option. 1662881
  • Removed support for using an array in the help option. Just use a template literal. c80321d
  • Removed support for the pkg option accepting a string. 2d4d890
  • Removed support for setting the help and version options to false. Instead, use the new autoHelp and autoVersion options. 59dda7a
  • Uses exit code 2 when manually calling cli.showHelp() now. 6a32bbc

v3.7.0...v4.0.0

Changed how minimist options are specified

In Meow v3 you specified minimist options top-level just like documented in the minimist readme. Now you specify them in a flags option, grouped by flag name instead of option type.

Before

const cli = meow(
	`
		Help text
	`,
	{
		boolean: [
			'unicorn'
		],
		string: [
			'fooBar'
		],
		alias: {
			u: 'unicorn'
		},
		default: {
			foobar: 'foo'
		}
	}
});

After

const cli = meow(
	`
		Help text
	`,
	flags: {
		unicorn: {
			type: 'boolean',
			alias: 'u'
		},
		fooBar: {
			type: 'string',
			default: 'foo'
		}
	}
});

I would strongly recommend specifying the type property whenever possible to reduce CLI argument parsing ambiguity.