Skip to content

Commit 99bcf36

Browse files
authored
Use options.cwd when loading plugins
When loading plugins, ```options.cwd``` is ignored in favour of ```process.cwd()```. This results in hideous errors when one specifies cwd in the ```options``` which is different from ```process.cwd()```
1 parent b03c3f0 commit 99bcf36

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

index.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ var log = require('db-migrate-shared').log;
55

66
exports.dataType = require('db-migrate-shared').dataType;
77

8-
function loadPluginList () {
8+
function loadPluginList (options) {
99
var plugins = JSON.parse(
10-
fs.readFileSync(path.join(process.cwd(), 'package.json'), 'utf-8')
10+
fs.readFileSync(path.join(options.cwd, 'package.json'), 'utf-8')
1111
);
1212
var targets = [];
1313

@@ -20,14 +20,14 @@ function loadPluginList () {
2020
return targets;
2121
}
2222

23-
function loadPlugins () {
24-
var plugins = loadPluginList();
23+
function loadPlugins (options) {
24+
var plugins = loadPluginList(options);
2525
var i = 0;
2626
var length = plugins.length;
2727
var hooks = {};
2828

2929
for (; i < length; ++i) {
30-
var plugin = require(path.join(process.cwd(), 'node_modules', plugins[i]));
30+
var plugin = require(path.join(options.cwd, 'node_modules', plugins[i]));
3131

3232
if (
3333
typeof plugin.name !== 'string' ||
@@ -51,9 +51,11 @@ module.exports.getInstance = function (isModule, options, callback) {
5151
delete require.cache[require.resolve('optimist')];
5252
var Mod = require('./api.js');
5353
var plugins = {};
54-
54+
55+
var options_ = options || {};
56+
options_.cwd = options.cwd || process.cwd;
5557
try {
56-
if (!options || !options.noPlugins) plugins = loadPlugins();
58+
if (!options || !options.noPlugins) plugins = loadPlugins(options_);
5759
} catch (ex) {
5860
log.warn(ex);
5961
}

0 commit comments

Comments
 (0)