From 4e5c1f3921ce7cd44d2220da4d2ec1ee4fe6963e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanislas=20Ormi=C3=A8res?= Date: Tue, 17 Aug 2021 12:47:47 +0200 Subject: [PATCH] fix: :hammer: Ajoute le fichier de configuration de rollup --- rollup.config.js | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 rollup.config.js diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 00000000..58947202 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,96 @@ +import vue from 'rollup-plugin-vue' + +import PostCSS from 'rollup-plugin-postcss' + +import atImport from 'postcss-import' +import postcssNested from 'postcss-nested' +import postcssFlexbugsFixes from 'postcss-flexbugs-fixes' +import postcssPresetEnv from 'postcss-preset-env' +import autoprefixer from 'autoprefixer' +import csso from 'postcss-csso' + +const postcssPlugins = [ + atImport(), + postcssNested, + postcssFlexbugsFixes, + postcssPresetEnv({ + stage: 1, + }), + autoprefixer({ + flexbox: 'no-2009', + }), + csso, +] + +const baseOutput = { + globals: { + vue: 'vue', + 'oh-vue-icons/dist/v3/icon.es': 'VIcon', + 'oh-vue-icons/icons': 'icons', + }, +} + +const baseConfig = { + input: 'src/index.js', + external: ['vue', 'oh-vue-icons/dist/v3/icon.es', 'oh-vue-icons/icons'], + output: { + globals: baseOutput.globals, + }, + plugins: [ + vue(), + PostCSS({ + plugins: postcssPlugins, + extract: false, + }), + ], +} + +export default [ + // ESM build to be used with webpack/rollup. + { + ...baseConfig, + output: { + format: 'esm', + file: 'dist/vue-dsfr.esm.js', + globals: baseOutput.globals, + name: 'VueDsfr', + }, + }, + // SSR build. + { + ...baseConfig, + output: { + format: 'cjs', + file: 'dist/vue-dsfr.ssr.js', + globals: baseOutput.globals, + name: 'VueDsfr', + }, + plugins: [ + vue({ template: { optimizeSSR: true } }), + PostCSS({ + plugins: postcssPlugins, + extract: false, + }), + ], + }, + // Browser build. + { + ...baseConfig, + output: { + format: 'iife', + file: 'dist/vue-dsfr.js', + globals: baseOutput.globals, + name: 'VueDsfr', + }, + }, + // Umd build. + { + ...baseConfig, + output: { + format: 'umd', + file: 'dist/vue-dsfr.umd.js', + globals: baseOutput.globals, + name: 'VueDsfr', + }, + }, +]