yalcSpec top-level property

FigSpec yalcSpec
final

Implementation

final FigSpec yalcSpec = FigSpec(
  name: 'yalc',
  description: 'Work with yarn/npm packages locally like a boss',
  subcommands: [
    FigSubcommand(
      name: 'publish',
      description:
          'Copy all the files that should be published in remote NPM registry',
      options: [
        FigOption(
          name: ['--push'],
          description:
              'Publish package to the store and propagate all changes to existing yalc package installations',
        ),
        FigOption(
          name: ['--no-scripts'],
          description: 'Publish without running scripts',
        ),
        FigOption(
          name: ['--no-sig'],
          description:
              'Disable adding hash signature of all files when copying package content',
        ),
        FigOption(
          name: ['--content'],
          description: 'Show included files in the published package',
        ),
        FigOption(
          name: ['--no-workspace-resolve'],
          description: "Do not resolve 'workspace:' protocol in dependencies",
        ),
        FigOption(
          name: ['--private'],
          description: 'Force publishing of private package',
        ),
      ],
    ),
    FigSubcommand(
      name: 'push',
      description:
          'Publish your package to the store and propagate all changes to existing yalc package installations',
    ),
    FigSubcommand(
      name: 'add',
      description: 'Copy the current version from the store to your project',
      args: [
        FigArg(
          name: 'package',
          description: 'The package you want to add',
          generators: [generatePackages],
        ),
      ],
      options: [
        FigOption(
          name: ['--link'],
          description: "Add a 'link:' dependency instead of 'file:'",
        ),
        FigOption(
          name: ['--dev'],
          description: 'Add yalc package to dev dependencies',
        ),
        FigOption(
          name: ['--pure'],
          description: "Do not touch 'package.json' or 'node_modules'",
        ),
        FigOption(
          name: ['--workspace', '-W'],
          description: "Add dependency with 'workspace:' protocol",
        ),
      ],
    ),
    FigSubcommand(
      name: 'link',
      description:
          "Alterative to 'add', instead using local '.yalc' as symlink source",
    ),
    FigSubcommand(
      name: 'update',
      description: 'Update package(s)',
      args: [
        FigArg(
          name: 'package',
          description: 'The package to update',
          isOptional: true,
          generators: [generatePackages],
        ),
      ],
      options: [
        FigOption(
          name: ['--update', '--upgrade', '--up'],
          description: "Run package manager's update command for packages",
        ),
      ],
    ),
    FigSubcommand(
      name: 'remove',
      description: "Remove package info from 'package.json' & 'yalc.lock'",
      args: [
        FigArg(
          name: 'package',
          description: 'The package you want to remove',
          isOptional: true,
          generators: [getRemovablePackages],
        ),
      ],
      options: [
        FigOption(
          name: ['--all'],
          description: 'Remove all packages from project',
        ),
      ],
    ),
    FigSubcommand(
      name: 'installations',
      subcommands: [
        FigSubcommand(
          name: 'clean',
          description: 'Unpublish a package published with yalc publish',
          args: [
            FigArg(
              name: 'package',
              generators: [generatePackages],
            ),
          ],
        ),
        FigSubcommand(
          name: 'show',
          description:
              'Show all packages to which chosen package has been added',
          args: [
            FigArg(
              name: 'package',
              generators: [generatePackages],
            ),
          ],
        ),
      ],
    ),
    FigSubcommand(
      name: 'dir',
      description: 'Show yalc system directory',
    ),
    FigSubcommand(
      name: 'check',
      description: "Check 'package.json' for yalc packages",
    ),
    FigSubcommand(
      name: 'restore',
      description: 'Restore retreated packages',
    ),
    FigSubcommand(
      name: 'retreat',
      description:
          'Remove packages from project, but leave in lock file (to be restored later)',
    ),
  ],
  options: [
    FigOption(
      name: ['--help'],
      description: 'Show help for yalc',
    ),
    FigOption(
      name: ['--no-colors'],
      description: 'Disable colors',
    ),
    FigOption(
      name: ['--quiet'],
      description: 'Fully disable output (except errors)',
    ),
  ],
);