b27fa51092
* Chore/browser extension bootstrap (#3257) * init package * set up TS and Webpack * add eslint config * add prettier config * add react and mui theme * add CI * update mui theme version number * Chore/browser extension routes (#3327) * start routes * create layouts * add initial app routes * add initial app pages * add global types * create reuseable components * move password and mnemonic fields to shared react components package * refactor register routes * move client address component to shared package * move components to ui folder * create menu and appbar components * adjust layout components * add readme * use memory router * Feature/nym browser extension login and send (#3373) * init package * set up TS and Webpack * add eslint config * add prettier config * add react and mui theme * add CI * update mui theme version number * Chore/browser extension routes (#3327) * start routes * create layouts * add initial app routes * add initial app pages * add global types * create reuseable components * move password and mnemonic fields to shared react components package * refactor register routes * move client address component to shared package * move components to ui folder * create menu and appbar components * adjust layout components * add readme * use memory router * add extension to mono-repo config * fix webpack build * util functions * add TX type * refactor routes * refactor pages + add send page * add page layout for app pages * set up app context * app components * set up connection config * fix lint errors * Chore/browser extension bootstrap (#3257) * init package * set up TS and Webpack * add eslint config * add prettier config * add react and mui theme * add CI * update mui theme version number * Chore/browser extension routes (#3327) * start routes * create layouts * add initial app routes * add initial app pages * add global types * create reuseable components * move password and mnemonic fields to shared react components package * refactor register routes * move client address component to shared package * move components to ui folder * create menu and appbar components * adjust layout components * add readme * use memory router * add extension to mono-repo config * util functions * add TX type * refactor routes * refactor pages + add send page * add page layout for app pages * set up app context * app components * set up connection config * use fee simulation when sending tokens * use object argument for simulate send api * login validation + fee refinements * use components from shared components lib * add receive modal (#3408) * account storage via wasm * method to get all storage keys * Feature/nym browser extension password encryption (single account) (#3442) * build wasm * reuse components and state for password pages * refactor registration pages * use login with password * import storage as local package * add yarn preinstall script to ts lint gh action * install wasm-pack for CI * use @nym scope for ext storage package * introduced a call to check if database was already initialised (#3465) * introduced a call to check if database was already initialised * use extension storage method to check for db existance --------- Co-authored-by: fmtabbara <fmtabbara@hotmail.co.uk> * introduced mnemonic key existence check (#3462) * Browser extension - Multi-accounts + view mnemonic action (#3488) * add UI for multi-accounts + add view mnemonic for accounts * refactor routes * set up import account * add account to existing wallet * check if account name exists before creating new one * handle password errors * add token to currency conversion * fixed ClientStorageError import path * fix CI * fix CI --------- Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
const { mergeWithRules } = require('webpack-merge');
|
|
const webpack = require('webpack');
|
|
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
|
const ReactRefreshTypeScript = require('react-refresh-typescript');
|
|
const Dotenv = require('dotenv-webpack');
|
|
const commonConfig = require('./webpack.common');
|
|
|
|
module.exports = mergeWithRules({
|
|
module: {
|
|
rules: {
|
|
test: 'match',
|
|
use: 'replace',
|
|
},
|
|
},
|
|
})(commonConfig, {
|
|
mode: 'development',
|
|
devtool: 'inline-source-map',
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: 'ts-loader',
|
|
exclude: /node_modules/,
|
|
options: {
|
|
getCustomTransformers: () => ({
|
|
before: [ReactRefreshTypeScript()],
|
|
}),
|
|
// `ts-loader` does not work with HMR unless `transpileOnly` is used.
|
|
// If you need type checking, `ForkTsCheckerWebpackPlugin` is an alternative.
|
|
transpileOnly: true,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
plugins: [
|
|
new ReactRefreshWebpackPlugin(),
|
|
|
|
// this can be included automatically by the dev server, however build mode fails if missing
|
|
new webpack.HotModuleReplacementPlugin(),
|
|
new Dotenv({ path: './env.dev' }),
|
|
],
|
|
|
|
// recommended for faster rebuild
|
|
optimization: {
|
|
runtimeChunk: true,
|
|
removeAvailableModules: false,
|
|
removeEmptyChunks: false,
|
|
splitChunks: false,
|
|
},
|
|
|
|
cache: {
|
|
type: 'filesystem',
|
|
buildDependencies: {
|
|
// restart on config change
|
|
config: ['./webpack.dev.js'],
|
|
},
|
|
},
|
|
|
|
devServer: {
|
|
port: 9000,
|
|
compress: true,
|
|
historyApiFallback: true,
|
|
hot: true,
|
|
client: {
|
|
overlay: false,
|
|
},
|
|
},
|
|
});
|