rollup.config.js 3.2 KB

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