Implementation
final List<Option> commonOptions = [
Option(name: ['-s', '--silent'], description: 'Skip Yarn console logs'),
Option(
name: '--no-default-rc',
description:
'Prevent Yarn from automatically detecting yarnrc and npmrc files'),
Option(
name: '--use-yarnrc',
description:
'Specifies a yarnrc file that Yarn should use (.yarnrc only, not .npmrc) (default: )',
args: [Arg(name: 'path', template: 'filepath')]),
Option(
name: '--verbose',
description: 'Output verbose messages on internal operations'),
Option(
name: '--offline',
description:
'Trigger an error if any required dependencies are not available in local cache'),
Option(
name: '--prefer-offline',
description:
'Use network only if dependencies are not available in local cache'),
Option(
name: ['--enable-pnp', '--pnp'],
description: 'Enable the Plug\'n\'Play installation'),
Option(
name: '--json', description: 'Format Yarn log messages as lines of JSON'),
Option(name: '--ignore-scripts', description: 'Don\'t run lifecycle scripts'),
Option(name: '--har', description: 'Save HAR output of network traffic'),
Option(name: '--ignore-platform', description: 'Ignore platform checks'),
Option(name: '--ignore-engines', description: 'Ignore engines check'),
Option(
name: '--ignore-optional', description: 'Ignore optional dependencies'),
Option(
name: '--force',
description:
'Install and build packages even if they were built before, overwrite lockfile'),
Option(
name: '--skip-integrity-check',
description: 'Run install without checking if node_modules is installed'),
Option(
name: '--check-files',
description: 'Install will verify file tree of packages for consistency'),
Option(
name: '--no-bin-links',
description: 'Don\'t generate bin links when setting up packages'),
Option(name: '--flat', description: 'Only allow one version of a package'),
Option(
name: ['--prod', '--production'],
description:
'Instruct Yarn to ignore NODE_ENV and take its production-or-not status from this flag instead'),
Option(
name: '--no-lockfile', description: 'Don\'t read or generate a lockfile'),
Option(name: '--pure-lockfile', description: 'Don\'t generate a lockfile'),
Option(
name: '--frozen-lockfile',
description:
'Don\'t generate a lockfile and fail if an update is needed'),
Option(
name: '--update-checksums',
description: 'Update package checksums from current repository'),
Option(
name: '--link-duplicates',
description: 'Create hardlinks to the repeated modules in node_modules'),
Option(
name: '--link-folder',
description: 'Specify a custom folder to store global links',
args: [Arg(name: 'path', template: 'folder')]),
Option(
name: '--global-folder',
description: 'Specify a custom folder to store global packages',
args: [Arg(name: 'path', template: 'folder')]),
Option(
name: '--modules-folder',
description:
'Rather than installing modules into the node_modules folder relative to the cwd, output them here',
args: [Arg(name: 'path', template: 'folder')]),
Option(
name: '--preferred-cache-folder',
description:
'Specify a custom folder to store the yarn cache if possible',
args: [Arg(name: 'path', template: 'folder')]),
Option(
name: '--cache-folder',
description:
'Specify a custom folder that must be used to store the yarn cache',
args: [Arg(name: 'path', template: 'folder')]),
Option(
name: '--mutex',
description: 'Use a mutex to ensure only one yarn instance is executing',
args: [Arg(name: 'type[:specifier')]),
Option(name: '--emoji', description: 'Enables emoji in output', args: [
Arg(defaultValue: 'true', suggestions: [
FigSuggestion(name: 'true'),
FigSuggestion(name: 'false')
])
]),
Option(
name: '--cwd',
description: 'Working directory to use',
args: [Arg(name: 'cwd', template: 'folder')]),
Option(
name: ['--proxy', '--https-proxy'],
description: '',
args: [Arg(name: 'hos')]),
Option(
name: '--registry',
description: 'Override configuration registry',
args: [Arg(name: 'ur')]),
Option(name: '--no-progress', description: 'Disable progress bar'),
Option(
name: '--network-concurrency',
description: 'Maximum number of concurrent network requests',
args: [Arg(name: 'numbe')]),
Option(
name: '--network-timeout',
description: 'TCP timeout for network requests',
args: [Arg(name: 'millisecond')]),
Option(
name: '--non-interactive',
description: 'Do not show interactive prompts'),
Option(
name: '--scripts-prepend-node-path',
description: 'Prepend the node executable dir to the PATH in scripts'),
Option(
name: '--no-node-version-check',
description:
'Do not warn when using a potentially unsupported Node version'),
Option(
name: '--focus',
description:
'Focus on a single workspace by installing remote copies of its sibling workspaces'),
Option(
name: '--otp',
description: 'One-time password for two factor authentication',
args: [Arg(name: 'otpcod')])
];