79 lines
1.5 KiB
JavaScript
79 lines
1.5 KiB
JavaScript
import json from '@rollup/plugin-json';
|
|
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
import typescript from '@rollup/plugin-typescript';
|
|
import terser from '@rollup/plugin-terser';
|
|
import dts from 'rollup-plugin-dts';
|
|
|
|
|
|
// adds a header and calls initOnLoad() in the browser
|
|
function fix() {
|
|
return {
|
|
renderChunk(code) {
|
|
code = `/*!
|
|
* NetteForms - simple form validation.
|
|
*
|
|
* This file is part of the Nette Framework (https://nette.org)
|
|
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
|
|
*/
|
|
`
|
|
+ code;
|
|
code = code.replace('global.Nette = factory()', 'global.Nette?.noInit ? (global.Nette = factory()) : (global.Nette = factory()).initOnLoad()');
|
|
code = code.replace(/\/\*\*.*\* \*\//s, '');
|
|
return code;
|
|
},
|
|
};
|
|
}
|
|
|
|
function spaces2tabs() {
|
|
return {
|
|
renderChunk(code) {
|
|
return code.replaceAll(' ', '\t');
|
|
},
|
|
};
|
|
}
|
|
|
|
|
|
export default [
|
|
{
|
|
input: 'src/assets/index.umd.ts',
|
|
output: [
|
|
{
|
|
format: 'umd',
|
|
name: 'Nette',
|
|
dir: 'src/assets',
|
|
entryFileNames: 'netteForms.js',
|
|
generatedCode: 'es2015',
|
|
},
|
|
{
|
|
format: 'umd',
|
|
name: 'Nette',
|
|
dir: 'src/assets',
|
|
entryFileNames: 'netteForms.min.js',
|
|
generatedCode: 'es2015',
|
|
plugins: [
|
|
terser(),
|
|
],
|
|
},
|
|
],
|
|
plugins: [
|
|
json(),
|
|
nodeResolve(),
|
|
typescript(),
|
|
fix(),
|
|
spaces2tabs(),
|
|
],
|
|
},
|
|
|
|
{
|
|
input: 'src/assets/index.umd.ts',
|
|
output: [{
|
|
file: 'src/assets/netteForms.d.ts',
|
|
format: 'es',
|
|
}],
|
|
plugins: [
|
|
dts(),
|
|
spaces2tabs(),
|
|
],
|
|
},
|
|
];
|