skypager-project-types-electron-app
Version:
skypager electron app project type
67 lines (60 loc) • 1.77 kB
JavaScript
#!/usr/bin/env node
const project = require('skypager/current')
const { clear, print, randomBanner, icon } = project.cli
const rocket = icon('rocket')
clear()
randomBanner('Skypager')
print(`${rocket} Running multi compiler build process`)
const node = project.compiler('node')
.configure(c => c
.context(project.cwd)
.loader('babel', '.js', {
include: [ project.join('src') ],
exclude: [/node_modules/]
})
.loader('json', '.json', {
include: [project.join('src')]
})
.entry({
register: './src/register.js',
index: './src/index.js',
'templates/App': './src/helpers/templates/App.js',
'templates/html-webpack-template': './src/helpers/templates/html-webpack-template.js',
})
.externals(require.resolve('./package.json'))
.output({
path: project.join('lib'),
filename: '[name].js',
chunkFilename: '[name].js',
})
)
const electron = project.compiler('node')
.configure((c) => c
.target('electron-main')
.context(project.cwd)
.loader('json', '.json', {
include: [project.join('src')]
})
.loader('babel', '.js', {
include: [ project.join('src') ],
exclude: [/node_modules/]
})
.externals(require.resolve('./package.json'))
.plugin('copy-webpack-plugin', [{
from: project.join('src', 'runtime'),
to: 'runtime',
}])
.entry({
'helpers/panel': './src/helpers/panel',
'helpers/application': './src/helpers/application',
'features/electron': './src/helpers/features/electron.js',
})
)
if (!project.argv.watch) {
node.run().then(() => {
node.printStats()
})
.then(() => {
//electron.run().then(() => electron.printStats())
})
}