From 772d19c18f253118f83b5c12d283db8fa6d19e89 Mon Sep 17 00:00:00 2001 From: Joxit Date: Sat, 2 Apr 2022 10:59:49 +0200 Subject: [PATCH] ci: throw error when a file is missing (#242) fixes #242 --- rollup.config.js | 6 ++++-- rollup/check-output.js | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 rollup/check-output.js diff --git a/rollup.config.js b/rollup.config.js index 6ffddc7..e60bd2b 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -12,6 +12,7 @@ import json from '@rollup/plugin-json'; import copy from 'rollup-plugin-copy'; import copyTransform from './rollup/copy-transform'; import license from './rollup/license'; +import checkOutput from './rollup/check-output'; const useServe = process.env.ROLLUP_SERVE === 'true'; const output = useServe ? '.serve' : 'dist'; @@ -44,11 +45,12 @@ export default [ dir: output, name: 'DockerRegistryUI', format: 'iife', - sourcemap: useServe + sourcemap: useServe, }, plugins: [emptyDirectories(output)].concat( plugins, - html({ template: () => htmlUseref('./src/index.html', { developement: useServe, production: !useServe }) }) + html({ template: () => htmlUseref('./src/index.html', { developement: useServe, production: !useServe }) }), + checkOutput(output) ), }, ]; diff --git a/rollup/check-output.js b/rollup/check-output.js new file mode 100644 index 0000000..5aadd20 --- /dev/null +++ b/rollup/check-output.js @@ -0,0 +1,40 @@ +import fs from 'fs'; +import path from 'path'; + +const files = [ + 'docker-registry-ui.css', + 'docker-registry-ui.js', + 'fonts/MaterialIcons-Regular.eot', + 'fonts/MaterialIcons-Regular.svg', + 'fonts/MaterialIcons-Regular.ttf', + 'fonts/MaterialIcons-Regular.woff', + 'fonts/MaterialIcons-Regular.woff2', + 'fonts/Roboto-Bold.ttf', + 'fonts/Roboto-Bold.woff', + 'fonts/Roboto-Bold.woff2', + 'fonts/Roboto-Light.ttf', + 'fonts/Roboto-Light.woff', + 'fonts/Roboto-Light.woff2', + 'fonts/RobotoMono-Regular.eot', + 'fonts/RobotoMono-Regular.ttf', + 'fonts/RobotoMono-Regular.woff', + 'fonts/RobotoMono-Regular.woff2', + 'fonts/Roboto-Regular.eot', + 'fonts/Roboto-Regular.ttf', + 'fonts/Roboto-Regular.woff', + 'fonts/Roboto-Regular.woff2', + 'images/docker-logo.svg', + 'index.html', +]; + +export default function (output) { + return { + name: 'check-output', + writeBundle: () => { + const missingFile = files.find((file) => !fs.existsSync(path.join(output, file))); + if (missingFile) { + throw new Error(`File ${missingFile} is missing after build`); + } + }, + }; +}