UNPKG

justo-generator-express

Version:

Generator for Express applications.

103 lines (94 loc) 2.48 kB
//imports const justo = require("justo"); const catalog = justo.catalog; const babel = require("justo-plugin-babel"); const copy = require("justo-plugin-fs").copy; const clean = require("justo-plugin-fs").clean; const create = require("justo-plugin-fs").create; {{#if (eq scope.linter "JSHint")}} const lint = require("justo-plugin-jshint"); {{else if (eq scope.linter "ESLint")}} const lint = require("justo-plugin-eslint"); {{/if}} //catalog catalog.workflow({name: "build", desc: "Build the package"}, function() { clean("Remove build directory", { dirs: ["build/es5"] }); lint("Best practices and grammar", { output: true, src: [ "Justo.js", "bin/", "app/lib/", "app/routes/", "app/errors/handle.js", "app/index.js", "app/middleware.js", "app/redirect.js" ] }); babel("Transpile", { comments: false, retainLines: true, preset: "es2015", files: [ {src: ["app/index.js", "app/middleware.js", "app/redirect.js", "app/tmplEngine.js"], dst: "build/es5/app/"}, {src: "app/errors/handle.js", dst: "build/es5/app/errors/"}, {src: "app/lib/", dst: "build/es5/app/lib/"}, {src: "app/routes/", dst: "build/es5/app/routes"}, ] }); {{#if scope.nodemon}} // clean("Remove dist directory", { // dirs: ["dist/es5"] // }); {{else}} clean("Remove dist directory", { dirs: ["dist/es5"] }); {{/if}} copy( "Create package", { src: [ "package.json", "README.md", "bin/", ], dst: "dist/es5/nodejs/{{dir.name}}/" }, { src: "build/es5/app/", dst: "dist/es5/nodejs/{{dir.name}}/" }, { src: "app/conf/", dst: "dist/es5/nodejs/{{dir.name}}/app/" }, { src: ["app/errors/404.html", "app/errors/500.html"], dst: "dist/es5/nodejs/{{dir.name}}/app/errors/" }, { src: "app/public/", dst: "dist/es5/nodejs/{{dir.name}}/app/" }, { src: "build/es5/lib/", dst: "dist/es5/nodejs/{{dir.name}}/lib", force: true }, { src: "app/views", dst: "dist/es5/nodejs/{{dir.name}}/app/", force: true } ); create("Create dir logs/", {dir: "dist/es5/nodejs/{{dir.name}}/logs/"}); }); catalog.macro({name: "test", desc: "Unit testing"}, { require: "justo-assert", src: ["test/unit/index.js", "test/unit/lib/"] }); catalog.macro({name: "default", desc: "Default task."}, ["build", "test"]);