mirror of
https://github.com/iconify/iconify.git
synced 2024-12-15 06:47:30 +00:00
55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
|
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 -->',
|
||
|
tests
|
||
|
.map(file => {
|
||
|
return '<script src="./' + file + '"></script>';
|
||
|
})
|
||
|
.join('')
|
||
|
);
|
||
|
try {
|
||
|
fs.mkdirSync(__dirname + '/dist', 0o755);
|
||
|
} catch (err) {}
|
||
|
fs.writeFileSync(__dirname + '/dist/tests.html', content, 'utf8');
|
||
|
|
||
|
export default config;
|