Skip to content

Commit a1596fb

Browse files
committed
Use node-interpret to import configuration in various formats.
1 parent 0431b74 commit a1596fb

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

bin/convert-argv.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ var path = require("path");
22
var fs = require("fs");
33
fs.existsSync = fs.existsSync || path.existsSync;
44
var resolve = require("enhanced-resolve");
5+
var interpret = require('interpret');
56

67
module.exports = function(optimist, argv, convertOptions) {
78

@@ -27,6 +28,16 @@ module.exports = function(optimist, argv, convertOptions) {
2728
}
2829

2930
if(argv.config) {
31+
var ext = path.extname(argv.config);
32+
if (Object.keys(require.extensions).indexOf(ext) === -1) {
33+
var moduleName = interpret.extensions[ext];
34+
var compiler = require(moduleName);
35+
var register = interpret.register[moduleName];
36+
var config = interpret.configurations[moduleName];
37+
if (register) {
38+
register(compiler, config);
39+
}
40+
}
3041
options = require(path.resolve(argv.config));
3142
} else {
3243
var configPath = path.resolve("webpack.config.js");

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and your custom stuff.",
66
"dependencies": {
77
"esprima": "~1.2.0",
8+
"interpret": "^0.5.2",
89
"mkdirp": "~0.5.0",
910
"optimist": "~0.6.0",
1011
"uglify-js": "~2.4.13",

0 commit comments

Comments
 (0)