1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/env node
- fs = require 'fs'
- less = require 'less'
- args = process.argv.slice(1)
- options = {}
- args = args.filter (arg) ->
- match = arg.match(/^-I(.+)$/)
- if match
- options.paths.push(match[1]);
- return false
- match = arg.match(/^--?([a-z][\-0-9a-z]*)(?:=([^\s]+))?$/i)
- if match
- arg = match[1]
- else
- return arg
- switch arg
- when 'strict-imports' then options.strictImports = true
- when 'include-path'
- options.paths = match[2].split(if os.type().match(/Windows/) then ';' else ':')
- .map (p) ->
- if p
- return path.resolve(process.cwd(), p)
- when 'O0' then options.optimization = 0
- when 'O1' then options.optimization = 1
- when 'O2' then options.optimization = 2
- options.filename = args[1]
- parser = new(less.Parser) options
- fs.readFile(options.filename, 'utf-8', (err,data) ->
- parser.parse(data, (err, tree) ->
- if err
- less.writeError err
- process.exit(1)
- )
- )
|