1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- // rollup.config.js
- import { readFileSync } from 'fs'
- import { terser } from 'rollup-plugin-terser'
- import resolve from '@rollup/plugin-node-resolve'
- import commonjs from '@rollup/plugin-commonjs'
- import babel from '@rollup/plugin-babel'
- import typescript from '@rollup/plugin-typescript'
- import pkg from './package.json'
- import replace from '@rollup/plugin-replace'
- import TOML from '@tauri-apps/toml'
- const cliManifestContents = readFileSync('../cli.rs/Cargo.toml').toString()
- const cliManifest = TOML.parse(cliManifestContents)
- export default {
- input: {
- 'api/cli': './src/api/cli.ts',
- 'api/dependency-manager': './src/api/dependency-manager/index.ts',
- 'helpers/spawn': './src/helpers/spawn.ts',
- 'helpers/rust-cli': './src/helpers/rust-cli.ts',
- 'helpers/download-binary': './src/helpers/download-binary.ts'
- },
- treeshake: true,
- perf: true,
- output: [
- {
- dir: 'dist/',
- entryFileNames: '[name].js',
- format: 'esm',
- exports: 'named',
- globals: {}
- },
- {
- dir: 'dist/',
- entryFileNames: '[name].cjs',
- format: 'cjs',
- chunkFileNames: '[name]-[hash].cjs',
- exports: 'named',
- globals: {}
- }
- ],
- plugins: [
- replace({
- __RUST_CLI_VERSION__: JSON.stringify(cliManifest.package.version),
- 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
- }),
- commonjs({}),
- resolve({
- // pass custom options to the resolve plugin
- customResolveOptions: {
- moduleDirectories: ['node_modules']
- }
- }),
- typescript({
- tsconfig: './tsconfig.json'
- }),
- babel({
- configFile: false,
- presets: [['@babel/preset-env'], ['@babel/preset-typescript']]
- }),
- terser()
- ],
- external: [
- ...Object.keys(pkg.dependencies || {}),
- ...Object.keys(pkg.peerDependencies || {})
- ]
- }
|