gulpTasks-localRun.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Import Dependencies.
  2. var gulp = require("gulp");
  3. var connect = require("gulp-connect");
  4. var minimist = require("minimist");
  5. var fs = require('fs');
  6. var path = require('path');
  7. // Comand line parsing.
  8. var commandLineOptions = minimist(process.argv.slice(2), {
  9. boolean: ["public"]
  10. });
  11. // Skip known extensions.
  12. var skipExtensions = [".js", ".glb", ".gltf", ".bin", ".html", ".gif", ".jpg", ".jpeg", ".png", ".dds", ".babylon", "ktx"];
  13. /**
  14. * Embedded webserver for test convenience.
  15. */
  16. gulp.task("webserver", function() {
  17. var options = {
  18. root: "../../.",
  19. port: 1338,
  20. livereload: false,
  21. middleware: function(connect, opt) {
  22. return [function (req, res, next) {
  23. var extension = path.extname(decodeURIComponent(req.originalUrl));
  24. if (req.originalUrl.startsWith("/.temp/es6LocalDev/core/") && skipExtensions.indexOf(extension) === -1) {
  25. // Append .js for es6 modules.
  26. if (!fs.existsSync("../../" + req.originalUrl)) {
  27. req.url += ".js";
  28. }
  29. }
  30. next();
  31. }
  32. ]
  33. }
  34. };
  35. if (commandLineOptions.public) {
  36. options.host = "0.0.0.0";
  37. }
  38. connect.server(options);
  39. });