markytools's picture
added strexp
d61b9c7
var path = require("path");
// Custom webpack rules are generally the same for all webpack bundles, hence
// stored in a separate local variable.
var rules = [
{
test: /\.module.css$/,
use: [
"style-loader",
{
loader: "css-loader",
options: {
modules: true,
},
},
],
},
{ test: /^((?!\.module).)*.css$/, use: ["style-loader", "css-loader"] },
{
test: /\.(js|ts|tsx)$/,
exclude: /node_modules/,
loaders: "babel-loader",
options: {
presets: [
"@babel/preset-react",
"@babel/preset-env",
"@babel/preset-typescript",
],
plugins: ["@babel/plugin-proposal-class-properties"],
},
},
];
var extensions = [".js", ".ts", ".tsx"];
module.exports = [
{
// Notebook extension
//
// This bundle only contains the part of the JavaScript that is run on
// load of the notebook. This section generally only performs
// some configuration for requirejs, and provides the legacy
// "load_ipython_extension" function which is required for any notebook
// extension.
//
mode: "production",
entry: "./src/extension.js",
output: {
filename: "extension.js",
path: path.resolve(__dirname, "..", "..", "widget", "static"),
libraryTarget: "amd",
},
resolveLoader: {
modules: ["../node_modules"],
extensions: extensions,
},
resolve: {
modules: ["../node_modules"],
},
externals: ["moment"], // Removes unused dependency-of-dependency
},
{
// Bundle for the notebook containing the custom widget views and models
//
// This bundle contains the implementation for the custom widget views and
// custom widget.
// It must be an amd module
//
mode: "production",
entry: "./src/index.js",
output: {
filename: "index.js",
path: path.resolve(__dirname, "..", "..", "widget", "static"),
libraryTarget: "amd",
},
module: {
rules: rules,
},
resolveLoader: {
modules: ["../node_modules"],
},
resolve: {
modules: ["../node_modules"],
extensions: extensions,
},
externals: ["@jupyter-widgets/base", "moment"],
},
];