From e01f0a2e7264e0bae267b2fab4b2231d7671d4c2 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Sat, 29 Apr 2023 07:13:10 +0200 Subject: [PATCH] Log REPL output to console (#4967) * Make several options not depend on code-splitting * Log output after bundling --- docs/repl/stores/options.ts | 14 +++++++------- docs/repl/stores/rollupOutput.ts | 11 ++++++++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/repl/stores/options.ts b/docs/repl/stores/options.ts index c027894fcea..9d769358485 100644 --- a/docs/repl/stores/options.ts +++ b/docs/repl/stores/options.ts @@ -136,7 +136,7 @@ export const useOptions = defineStore('options2', () => { name: 'output.amd.define' }); const optionOutputAmdForceJsExtensionForImports = getBoolean({ - available: () => isAmdFormat.value && outputHasMultipleChunks.value, + available: isAmdFormat, name: 'output.amd.forceJsExtensionForImports' }); const optionOutputAmdId = getString({ @@ -149,7 +149,7 @@ export const useOptions = defineStore('options2', () => { name: 'output.banner' }); const optionOutputChunkFileNames = getString({ - available: outputHasMultipleChunks, + available: alwaysTrue, defaultValue: '[name]-[hash].js', name: 'output.chunkFileNames' }); @@ -162,7 +162,7 @@ export const useOptions = defineStore('options2', () => { name: 'output.dynamicImportInCjs' }); const optionOutputEntryFileNames = getString({ - available: outputHasMultipleChunks, + available: alwaysTrue, defaultValue: '[name].js', name: 'output.entryFileNames' }); @@ -240,7 +240,7 @@ export const useOptions = defineStore('options2', () => { required: () => true }); const optionOutputHoistTransitiveImports = getBoolean({ - available: outputHasMultipleChunks, + available: alwaysTrue, defaultValue: true, name: 'output.hoistTransitiveImports' }); @@ -279,7 +279,7 @@ export const useOptions = defineStore('options2', () => { name: 'output.intro' }); const optionOutputMinifyInternalExports = getBoolean({ - available: outputHasMultipleChunks, + available: alwaysTrue, name: 'output.minifyInternalExports' }); const optionOutputNoConflict = getBoolean({ @@ -315,7 +315,7 @@ export const useOptions = defineStore('options2', () => { name: 'output.sourcemap' }); const optionOutputSanitizeFileName = getBoolean({ - available: outputHasMultipleChunks, + available: alwaysTrue, defaultValue: true, name: 'output.sanitizeFileName' }); @@ -337,7 +337,7 @@ export const useOptions = defineStore('options2', () => { name: 'output.validate' }); const optionPreserveEntrySignatures = getSelect({ - available: outputHasMultipleChunks, + available: alwaysTrue, defaultValue: 'exports-only', name: 'preserveEntrySignatures', options: () => ['strict', 'allow-extension', 'exports-only', false] diff --git a/docs/repl/stores/rollupOutput.ts b/docs/repl/stores/rollupOutput.ts index d4ddecb4b8d..811e89d671e 100644 --- a/docs/repl/stores/rollupOutput.ts +++ b/docs/repl/stores/rollupOutput.ts @@ -48,7 +48,7 @@ async function bundle({ rollup: { instance }, modules, options, setOutput }: Bun if (import.meta.env.PROD) { console.clear(); } - console.log(`running Rollup version %c${instance.VERSION}`, 'font-weight: bold'); + console.group(`running Rollup version ${instance.VERSION}`); const modulesById = new Map(); for (const module of modules) { @@ -96,10 +96,12 @@ async function bundle({ rollup: { instance }, modules, options, setOutput }: Bun ] }; + console.log('%coptions:', 'font-weight: bold; color: blue', rollupOptions); try { const generated = await ( await instance.rollup(rollupOptions) ).generate((rollupOptions as { output?: OutputOptions }).output || {}); + console.log('%coutput:', 'font-weight: bold; color: green', generated.output); setOutput({ error: null, externalImports: [...externalImports].sort((a, b) => (a < b ? -1 : 1)), @@ -107,9 +109,16 @@ async function bundle({ rollup: { instance }, modules, options, setOutput }: Bun warnings }); } catch (error) { + console.log( + '%cerror:', + 'font-weight: bold; color: red', + error, + JSON.parse(JSON.stringify(error)) + ); setOutput({ error: error as Error, externalImports: [], output: [], warnings }); logWarning(error as Error); } + console.groupEnd(); } export const useRollupOutput = defineStore('rollupOutput', () => {