123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import path from 'path';
- import { RollupOptions } from 'rollup';
- import { nodeResolve } from '@rollup/plugin-node-resolve';
- import commonjs from '@rollup/plugin-commonjs';
- import esbuild from 'rollup-plugin-esbuild';
- import alias from '@rollup/plugin-alias';
- import json from '@rollup/plugin-json';
- export function getRollupOptions(): RollupOptions {
- return {
- input: path.join(__dirname, '../../electron-main/index.ts'),
- output: {
- file: path.join(__dirname, '../../dist/main/build.js'),
- format: 'cjs',
- name: 'ElectronMainBundle',
- sourcemap: true,
- },
- plugins: [
- nodeResolve({ preferBuiltins: true, browser: true }),
- commonjs(),
- json(),
- esbuild({
-
- include: /\.[jt]sx?$/,
- exclude: /node_modules/,
-
- sourceMap: false,
- minify: process.env.NODE_ENV === 'production',
- target: 'es2017',
- jsxFactory: 'React.createElement',
- jsxFragment: 'React.Fragment',
-
- define: {
- __VERSION__: '"x.y.z"',
- },
-
- loaders: {
-
-
- '.json': 'json',
-
- '.js': 'jsx',
- },
- }),
- alias({
- entries: [{ find: '/@main/', replacement: path.join(__dirname, '../../electron-main') }],
- }),
- ],
- external: [
- 'crypto',
- 'assert',
- 'fs',
- 'util',
- 'os',
- 'events',
- 'child_process',
- 'http',
- 'https',
- 'path',
- 'electron',
- ],
- };
- }
|