Skip to content

Setup Command: pass package as command #1930

@thedavidprice

Description

@thedavidprice

Update 3/9/21:
See this comment below for decisions and next steps


This Issue consolidates the discussion orginally started as a proposal on the Forum:

Issue #1323 included a POC by @dac09 passing a plugin (node package):

Background

Included in Redwood's v1 Roadmap is the Setup command, which is used for one-time actions involving installation, instantiation, boilerplate, and configuration. The Setup command has already been created in part using Yargs built-in Command Directory feature.

However, the initial concept of the Setup command included the capability to pass a set of sub-commands at once, allowing for a project "recipe" that would quickly, in one step, configure a Redwood project.

The purpose of this Issue is to finalize the architecture of the setup command in order to complete implementation.

Current Requirements (aggregated from previous discussions)

  • allow yarn rw setup [options] to take an array of commands
  • accept "global" flags, e.g. --force
  • accept flags specific to a sub-command
  • accept packages as a sub-command (or a sub-command that accepts packages... ?)
    • at one time it was also suggested a path could be used
  • namespace: how to structure command names, e.g. [category]- [provider]-[misc] like auth-netlify or deploy-netlify (note: this might be handled by command syntax)
  • yarn rw setup --help should output, well, something helpful
    • maybe we create categories with lists
  • yarn rw setup [sub-command] --help should output help specific to the sub-command

Next Steps

This Issue is open to discussion + feedback from the community. Ultimately, the Core Team will finalize the requirements and architecture, then select an individual to lead the PR effort in a collaborative fashion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions