65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
/*
|
|
* Copyright 2020 Google LLC. All Rights Reserved.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import commonjs from '@rollup/plugin-commonjs';
|
|
import {nodeResolve as resolve} from '@rollup/plugin-node-resolve';
|
|
import replace from '@rollup/plugin-replace';
|
|
import {basename} from 'path';
|
|
import externalGlobals from 'rollup-plugin-external-globals';
|
|
|
|
const onwarn = (warning, warn) => {
|
|
// Suppress non-actionable warning caused by TypeScript boilerplate:
|
|
if (warning.code !== 'THIS_IS_UNDEFINED') {
|
|
warn(warning);
|
|
}
|
|
};
|
|
|
|
const plugins = [
|
|
commonjs(),
|
|
resolve({preferBuiltins: true, browser: true}),
|
|
replace({'Reflect.decorate': 'undefined', preventAssignment: true}),
|
|
externalGlobals({filament: 'Filament'})
|
|
];
|
|
|
|
const buildTarget = (input, outputFormat) => ({
|
|
input,
|
|
output: {
|
|
file: `./dist/${basename(input)}`,
|
|
sourcemap: true,
|
|
format: outputFormat,
|
|
name: outputFormat === 'esm' ?
|
|
undefined :
|
|
basename(input)
|
|
.split('-')
|
|
.map(
|
|
string =>
|
|
`${string.slice(0, 1).toUpperCase()}${string.slice(1)}`)
|
|
.join('')
|
|
},
|
|
watch: {
|
|
include: '{lib/**,lib/third_party/**}',
|
|
},
|
|
plugins,
|
|
onwarn
|
|
});
|
|
|
|
const outputOptions = [
|
|
buildTarget('./lib/components/image-comparison-app.js', 'esm'),
|
|
buildTarget('./lib/components/renderer-harness.js', 'esm'),
|
|
buildTarget('./lib/image-comparison-worker.js', 'iife')
|
|
];
|
|
|
|
export default outputOptions;
|