Skip to main content
Skip to main content

NPM Scripts & Development Workflows

Complete guide to all NPM scripts available in Mifty projects and their usage in development workflows.

Core Development Scripts

Development Server

npm run dev

Start development server with hot reload

npm run dev:full

Start all development services: API + DB Designer + Monitor + Prisma Studio

npm run dev:server

Start only the API server with hot reload

npm run dev:monitor

Start error monitor with auto-fix capabilities

npm run dev:db-designer

Start database designer UI on port 3001

Build Scripts

npm run build

Build TypeScript to JavaScript and copy UI assets

npm run build:watch

Build in watch mode - rebuilds on file changes

npm start

Start production server (requires build first)

Database Management Scripts

Prisma Commands

npm run prisma:generate

Generate Prisma Client from schema

npm run prisma:migrate

Create and apply database migration

npm run prisma:migrate:status

Check migration status

npm run prisma:migrate:deploy

Deploy migrations in production

npm run prisma:studio

Open Prisma Studio database browser

npm run prisma:push

Push schema changes without creating migration

npm run prisma:reset

⚠️ Reset database and apply all migrations (DELETES DATA)

npm run prisma:seed

Run database seeding script

Database Designer

npm run db-designer

Start visual database designer UI

npm run db-designer:build

Build project and start database designer

Code Generation Scripts

Module Generation

npm run generate

Generate all modules from db.design.ts

npm run generate:module

Generate specific module

npm run generate:ai

Generate modules using AI assistance

Testing Scripts

Test Execution

npm test

Run all tests with coverage report

npm run test:watch

Run tests in watch mode

npm run test:integration

Run integration tests only

Code Quality Scripts

Linting

npm run lint

Run ESLint to check code quality

npm run lint:fix

Run ESLint with automatic fixes

Formatting

npm run format

Format code with Prettier

Monitoring Scripts

Error Monitoring

npm run monitor

Start error monitoring system

npm run monitor:imports

Monitor import issues

npm run monitor:errors

Monitor runtime errors

npm run monitor:autofix

Monitor with automatic error fixing

Import Watching

npm run watch:imports

Watch and report import issues

npm run watch:imports:autofix

Watch imports with automatic fixing

Adapter Management Scripts

Adapter Commands

npm run adapter

Run adapter management CLI

npm run adapter:list

List all available adapters

npm run adapter:installed

Show installed adapters

Authentication Adapters

npm run auth:list

List authentication adapters

npm run auth:install

Install authentication adapter

Configuration Scripts

Service Configuration

npm run services:config

View current services configuration

npm run configure:server

Configure server settings

Build System Scripts

Advanced Build

npm run bundle

Bundle all CLI executables

npm run secure-build

Build with security features (obfuscation, byte-compilation)

npm run obfuscate

Obfuscate JavaScript code

npm run byte-compile

Compile JavaScript to bytecode

Packaging

npm run pkg:all

Create platform-specific executables

npm run pack

Create NPM package

Development Workflows

Daily Development Workflow

This is the most common workflow for daily development:

Step-by-Step Daily Workflow

  1. Start Development Environment

npm run dev:full

Starts API server, DB designer, monitor, and Prisma Studio

2. **Design Database** (if needed)
- Open http://localhost:3001/ui in browser
- Design your database schema visually
- Save changes

3. **Generate Code**
```bash
npm run generate

Generate modules from updated database design

  1. Write and Test Code

npm run test:watch

Run tests in watch mode while developing

5. **Quality Check**
```bash
npm run lint && npm run format

Check code quality and format

Database Development Workflow

For database-focused development:

Database Workflow Steps

  1. Choose Design Method

    • Visual: npm run db-designer
    • Manual: Edit src/db.design.ts
  2. Generate Modules

npm run generate

Generate TypeScript modules from schema

3. **Create Migration**
```bash
npm run prisma:migrate

Create and apply database migration

  1. Update Prisma Client

npm run prisma:generate

Regenerate Prisma Client with new schema

5. **Verify Changes**
```bash
npm run prisma:studio

Open Prisma Studio to verify database structure

Testing Workflow

Comprehensive testing approach:

Testing Steps

  1. Development Testing

npm run test:watch

Run tests continuously during development

2. **Full Test Suite**
```bash
npm test

Run all tests with coverage report

  1. Integration Testing

npm run test:integration

Run integration tests

### Production Deployment Workflow

For production deployment:

```mermaid
graph TD
A[Ready for Production] --> B[npm run lint]
B --> C[npm test]
C --> D[npm run build]
D --> E[npm run prisma:migrate:deploy]
E --> F[npm start]
F --> G[Verify Deployment]

Production Steps

  1. Quality Assurance

npm run lint && npm test

Ensure code quality and all tests pass

2. **Build for Production**
```bash
npm run build

Build optimized production bundle

  1. Database Migration

npm run prisma:migrate:deploy

Apply migrations in production

4. **Start Production Server**
```bash
npm start

Start production server

Troubleshooting Common Script Issues

Build Issues

Problem: Build fails with TypeScript errors

npm run lint:fix && npm run build

Fix linting issues and rebuild

Problem: Missing UI assets after build

npm run copy-ui && npm run build

Ensure UI assets are copied during build

Database Issues

Problem: Prisma Client out of sync

npm run prisma:generate

Regenerate Prisma Client

Problem: Migration conflicts

npm run prisma:migrate:status

Check migration status and resolve conflicts

Development Server Issues

Problem: Port already in use

npm run services:config

Check current port configuration

Problem: Hot reload not working

npm run dev:server

Restart development server

Testing Issues

Problem: Tests failing after database changes

npm run prisma:generate && npm test

Regenerate Prisma Client and run tests

Problem: Coverage too low

npm run test:coverage

Generate detailed coverage report

Script Categories by Use Case

Daily Development

  • npm run dev:full
  • npm run test:watch
  • npm run generate
  • npm run lint:fix

Database Work

  • npm run db-designer
  • npm run prisma:migrate
  • npm run prisma:studio
  • npm run prisma:generate

Quality Assurance

  • npm test
  • npm run lint
  • npm run format
  • npm run test:integration

Production

  • npm run build
  • npm start
  • npm run prisma:migrate:deploy

Debugging

  • npm run monitor
  • npm run watch:imports
  • npm run services:config

Performance Tips

Faster Development

  • Use npm run dev:server instead of npm run dev:full if you don't need all services
  • Use npm run test:watch for continuous testing
  • Use npm run build:watch for continuous building

Efficient Database Work

  • Use npm run prisma:push for quick schema testing (no migration)
  • Use npm run db-designer for visual schema design
  • Use npm run prisma:studio for data inspection

Better Testing

  • Use npm run test:watch during development
  • Run npm test before commits
  • Use npm run test:integration for full system testing