2020-11-02 19:17:06 +01:00
var path = require ( "path" ) ;
var CopyWebpackPlugin = require ( "copy-webpack-plugin" ) ;
2018-11-27 17:40:11 +01:00
2018-02-02 19:09:23 +01:00
module . exports = {
2020-11-02 19:17:06 +01:00
entry : "./src/index.js" ,
2018-02-02 19:09:23 +01:00
output : {
2020-11-02 19:17:06 +01:00
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.
2018-02-02 19:09:23 +01:00
} ,
module : {
rules : [
{
test : /\.js$/ ,
2020-11-02 19:17:06 +01:00
include : path . resolve ( _ _dirname , "src" ) ,
2018-02-02 19:09:23 +01:00
exclude : /(node_modules|bower_components|build)/ ,
use : {
2020-11-02 19:17:06 +01:00
loader : "babel-loader" ,
2018-02-02 19:09:23 +01:00
options : {
2020-11-02 19:17:06 +01:00
presets : [ "@babel/preset-env" ] ,
} ,
} ,
} ,
] ,
2018-02-02 19:09:23 +01:00
} ,
externals : {
2020-11-02 19:17:06 +01:00
react : "commonjs react" , // this line is just to use the React dependency of our parent-testing-project instead of using our own React.
2018-11-27 17:40:11 +01:00
} ,
2020-11-02 19:17:06 +01:00
plugins : [ new CopyWebpackPlugin ( { patterns : [ { from : "src/index.d.ts" , to : "index.d.ts" } ] } ) ] ,
2018-11-27 17:40:11 +01:00
} ;