daisho-sdk
Version:
sdk component for daisho
94 lines (72 loc) • 2.34 kB
text/coffeescript
fs = require 'fs'
path = require 'path'
exec = require('executive').interactive
requisite = require 'requisite'
bundles =
'index.js':
entry: 'src/index.coffee'
globalRequire: true
includeAsync: true
regex: /src\//
compileCoffee = (src) ->
src = src.replace process.cwd(), ''
for dest, opts of bundles
if opts.regex.test src
return requisite.bundle opts, (err, bundle) ->
return console.error err if err?
fs.writeFileSync dest, bundle.toString(), 'utf8'
console.log 'compiled ' + dest
module.exports =
port: 4242
fallback: 'example/index.html'
cwd: process.cwd()
exclude: [
/lib/
/node_modules/
/vendor/
]
compilers:
css: -> false
coffee: compileCoffee
styl: (src, dst) ->
CleanCSS = require 'clean-css'
autoprefixer = require 'autoprefixer'
comments = require 'postcss-discard-comments'
lost = require 'lost-stylus'
postcss = require 'poststylus'
rupture = require 'rupture'
stylus = require 'stylus'
src = 'example/css/main.styl'
dst = 'example/css/main.css'
style = stylus fs.readFileSync src, 'utf8'
.set 'filename', src
.set 'include css', true
.set 'sourcemap',
basePath: ''
sourceRoot: '../'
.use lost()
.use rupture()
.use postcss [
autoprefixer browsers: '> 1%'
'lost'
'rucksack-css'
'css-mqpacker'
comments removeAll: true
]
style.render (err, css) ->
return console.error err if err
sourceMapURL = (path.basename dst) + '.map'
unless process.env.PRODUCTION
css = css + "/*# sourceMappingURL=#{sourceMapURL} */"
fs.writeFile dst, css, 'utf8'
fs.writeFile dst + '.map', JSON.stringify style.sourcemap, 'utf8'
return
minified = new CleanCSS
semanticMerging: false
# sourceMap: style.sourcemap
.minify css
fs.writeFile dst, minified.styles, 'utf8'
# styles = minified.styles + "/*# sourceMappingURL=#{sourceMapURL} */"
# fs.writeFileSync dst, styles, 'utf8'
# fs.writeFileSync dst + '.map', minified.sourceMap, 'utf8'
true