From 845aa8da3c42ba5000e8eb383a712f1542d8fdd0 Mon Sep 17 00:00:00 2001 From: Mehdi Lahlou Date: Mon, 25 Sep 2017 21:42:22 +0200 Subject: [PATCH] chore(package): remove `nuxtent` binary BREAKING CHANGE: replace `nuxtent generate` by `nuxt generate` in your project's package.json scripts --- bin/nuxtent | 26 ---------------- bin/nuxtent-generate | 74 -------------------------------------------- lib/module.js | 18 ++++++++++- package.json | 3 -- 4 files changed, 17 insertions(+), 104 deletions(-) delete mode 100755 bin/nuxtent delete mode 100644 bin/nuxtent-generate diff --git a/bin/nuxtent b/bin/nuxtent deleted file mode 100755 index 9602a22..0000000 --- a/bin/nuxtent +++ /dev/null @@ -1,26 +0,0 @@ -#! /usr/bin/env node - -const { join } = require('path') - -const defaultCommand = 'generate' -const commands = new Set([ - defaultCommand -]) - -var cmd = process.argv[2] - -if (commands.has(cmd)) { - process.argv.splice(2, 1) -} else { - cmd = defaultCommand -} - -const bin = join(__dirname, 'nuxtent-' + cmd) - -process.on('unhandledRejection', function (err) { - /* eslint-disable no-console */ - console.error(err) - console.error('[nuxt] Unhandled promise rejection: ' + err) -}) - -require(bin) diff --git a/bin/nuxtent-generate b/bin/nuxtent-generate deleted file mode 100644 index 2169fa1..0000000 --- a/bin/nuxtent-generate +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env node - -process.env.DEBUG = process.env.DEBUG || 'nuxt:*' -process.env.STATIC = true - -const fs = require('fs') -const parseArgs = require('minimist') -const debug = require('debug')('nuxt:generate') - -const { Nuxt, Builder, Generator } = require('nuxt') -const { resolve } = require('path') - -const argv = parseArgs(process.argv.slice(2), { - alias: { - h: 'help', - c: 'config-file' - }, - boolean: ['h'], - string: ['c'], - default: { - c: 'nuxt.config.js' - } -}) - -const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port -const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host - - -if (argv.help) { - console.log(` - Description - Generate a static web application (server-rendered) - Usage - $ nuxt generate - Options - --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) - --help, -h Displays this message - `) - process.exit(0) -} - -const rootDir = resolve(argv._[0] || '.') -const nuxtConfigFile = resolve(rootDir, argv['config-file']) - -var options = {} -if (fs.existsSync(nuxtConfigFile)) { - options = require(nuxtConfigFile) -} else if (argv['config-file'] !== 'nuxt.config.js') { - console.error(`> Could not load config file ${argv['config-file']}`) - process.exit(1) -} -if (typeof options.rootDir !== 'string') { - options.rootDir = rootDir -} -options.dev = false // Force production mode (no webpack middleware called) - -debug('Starting Nuxtent to generate content files...') -const nuxt = new Nuxt(options) - -nuxt.listen(port, host).then(()=> { - const generator = new Generator(nuxt, new Builder(nuxt)) - generator.generate() - .then(() => { - debug('Generate done') - nuxt.close() - process.exit(0) - }) - .catch((err) => { - console.error(err) // eslint-disable-line no-console - nuxt.close() - process.exit(1) - }) - -}) diff --git a/lib/module.js b/lib/module.js index eea5100..d811725 100644 --- a/lib/module.js +++ b/lib/module.js @@ -1,5 +1,7 @@ import { resolve, join } from 'path' +import express from 'express' + import pkg from '../package.json' import createRouter from './content/api' @@ -49,6 +51,7 @@ export default function ContentModule (moduleOpts) { componentsDir: '/components', buildDir: `/content`, isStatic: userOptions.isStatic || process.env.STATIC || false, + port: process.env.PORT || process.env.npm_package_config_nuxt_port || 3000, content: contentOptions(userOptions.content, { page: null, @@ -98,10 +101,23 @@ export default function ContentModule (moduleOpts) { }) // 2. Add content API + const router = createRouter(options) + // Add API when running `nuxt` & `nuxt build` (development and production) this.addServerMiddleware({ path: api.serverPrefix, - handler: createRouter(options) + handler: router + }) + + // Add API when running `nuxt generate` + this.nuxt.plugin('generator', generator => { + const app = express() + app.use(api.serverPrefix, router) + const server = app.listen(options.port) + + generator.plugin('generated', () => { + server.close() + }) }) // 3. Add request helpers diff --git a/package.json b/package.json index 5d47007..4052304 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,6 @@ "Static" ], "license": "MIT ", - "bin": { - "nuxtent": "bin/nuxtent" - }, "scripts": { "#": "handled by husky", "precommit": "lint-staged",