From 5b07ca29369490276b8c184586802fc11ee9c843 Mon Sep 17 00:00:00 2001 From: Lukas Date: Fri, 1 Apr 2022 00:16:49 +0200 Subject: [PATCH] fix: write envConfig template in generateBundle hook (#21) --- src/envConfig.ts | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/envConfig.ts b/src/envConfig.ts index 73ed9f3..a67841a 100644 --- a/src/envConfig.ts +++ b/src/envConfig.ts @@ -1,6 +1,4 @@ -import fs from 'fs'; -import path from 'path'; -import type { Plugin, ResolvedConfig } from 'vite'; +import type { Plugin } from 'vite'; export function createEnvConfigContent(variables: string[], template: boolean): string { let templateContent = ''; @@ -26,14 +24,9 @@ export interface EnvConfigOptions { } export function envConfig(userOptions: Partial = {}): Plugin { - let config: ResolvedConfig; return { name: 'vite-plugin-env-config', - configResolved(resolvedConfig) { - config = resolvedConfig; - }, - configureServer(server) { const envConfigContent = createEnvConfigContent(userOptions.variables || [], false); @@ -52,12 +45,13 @@ export function envConfig(userOptions: Partial = {}): Plugin { }); }, - closeBundle() { + generateBundle() { const templateContent = createEnvConfigContent(userOptions.variables || [], true); - - const TEMPLATE_PATH = path.join(config.root, config.build.outDir, 'env-config.template.js'); - fs.mkdirSync(path.dirname(TEMPLATE_PATH), { recursive: true }); - fs.writeFileSync(TEMPLATE_PATH, templateContent, 'utf8'); + this.emitFile({ + type: 'asset', + fileName: 'env-config.template.js', + source: templateContent, + }); }, transformIndexHtml(html) {