Description
When the file I require() is empty CouchDB throws an error.
{"error":"compilation_error","reason":"Module require('kanso/core') raised error [\"error\", \"compilation_error\", \"Module require('lib/app') raised error [\\\"error\\\", \\\"invalid_require_path\\\", \\\"Object has no property \\\\\\\"views\\\\\\\". {\\\\\\\"views\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"app\\\\\\\":\\\\\\\"/**\\\\\\\\u000a * Values exported from this module will automatically be used to generate\\\\\\\\u000a * the design doc pushed to CouchDB.\\\\\\\\u000a */\\\\\\\\u000a\\\\\\\\u000amodule.exports =
{\\\\\\\\u000a types: require('./types'),\\\\\\\\u000a shows: require('./shows'),\\\\\\\\u000a lists: require('./lists'),\\\\\\\\u000a views: require('./views'),\\\\\\\\u000a updates: require('./updates'),\\\\\\\\u000a filters: require('./filters'),\\\\\\\\u000a rewrites: require('./rewrites'),\\\\\\\\u000a validate_doc_update: require('./validate'),\\\\\\\\u000a events: require('./events')\\\\\\\\u000a};\\\\\\\\u000a\\\\\\\",\\\\\\\"events\\\\\\\":\\\\\\\"/*\\\\\\\\u000a * Bindings to Kanso events\\\\\\\\u000a */\\\\\\\\u000a\\\\\\\\u000avar events = require('kanso/events');\\\\\\\\u000a\\\\\\\\u000a\\\\\\\\u000a/\\\\\\\\u000a * The init method fires when the app is initially loaded from a page rendered\\\\\\\\u000a * by CouchDB.\\\\\\\\u000a */\\\\\\\\u000a\\\\\\\\u000a/*\\\\\\\\u000a * events.on('init', function ()
{\\\\\\\\u000a * // app initialization code goes here...\\\\\\\\u000a * });\\\\\\\\u000a /\\\\\\\\u000a\\\\\\\\u000a\\\\\\\\u000a/\\\\\\\\u000a * The sessionChange event fires when the app is first loaded and the user's\\\\\\\\u000a * session information becomes available. It is also fired whenever a change\\\\\\\\u000a * to the user's session is detected, for example after logging in or out.\\\\\\\\u000a */\\\\\\\\u000a\\\\\\\\u000a/*\\\\\\\\u000a * events.on('sessionChange', function (userCtx, req)
{\\\\\\\\u000a * // session change handling code goes here...\\\\\\\\u000a * });\\\\\\\\u000a /\\\\\\\\u000a\\\\\\\\u000a\\\\\\\\u000a/*\\\\\\\\u000a * The updateFailure event fires when an update function returns a document as\\\\\\\\u000a * the first part of an array, but the client-side request to update the\\\\\\\\u000a * document fails.\\\\\\\\u000a */\\\\\\\\u000a\\\\\\\\u000aevents.on('updateFailure', function (err, info, req, res, doc)
{\\\\\\\\u000a alert(err.message || err.toString());\\\\\\\\u000a});\\\\\\\\u000a\\\\\\\",\\\\\\\"filters\\\\\\\":\\\\\\\"/*\\\\\\\\u000a * \\\\\\\\u000a */\\\\\\\",\\\\\\\"lists\\\\\\\":\\\\\\\"/*\\\\\\\\u000a * Lists\\\\\\\\u000a */\\\\\\\",\\\\\\\"rewrites\\\\\\\":\\\\\\\"//-----------------------------------------------------------------------------\\\\\\\\u000a// Init\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000a// Rewrites\\\\\\\\u000a//-----------------------------------------------------------------------------\\\\\\\\u000amodule.exports = [
,
{\\\\\\\\u000a \\\\\\\\\\\\\\\"method\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"*\\\\\\\\\\\\\\\",\\\\\\\\u000a \\\\\\\\\\\\\\\"from\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"*\\\\\\\\\\\\\\\",\\\\\\\\u000a \\\\\\\\\\\\\\\"to\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"../../../*\\\\\\\\\\\\\\\"\\\\\\\\u000a}];\\\\\\\",\\\\\\\"shows\\\\\\\":\\\\\\\"//-----------------------------------------------------------------------------\\\\\\\\u000a// Init\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000avar templates = require('kanso/templates');\\\\\\\\u000a\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000a// Shows\\\\\\\\u000a//-----------------------------------------------------------------------------\\\\\\\\u000aexports.tests = function(doc, req) {\\\\\\\\u000a\\\\\\\\u000a var scripts = templates.render('tests.html', req, {});\\\\\\\\u000a \\\\\\\\u000a var body = templates.render('base.html', req,
);\\\\\\\\u000a\\\\\\\\u000a return {\\\\\\\\u000a \\\\\\\\\\\\\\\"headers\\\\\\\\\\\\\\\":
{\\\\\\\\u000a \\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"text/html\\\\\\\\\\\\\\\"\\\\\\\\u000a },\\\\\\\\u000a \\\\\\\\\\\\\\\"body\\\\\\\\\\\\\\\": body\\\\\\\\u000a };\\\\\\\\u000a\\\\\\\\u000a};\\\\\\\\u000a\\\\\\\\u000aexports.not_found = function(doc, req) {\\\\\\\\u000a return {\\\\\\\\u000a \\\\\\\\\\\\\\\"title\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"404 - Not Found\\\\\\\\\\\\\\\",\\\\\\\\u000a \\\\\\\\\\\\\\\"content\\\\\\\\\\\\\\\": templates.render('404.html', req, {})\\\\\\\\u000a };\\\\\\\\u000a};\\\\\\\",\\\\\\\"types\\\\\\\":\\\\\\\"/*\\\\\\\\u000a * \\\\\\\\u000a */\\\\\\\",\\\\\\\"updates\\\\\\\":\\\\\\\"/\\\\\\\\u000a * \\\\\\\\u000a */\\\\\\\",\\\\\\\"validate\\\\\\\":\\\\\\\"//-----------------------------------------------------------------------------\\\\\\\\u000a// Init\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000avar types = require('kanso/types'),\\\\\\\\u000a app_types = require('./types');\\\\\\\\u000a\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000a// Validate\\\\\\\\u000a//----------------------------------------------------------------------------\\\\\\\\u000a/*\\\\\\\\u000aValidates document to be created/updated.\\\\\\\\u000a\\\\\\\\u000aValidation\\\\\\\\u000a--------\\\\\\\\u000a One per design document\\\\\\\\u000a- If multiple validation functions exist for a database, all of them will be run. If one throws error the create/update is blocked.\\\\\\\\u000a\\\\\\\\u000aFunctions used inside the validate function\\\\\\\\u000a------------------------------------------\\\\\\\\u000a throw(
) // Throws an unauthorized error and blocks the update.\\\\\\\\u000a- throw(
{forbidden: message}) // Throws a forbidden error and blocks the update.\\\\\\\\u000a\\\\\\\\u000a\\\\\\\\u000a@param
{Object} newDoc Document from the client.\\\\\\\\u000a@param {Object}oldDoc Existing document in the database.\\\\\\\\u000a@param
{Object}userCtx User information.\\\\\\\\u000a**/\\\\\\\\u000amodule.exports = function(newDoc, oldDoc, userCtx)
{\\\\\\\\u000a types.validate_doc_update(app_types, newDoc, oldDoc, userCtx);\\\\\\\\u000a};\\\\\\\"}\\\"]\"]"}
When I add a comment in it the error disappears.