Skip to content

Commit

Permalink
Merge pull request #842 from stealjs/optional
Browse files Browse the repository at this point in the history
Make steal-tools.optimize config argument optional
  • Loading branch information
matthewp committed Sep 17, 2017
2 parents aba1262 + b358a68 commit b923be1
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
16 changes: 9 additions & 7 deletions lib/build/slim.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,26 @@ var write = require("../bundle/write_bundles").createWriteStream;
var writeBundlesManifest = require("../stream/write_bundle_manifest");
var graph = require("../graph/make_graph_with_bundles").createBundleGraphStream;

module.exports = function(config, options) {
module.exports = function(cfg, opts) {
var config = cfg !== undefined ? cfg : {};
var options = opts !== undefined ? opts : {};

var slimDfd = makeDeferred();
var buildOptions = assign({}, options);
var supportedTargets = ["web", "node", "worker"];

// minification is on by default
assign(buildOptions, {
minify: isUndefined(buildOptions.minify) ? true : buildOptions.minify
assign(options, {
minify: isUndefined(options.minify) ? true : options.minify
});

try {
options = assignDefaultOptions(config, buildOptions);
options = assignDefaultOptions(config, options);
} catch (err) {
return Promise.reject(err);
}

// fail early if an unknown target is passed in
var targets = arrify(buildOptions.target);
var targets = arrify(options.target);
if (difference(targets, supportedTargets).length) {
var unknown = difference(targets, supportedTargets);
return Promise.reject(
Expand All @@ -55,7 +57,7 @@ module.exports = function(config, options) {
}

var initialStream = pump(
graph(config, buildOptions),
graph(config, options),
buildType("optimize"),
filterGraph(),
checkSlimSupport(),
Expand Down
18 changes: 18 additions & 0 deletions test/slim_build_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,7 @@ describe("slim builds", function() {
});
});


it("rejects build promise if unknown target passed in", function(done) {
var base = path.join(__dirname, "slim", "basics");
var config = { config: path.join(base, "stealconfig.js") };
Expand All @@ -392,6 +393,23 @@ describe("slim builds", function() {
});
});

it("config argument is optional", function(done) {
// passing options to force the rejection due to unknown target
optimize(undefined, { quiet: true, target: "electron" })
.then(
function() {
done(new Error("build promise should not resolve"));
},
function(error) {
assert(
/Cannot create slim build/.test(error.message),
"Incorrect error message: " + error.message
);
done();
})
.catch(done);
});

it("writes targets in folders matching the target name", function() {
var base = path.join(__dirname, "slim", "basics");
var config = { config: path.join(base, "stealconfig.js") };
Expand Down

0 comments on commit b923be1

Please sign in to comment.