webpack.common.js 906 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const path = require("path");
  2. require("dotenv").config({
  3. path: path.join(__dirname, ".env"),
  4. });
  5. const CopyPlugin = require("copy-webpack-plugin");
  6. const EncryptPlugin = require("ricochet-js").EncryptPlugin;
  7. const Dotenv = require("dotenv-webpack");
  8. const SECRET_KEY = process.env.RICOCHET_SECRET_KEY;
  9. if (!SECRET_KEY) {
  10. console.log("You must define a RICOCHET_SECRET_KEY env variable");
  11. process.exit(-1);
  12. }
  13. module.exports = {
  14. entry: "./src/index.js",
  15. target: "node",
  16. devtool: false,
  17. output: {
  18. path: path.resolve(__dirname, "../public"),
  19. filename: "setup.js",
  20. library: {
  21. type: "commonjs",
  22. },
  23. },
  24. plugins: [
  25. new Dotenv(),
  26. new CopyPlugin({
  27. patterns: [
  28. {
  29. from: "**/*",
  30. context: path.resolve(__dirname, "public"),
  31. },
  32. ],
  33. }),
  34. new EncryptPlugin({
  35. key: process.env.RICOCHET_SECRET_KEY,
  36. }),
  37. ],
  38. };