insomnia/packages/insomnia-components/vite.config.ts
James Gatz eb21506d40
️vite/esbuild (#4329)
* ️ vite

* replace webpack with esbuild in build script

* move build sr to esbuild

* esbuild send-request shim

* remove main externals

* fix lint

* remove webpack from insomnia-testing

* removes more webpack stuff

TODO after this PR: make debugging work again

* pin swagger-ui-react to version before esm change

* restore prepare script to build in bootstrap

* use default tsconfig for eslint and apply fixes

* bundle insomnia-components as cjs/esm

* makes ca_certs.ts pass linting

* builds types for insomnia-components

* improve build script for production

* skip typechecking insomnia-components

* separate package from build

* add electron to externals

* add preload bundling and fix build output

* exclude grpc/proto-loader from the bundle

* move node packages to commonjs

* don't bundle grpc since it's a node module

* fix content security error

* use vite lib mode for insomnia-components

* tidy up vite config and tsconfig options

* update package-locks

* use process.env. for static build time variables

* fix vscode debugging

Co-authored-by: jackkav <jackkav@gmail.com>
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>
2022-04-18 17:27:39 +02:00

31 lines
738 B
TypeScript

import { defineConfig } from 'vite';
export default defineConfig(({ mode }) => {
const __DEV__ = mode !== 'production';
return {
build: {
sourcemap: __DEV__,
lib: {
entry: './src/index.ts',
fileName: format => {
if (format === 'cjs') {
return 'commonjs/index.js';
}
return 'index.js';
},
// We use CommonJS output for running tests in jest.
formats: ['cjs', 'es'],
name: 'insomnia-components',
},
emptyOutDir: false,
rollupOptions: {
external: ['react', 'react-dom', 'styled-components', 'react-use'],
},
},
define: {
'process.env.NODE_ENV': JSON.stringify(mode),
},
};
});