You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					81 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					81 lines
				
				2.1 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* eslint-disable import/no-extraneous-dependencies */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* eslint-disable @typescript-eslint/no-var-requires */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* eslint-disable @typescript-eslint/explicit-function-return-type */
							 | 
						||
| 
								 | 
							
								const {
							 | 
						||
| 
								 | 
							
								  babel
							 | 
						||
| 
								 | 
							
								} = require('@rollup/plugin-babel');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const commonjs = require('@rollup/plugin-commonjs');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const {
							 | 
						||
| 
								 | 
							
								  nodeResolve: resolve
							 | 
						||
| 
								 | 
							
								} = require('@rollup/plugin-node-resolve');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const replace = require('@rollup/plugin-replace');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const json = require('@rollup/plugin-json');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const {
							 | 
						||
| 
								 | 
							
								  terser
							 | 
						||
| 
								 | 
							
								} = require('rollup-plugin-terser');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const external = ['prop-types', 'react', 'react-dom', 'redux', 'react-redux', 'react-router', 'react-router-dom', 'styled-components', 'adminjs', '@adminjs/design-system', '@carbon/icons-react'];
							 | 
						||
| 
								 | 
							
								const globals = {
							 | 
						||
| 
								 | 
							
								  react: 'React',
							 | 
						||
| 
								 | 
							
								  redux: 'Redux',
							 | 
						||
| 
								 | 
							
								  '@carbon/icons-react': 'CarbonIcons',
							 | 
						||
| 
								 | 
							
								  'styled-components': 'styled',
							 | 
						||
| 
								 | 
							
								  'prop-types': 'PropTypes',
							 | 
						||
| 
								 | 
							
								  'react-dom': 'ReactDOM',
							 | 
						||
| 
								 | 
							
								  'react-redux': 'ReactRedux',
							 | 
						||
| 
								 | 
							
								  'react-router': 'ReactRouter',
							 | 
						||
| 
								 | 
							
								  'react-router-dom': 'ReactRouterDOM',
							 | 
						||
| 
								 | 
							
								  adminjs: 'AdminJS',
							 | 
						||
| 
								 | 
							
								  '@adminjs/design-system': 'AdminJSDesignSystem'
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								const extensions = ['.mjs', '.js', '.jsx', '.json', '.ts', '.tsx', '.scss'];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const plugins = ({
							 | 
						||
| 
								 | 
							
								  babelConfig = {},
							 | 
						||
| 
								 | 
							
								  commonJSConfig = {},
							 | 
						||
| 
								 | 
							
								  minify = false
							 | 
						||
| 
								 | 
							
								} = {}) => {
							 | 
						||
| 
								 | 
							
								  const pluginStack = [resolve({
							 | 
						||
| 
								 | 
							
								    extensions,
							 | 
						||
| 
								 | 
							
								    mainFields: ['browser', 'main', 'module', 'jsnext:main'],
							 | 
						||
| 
								 | 
							
								    preferBuiltins: false
							 | 
						||
| 
								 | 
							
								  }), json(), replace({
							 | 
						||
| 
								 | 
							
								    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
							 | 
						||
| 
								 | 
							
								    'process.env.IS_BROWSER': 'true',
							 | 
						||
| 
								 | 
							
								    'process.env.': 'AdminJS.env.',
							 | 
						||
| 
								 | 
							
								    preventAssignment: true,
							 | 
						||
| 
								 | 
							
								    'process.browser': true
							 | 
						||
| 
								 | 
							
								  }), commonjs({ ...commonJSConfig
							 | 
						||
| 
								 | 
							
								  }), babel({
							 | 
						||
| 
								 | 
							
								    extensions,
							 | 
						||
| 
								 | 
							
								    babelrc: false,
							 | 
						||
| 
								 | 
							
								    babelHelpers: 'bundled',
							 | 
						||
| 
								 | 
							
								    exclude: 'node_modules/**/*.js',
							 | 
						||
| 
								 | 
							
								    presets: [require.resolve('@babel/preset-env', {
							 | 
						||
| 
								 | 
							
								      corejs: 3,
							 | 
						||
| 
								 | 
							
								      useBuiltIns: 'usage'
							 | 
						||
| 
								 | 
							
								    }), require.resolve('@babel/preset-react'), require.resolve('@babel/preset-typescript')],
							 | 
						||
| 
								 | 
							
								    ...babelConfig
							 | 
						||
| 
								 | 
							
								  })];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (minify) {
							 | 
						||
| 
								 | 
							
								    pluginStack.push(terser());
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return pluginStack;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = {
							 | 
						||
| 
								 | 
							
								  external,
							 | 
						||
| 
								 | 
							
								  globals,
							 | 
						||
| 
								 | 
							
								  plugins
							 | 
						||
| 
								 | 
							
								};
							 |