- pgSchema "mesh" with 4 tables isolating the peer mesh domain - Enums: visibility, transport, tier, role - audit_log is metadata-only (E2E encryption enforced at broker/client) - Cascade on mesh delete, soft-delete via archivedAt/revokedAt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7.0 KiB
title, description, url
| title | description | url |
|---|---|---|
| Common commands | Learn about common commands you need to know to work with the mobile project. | /docs/mobile/installation/commands |
Common commands
For sure, you don't need these commands to kickstart your project, but it's useful to know they exist for when you need them. You can set up aliases for these commands in your shell configuration file. For example, you can set up an alias for `pnpm` to `p`:alias p='pnpm'
Or, if you're using Zsh, you can add the alias to ~/.zshrc:
alias p='pnpm'
Then run source ~/.bashrc or source ~/.zshrc to apply the changes.
You can now use p instead of pnpm in your terminal. For example, p i instead of pnpm install.
pnpm with-env <command>
For example, pnpm with-env pnpm build will run pnpm build with the environment variables injected.
Some commands, like pnpm dev, automatically inject the environment variables for you.
Installing dependencies
To install the dependencies, run:
pnpm install
Starting development server
Start development server by running:
pnpm dev
Building project
To build the project (including all apps and packages), run:
pnpm build
Building specific app/package
To build a specific app/package, run:
pnpm turbo build --filter=<package-name>
Cleaning project
To clean the project, run:
pnpm clean
Then, reinstall the dependencies:
pnpm install
Formatting code
To check for formatting errors using Prettier, run:
pnpm format
To fix formatting errors using Prettier, run:
pnpm format:fix
Linting code
To check for linting errors using ESLint, run:
pnpm lint
To fix linting errors using ESLint, run:
pnpm lint:fix
Typechecking
To typecheck the code using TypeScript for any type errors, run:
pnpm typecheck
Adding UI components
<Tabs items={["Web", "Mobile"]}> To add a new web component, run:
```bash
pnpm --filter @turbostarter/ui-web ui:add
```
This command will add and export a new component to `@turbostarter/ui-web` package.
To add a new mobile component, run:
```bash
pnpm --filter @turbostarter/ui-mobile ui:add
```
This command will add and export a new component to `@turbostarter/ui-mobile` package.
Services commands
To run the services containers locally, you need to have [Docker](https://www.docker.com/) installed on your machine.You can always use the cloud-hosted solution (e.g. Neon, Turso for database) for your projects.
We have a few commands to help you manage the services containers (for local development).
Starting containers
To start the services containers, run:
pnpm services:start
It will run all the services containers. You can check their configs in docker-compose.yml.
Setting up services
To setup all the services, run:
pnpm services:setup
It will start all the services containers and run necessary setup steps.
Stopping containers
To stop the services containers, run:
pnpm services:stop
Displaying status
To check the status and logs of the services containers, run:
pnpm services:status
Displaying logs
To display the logs of the services containers, run:
pnpm services:logs
Database commands
We have a few commands to help you manage the database leveraging Drizzle CLI.
Generating migrations
To generate a new migration, run:
pnpm with-env turbo db:generate
It will create a new migration .sql file in the packages/db/migrations folder.
Running migrations
To run the migrations against the db, run:
pnpm with-env pnpm --filter @turbostarter/db db:migrate
It will apply all the pending migrations.
Pushing changes directly
Make sure you know what you're doing before pushing changes directly to the db.To push changes directly to the db, run:
pnpm with-env pnpm --filter @turbostarter/db db:push
It lets you push your schema changes directly to the database and omit managing SQL migration files.
Checking database status
To check the status of the database, run:
pnpm with-env pnpm --filter @turbostarter/db db:status
It will display the status of the applied migrations and the pending ones.
Applied migrations:
- 0000_cooing_vargas
- 0001_curious_wallflower
- 0002_good_vertigo
- 0003_peaceful_devos
- 0004_fat_mad_thinker
- 0005_yummy_bucky
- 0006_glorious_vargas
Pending migrations:
- 0007_nebulous_havok
Resetting database
To reset the database, run:
pnpm with-env pnpm --filter @turbostarter/db db:reset
It will reset the database to the initial state.
Seeding database
To seed the database with some example data (for development purposes), run:
pnpm with-env turbo db:seed
It will populate your database with some example data.
Checking database
To check the database schema consistency, run:
pnpm with-env pnpm --filter @turbostarter/db db:check
Studying database
To study the database schema in the browser, run:
pnpm with-env pnpm --filter @turbostarter/db db:studio
This will start the Studio on https://local.drizzle.studio.
Tests commands
Running tests
To run the tests, run:
pnpm test
This will run all the tests in the project using Turbo tasks. As it leverages Turbo caching, it's recommended to run it in your CI/CD pipeline.
Running tests projects
To run tests for all Vitest Test Projects, run:
pnpm test:projects
This will run all the tests in the project using Vitest.
Watching tests
To watch the tests, run:
pnpm test:projects:watch
This will watch the tests for all Test Projects and run them automatically when you make changes.
Generating code coverage
To generate code coverage report, run:
pnpm turbo test:coverage
This will generate a code coverage report in the coverage directory under tooling/vitest package.
Viewing code coverage
To preview the code coverage report in the browser, run:
pnpm turbo test:coverage:view
This will launch the report's .html file in your default browser.