or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

blueprint-system.mdcli-commands.mdindex.mdmodels-utilities.mdprogrammatic-api.md
tile.json

index.mddocs/

Ember CLI

Ember CLI is a comprehensive command-line tool for developing Ember.js applications that provides a complete build pipeline, development server, and project scaffolding system. It features an asset build pipeline using Broccoli.js for efficient file processing and bundling, ES6 transpilation using Babel for modern JavaScript support, and a development server with live-reload capabilities and API proxy functionality.

Package Information

  • Package Name: ember-cli
  • Package Type: npm
  • Language: JavaScript
  • Installation: npm install -g ember-cli

Core Imports

For programmatic usage:

const emberCli = require('ember-cli');

Basic Usage

CLI Usage

# Create a new Ember application
ember new my-app

# Start development server
ember serve

# Build for production
ember build --environment production

# Generate components and other resources
ember generate component my-component

# Run tests
ember test

Programmatic Usage

const emberCli = require('ember-cli');

// Run ember-cli programmatically
emberCli({
  cliArgs: ['build', '--environment', 'production'],
  inputStream: process.stdin,
  outputStream: process.stdout,
  errorStream: process.stderr
}).then(exitCode => {
  console.log('Build completed with exit code:', exitCode);
});

Architecture

Ember CLI is built around several key architectural components:

  • Command System: CLI commands extending the base Command class for operations like build, serve, generate
  • Task System: Build tasks that handle specific operations like compilation, watching, and asset processing
  • Blueprint System: Code generation templates for scaffolding applications, components, and other resources
  • Model System: Core models representing projects, addons, builders, and CLI state
  • Addon System: Extensible architecture allowing community addons to extend and modify build behavior
  • Build Pipeline: Broccoli.js-based asset pipeline with live-reload and proxy capabilities

Capabilities

CLI Commands

Core command-line interface providing all primary Ember CLI functionality including project creation, development server, building, testing, and code generation.

// Available via ember <command> [options]
// Commands: new, init, build, serve, test, generate, destroy, install, addon, help, version

CLI Commands

Programmatic API

JavaScript API for integrating Ember CLI functionality into Node.js applications and build tools.

/**
 * Main Ember CLI programmatic entry point
 * @param options - Configuration options for CLI execution
 * @returns Promise resolving to exit code
 */
function emberCli(options: CliOptions): Promise<number>;

interface CliOptions {
  cliArgs: string[];
  inputStream?: NodeJS.ReadableStream;
  outputStream?: NodeJS.WritableStream;
  errorStream?: NodeJS.WritableStream;
  UI?: any;
  testing?: boolean;
  cli?: any;
}

Programmatic API

Blueprint System

Template-based code generation system for creating applications, addons, components, and other Ember.js resources with customizable scaffolding.

class Blueprint {
  static extend(options: BlueprintOptions): typeof Blueprint;
  install(options: InstallOptions): Promise<void>;
  uninstall(options: UninstallOptions): Promise<void>;
}

Blueprint System

Models and Utilities

Core models and utility functions that power Ember CLI's functionality, including project management, addon discovery, and build coordination.

class Project {
  static closestSync(pathName: string): Project | null;
  static projectOrnullProject(ui: UI, cli: CLI): Project;
}

class Command {
  static extend(options: CommandOptions): typeof Command;
  run(options: any, rawArgs: string[]): Promise<any>;
}

Models and Utilities