Skip to content

Commit

Permalink
Merge pull request #6177 from spalger/implement/supportPluginsAnywhere
Browse files Browse the repository at this point in the history
optimizer - allow out-of-band plugins
  • Loading branch information
spalger committed Feb 12, 2016
2 parents f46f2b5 + cd09048 commit 8023a36
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
12 changes: 9 additions & 3 deletions src/cli/cluster/cluster_manager.js
Expand Up @@ -63,7 +63,13 @@ module.exports = class ClusterManager {

bindAll(this, 'onWatcherAdd', 'onWatcherError', 'onWatcherChange');

if (opts.watch) this.setupWatching();
if (opts.watch) {
this.setupWatching([
...settings.plugins.paths,
...settings.plugins.scanDirs
]);
}

else this.startCluster();
}

Expand All @@ -75,7 +81,7 @@ module.exports = class ClusterManager {
}
}

setupWatching() {
setupWatching(extraPaths) {
const chokidar = require('chokidar');
const utils = require('requirefrom')('src/utils');
const fromRoot = utils('fromRoot');
Expand All @@ -86,7 +92,7 @@ module.exports = class ClusterManager {
'src/ui',
'src/utils',
'config',
'installedPlugins'
...extraPaths
], {
cwd: fromRoot('.'),
ignored: /[\\\/](\..*|node_modules|bower_components|public|__tests__)[\\\/]/
Expand Down
16 changes: 12 additions & 4 deletions src/optimize/BaseOptimizer.js
Expand Up @@ -4,14 +4,14 @@ import DirectoryNameAsMain from 'webpack-directory-name-as-main';
import ExtractTextPlugin from 'extract-text-webpack-plugin';
import CommonsChunkPlugin from 'webpack/lib/optimize/CommonsChunkPlugin';

let utils = require('requirefrom')('src/utils');
let fromRoot = utils('fromRoot');
import fromRoot from '../utils/fromRoot';
import babelOptions from './babelOptions';
import { inherits } from 'util';
import { defaults } from 'lodash';
import { defaults, transform } from 'lodash';
import { resolve } from 'path';
import { writeFile } from 'fs';
let babelExclude = [/[\/\\](webpackShims|node_modules|bower_components)[\/\\]/];
import pkg from '../../package.json';

class BaseOptimizer {
constructor(opts) {
Expand Down Expand Up @@ -133,12 +133,20 @@ class BaseOptimizer {
resolve: {
extensions: ['.js', '.json', '.jsx', '.less', ''],
postfixes: [''],
modulesDirectories: ['webpackShims', 'node_modules'],
modulesDirectories: ['webpackShims', 'node_modules', fromRoot('webpackShims'), fromRoot('node_modules')],
loaderPostfixes: ['-loader', ''],
root: fromRoot('.'),
alias: this.env.aliases,
unsafeCache: this.unsafeCache,
},

resolveLoader: {
alias: transform(pkg.dependencies, function (aliases, version, name) {
if (name.endsWith('-loader')) {
aliases[name.replace(/-loader$/, '')] = require.resolve(name);
}
}, {})
}
};
}

Expand Down
2 changes: 2 additions & 0 deletions src/optimize/babelOptions.js
Expand Up @@ -12,3 +12,5 @@ exports.webpack = {
};

exports.node = cloneDeep(exports.webpack);
exports.node.optional = ['asyncToGenerator'];
exports.node.blacklist = ['regenerator'];

0 comments on commit 8023a36

Please sign in to comment.