npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@scom/cli

v0.1.14

Published

CLI for building and testing SCOM packages

Downloads

24

Readme

@scom/cli

Command line interface for building, testing, and developing Secure Compute (SCOM) packages and applications.

Overview

The @scom/cli is a development toolkit that streamlines the creation, building, testing, and deployment of SCOM components and applications. It provides scaffolding, bundling, development servers, and testing capabilities in a unified command-line interface.

Installation

Global Installation (Recommended)

npm install -g @scom/cli

Local Installation

npm install @scom/cli --save-dev

Commands

init - Project Initialization

Create new SCOM projects from templates:

# Create a new React TypeScript application
npx @scom/cli init app my-app
cd my-app

# Initialize in current directory
npx @scom/cli init app .

# Create a React widget
npx @scom/cli init widget my-widget

Options:

  • app <project-name>: Creates a React TypeScript application
  • widget <widget-name>: Creates a React widget component

bundle - Build and Bundle

Bundle SCOM packages for production:

# Bundle the current project
npx @scom/cli bundle

Uses the integrated @scom/bundler to create optimized production builds with proper module resolution and dependency management.

serve - Development Server

Start a development server for testing and previewing:

# Serve current directory
npx @scom/cli serve

# Serve specific directory
npx @scom/cli serve dist

# Serve with custom port
npx @scom/cli serve dist --port 8080

# Serve with assets mapping
npx @scom/cli serve examples --port 8080 --map /lib/amd-loader.js:./src/lib/amd-loader.js

Features:

  • Live reloading during development
  • Custom port configuration
  • File mapping for development overrides
  • Static file serving

dev - Development Mode

Start development server with auto-rebuild capabilities:

# Start development mode
npx @scom/cli dev

# Custom port and host
npx @scom/cli dev --port 8080 --host localhost

# Auto-open browser
npx @scom/cli dev --open

# Silent mode (suppress output)
npx @scom/cli dev --silent

Features:

  • Automatic rebuilding on file changes
  • Hot module replacement
  • Browser auto-opening
  • Development optimizations

test - Testing

Run tests using the integrated @scom/test framework:

# Run all tests in current directory
npx @scom/cli test

# Run tests in specific directory
npx @scom/cli test tests

# Run tests in custom directory
npx @scom/cli test my-test-folder

Features:

  • Jest-compatible testing environment
  • React component testing support
  • TypeScript support
  • Browser and Node.js test environments

publish - Package Publishing

Publish packages to npm with automatic dependency resolution:

# Publish with default npm settings
npx @scom/cli publish

# Publish with specific npm tag
npx @scom/cli publish --tag beta

# Preview changes without publishing (dry-run)
npx @scom/cli publish --simulate
npx @scom/cli publish --dry-run

Features:

  • Automatically replaces file: dependencies with actual versions
  • Supports npm publish options and tags
  • Dry-run mode for testing
  • Automatic backup and restore of package.json

Project Templates

App Template

Creates a full React TypeScript application with:

  • Modern React setup with TypeScript
  • Development and production configurations
  • Testing environment pre-configured
  • SCOM component integration ready
  • Build and deployment scripts

Widget Template

Creates a reusable React widget component with:

  • Component scaffolding
  • TypeScript definitions
  • Testing setup
  • Build configuration for widget distribution
  • Example usage and documentation

Dependencies

The CLI integrates several SCOM tools:

  • @scom/bundler: Advanced bundling and module resolution
  • @scom/serve: Development server with live reloading
  • @scom/test: Testing framework for components and applications
  • TypeScript: Full TypeScript support
  • React: React and ReactDOM for component development

Usage Examples

Creating a New Application

# Create and setup a new app
npx @scom/cli init app my-secure-app
cd my-secure-app

# Start development
npx @scom/cli dev --open

# Run tests
npx @scom/cli test

# Build for production
npx @scom/cli bundle

Developing Components

# Create a widget
npx @scom/cli init widget my-widget
cd my-widget

# Start development with live reload
npx @scom/cli serve src --port 3000

# Test the component
npx @scom/cli test

# Bundle for distribution
npx @scom/cli bundle

Development Workflow

# Start development server
npx @scom/cli dev --port 8080

# In another terminal, run tests in watch mode
npx @scom/cli test --watch

# Build when ready for production
npx @scom/cli bundle

Configuration

The CLI respects standard configuration files:

  • package.json: Project metadata and dependencies
  • tsconfig.json: TypeScript configuration
  • scconfig.json: SCOM-specific configuration
  • .gitignore: Version control exclusions

Integration with SCOM Ecosystem

The CLI is designed to work seamlessly with:

  • @scom/core: Provides runtime dependencies
  • @scom/bundler: Advanced module bundling
  • @scom/serve: Development server capabilities
  • @scom/test: Comprehensive testing framework

Binary Installation

When installed, the CLI provides the scom-cli binary globally:

which scom-cli
# /usr/local/bin/@scom/cli (or equivalent)

Help

Get help for any command:

npx @scom/cli --help
npx @scom/cli init --help
npx @scom/cli serve --help