cfs-dotenv v0.1.7
Create Full Stack
Create an opinionated full stack with minimal configuration.
- Getting Started – How to create a new full stack.
- User Guide – How to develop apps bootstrapped with Create Full Stack.
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