Command line tool for developing ambitious ember.js apps
npx @tessl/cli install tessl/npm-ember-cli@6.6.0Ember 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.
npm install -g ember-cliFor programmatic usage:
const emberCli = require('ember-cli');# 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 testconst 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);
});Ember CLI is built around several key architectural components:
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, versionJavaScript 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;
}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>;
}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>;
}