ShadowEditor/ShadowEditor.Web/rollup.config.js
2019-06-25 20:57:23 +08:00

53 lines
1.3 KiB
JavaScript

import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';
import replace from 'rollup-plugin-replace';
import postcss from 'rollup-plugin-postcss';
import babel from 'rollup-plugin-babel';
function glsl() {
return {
transform(code, id) {
if (/\.glsl$/.test(id) === false) return;
var transformedCode = 'export default ' + JSON.stringify(
code
.replace(/[ \t]*\/\/.*\n/g, '') // remove //
.replace(/[ \t]*\/\*[\s\S]*?\*\//g, '') // remove /* */
.replace(/\n{2,}/g, '\n') // # \n+ to \n
) + ';';
return {
code: transformedCode,
map: {
mappings: ''
}
};
}
};
}
export default {
input: 'ShadowEditor.Web/src/index.js',
output: {
indent: '\t',
format: 'umd',
name: 'Shadow',
file: 'ShadowEditor.Web/build/ShadowEditor.js'
},
treeshake: true,
external: [],
plugins: [
glsl(),
resolve(),
commonjs(),
replace({
'process.env.NODE_ENV': '"development"' // production
}),
postcss({
extract: true,
}),
babel({
exclude: 'node_modules/**'
})
]
};