How to give an Order to the files compiled with coffeebar

94 views Asked by At

I would like to be able to include the file with a given order while compiling my coffeescript files into js with coffeebar.

I would like to have the files settings.coffee, constants.coffee included first

--
|-- settings.coffee
|-- constants.coffee
|-- page1.coffee
|-- page2.coffee

Code Snippet

fs         = require 'fs'
{exec, spawn}     = require 'child_process'
util       = require 'util'

task 'watch', 'Coffee bar Combine and build', ->
    coffee = spawn 'coffeebar', ['-w','-o','./../js/main/kc.js', './']
    coffee.stdout.on 'data', (data) ->
      console.log data.toString().trim()
      invoke 'minify'

task 'minify', ' Minify JS File', ->
  file = "./../js/main/kc"
  util.log "Minifiying #{file}.js"
  exec "uglifyjs #{file}.js > #{file}.min.js", (err,stdout,stderr) ->
    if err
      util.log "Error minifiying file"
      util.log err
    else
      util.log "Minified to #{file}.min.js"
      util.log '----------------------------'

For now the script is only compiling the whole thing together according to its own logic.

I would appreciate any help on this.

1

There are 1 answers

1
dajnz On BEST ANSWER

It seems like you have 3 potential solutions, but all of them not so elegant:

  • I'm not sure, but try to set inputPaths argument of coffeebar(inputPaths, [options]) as explicit array of paths with file names, where you can set order of array elements as you need

  • try to rename files with num prefixes like 01_settiings.coffee and so on, in order what you need, so coffeebar will process it in this order

  • you can use extra plugin, like rigger to include all files you need in desired sequence in one root file, and process this file with coffeebar