rollup.config.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import { terser } from "rollup-plugin-terser";
  2. import resolve from "@rollup/plugin-node-resolve";
  3. const PLUGINS = [resolve({ moduleDirectories: ["node_modules"] })];
  4. const EXTERNAL = ["single-file-core"];
  5. export default [{
  6. input: ["single-file-core/single-file.js"],
  7. output: [{
  8. file: "lib/single-file.js",
  9. format: "umd",
  10. name: "singlefile",
  11. plugins: [terser()]
  12. }],
  13. plugins: PLUGINS,
  14. external: EXTERNAL
  15. }, {
  16. input: ["single-file-core/single-file-frames.js"],
  17. output: [{
  18. file: "lib/single-file-frames.js",
  19. format: "umd",
  20. name: "singlefile",
  21. plugins: [terser()]
  22. }],
  23. plugins: PLUGINS,
  24. external: EXTERNAL
  25. }, {
  26. input: ["single-file-core/single-file-bootstrap.js"],
  27. output: [{
  28. file: "lib/single-file-bootstrap.js",
  29. format: "umd",
  30. name: "singlefileBootstrap",
  31. plugins: [terser()]
  32. }],
  33. plugins: PLUGINS,
  34. external: EXTERNAL
  35. }, {
  36. input: ["single-file-core/single-file-hooks-frames.js"],
  37. output: [{
  38. file: "lib/single-file-hooks-frames.js",
  39. format: "iife",
  40. plugins: [terser()]
  41. }],
  42. plugins: PLUGINS,
  43. external: EXTERNAL
  44. }, {
  45. input: ["single-file-core/single-file-infobar.js"],
  46. output: [{
  47. file: "lib/single-file-infobar.js",
  48. format: "iife",
  49. plugins: [terser()]
  50. }],
  51. plugins: PLUGINS,
  52. external: EXTERNAL
  53. }, {
  54. input: ["single-file-core/single-file-mini-helper.js"],
  55. output: [{
  56. file: "lib/single-file-extension-editor-helper.js",
  57. format: "umd",
  58. name: "singlefile",
  59. plugins: [terser()]
  60. }],
  61. plugins: PLUGINS,
  62. external: EXTERNAL
  63. }, {
  64. input: ["src/core/content/content-bootstrap.js"],
  65. output: [{
  66. file: "lib/single-file-extension-bootstrap.js",
  67. format: "iife",
  68. plugins: [terser()]
  69. }]
  70. }, {
  71. input: ["src/core/content/content-frames.js"],
  72. output: [{
  73. file: "lib/single-file-extension-frames.js",
  74. format: "iife",
  75. plugins: [terser()]
  76. }]
  77. }, {
  78. input: ["src/index.js"],
  79. output: [{
  80. file: "lib/single-file-extension-core.js",
  81. format: "umd",
  82. name: "extension",
  83. plugins: [terser()]
  84. }]
  85. }, {
  86. input: ["src/core/content/content.js"],
  87. output: [{
  88. file: "lib/single-file-extension.js",
  89. format: "iife",
  90. plugins: [terser()]
  91. }]
  92. }, {
  93. input: ["src/ui/content/content-ui-editor-init-web.js"],
  94. output: [{
  95. file: "lib/single-file-extension-editor-init.js",
  96. format: "iife",
  97. plugins: [terser()]
  98. }]
  99. }, {
  100. input: ["src/ui/content/content-ui-editor-web.js"],
  101. output: [{
  102. file: "lib/single-file-extension-editor.js",
  103. format: "iife",
  104. plugins: []
  105. }]
  106. }, {
  107. input: ["src/lib/single-file/browser-polyfill/chrome-browser-polyfill.js"],
  108. output: [{
  109. file: "lib/chrome-browser-polyfill.js",
  110. format: "iife",
  111. plugins: [terser()]
  112. }]
  113. }, {
  114. input: ["src/core/bg/index.js"],
  115. output: [{
  116. file: "lib/single-file-extension-background.js",
  117. format: "iife",
  118. plugins: [terser()]
  119. }]
  120. }, {
  121. input: ["src/lib/single-file/background.js"],
  122. output: [{
  123. file: "lib/single-file-background.js",
  124. format: "iife",
  125. plugins: [terser()]
  126. }]
  127. }];