Skip to content

Commit

Permalink
Log REPL output to console (#4967)
Browse files Browse the repository at this point in the history
* Make several options not depend on code-splitting

* Log output after bundling
  • Loading branch information
lukastaegert committed Apr 29, 2023
1 parent 8a5517d commit e01f0a2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
14 changes: 7 additions & 7 deletions docs/repl/stores/options.ts
Expand Up @@ -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({
Expand All @@ -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'
});
Expand All @@ -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'
});
Expand Down Expand Up @@ -240,7 +240,7 @@ export const useOptions = defineStore('options2', () => {
required: () => true
});
const optionOutputHoistTransitiveImports = getBoolean({
available: outputHasMultipleChunks,
available: alwaysTrue,
defaultValue: true,
name: 'output.hoistTransitiveImports'
});
Expand Down Expand Up @@ -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({
Expand Down Expand Up @@ -315,7 +315,7 @@ export const useOptions = defineStore('options2', () => {
name: 'output.sourcemap'
});
const optionOutputSanitizeFileName = getBoolean({
available: outputHasMultipleChunks,
available: alwaysTrue,
defaultValue: true,
name: 'output.sanitizeFileName'
});
Expand All @@ -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]
Expand Down
11 changes: 10 additions & 1 deletion docs/repl/stores/rollupOutput.ts
Expand Up @@ -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<string, Module>();
for (const module of modules) {
Expand Down Expand Up @@ -96,20 +96,29 @@ 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)),
output: generated.output,
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', () => {
Expand Down

0 comments on commit e01f0a2

Please sign in to comment.