fix bundler-options

This commit is contained in:
David Glasser
2014-11-24 17:44:55 -08:00
parent 02856bca84
commit 5622d3384e
2 changed files with 28 additions and 35 deletions

View File

@@ -11,7 +11,6 @@
var _ = require('underscore');
var Future = require('fibers/future');
var consolejs = require('./console.js');
var Progress = function (options) {
var self = this;
@@ -149,7 +148,7 @@ _.extend(Progress.prototype, {
self._updateTotalState();
// Nudge the spinner/progress bar, but don't yield (might not be safe to yield)
consolejs.Console.nudge(false);
require('./console.js').Console.nudge(false);
self._notifyState();
},

View File

@@ -2,13 +2,14 @@ var _ = require('underscore');
var path = require('path');
var fs = require('fs');
var assert = require('assert');
var utils = require('../../utils.js');
var bundler = require('../../bundler.js');
var release = require('../../release.js');
var files = require('../../files.js');
var catalog = require('../../catalog.js');
var project = require('../../project.js');
var buildmessage = require('../../buildmessage.js');
var isopackets = require("../../isopackets.js");
var projectContextModule = require('../../project-context.js');
// an empty app. notably this app has no .meteor/release file.
var emptyAppDir = path.join(__dirname, 'empty-app');
@@ -18,23 +19,21 @@ var tmpDir = function () {
return (lastTmpDir = files.mkdtemp());
};
var setAppDir = function (appDir) {
project.project.setRootDir(appDir);
if (files.usesWarehouse()) {
var makeProjectContext = function (appDir) {
if (! files.inCheckout()) {
throw Error("This old test doesn't support non-checkout");
}
var appPackageDir = path.join(appDir, 'packages');
var checkoutPackageDir = path.join(
files.getCurrentToolsDir(), 'packages');
isopackets.ensureIsopacketsLoadable();
doOrThrow(function () {
catalog.complete.initialize({
localPackageSearchDirs: [appPackageDir, checkoutPackageDir]
});
var projectDir = files.mkdtemp("my-app");
files.cp_r(emptyAppDir, projectDir);
var projectContext = new projectContextModule.ProjectContext({
projectDir: projectDir
});
doOrThrow(function () {
projectContext.prepareProjectForBuild();
});
return projectContext;
};
var doOrThrow = function (f) {
@@ -49,9 +48,9 @@ var doOrThrow = function (f) {
};
var runTest = function () {
// As preparation, let's initialize the official catalog. It servers as our
// data store, so we will probably need it.
catalog.official.initialize();
// As preparation, let's initialize the official catalog. It servers as our
// data store, so we will probably need it.
catalog.official.initialize();
var readManifest = function (tmpOutputDir) {
return JSON.parse(fs.readFileSync(
@@ -59,22 +58,15 @@ var runTest = function () {
"utf8")).manifest;
};
setAppDir(emptyAppDir);
var loader;
var messages = buildmessage.capture(function () {
loader = project.project.getPackageLoader();
});
if (messages.hasMessages()) {
throw Error("failed to get package loader: " + messages.formatMessages());
}
var projectContext = makeProjectContext(emptyAppDir);
console.log("nodeModules: 'skip'");
console.log("basic version");
assert.doesNotThrow(function () {
var tmpOutputDir = tmpDir();
var result = bundler.bundle({
projectContext: projectContext,
outputPath: tmpOutputDir,
buildOptions: { minify: true },
packageLoader: loader
buildOptions: { minify: true }
});
assert.strictEqual(result.errors, false, result.errors && result.errors[0]);
@@ -99,13 +91,13 @@ var runTest = function () {
});
});
console.log("nodeModules: 'skip', no minify");
console.log("no minify");
assert.doesNotThrow(function () {
var tmpOutputDir = tmpDir();
var result = bundler.bundle({
projectContext: projectContext,
outputPath: tmpOutputDir,
buildOptions: { minify: false },
packageLoader: loader
buildOptions: { minify: false }
});
assert.strictEqual(result.errors, false);
@@ -137,9 +129,9 @@ var runTest = function () {
assert.doesNotThrow(function () {
var tmpOutputDir = tmpDir();
var result = bundler.bundle({
projectContext: projectContext,
outputPath: tmpOutputDir,
includeNodeModulesSymlink: true,
packageLoader: loader
includeNodeModulesSymlink: true
});
assert.strictEqual(result.errors, false);
@@ -163,6 +155,8 @@ var Fiber = require('fibers');
Fiber(function () {
release._setCurrentForOldTest();
isopackets.ensureIsopacketsLoadable();
try {
runTest();
} catch (err) {