Felicio Mununga a951c8e95c
Install js-waku@^0.25.0 (#307)
* install `js-waku@^0.24.0`

* install `js-waku@^0.25.0`

* resolve some breaking changes

* add timeout

* upgrade `eslint-import-resolver-typescript`

* add `process.env.VITEST` condition

* increase timeout

* fixup

* ignore `emitSelf`

* replace `parcel` with `vite`

* update `.gitignore`

* change `dev` npm script

* fix favicon href

* load `.env` files

* remove 'alias"

* add `preview`

* upgrade vite

* set `target`s in `vite.config.ts`

* upgrade `@vitejs/plugin-react`

* remove comment

* Update package.json

* Update vite.config.ts
2022-09-16 16:27:47 +02:00

49 lines
1.0 KiB
TypeScript

/// <reference types="vitest" />
import { defineConfig } from 'vite'
import { dependencies } from './package.json'
import type { Alias } from 'vite'
const external = [
...Object.keys(dependencies || {}),
// ...Object.keys(peerDependencies || {}),
].map(name => new RegExp(`^${name}(/.*)?`))
export default defineConfig(({ mode }) => {
const alias: Alias[] = []
if (process.env.VITE_NODE === 'true' || mode === 'test') {
alias.push({
/**
* Note: `happy-dom` nor `jsdom` have Crypto implemented (@see https://github.com/jsdom/jsdom/issues/1612)
*/
find: /^.*\/crypto\/pbkdf2.browser$/,
replacement: 'ethereum-cryptography/pbkdf2',
})
}
return {
build: {
target: 'es2020',
lib: {
entry: './src/index.ts',
fileName: 'index',
formats: ['es'],
},
sourcemap: true,
emptyOutDir: mode === 'production',
rollupOptions: {
external,
},
},
resolve: {
alias,
},
test: {
environment: 'happy-dom',
},
}
})