/chirp

new twitter without the fascists

Primary LanguageTypeScript

Chirp

new twitter without the fascists

Setup

Install Node Version Manager, and Docker Desktop.

To get started with local development, run the following command,

$ make dev

To terminate the detached background resources, such as mongodb and redis, run the following command after you terminate the make dev command,

$ make stop-dev-resources

NPM Workspace

Chirp is broken up into reusable npm packages with npm workspaces.

All Chirp packages are prefixed with @chirp. To install a Chirp package in another Chirp package, run the following command,

$ npm install @chirp/to-install --workspace @chirp/install-into

# For example, to install @chirp/types into @chirp/lib-node
$ npm install @chirp/types --workspace @chirp/lib-node

When installing third-party modules, some packages are kept in the global space (eg: Typescript), but some are only installed within a Chirp package.

# Install a package for all Chirp packages
$ npm install package-name

# Install for just a single Chirp package
$ npm install package-name --workspace @chirp/package-name

You can run one off commands on a package or against all of them,

$ npm run build --workspace @chirp-package-name
$ npm run build --workspaces

However, if you want to run multiple commands in parallel, you'll need to use a custom CLI tool.

$ ./cli/index.js --command run-all --npm dev