versionArg top-level property
Implementation
final FigArg versionArg = FigArg(
name: 'version',
suggestions: [
FigSuggestion(
name: ['latest', 'current'],
description: 'Newest official release',
),
FigSuggestion(
name: ['lts'],
description: 'Newest Long Term Support official release',
),
FigSuggestion(
name: ['auto'],
description:
'Read version from file: .n-node-version, .node-version, .nvmrc, or package.json',
),
FigSuggestion(
name: ['engine'],
description: 'Read version from package.json',
),
],
generators: [
FigGenerator(
script: ['n', 'lsr', '--all'],
postProcess: (out, [tokens]) {
final set = <String>{};
final versions = out.split('\n').skip(1);
for (final version in versions) {
if (version.trim().isEmpty) continue;
set.add(version);
final split = version.split('.');
if (split.length >= 2) set.add('${split[0]}.${split[1]}');
if (split.isNotEmpty) set.add(split[0]);
}
return set
.map((version) => FigSuggestion(
name: [version, 'v$version'],
description: 'Node.js $version',
))
.toList();
},
),
],
isOptional: false,
);