diff --git a/test/test.js b/test/test.js index c8bf933..cb5883b 100644 --- a/test/test.js +++ b/test/test.js @@ -11,6 +11,7 @@ process.cwd = function () { }; //require NPMCI files var NpmciBuildDocker = require("../dist/npmci.build.docker"); +var NpmciTest = require("../dist/npmci.test"); var dockerfile1; var dockerfile2; var sortableArray; @@ -45,6 +46,23 @@ describe("NPMCI", function () { }); }); }); + describe(".test.npm", function () { + it("should source nvm using bash and install a specific node version", function (done) { + NpmciTest.test("legacy") + .then(function () { + return NpmciTest.test("lts"); + }) + .then(function () { + return NpmciTest.test("stable"); + }) + .then(function () { + return NpmciTest.test("docker"); + }) + .then(function () { + done(); + }); + }); + }); }); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUNoQixJQUFPLElBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUM5QixJQUFZLFNBQVMsV0FBTSxXQUUzQixDQUFDLENBRnFDO0FBQ3RDLG9CQUFvQjtBQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyx1REFBdUQsQ0FBQztBQUNwRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDaEMsT0FBTyxDQUFDLEdBQUcsR0FBRztJQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxTQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFRixxQkFBcUI7QUFDckIsSUFBTyxnQkFBZ0IsV0FBVyw0QkFBNEIsQ0FBQyxDQUFDO0FBR2hFLElBQUksV0FBdUMsQ0FBQztBQUM1QyxJQUFJLFdBQXVDLENBQUM7QUFDNUMsSUFBSSxhQUEyQyxDQUFDO0FBRWhELFFBQVEsQ0FBQyxPQUFPLEVBQUM7SUFDYixRQUFRLENBQUMsY0FBYyxFQUFDO1FBQ3BCLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBQztZQUNqQyxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBQyxRQUFRLEVBQUMsY0FBYyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ25GLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFDLFFBQVEsRUFBQyx1QkFBdUIsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUM1RixXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLHdDQUF3QyxFQUFDLFVBQVMsSUFBSTtZQUNyRCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUU7aUJBQzdCLElBQUksQ0FBQyxVQUFTLHVCQUFxRDtnQkFDaEUsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzVELGFBQWEsR0FBRyx1QkFBdUIsQ0FBQTtnQkFDdkMsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLHFDQUFxQyxFQUFDLFVBQVMsSUFBSTtZQUNsRCxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2lCQUMxQyxJQUFJLENBQUMsVUFBUyxjQUE0QztnQkFDdkQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQTtRQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLDRDQUE0QyxFQUFDLFVBQVMsSUFBSTtZQUN6RCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7aUJBQ25CLElBQUksQ0FBQztnQkFDRixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLXRlc3RcIjtcclxuaW1wb3J0IFwic2hvdWxkXCI7XHJcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcbmltcG9ydCAqIGFzIGJlYXV0eWxvZyBmcm9tIFwiYmVhdXR5bG9nXCJcclxuLy9zZXQgdXAgZW52aXJvbm1lbnRcclxucHJvY2Vzcy5lbnYuQ0lfQlVJTERfUkVQTyA9IFwiaHR0cHM6Ly95eXl5eXk6eHh4eHh4eHhAZ2l0bGFiLmNvbS9teWdyb3VwL215cmVwby5naXRcIjtcclxucHJvY2Vzcy5lbnYuTlBNVFNfVEVTVCA9IFwidHJ1ZVwiO1xyXG5wcm9jZXNzLmN3ZCA9ICgpID0+IHtcclxuICAgIHJldHVybiBwYXRoLmpvaW4oX19kaXJuYW1lLFwiYXNzZXRzL1wiKTtcclxufTtcclxuXHJcbi8vcmVxdWlyZSBOUE1DSSBmaWxlc1xyXG5pbXBvcnQgTnBtY2lCdWlsZERvY2tlciA9IHJlcXVpcmUoXCIuLi9kaXN0L25wbWNpLmJ1aWxkLmRvY2tlclwiKTtcclxuXHJcblxyXG5sZXQgZG9ja2VyZmlsZTE6TnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlO1xyXG5sZXQgZG9ja2VyZmlsZTI6TnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlO1xyXG5sZXQgc29ydGFibGVBcnJheTpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGVbXTtcclxuXHJcbmRlc2NyaWJlKFwiTlBNQ0lcIixmdW5jdGlvbigpe1xyXG4gICAgZGVzY3JpYmUoXCJidWlsZC5kb2NrZXJcIixmdW5jdGlvbigpe1xyXG4gICAgICAgIGl0KFwic2hvdWxkIHJldHVybiB2YWxpZCBEb2NrZXJmaWxlc1wiLGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGRvY2tlcmZpbGUxID0gbmV3IE5wbWNpQnVpbGREb2NrZXIuRG9ja2VyZmlsZSh7ZmlsZVBhdGg6XCIuL0RvY2tlcmZpbGVcIixyZWFkOnRydWV9KTtcclxuICAgICAgICAgICAgZG9ja2VyZmlsZTIgPSBuZXcgTnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlKHtmaWxlUGF0aDpcIi4vRG9ja2VyZmlsZV9zb21ldGFnMVwiLHJlYWQ6dHJ1ZX0pO1xyXG4gICAgICAgICAgICBkb2NrZXJmaWxlMS52ZXJzaW9uLnNob3VsZC5lcXVhbChcImxhdGVzdFwiKTtcclxuICAgICAgICAgICAgZG9ja2VyZmlsZTIudmVyc2lvbi5zaG91bGQuZXF1YWwoXCJzb21ldGFnMVwiKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpdChcInNob3VsZCByZWFkIGEgZGlyZWN0b3J5IG9mIERvY2tlcmZpbGVzXCIsZnVuY3Rpb24oZG9uZSl7XHJcbiAgICAgICAgICAgIE5wbWNpQnVpbGREb2NrZXIucmVhZERvY2tlcmZpbGVzKClcclxuICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlYWREb2NrZXJmaWxlc0FycmF5QXJnOk5wbWNpQnVpbGREb2NrZXIuRG9ja2VyZmlsZVtdKXtcclxuICAgICAgICAgICAgICAgICAgICByZWFkRG9ja2VyZmlsZXNBcnJheUFyZ1sxXS52ZXJzaW9uLnNob3VsZC5lcXVhbChcInNvbWV0YWcxXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNvcnRhYmxlQXJyYXkgPSByZWFkRG9ja2VyZmlsZXNBcnJheUFyZ1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgaXQoXCJzaG91bGQgc29ydCBhbiBhcnJheSBvZiBEb2NrZXJmaWxlc1wiLGZ1bmN0aW9uKGRvbmUpe1xyXG4gICAgICAgICAgICBOcG1jaUJ1aWxkRG9ja2VyLnNvcnREb2NrZXJmaWxlcyhzb3J0YWJsZUFycmF5KVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oc29ydGVkQXJyYXlBcmc6TnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlW10pe1xyXG4gICAgICAgICAgICAgICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKFwiZmluYWwgcmVzdWx0XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHNvcnRlZEFycmF5QXJnKTtcclxuICAgICAgICAgICAgICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGl0KFwic2hvdWxkIGNvcnJlY3RseSBjaGFpbiBEb2NrZXJmaWxlIGhhbmRsaW5nXCIsZnVuY3Rpb24oZG9uZSl7XHJcbiAgICAgICAgICAgIE5wbWNpQnVpbGREb2NrZXIuYnVpbGQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKCk9PntcclxuICAgICAgICAgICAgICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgfSlcclxufSkiXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,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SyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQztnQkFDRixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDO2dCQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQztpQkFDRCxJQUFJLENBQUM7Z0JBQ0YsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQSIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XHJcbmltcG9ydCBcInNob3VsZFwiO1xyXG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xyXG5pbXBvcnQgKiBhcyBiZWF1dHlsb2cgZnJvbSBcImJlYXV0eWxvZ1wiXHJcbi8vc2V0IHVwIGVudmlyb25tZW50XHJcbnByb2Nlc3MuZW52LkNJX0JVSUxEX1JFUE8gPSBcImh0dHBzOi8veXl5eXl5Onh4eHh4eHh4QGdpdGxhYi5jb20vbXlncm91cC9teXJlcG8uZ2l0XCI7XHJcbnByb2Nlc3MuZW52Lk5QTVRTX1RFU1QgPSBcInRydWVcIjtcclxucHJvY2Vzcy5jd2QgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gcGF0aC5qb2luKF9fZGlybmFtZSxcImFzc2V0cy9cIik7XHJcbn07XHJcblxyXG4vL3JlcXVpcmUgTlBNQ0kgZmlsZXNcclxuaW1wb3J0IE5wbWNpQnVpbGREb2NrZXIgPSByZXF1aXJlKFwiLi4vZGlzdC9ucG1jaS5idWlsZC5kb2NrZXJcIik7XHJcbmltcG9ydCBOcG1jaVRlc3QgPSByZXF1aXJlKFwiLi4vZGlzdC9ucG1jaS50ZXN0XCIpO1xyXG5cclxuXHJcbmxldCBkb2NrZXJmaWxlMTpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGU7XHJcbmxldCBkb2NrZXJmaWxlMjpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGU7XHJcbmxldCBzb3J0YWJsZUFycmF5Ok5wbWNpQnVpbGREb2NrZXIuRG9ja2VyZmlsZVtdO1xyXG5cclxuZGVzY3JpYmUoXCJOUE1DSVwiLGZ1bmN0aW9uKCl7XHJcbiAgICBkZXNjcmliZShcImJ1aWxkLmRvY2tlclwiLGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgaXQoXCJzaG91bGQgcmV0dXJuIHZhbGlkIERvY2tlcmZpbGVzXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgZG9ja2VyZmlsZTEgPSBuZXcgTnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlKHtmaWxlUGF0aDpcIi4vRG9ja2VyZmlsZVwiLHJlYWQ6dHJ1ZX0pO1xyXG4gICAgICAgICAgICBkb2NrZXJmaWxlMiA9IG5ldyBOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGUoe2ZpbGVQYXRoOlwiLi9Eb2NrZXJmaWxlX3NvbWV0YWcxXCIscmVhZDp0cnVlfSk7XHJcbiAgICAgICAgICAgIGRvY2tlcmZpbGUxLnZlcnNpb24uc2hvdWxkLmVxdWFsKFwibGF0ZXN0XCIpO1xyXG4gICAgICAgICAgICBkb2NrZXJmaWxlMi52ZXJzaW9uLnNob3VsZC5lcXVhbChcInNvbWV0YWcxXCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGl0KFwic2hvdWxkIHJlYWQgYSBkaXJlY3Rvcnkgb2YgRG9ja2VyZmlsZXNcIixmdW5jdGlvbihkb25lKXtcclxuICAgICAgICAgICAgTnBtY2lCdWlsZERvY2tlci5yZWFkRG9ja2VyZmlsZXMoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24ocmVhZERvY2tlcmZpbGVzQXJyYXlBcmc6TnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlW10pe1xyXG4gICAgICAgICAgICAgICAgICAgIHJlYWREb2NrZXJmaWxlc0FycmF5QXJnWzFdLnZlcnNpb24uc2hvdWxkLmVxdWFsKFwic29tZXRhZzFcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgc29ydGFibGVBcnJheSA9IHJlYWREb2NrZXJmaWxlc0FycmF5QXJnXHJcbiAgICAgICAgICAgICAgICAgICAgZG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBpdChcInNob3VsZCBzb3J0IGFuIGFycmF5IG9mIERvY2tlcmZpbGVzXCIsZnVuY3Rpb24oZG9uZSl7XHJcbiAgICAgICAgICAgIE5wbWNpQnVpbGREb2NrZXIuc29ydERvY2tlcmZpbGVzKHNvcnRhYmxlQXJyYXkpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbihzb3J0ZWRBcnJheUFyZzpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGVbXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgYmVhdXR5bG9nLnN1Y2Nlc3MoXCJmaW5hbCByZXN1bHRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coc29ydGVkQXJyYXlBcmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaXQoXCJzaG91bGQgY29ycmVjdGx5IGNoYWluIERvY2tlcmZpbGUgaGFuZGxpbmdcIixmdW5jdGlvbihkb25lKXtcclxuICAgICAgICAgICAgTnBtY2lCdWlsZERvY2tlci5idWlsZCgpXHJcbiAgICAgICAgICAgICAgICAudGhlbigoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICB9KTtcclxuICAgIGRlc2NyaWJlKFwiLnRlc3QubnBtXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICBpdChcInNob3VsZCBzb3VyY2UgbnZtIHVzaW5nIGJhc2ggYW5kIGluc3RhbGwgYSBzcGVjaWZpYyBub2RlIHZlcnNpb25cIixmdW5jdGlvbihkb25lKXtcclxuICAgICAgICAgICAgTnBtY2lUZXN0LnRlc3QoXCJsZWdhY3lcIilcclxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gTnBtY2lUZXN0LnRlc3QoXCJsdHNcIik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBOcG1jaVRlc3QudGVzdChcInN0YWJsZVwiKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOcG1jaVRlc3QudGVzdChcImRvY2tlclwiKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgIH0pO1xyXG59KSJdfQ== diff --git a/test/test.ts b/test/test.ts index e723026..25e9aba 100644 --- a/test/test.ts +++ b/test/test.ts @@ -11,6 +11,7 @@ process.cwd = () => { //require NPMCI files import NpmciBuildDocker = require("../dist/npmci.build.docker"); +import NpmciTest = require("../dist/npmci.test"); let dockerfile1:NpmciBuildDocker.Dockerfile; @@ -47,5 +48,22 @@ describe("NPMCI",function(){ done(); }); }) - }) + }); + describe(".test.npm",function(){ + it("should source nvm using bash and install a specific node version",function(done){ + NpmciTest.test("legacy") + .then(() => { + return NpmciTest.test("lts"); + }) + .then(() => { + return NpmciTest.test("stable"); + }) + .then(() => { + return NpmciTest.test("docker"); + }) + .then(() => { + done(); + }); + }) + }); }) \ No newline at end of file