diff --git a/example/index.js b/example/index.js index af55029..254cc95 100644 --- a/example/index.js +++ b/example/index.js @@ -401,28 +401,19 @@ module.exports = yeoman.generators.Base.extend({ this.conflicter.resolve(this.async()); }, - removeStatus: function() { - this._logPart('Remove status handler from "/"'); - fs.unlinkSync(path.join(this.projectDir, 'server/boot/root.js')); - }, - - mountWebsite: function() { - this._logPart('Mount `website` at "/"'); + replaceStatusWithWebsite: function() { + var middlewareJSon = 'server/middleware.json'; + var middleware = JSON.parse(this.readFileAsString(middlewareJSon)); - var SNIPPET = - 'var websitePath = require(\'path\').' + - 'resolve(__dirname, \'../client\');\n' + - 'app.use(loopback.static(websitePath));'; - - var serverJs = 'server/server.js'; - var script = this.readFileAsString(serverJs); - - script = script.replace( - /(app\.use\(loopback\.static\(.*)$/m, - '$1\n' + SNIPPET); + this._logPart('Remove status handler from "/"'); + delete middleware.routes['loopback#status']; - this.writeFileFromString(script, serverJs); + this._logPart('Mount `client` at "/"'); + middleware.routes['loopback#static'] = { params: '#!../client' }; + this.writeFileFromString( + JSON.stringify(middleware, null, 2), + middlewareJSon); }, installDeps: actions.installDeps, diff --git a/package.json b/package.json index 931a1f9..183eaea 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "debug": "^1.0.2", "inflection": "^1.3.8", "loopback-swagger": "^1.0.0", - "loopback-workspace": "^3.2.0", + "loopback-workspace": "^3.6.0", "request": "~2.40.0", "yeoman-generator": "^0.16.0", "yosay": "^0.3.0"