var path = require("path"); var CopyWebpackPlugin = require("copy-webpack-plugin"); module.exports = { entry: "./src/index.js", output: { path: path.resolve(__dirname, "build"), filename: "index.js", libraryTarget: "commonjs2", // THIS IS THE MOST IMPORTANT LINE! :mindblow: I wasted more than 2 days until realize this was the line most important in all this guide. }, module: { rules: [ { test: /\.js$/, include: path.resolve(__dirname, "src"), exclude: /(node_modules|bower_components|build)/, use: { loader: "babel-loader", options: { presets: ["@babel/preset-env"], }, }, }, ], }, externals: { react: "commonjs react", // this line is just to use the React dependency of our parent-testing-project instead of using our own React. }, plugins: [new CopyWebpackPlugin({ patterns: [{ from: "src/index.d.ts", to: "index.d.ts" }] })], };