insomnia/packages/insomnia-app/esbuild.sr.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

40 lines
856 B
TypeScript

import { build } from 'esbuild';
import alias from 'esbuild-plugin-alias';
import path from 'path';
const env = {
window: JSON.stringify({
localStorage: {
getItem: () => undefined,
setItem: () => { },
},
performance: { now: () => 0 },
requestAnimationFrame: () => { },
cancelAnimationFrame: () => { },
}),
};
async function main() {
await build({
entryPoints: ['./send-request/index.ts'],
outfile: '../insomnia-send-request/dist/index.js',
bundle: true,
platform: 'node',
target: 'esnext',
sourcemap: true,
format: 'cjs',
define: env,
tsconfig: 'tsconfig.build.sr.json',
plugins: [
alias({
'electron': path.resolve(__dirname, './send-request/electron/index.js'),
}),
],
external: ['@getinsomnia/node-libcurl'],
});
process.exit(0);
}
main();