webpack.common.js 891 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import path from "path";
  2. import dotenv from "dotenv";
  3. import Dotenv from "dotenv-webpack";
  4. import EncryptPlugin from "ricochetjs/encrypt-webpack-plugin";
  5. import { fileURLToPath } from "url";
  6. const dirname = path.dirname(fileURLToPath(import.meta.url));
  7. dotenv.config({
  8. path: path.join(dirname, ".env"),
  9. });
  10. const SECRET_KEY = process.env.RICOCHET_SITE_KEY;
  11. if (!SECRET_KEY) {
  12. console.log(
  13. "You must define a RICOCHET_SITE_KEY env variable.\n" +
  14. "If you don't have any key, please visit the Ricochet.js admin panel to create one."
  15. );
  16. process.exit(-1);
  17. }
  18. export default {
  19. entry: "./src/index.js",
  20. target: "node",
  21. devtool: false,
  22. output: {
  23. path: path.resolve(dirname, "../public"),
  24. filename: "ricochet.json",
  25. library: {
  26. type: "commonjs2",
  27. },
  28. },
  29. plugins: [
  30. new Dotenv(),
  31. new EncryptPlugin({
  32. key: SECRET_KEY,
  33. }),
  34. ],
  35. };