typopo
Version:
Fix frequent microtypography errors in multiple languages. Write neat texts without bothering about typography rules. Typopo works for English, German, Slovak, Czech and Rusyn language.
43 lines (38 loc) • 1.21 kB
JavaScript
import { defineConfig } from 'vite';
import { resolve } from 'path';
import { readFileSync } from 'fs';
const packageJson = JSON.parse(readFileSync('./package.json', 'utf8'));
const currentYear = new Date().getFullYear();
const copyrightBanner = `/*!
* Typopo v${packageJson.version} (https://typopo.org)
* Copyright 2015–${currentYear} Braňo Šandala (https://brano.me)
* Licensed under MIT (https://github.com/surfinzap/typopo/blob/main/LICENSE.txt)
*/`;
const addTopBanner = () => ({
name: 'add-top-banner',
generateBundle(_options, bundle) {
for (const chunk of Object.values(bundle)) {
if (chunk.type === 'chunk') {
chunk.code = copyrightBanner + '\n' + chunk.code;
}
}
}
});
export default defineConfig(() => {
return {
plugins: [addTopBanner()],
build: {
lib: {
entry: resolve('src/typopo.js'),
name: 'typopo',
formats: ['es', 'cjs', 'umd'],
fileName: (format) => format === 'cjs' ? `typopo.cjs` : `typopo.${format}.js`
},
outDir: 'dist',
minify: 'esbuild',
sourcemap: false,
emptyOutDir: true,
target: ['es2020', 'chrome80', 'firefox78', 'safari14', 'edge88']
}
};
});