cfs-pulumi-auth0 v0.1.2
Create Full Stack
Set up a TypeScript full stack with one command.
- Getting Started – How to create a new full stack.
- User Guide – How to develop apps bootstrapped with Create Full Stack.
Create Full Stack works on macOS, and Linux. If something doesn’t work, please file an issue.
Looking for co-contributors. If this project interests you, email me@tiagobandeira.com
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
Install Yarn
Follow instructions at https://classic.yarnpkg.com/en/docs/install
Or with Homebrew run:
brew install yarn
CFS support for npm
will be added when npm v7 is stable, which contains the required workspaces feature.
Run
yarn create full-stack my-full-stack
Node v12.10.0 or later is required. You can use n to switch Node versions.
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 and includes 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.
Troubleshooting
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
Your Android virtual device (AVD) must use Android 11. expo/issues/9845
FatalError: relation \"todos\" already exists
Reset your docker Postgres volume. This wipes any existing data.
docker rm <project name>_postgres_1
docker volume rm <project name>_db_data
pulumi:providers: no resource plugin found in the workspace or on your \$PATH, install the plugin
This can occur locally or in continuous deployment (CD) with GitHub actions.
If locally, run the command in the error message to install the plugin.
If on GitHub actions, you must setup and deploy the production stack locally first before GitHub actions can deploy. pulumi/issues/2097
To deploy the production stack run:
cd packages/pulumi-aws
pulumi stack select production
pulumi up
Something is already running on port 3000
Check which service is running on the port.
sudo lsof -i tcp:3000
Kill it (ex. node)
pkill node