mirror of
https://github.com/grafana/grafana.git
synced 2024-11-23 01:16:31 -06:00
93 lines
2.7 KiB
TypeScript
93 lines
2.7 KiB
TypeScript
import resolve from '@rollup/plugin-node-resolve';
|
|
import commonjs from '@rollup/plugin-commonjs';
|
|
import image from '@rollup/plugin-image';
|
|
// import sourceMaps from 'rollup-plugin-sourcemaps';
|
|
import { terser } from 'rollup-plugin-terser';
|
|
|
|
const pkg = require('./package.json');
|
|
|
|
const libraryName = pkg.name;
|
|
|
|
const buildCjsPackage = ({ env }) => {
|
|
return {
|
|
input: `compiled/index.js`,
|
|
output: [
|
|
{
|
|
file: `dist/index.${env}.js`,
|
|
name: libraryName,
|
|
format: 'cjs',
|
|
sourcemap: true,
|
|
strict: false,
|
|
exports: 'named',
|
|
globals: {
|
|
react: 'React',
|
|
'prop-types': 'PropTypes',
|
|
},
|
|
},
|
|
],
|
|
external: [
|
|
'react',
|
|
'react-dom',
|
|
'@grafana/data',
|
|
'@grafana/e2e-selectors',
|
|
'moment',
|
|
'monaco-editor', // Monaco should not be used directly
|
|
'monaco-editor/esm/vs/editor/editor.api', // Monaco should not be used directly
|
|
'react-monaco-editor',
|
|
],
|
|
plugins: [
|
|
commonjs({
|
|
include: /node_modules/,
|
|
// When 'rollup-plugin-commonjs' fails to properly convert the CommonJS modules to ES6 one has to manually name the exports
|
|
// https://github.com/rollup/rollup-plugin-commonjs#custom-named-exports
|
|
namedExports: {
|
|
'../../node_modules/lodash/lodash.js': [
|
|
'flatten',
|
|
'find',
|
|
'upperFirst',
|
|
'debounce',
|
|
'isNil',
|
|
'isNumber',
|
|
'flattenDeep',
|
|
'map',
|
|
'chunk',
|
|
'sortBy',
|
|
'uniqueId',
|
|
'zip',
|
|
'omit',
|
|
'isString',
|
|
'isEmpty',
|
|
'toLower',
|
|
],
|
|
'../../node_modules/react-color/lib/components/common': ['Saturation', 'Hue', 'Alpha'],
|
|
'../../node_modules/immutable/dist/immutable.js': [
|
|
'Record',
|
|
'Set',
|
|
'Map',
|
|
'List',
|
|
'OrderedSet',
|
|
'is',
|
|
'Stack',
|
|
],
|
|
'node_modules/immutable/dist/immutable.js': ['Record', 'Set', 'Map', 'List', 'OrderedSet', 'is', 'Stack'],
|
|
'../../node_modules/esrever/esrever.js': ['reverse'],
|
|
'../../node_modules/react-table/index.js': [
|
|
'useTable',
|
|
'useSortBy',
|
|
'useBlockLayout',
|
|
'Cell',
|
|
'useResizeColumns',
|
|
'useAbsoluteLayout',
|
|
],
|
|
'../../node_modules/react-is/index.js': ['isValidElementType', 'isContextConsumer'],
|
|
},
|
|
}),
|
|
resolve(),
|
|
// sourceMaps(),
|
|
image(),
|
|
env === 'production' && terser(),
|
|
],
|
|
};
|
|
};
|
|
export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })];
|