#!/usr/bin/env node 'use strict' // Needed so we can require src/module-cache.coffee during generateModuleCache require('coffee-script/register') require('colors') const yargs = require('yargs') const argv = yargs .usage('Usage: $0 [options]') .help('help') .describe('code-sign', 'Code-sign executables (macOS and Windows only)') .describe('create-windows-installer', 'Create installer (Windows only)') .describe('create-debian-package', 'Create .deb package (Linux only)') .describe('create-rpm-package', 'Create .rpm package (Linux only)') .describe('compress-artifacts', 'Compress Atom binaries (and symbols on macOS)') .describe('install', 'Install Atom') .wrap(yargs.terminalWidth()) .argv const cleanOutputDirectory = require('./lib/fast-clean-output-directory') const copyAssets = require('./lib/fast-copy-assets') const generateMetadata = require('./lib/generate-metadata') const generateModuleCache = require('./lib/generate-module-cache') const generateStartupSnapshot = require('./lib/generate-startup-snapshot') const packageApplication = require('./lib/package-application') const transpileBabelPaths = require('./lib/fast-transpile-babel-paths') const transpileCoffeeScriptPaths = require('./lib/fast-transpile-coffee-script-paths') process.on('unhandledRejection', function (e) { console.error(e.stack || e) process.exit(1) }) cleanOutputDirectory() copyAssets() transpileBabelPaths() transpileCoffeeScriptPaths() generateModuleCache() generateMetadata() packageApplication().then(generateStartupSnapshot)