From 55f5fda67045b3772e7881b25159805347f8ef70 Mon Sep 17 00:00:00 2001 From: Sam Carlton Date: Sat, 19 Sep 2020 15:01:21 -0500 Subject: [PATCH] Generate app list as JSON file --- nuxt.config.js | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/nuxt.config.js b/nuxt.config.js index d2222f8..5cdeb19 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -1,15 +1,39 @@ +import { promises as fs } from 'fs' +import path from 'path' + import pkg from './package' import buildAppList from './helpers/build-app-list' + export default { mode: 'universal', target: 'static', + /* + ** Hooks + * https://nuxtjs.org/api/configuration-hooks/ + */ + hooks: { + build: { + before: async function (builder) { + const appListPath = path.join( + // builder.nuxt.options.buildDir, + builder.nuxt.options.srcDir, + '/assets/app-list.json' + ) + + const appList = await buildAppList() + + // console.log('builder.nuxt.options', builder.nuxt.options) + await fs.writeFile(appListPath, JSON.stringify(appList)) + } + } + }, + generate: { routes() { return buildAppList() .then((appList) => { - // console.log('result', result) return appList.map(app => ({ @@ -65,8 +89,8 @@ export default { */ build: { /* - ** You can extend webpack config here - */ + ** You can extend webpack config here + */ extend(config, ctx) { // Run ESLint on save if (ctx.isDev && ctx.isClient) {