12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- const path = require('path');
- // import * as path from "path";
- const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
- // import * as ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
- // export default {
- module.exports = {
- entry: path.resolve(__dirname, 'src', 'frontend', 'index.tsx'),
- module: {
- rules: [
- {
- test: /\.tsx?$/,
- use: 'ts-loader',
- exclude: /node_modules/,
- },
- {
- test: /\.css$/i,
- use: ["style-loader", "css-loader"],
- },
- {
- test: /\.svg$/,
- use: 'url-loader'
- },
- ],
- },
- resolve: {
- extensions: ['.tsx', '.ts', '.js'],
- fallback: {
- // allow using absolute paths when referring to 'onion' library.
- onion: path.resolve(__dirname, 'src', 'onion'),
- util: path.resolve(__dirname, 'src', 'onion', 'mock_node_util.ts'),
- // The following are needed to make NodeJS' 'crypto' module work in the browser:
- // Should probably migrate to the SubtleCrypto Web API
- crypto: require.resolve('crypto-browserify'),
- stream: require.resolve('stream-browserify'),
- buffer: require.resolve('buffer'),
- },
- },
- output: {
- filename: 'bundle.js',
- path: path.resolve(__dirname, 'dist'),
- },
- devServer: {
- static: path.resolve(__dirname, 'dist'),
- port: 9000,
- },
- plugins: [
- new ForkTsCheckerWebpackPlugin()
- ]
- };
|