Skip to content

Commit 638c18b

Browse files
committed
Breaking: Rename events to be more specific
1 parent 2ce73f6 commit 638c18b

File tree

6 files changed

+100
-71
lines changed

6 files changed

+100
-71
lines changed

README.md

+39-7
Original file line numberDiff line numberDiff line change
@@ -446,24 +446,24 @@ A function called after your application is executed. When invoked, `this` will
446446

447447
### events
448448

449-
#### beforeRequire(name)
449+
#### `on('preload:before', function(name) {})`
450450

451451
Emitted before a module is pre-load. (But for only a module which is specified by `opts.require`.)
452452

453453
```js
454454
var Hacker = new Liftoff({name:'hacker', require:'coffee-script'});
455-
Hacker.on('beforeRequire', function (name) {
455+
Hacker.on('preload:before', function (name) {
456456
console.log('Requiring external module: '+name+'...');
457457
});
458458
```
459459

460-
#### require(name, module)
460+
#### `on('preload:success', function(name, module) {})`
461461

462462
Emitted when a module has been pre-loaded.
463463

464464
```js
465465
var Hacker = new Liftoff({name:'hacker'});
466-
Hacker.on('require', function (name, module) {
466+
Hacker.on('preload:success', function (name, module) {
467467
console.log('Required external module: '+name+'...');
468468
// automatically register coffee-script extensions
469469
if (name === 'coffee-script') {
@@ -472,18 +472,50 @@ Hacker.on('require', function (name, module) {
472472
});
473473
```
474474

475-
#### requireFail(name, err)
475+
#### `on('preload:failure', function(name, err) {})`
476476

477477
Emitted when a requested module cannot be preloaded.
478478

479479
```js
480480
var Hacker = new Liftoff({name:'hacker'});
481-
Hacker.on('requireFail', function (name, err) {
481+
Hacker.on('preload:failure', function (name, err) {
482482
console.log('Unable to load:', name, err);
483483
});
484484
```
485485

486-
#### respawn(flags, child)
486+
#### `on('loader:success, function(name, module) {})`
487+
488+
Emitted when a loader that matches an extension has been loaded.
489+
490+
```js
491+
var Hacker = new Liftoff({
492+
name: 'hacker',
493+
extensions: {
494+
'.ts': 'ts-node/register'
495+
}
496+
});
497+
Hacker.on('loader:success', function (name, module) {
498+
console.log('Required external module: '+name+'...');
499+
});
500+
```
501+
502+
#### `on('loader:failure', function(name, err) {})`
503+
504+
Emitted when no loader for an extension can be loaded. Emits an error for each failed loader.
505+
506+
```js
507+
var Hacker = new Liftoff({
508+
name: 'hacker',
509+
extensions: {
510+
'.ts': 'ts-node/register'
511+
}
512+
});
513+
Hacker.on('loader:failure', function (name, err) {
514+
console.log('Unable to load:', name, err);
515+
});
516+
```
517+
518+
#### `on('respawn', function(flags, child) {})`
487519

