rollup.config.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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/extension/core/content/content-infobar.js"],
  37. output: [{
  38. file: "lib/single-file-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/single-file-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/single-file-extension-frames.js",
  54. format: "iife",
  55. plugins: [terser()]
  56. }]
  57. }, {
  58. input: ["src/extension/index.js"],
  59. output: [{
  60. file: "lib/single-file-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.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.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/single-file/single-file-infobar.js"],
  92. output: [{
  93. file: "lib/single-file-infobar.js",
  94. format: "iife",
  95. plugins: [terser()]
  96. }],
  97. plugins: PLUGINS,
  98. external: EXTERNAL
  99. }, {
  100. input: ["src/extension/ui/content/content-ui-editor-init-web.js"],
  101. output: [{
  102. file: "lib/single-file-extension-editor-init.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/single-file-extension-editor.js",
  110. format: "iife",
  111. plugins: []
  112. }]
  113. }, {
  114. input: ["src/extension/ui/content/content-ui-editor-helper-web"],
  115. output: [{
  116. file: "lib/single-file-extension-editor-helper.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/single-file-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. }];