 
 # This object will be written out as JSON at the end 
 outputObj = 
-  version: OUTPUT_VERSION
+  fileVersion: OUTPUT_VERSION
   model: {}
   layout: {}
   actions: {}


# Actions are a JS file that needs to be parsed
parsedActions = esprima.parse(fs.readFileSync(path.join(inputDir, "actions.js"), { encoding: "utf8" }))
# TODO: remove references to "this"
outputObj.actions = parsedToObj(parsedActions.body[0].expression)

# Copy over layout JSON
outputObj.layout = JSON.parse(fs.readFileSync(path.join(inputDir, "layout.json"), { encoding: "utf8" }))

      obj = {}
      for property in parsed.properties
        propertyName = property.key.name || property.key.value
        obj[propertyName] = parsedToObj(property.value, codeTransformer)
      return obj
    when "FunctionExpression" 
      # Don't include the upper-level BlockStatement
      return (codeTransformer(escodegen.generate(body, CODE_GENERATION_OPTIONS)) for body in parsed.body.body).join("\n")
    else
      util.error("How do I handle parsed type #{parsed.type}?")
      process.exit(2)
