import fs from 'fs'; import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import buble from '@rollup/plugin-buble'; const match = '-test.ts'; const files = fs .readdirSync('tests') .sort() .filter(file => file.slice(0 - match.length) === match) .map(file => file.slice(0, file.length - match.length)); // Get config files const tests = []; const config = files.map(file => { tests.push(file + '.js'); return { input: 'lib/' + file + match.replace('.ts', '.js'), output: { file: 'dist/' + file + '.js', format: 'iife', globals: { mocha: 'mocha', chai: 'chai', }, }, external: ['mocha', 'chai'], plugins: [ resolve({ browser: true, extensions: ['.js'], }), commonjs(), buble(), ], }; }); // Write tests.html let content = fs.readFileSync(__dirname + '/tests/tests.html', 'utf8'); content = content.replace( '', tests .map(file => { return ''; }) .join('') ); try { fs.mkdirSync(__dirname + '/dist', 0o755); } catch (err) {} fs.writeFileSync(__dirname + '/dist/tests.html', content, 'utf8'); export default config;