create-sequoia-pkg
v1.1.4
Published
External package generation script for RedwoodJS applications.
Downloads
5
Readme
Generate NPM packages, tailor-made for RedwoodJS applications 🌲
Abstract
Sequoia is a yarn create
script for generating NPM packages which are designed to work well with RedwoodJS applications.
It provides a dynamic, interactive prompt which configures the generated package. All prompts can be configured through command-line arguments, making re-use and quick access easy.
Features
- Command-line argument and prompt driven configuration of generated package.
- Support for JavaScript or TypeScript source-code generation.
- Code compilation and bundling facilitated by Microbundle.
- Built-in support for linting and testing, using the same configuration as RedwoodJS.
- Easily depend on and extend RedwoodJS' functionality.
- Simple setup to support React and Storybook.
- GitHub Actions to:
- Publish your package to NPM and create a release on GitHub.
- Make quality assurances when PRs are opened against the
main
branch. - Deploy Storybook to GitHub Pages whenever updates to the
main
branch occur.
Usage
Providing a value for an argument will skip its prompt.
Usage: yarn create sequoia-pkg <name> <directory> [option]
Positionals:
name The name of your NPM package. [string]
path A path to the directory your package will be generated in. [string]
Options:
--version Show version number [boolean]
--help Show help [boolean]
--dry Run this script, skipping generation. [boolean]
--force Overwrite the output directory if it already exists. [boolean]
--skipPrompts Completely skip prompts, passing along only arguments to the generator. [boolean]
--lang The language to generate your package in. [string]
[choices: "ts", "js"]
--rwDeps RedwoodJS packages to include. [array]
[choices: "@redwoodjs/api", "@redwoodjs/forms", ...]
--react Include React as a dependency. [boolean]
--storybook Setup Storybook in your package. [boolean]
--cli Add dependencies for building interactive CLI tools. [boolean]
Examples:
yarn create sequoia-pkg newlib - Creats a new package in the directory `cwd()/newlib`.
Contributing
Contributions are welcomed; be they any shape, size, or form.
- Please see the contributing guide for "getting started" instructions.
- Issues can be created for bugs, feature requests, RFCs, ... - no formal template exists, so explain yourself however feels natural.
License
Sequoia was made with ❤️ for the RedwoodJS community.
It is and always will be available, free of charge, under the MIT License.