488520
Emitted when Liftoff re-spawns your process (when a [`v8flags`](#optsv8flags) is detected).
489521

index.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ util.inherits(Liftoff, EE);
2626

2727
Liftoff.prototype.requireLocal = function(module, basedir) {
2828
try {
29-
this.emit('beforeRequire', module);
29+
this.emit('preload:before', module);
3030
var result = require(resolve.sync(module, { basedir: basedir }));
31-
this.emit('require', module, result);
31+
this.emit('preload:success', module, result);
3232
return result;
3333
} catch (e) {
34-
this.emit('requireFail', module, e);
34+
this.emit('preload:failure', module, e);
3535
}
3636
};
3737

lib/register_loader.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module.exports = function(eventEmitter, extensions, configPath, cwd) {
1010
var autoloads = rechoir.prepare(extensions, configPath, cwd, true);
1111
if (autoloads instanceof Error) { // Only errors
1212
autoloads.failures.forEach(function(failed) {
13-
eventEmitter.emit('requireFail', failed.moduleName, failed.error);
13+
eventEmitter.emit('loader:failure', failed.moduleName, failed.error);
1414
});
1515
return;
1616
}
@@ -20,5 +20,5 @@ module.exports = function(eventEmitter, extensions, configPath, cwd) {
2020
}
2121

2222
var succeeded = autoloads[autoloads.length - 1];
23-
eventEmitter.emit('require', succeeded.moduleName, succeeded.module);
23+
eventEmitter.emit('loader:success', succeeded.moduleName, succeeded.module);
2424
};

test/fixtures/respawn_and_require.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Test.on('respawn', function(flags, proc) {
99
console.log('saw respawn', flags);
1010
});
1111

12-
Test.on('require', function(name) {
13-
console.log('require', name);
12+
Test.on('preload:success', function(name) {
13+
console.log('preload:success', name);
1414
});
1515

1616
Test.prepare({

test/index.js

+21-24
Original file line numberDiff line numberDiff line change
@@ -274,18 +274,18 @@ describe('Liftoff', function() {
274274
it('should attempt pre-loading local modules if they are requested', function(done) {
275275
var app = new Liftoff({ name: 'test' });
276276
var logs = [];
277-
app.on('require', function(moduleName, module) {
277+
app.on('preload:success', function(moduleName, module) {
278278
expect(moduleName).to.equal('coffeescript/register');
279279
expect(module).to.equal(require('coffeescript/register'));
280-
logs.push('require');
280+
logs.push('preload:success');
281281
});
282-
app.on('requireFail', function(moduleName, err) {
282+
app.on('preload:failure', function(moduleName, err) {
283283
done(err);
284284
});
285285
app.prepare({ require: ['coffeescript/register'] }, function(env) {
286286
app.execute(env, function(env) {
287287
expect(env.require).to.deep.equal(['coffeescript/register']);
288-
expect(logs).to.deep.equal(['require']);
288+
expect(logs).to.deep.equal(['preload:success']);
289289
done();
290290
});
291291
});
@@ -294,18 +294,18 @@ describe('Liftoff', function() {
294294
it('should attempt pre-loading a local module if it is requested', function(done) {
295295
var app = new Liftoff({ name: 'test' });
296296
var logs = [];
297-
app.on('require', function(moduleName, module) {
297+
app.on('preload:success', function(moduleName, module) {
298298
expect(moduleName).to.equal('coffeescript/register');
299299
expect(module).to.equal(require('coffeescript/register'));
300-
logs.push('require');
300+
logs.push('preload:success');
301301
});
302-
app.on('requireFail', function(moduleName, err) {
302+
app.on('preload:failure', function(moduleName, err) {
303303
done(err);
304304
});
305305
app.prepare({ require: 'coffeescript/register' }, function(env) {
306306
app.execute(env, function(env) {
307307
expect(env.require).to.deep.equal(['coffeescript/register']);
308-
expect(logs).to.deep.equal(['require']);
308+
expect(logs).to.deep.equal(['preload:success']);
309309
done();
310310
});
311311
});
@@ -314,18 +314,15 @@ describe('Liftoff', function() {
314314
it('should attempt pre-loading local modules but fail', function(done) {
315315
var app = new Liftoff({ name: 'test' });
316316
var logs = [];
317-
app.on('require', function(/* moduleName, module */) {
318-
done();
319-
});
320-
app.on('requireFail', function(moduleName, err) {
317+
app.on('preload:failure', function(moduleName, err) {
321318
expect(moduleName).to.equal('badmodule');
322319
expect(err).to.not.equal(null);
323-
logs.push('requireFail');
320+
logs.push('preload:failure');
324321
});
325322
app.prepare({ require: 'badmodule' }, function(env) {
326323
app.execute(env, function(env) {
327324
expect(env.require).to.deep.equal(['badmodule']);
328-
expect(logs).to.deep.equal(['requireFail']);
325+
expect(logs).to.deep.equal(['preload:failure']);
329326
done();
330327
});
331328
});
@@ -340,21 +337,21 @@ describe('Liftoff', function() {
340337
expect(stderr).to.equal('');
341338
expect(stdout).to.equal(
342339
'saw respawn [ \'--lazy\' ]\n' +
343-
'require coffeescript/register\n' +
340+
'preload:success coffeescript/register\n' +
344341
'execute\n' +
345342
'');
346343
done();
347344
}
348345
});
349346

350-
it('should emit `beforeRequire` and `require` with the name of the module and the required module', function(done) {
347+
it('should emit `preload:before` and `preload:success` with the name of the module and the required module', function(done) {
351348
var requireTest = new Liftoff({ name: 'require' });
352349
var isEmittedBeforeRequired = false;
353-
requireTest.on('beforeRequire', function(name) {
350+
requireTest.on('preload:before', function(name) {
354351
expect(name).to.equal('mocha');
355352
isEmittedBeforeRequired = true;
356353
});
357-
requireTest.on('require', function(name, module) {
354+
requireTest.on('preload:success', function(name, module) {
358355
expect(name).to.equal('mocha');
359356
expect(module).to.equal(require('mocha'));
360357
expect(isEmittedBeforeRequired).to.equal(true);
@@ -363,14 +360,14 @@ describe('Liftoff', function() {
363360
requireTest.requireLocal('mocha', __dirname);
364361
});
365362

366-
it('should emit `beforeRequire` and `requireFail` with an error if a module can\'t be found.', function(done) {
367-
var requireFailTest = new Liftoff({ name: 'requireFail' });
363+
it('should emit `preload:before` and `preload:failure` with an error if a module can\'t be found.', function(done) {
364+
var requireFailTest = new Liftoff({ name: 'preload:failure' });
368365
var isEmittedBeforeRequired = false;
369-
requireFailTest.on('beforeRequire', function(name) {
366+
requireFailTest.on('preload:before', function(name) {
370367
expect(name).to.equal('badmodule');
371368
isEmittedBeforeRequired = true;
372369
});
373-
requireFailTest.on('requireFail', function(name) {
370+
requireFailTest.on('preload:failure', function(name) {
374371
expect(name).to.equal('badmodule');
375372
expect(isEmittedBeforeRequired).to.equal(true);
376373
done();
@@ -550,10 +547,10 @@ describe('Liftoff', function() {
550547
},
551548
},
552549
});
553-
app.on('requireFail', function(moduleName, error) {
550+
app.on('loader:failure', function(moduleName, error) {
554551
logFailure.push({ moduleName: moduleName, error: error });
555552
});
556-
app.on('require', function(moduleName, module) {
553+
app.on('loader:success', function(moduleName, module) {
557554
logRequire.push({ moduleName: moduleName, module: module });
558555
});
559556
app.prepare({}, function(env) {

0 commit comments

Comments
 (0)