malv publish

Publish your app to the MALV registry so others can install and use it.

Usage

# From inside an app directory
cd packages/apps/my-app
malv publish

# With version bump
malv publish --patch   # 1.0.0 → 1.0.1
malv publish --minor   # 1.0.0 → 1.1.0
malv publish --major   # 1.0.0 → 2.0.0

# Preview without publishing
malv publish --dry-run

# Publish as private
malv publish --access private

Before Publishing

Make sure you:

  1. Build the app - Run yarn build to create the dist/ directory
  2. Log in - Run malv login to authenticate with the registry
  3. Have permission - You must be a member of the organization in the package name

What Gets Published

The CLI publishes these files:

Required:

Optional (if present):

Version Bumping

Use flags to bump the version before publishing:

malv publish --patch   # Bug fixes: 1.0.0 → 1.0.1
malv publish --minor   # New features: 1.0.0 → 1.1.0
malv publish --major   # Breaking changes: 1.0.0 → 2.0.0

The version in package.json is updated before upload.

Private Apps

By default, apps are public. Make them private with:

malv publish --access private

Private apps:

Dry Run

See what would be published without actually doing it:

malv publish --dry-run

Output:

Would publish @my-org/[email protected]

Files:
  package.json (1.2 KB)
  tools.json (3.4 KB)
  dist/create_note.js (2.1 KB)
  dist/edit_note.js (1.8 KB)
  ...

Total: 15 files (24.5 KB)

After Publishing

Others can install your app:

malv install @my-org/[email protected]

Or add it to their malv.json:

{
  "apps": {
    "@my-org/notes": "^1.2.0"
  }
}

Authentication

Publishing requires authentication:

# Log in (opens browser for OAuth)
malv login

# Check who you're logged in as
malv whoami

# Log out
malv logout

Common Issues

Not logged in

Error: Not authenticated. Run 'malv login' first.

Run malv login and try again.

Missing dist/

Error: dist/ directory not found. Run 'yarn build' first.

Build your app before publishing.

No permission

Error: You don't have permission to publish to @other-org

You can only publish to organizations you're a member of.

Version already exists

Error: Version 1.0.0 already exists

Bump the version with --patch, --minor, or --major.