Skip to content

Commit 7a9f650

Browse files
committed
show an error if there's an undefined reference
1 parent 33f7e9d commit 7a9f650

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

index.js

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,33 @@ module.exports = function (browserify, options) {
166166

167167
loader.fetch(relFilename, '/').then(function (tokens) {
168168
var deps = loader.deps.dependenciesOf(filename);
169-
var output = deps.map(function (f) {
170-
return "require('" + f + "')\n"
171-
}) + '\n\n' + 'module.exports = ' + JSON.stringify(tokens);
169+
var output = [
170+
deps.map(function (f) {
171+
return "require('" + f + "')"
172+
}).join('\n'),
173+
'module.exports = ' + JSON.stringify(tokens)
174+
].join('\n');
175+
176+
var isValid = true;
177+
var isUndefined = /\bundefined\b/;
178+
Object.keys(tokens).forEach(function (k) {
179+
if (isUndefined.test(tokens[k])) {
180+
isValid = false;
181+
}
182+
});
183+
184+
if (!isValid) {
185+
var err = 'Composition in ' + filename + ' contains an undefined reference';
186+
console.error(err)
187+
output += '\nconsole.error("' + err + '");';
188+
}
172189

173190
assign(tokensByFile, loader.tokensByFile);
174191

175192
self.push(output);
176193
return callback()
177-
}, function (err) {
194+
}).catch(function (err) {
195+
self.push('console.error("' + err + '");');
178196
browserify.emit('error', err);
179197
return callback()
180198
});

0 commit comments

Comments
 (0)