| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 | 
							- 'use strict'
 
- /**
 
-  * FUSEBOX
 
-  *
 
-  * Client & Server compiler / watcher
 
-  */
 
- const fsbx = require('fuse-box')
 
- const colors = require('colors/safe')
 
- const _ = require('lodash')
 
- // Parse cmd arguments
 
- const args = require('yargs')
 
-     .option('d', {
 
-       alias: 'dev',
 
-       describe: 'Start in Developer mode',
 
-       type: 'boolean'
 
-     })
 
-     .option('c', {
 
-       alias: 'dev-configure',
 
-       describe: 'Start in Configure Developer mode',
 
-       type: 'boolean'
 
-     })
 
-     .help('h')
 
-     .alias('h', 'help')
 
-     .argv
 
- if (args.d) {
 
-   // =============================================
 
-   // DEVELOPER MODE
 
-   // =============================================
 
-   console.info(colors.bgWhite.black(' Starting Fuse in DEVELOPER mode... '))
 
-   const nodemon = require('nodemon')
 
-   // Client
 
-   const fuse = fsbx.FuseBox.init({
 
-     homeDir: './client',
 
-     outFile: './assets/js/bundle.min.js',
 
-     alias: {
 
-       vue: 'vue/dist/vue.js'
 
-     },
 
-     plugins: [
 
-       [ fsbx.SassPlugin({ includePaths: ['../core'] }), fsbx.CSSPlugin() ],
 
-       fsbx.BabelPlugin({ comments: false, presets: ['es2015'] }),
 
-       fsbx.JSONPlugin()
 
-     ],
 
-     debug: false,
 
-     log: true
 
-   })
 
-   fuse.devServer('>index.js', {
 
-     port: 4444,
 
-     httpServer: false
 
-   })
 
-   // Server
 
-   _.delay(() => {
 
-     nodemon({
 
-       script: './server.js',
 
-       args: [],
 
-       ignore: ['assets/', 'client/', 'data/', 'repo/', 'tests/'],
 
-       ext: 'js json',
 
-       watch: [
 
-         'controllers',
 
-         'libs',
 
-         'locales',
 
-         'middlewares',
 
-         'models',
 
-         'agent.js',
 
-         'server.js'
 
-       ],
 
-       env: { 'NODE_ENV': 'development' }
 
-     })
 
-   }, 1000)
 
- } else if (args.c) {
 
-   // =============================================
 
-   // DEVELOPER MODE
 
-   // =============================================
 
-   console.info(colors.bgWhite.black(' Starting Fuse in CONFIGURE DEVELOPER mode... '))
 
-   const nodemon = require('nodemon')
 
-   // Client
 
-   const fuse = fsbx.FuseBox.init({
 
-     homeDir: './client',
 
-     outFile: './assets/js/configure.min.js',
 
-     alias: {
 
-       vue: 'vue/dist/vue.js'
 
-     },
 
-     plugins: [
 
-       [ fsbx.SassPlugin({ includePaths: ['../core'] }), fsbx.CSSPlugin() ],
 
-       fsbx.BabelPlugin({ comments: false, presets: ['es2015'] }),
 
-       fsbx.JSONPlugin()
 
-     ],
 
-     debug: false,
 
-     log: true
 
-   })
 
-   fuse.devServer('>configure.js', {
 
-     port: 4444,
 
-     httpServer: false
 
-   })
 
-   // Server
 
-   _.delay(() => {
 
-     nodemon({
 
-       exec: 'node wiki configure',
 
-       ignore: ['assets/', 'client/', 'data/', 'repo/', 'tests/'],
 
-       ext: 'js json',
 
-       watch: [
 
-         'configure.js'
 
-       ],
 
-       env: { 'NODE_ENV': 'development' }
 
-     })
 
-   }, 1000)
 
- } else {
 
-   // =============================================
 
-   // BUILD MODE
 
-   // =============================================
 
-   console.info(colors.bgWhite.black(' Starting Fuse in BUILD mode... '))
 
-   const fuse = fsbx.FuseBox.init({
 
-     homeDir: './client',
 
-     alias: {
 
-       vue: 'vue/dist/vue.js'
 
-     },
 
-     plugins: [
 
-       [ fsbx.SassPlugin({ outputStyle: 'compressed', includePaths: ['./node_modules/requarks-core'] }), fsbx.CSSPlugin() ],
 
-       fsbx.BabelPlugin({
 
-         config: {
 
-           comments: false,
 
-           presets: ['es2015']
 
-         }
 
-       }),
 
-       fsbx.JSONPlugin(),
 
-       fsbx.UglifyJSPlugin({
 
-         compress: { unused: false }
 
-       })
 
-     ],
 
-     debug: false,
 
-     log: true
 
-   })
 
-   fuse.bundle({
 
-     './assets/js/bundle.min.js': '>index.js',
 
-     './assets/js/configure.min.js': '>configure.js'
 
-   }).then(() => {
 
-     console.info(colors.green.bold('Assets compilation + bundling completed.'))
 
-   }).catch(err => {
 
-     console.error(colors.green.red(' X Bundle compilation failed! ' + err.message))
 
-     process.exit(1)
 
-   })
 
- }
 
 
  |