This commit is contained in:
Leo Horie 2016-12-01 01:45:07 -05:00
parent f7c187eec9
commit 713c25c9c0
24 changed files with 437 additions and 629 deletions

View file

@ -32,8 +32,9 @@ function run(input, output) {
def = def || "", variable = variable || "", eq = eq || "", rest = rest || ""
if (def[0] === ",") def = "\nvar ", pre = "\n"
var dependency = resolve(filepath, filename)
var code = process(dependency, pre + (modules[dependency] == null ? exportCode(filename, dependency, def, variable, eq, rest, uuid) : def + variable + eq + modules[dependency]))
modules[dependency] = rest ? "_" + uuid : variable
var localUUID = uuid // global uuid can update from nested `process` call, ensure same id is used on declaration and consumption
var code = process(dependency, pre + (modules[dependency] == null ? exportCode(filename, dependency, def, variable, eq, rest, localUUID) : def + variable + eq + modules[dependency]))
modules[dependency] = rest ? "_" + localUUID : variable
uuid++
return code + rest
})
@ -116,7 +117,7 @@ function run(input, output) {
code = "new function() {\n" + code + "\n}"
if (!isFile(output) || code !== read(output)) {
try {new Function(code); console.log("build completed at " + new Date())} catch (e) {}
//try {new Function(code); console.log("build completed at " + new Date())} catch (e) {}
error = null
fs.writeFileSync(output, code, "utf8")
}
@ -129,7 +130,7 @@ function run(input, output) {
module.exports = function(input, output, options) {
run(input, output)
if (options && options.watch) {
fs.watch(process.cwd(), {recursive: true}, function(file) {
fs.watch(process.cwd(), {recursive: true}, function(file, type) {
if (typeof file === "string" && path.resolve(output) !== path.resolve(file)) run(input, output)
})
}