mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-20 15:37:46 +03:00
61 lines
2.1 KiB
JavaScript
Executable File
61 lines
2.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
'use strict'
|
|
|
|
// Needed so we can require src/module-cache.coffee during generateModuleCache
|
|
require('coffee-script/register')
|
|
require('colors')
|
|
|
|
const argv = require('yargs').argv
|
|
const cleanOutputDirectory = require('./lib/clean-output-directory')
|
|
const codeSignOnMac = require('./lib/code-sign-on-mac')
|
|
const copyAssets = require('./lib/copy-assets')
|
|
const createWindowsInstaller = require('./lib/create-windows-installer')
|
|
const dumpSymbols = require('./lib/dump-symbols')
|
|
const generateAPIDocs = require('./lib/generate-api-docs')
|
|
const generateMetadata = require('./lib/generate-metadata')
|
|
const generateModuleCache = require('./lib/generate-module-cache')
|
|
const installApplication = require('./lib/install-application')
|
|
const packageApplication = require('./lib/package-application')
|
|
const prebuildLessCache = require('./lib/prebuild-less-cache')
|
|
const transpileBabelPaths = require('./lib/transpile-babel-paths')
|
|
const transpileCoffeeScriptPaths = require('./lib/transpile-coffee-script-paths')
|
|
const transpileCsonPaths = require('./lib/transpile-cson-paths')
|
|
const transpilePegJsPaths = require('./lib/transpile-peg-js-paths')
|
|
|
|
process.on('unhandledRejection', function (e) {
|
|
console.error(e)
|
|
process.exit(1)
|
|
})
|
|
|
|
cleanOutputDirectory()
|
|
copyAssets()
|
|
transpileBabelPaths()
|
|
transpileCoffeeScriptPaths()
|
|
transpileCsonPaths()
|
|
transpilePegJsPaths()
|
|
generateModuleCache()
|
|
prebuildLessCache()
|
|
generateMetadata()
|
|
generateAPIDocs()
|
|
dumpSymbols()
|
|
.then(packageApplication)
|
|
.then(packagedAppPath => {
|
|
if (process.platform === 'darwin') {
|
|
if (argv.codeSign) {
|
|
codeSignOnMac(packagedAppPath)
|
|
} else {
|
|
console.log('Skipping code-signing. Specify the --code-sign option to perform code-signing'.gray)
|
|
}
|
|
return Promise.resolve(packagedAppPath)
|
|
} else if (process.platform === 'win32') {
|
|
return createWindowsInstaller(packagedAppPath, argv.codeSign).then(() => packagedAppPath)
|
|
}
|
|
}).then(packagedAppPath => {
|
|
if (argv.install) {
|
|
installApplication(packagedAppPath)
|
|
} else {
|
|
console.log('Skipping installation. Specify the --install option to install Atom'.gray)
|
|
}
|
|
})
|