0.1.11 • Published 4 years ago

cfs-pulumi v0.1.11

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

Create Full Stack

Create an opinionated full stack with minimal configuration.

If something doesn’t work, please file an issue.

Philosophy

  • Single language (TypeScript)
    • Minimize context switching
  • Static typing everywhere (DB to UI across APIs)
    • Compile time bugs instead of runtime bugs
  • Scales
    • In terms of requests, features, and complexity (engineers on the project)
  • Most popular tools in class
    • Better support and fewer edge cases
  • Simplicity over infinite flexibility
    • Prefer simpler solutions to the 90% use case over supporting the 1% use case

Setup

Assumes MacOS

Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Install Yarn

brew install yarn

Run

yarn create full-stack my-full-stack

Help

% yarn create-full-stack --help
Usage: create-full-stack <project-directory> [options]

Options:
  -V, --version              output the version number
  -t, --template <template>  specify a template for the created project
  -h, --help                 display help for command

Setup VSCode (recommended IDE/Editor)

The config files (.vscode/) are included which formats on save.

Install recommended extensions

Generated project notes

Check specific package READMEs for setup configuration and commands.

Code generation

Repo uses graphql-code-generator. Client React components for GraphQL queries and mutations are automatically generated via the typescript-react-apollo plugin from the *.graphql files. The backend relies on type generation via the typescript-resolvers plugin. This code is automatically generated when running commands from the workspace root.

Gotchas

EADDRINUSE, Address already in use

Kill all node processes.

killall node

Hooks can only be called inside the body of a function component

React in both packages/mobile/package.json and packages/web/package.json need to be the same version since they're shared in Yarn Workspaces (unless you add nohoist).

Auth0 login hangs on Android virtual device

Must use Android 11. https://github.com/expo/expo/issues/9845