85 lines
2.0 KiB
JavaScript
85 lines
2.0 KiB
JavaScript
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
// All rights reserved.
|
|
|
|
// This source code is licensed under the license found in the
|
|
// LICENSE file in the root directory of this source tree.
|
|
|
|
const { resolve } = require("path");
|
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
const FriendlyErrorsWebpackPlugin = require("friendly-errors-webpack-plugin");
|
|
const CopyPlugin = require("copy-webpack-plugin");
|
|
const webpack = require("webpack");
|
|
|
|
module.exports = {
|
|
entry: "./src/index.tsx",
|
|
resolve: {
|
|
extensions: [".js", ".jsx", ".ts", ".tsx"],
|
|
},
|
|
output: {
|
|
path: resolve(__dirname, "dist"),
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.mjs$/,
|
|
include: /node_modules/,
|
|
type: "javascript/auto",
|
|
resolve: {
|
|
fullySpecified: false,
|
|
},
|
|
},
|
|
{
|
|
test: [/\.jsx?$/, /\.tsx?$/],
|
|
use: ["ts-loader"],
|
|
exclude: /node_modules/,
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
use: ["style-loader", "css-loader"],
|
|
},
|
|
{
|
|
test: /\.(scss|sass)$/,
|
|
use: ["style-loader", "css-loader", "postcss-loader"],
|
|
},
|
|
{
|
|
test: /\.(jpe?g|png|gif|svg)$/i,
|
|
use: [
|
|
"file-loader?hash=sha512&digest=hex&name=img/[contenthash].[ext]",
|
|
"image-webpack-loader?bypassOnDebug&optipng.optimizationLevel=7&gifsicle.interlaced=false",
|
|
],
|
|
},
|
|
{
|
|
test: /\.(woff|woff2|ttf)$/,
|
|
use: {
|
|
loader: "url-loader",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
plugins: [
|
|
new CopyPlugin({
|
|
patterns: [
|
|
{
|
|
from: "node_modules/onnxruntime-web/dist/*.wasm",
|
|
to: "[name][ext]",
|
|
},
|
|
{
|
|
from: "model",
|
|
to: "model",
|
|
},
|
|
{
|
|
from: "src/assets",
|
|
to: "assets",
|
|
},
|
|
],
|
|
}),
|
|
new HtmlWebpackPlugin({
|
|
template: "./src/assets/index.html",
|
|
}),
|
|
new FriendlyErrorsWebpackPlugin(),
|
|
new webpack.ProvidePlugin({
|
|
process: "process/browser",
|
|
}),
|
|
],
|
|
};
|