rollup.config.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import json from '@rollup/plugin-json';
  2. import vue from 'rollup-plugin-vue2';
  3. import {
  4. chromeExtension,
  5. simpleReloader,
  6. } from 'rollup-plugin-chrome-extension';
  7. import { emptyDir } from 'rollup-plugin-empty-dir';
  8. import typescript from 'rollup-plugin-typescript2'; // '@rollup/plugin-typescript'
  9. import resolve from '@rollup/plugin-node-resolve';
  10. import commonjs from '@rollup/plugin-commonjs';
  11. import replace from '@rollup/plugin-replace';
  12. import postcss from 'rollup-plugin-postcss';
  13. import alias from 'rollup-plugin-alias';
  14. import _dotenv from 'dotenv/config';
  15. import path from "path";
  16. export default {
  17. input: 'src/manifest.json',
  18. output: {
  19. dir: 'dist',
  20. format: 'esm',
  21. chunkFileNames: 'chunks/[name]-[hash].js',
  22. },
  23. onwarn: (warning, defaultHandler) => {
  24. if (warning.code === 'THIS_IS_UNDEFINED') return;
  25. defaultHandler(warning)
  26. },
  27. // watch: { clearScreen: false }, // for dev debug
  28. plugins: [
  29. alias({
  30. entries: {
  31. ['@']: path.resolve(__dirname, 'src')
  32. }}),
  33. // chromeExtension() must be first, in order to properly treat manifest.json as the entry point
  34. chromeExtension({
  35. extendManifest: {
  36. "key": process.env.VUE_APP_MV3_KEY
  37. }
  38. }),
  39. simpleReloader(), // Adds a Chrome extension reloader during watch mode
  40. vue(),
  41. replace({
  42. __VUE_OPTIONS_API__: true,
  43. __VUE_PROD_DEVTOOLS__: false,
  44. "process.env.NODE_ENV": JSON.stringify("production"),
  45. "process.env.VUE_APP_FIREBASE_APIKEY": JSON.stringify(process.env.VUE_APP_FIREBASE_APIKEY),
  46. "process.env.VUE_APP_FIREBASE_AUTHDOMAIN": JSON.stringify(process.env.VUE_APP_FIREBASE_AUTHDOMAIN),
  47. "process.env.VUE_APP_FIREBASE_PROJECTID": JSON.stringify(process.env.VUE_APP_FIREBASE_PROJECTID),
  48. "process.env.VUE_APP_FIREBASE_STORAGEBUCKET": JSON.stringify(process.env.VUE_APP_FIREBASE_STORAGEBUCKET),
  49. "process.env.VUE_APP_FIREBASE_MESSAGINGSENDERID": JSON.stringify(process.env.VUE_APP_FIREBASE_MESSAGINGSENDERID),
  50. "process.env.VUE_APP_FIREBASE_APPID": JSON.stringify(process.env.VUE_APP_FIREBASE_APPID),
  51. "process.env.VUE_APP_MEASUREMENTID": JSON.stringify(process.env.VUE_APP_MEASUREMENTID),
  52. preventAssignment: true
  53. }),
  54. typescript(),
  55. postcss(),
  56. json(),
  57. resolve(),
  58. commonjs(),
  59. emptyDir(),
  60. ],
  61. };