rollup.config.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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: ["src/single-file/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: ["src/single-file/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: ["src/single-file/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: ["src/common/ui/content/content-infobar.js"],
  37. output: [{
  38. file: "lib/extension-infobar.js",
  39. format: "umd",
  40. name: "infobar",
  41. plugins: [terser()]
  42. }]
  43. }, {
  44. input: ["src/extension/core/content/content-bootstrap.js"],
  45. output: [{
  46. file: "lib/extension-bootstrap.js",
  47. format: "iife",
  48. plugins: [terser()]
  49. }]
  50. }, {
  51. input: ["src/extension/core/content/content-frames.js"],
  52. output: [{
  53. file: "lib/extension-frames.js",
  54. format: "iife",
  55. plugins: [terser()]
  56. }]
  57. }, {
  58. input: ["src/extension/index.js"],
  59. output: [{
  60. file: "lib/extension-core.js",
  61. format: "umd",
  62. name: "extension",
  63. plugins: [terser()]
  64. }]
  65. }, {
  66. input: ["src/extension/core/content/content.js"],
  67. output: [{
  68. file: "lib/single-file-extension.js",
  69. format: "iife",
  70. plugins: [terser()]
  71. }]
  72. }, {
  73. input: ["src/single-file/single-file-hooks-web.js"],
  74. output: [{
  75. file: "lib/single-file-hooks.js",
  76. format: "iife",
  77. plugins: [terser()]
  78. }],
  79. plugins: PLUGINS,
  80. external: EXTERNAL
  81. }, {
  82. input: ["src/single-file/single-file-hooks-frames-web.js"],
  83. output: [{
  84. file: "lib/single-file-hooks-frames.js",
  85. format: "iife",
  86. plugins: [terser()]
  87. }],
  88. plugins: PLUGINS,
  89. external: EXTERNAL
  90. }, {
  91. input: ["src/common/ui/content/content-infobar-web.js"],
  92. output: [{
  93. file: "lib/single-file-infobar.js",
  94. format: "iife",
  95. plugins: [terser()]
  96. }]
  97. }, {
  98. input: ["src/extension/ui/content/content-ui-editor-init-web.js"],
  99. output: [{
  100. file: "lib/extension-editor-init.js",
  101. format: "iife",
  102. plugins: [terser()]
  103. }]
  104. }, {
  105. input: ["src/extension/ui/content/content-ui-editor-web.js"],
  106. output: [{
  107. file: "lib/extension-editor.js",
  108. format: "iife",
  109. plugins: []
  110. }]
  111. }, {
  112. input: ["src/extension/ui/content/content-ui-editor-helper-web"],
  113. output: [{
  114. file: "lib/extension-editor-helper.js",
  115. format: "umd",
  116. name: "singlefile",
  117. plugins: [terser()]
  118. }],
  119. plugins: PLUGINS,
  120. external: EXTERNAL
  121. }, {
  122. input: ["src/extension/lib/single-file/browser-polyfill/chrome-browser-polyfill.js"],
  123. output: [{
  124. file: "lib/chrome-browser-polyfill.js",
  125. format: "iife",
  126. plugins: [terser()]
  127. }]
  128. }, {
  129. input: ["src/extension/core/bg/index.js"],
  130. output: [{
  131. file: "lib/extension-background.js",
  132. format: "iife",
  133. plugins: [terser()]
  134. }]
  135. }, {
  136. input: ["src/extension/lib/single-file/background.js"],
  137. output: [{
  138. file: "lib/single-file-background.js",
  139. format: "iife",
  140. plugins: [terser()]
  141. }]
  142. }];