rollup.config.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. import resolve from "@rollup/plugin-node-resolve";
  2. import terser from "@rollup/plugin-terser";
  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/vendor/zip/z-worker.js"],
  55. output: [{
  56. file: "lib/single-file-z-worker.js",
  57. format: "es",
  58. plugins: [terser()]
  59. }],
  60. plugins: PLUGINS,
  61. external: EXTERNAL
  62. }, {
  63. input: ["single-file-core/vendor/zip/zip.js"],
  64. output: [{
  65. file: "lib/single-file-zip.js",
  66. format: "es",
  67. plugins: [terser()]
  68. }],
  69. context: "this",
  70. plugins: PLUGINS,
  71. external: EXTERNAL
  72. }, {
  73. input: ["single-file-core/vendor/zip/zip.min.js"],
  74. output: [{
  75. file: "lib/single-file-zip.min.js",
  76. format: "es",
  77. plugins: [terser()]
  78. }],
  79. context: "this",
  80. plugins: PLUGINS,
  81. external: EXTERNAL
  82. }, {
  83. input: ["src/core/content/content-bootstrap.js"],
  84. output: [{
  85. file: "lib/single-file-extension-bootstrap.js",
  86. format: "iife",
  87. plugins: [terser()]
  88. }]
  89. }, {
  90. input: ["src/core/content/content-frames.js"],
  91. output: [{
  92. file: "lib/single-file-extension-frames.js",
  93. format: "iife",
  94. plugins: [terser()]
  95. }]
  96. }, {
  97. input: ["src/index.js"],
  98. output: [{
  99. file: "lib/single-file-extension-core.js",
  100. format: "umd",
  101. name: "extension",
  102. plugins: [terser()]
  103. }]
  104. }, {
  105. input: ["src/core/content/content.js"],
  106. output: [{
  107. file: "lib/single-file-extension.js",
  108. format: "iife",
  109. plugins: [terser()]
  110. }]
  111. }, {
  112. input: ["src/ui/content/content-ui-editor-init-web.js"],
  113. output: [{
  114. file: "lib/single-file-extension-editor-init.js",
  115. format: "iife",
  116. plugins: [terser()]
  117. }],
  118. plugins: PLUGINS,
  119. external: EXTERNAL
  120. }, {
  121. input: ["src/ui/content/content-ui-editor-web.js"],
  122. output: [{
  123. file: "lib/single-file-extension-editor.js",
  124. format: "iife",
  125. plugins: []
  126. }],
  127. plugins: PLUGINS,
  128. external: EXTERNAL
  129. }, {
  130. input: ["single-file-core/single-file-editor-helper.js"],
  131. output: [{
  132. file: "lib/single-file-extension-editor-helper.js",
  133. format: "umd",
  134. name: "singlefile",
  135. plugins: [terser()]
  136. }],
  137. plugins: PLUGINS,
  138. external: EXTERNAL
  139. }, {
  140. input: ["src/lib/single-file/browser-polyfill/chrome-browser-polyfill.js"],
  141. output: [{
  142. file: "lib/chrome-browser-polyfill.js",
  143. format: "iife",
  144. plugins: [terser()]
  145. }]
  146. }, {
  147. input: ["src/core/bg/index.js"],
  148. output: [{
  149. file: "lib/single-file-extension-background.js",
  150. format: "iife",
  151. plugins: [terser()]
  152. }]
  153. }, {
  154. input: ["src/lib/single-file/background.js"],
  155. output: [{
  156. file: "lib/single-file-background.js",
  157. format: "iife",
  158. plugins: [terser()]
  159. }]
  160. }, {
  161. input: ["src/lib/web-stream/index.js"],
  162. output: [{
  163. file: "lib/web-stream.js",
  164. format: "iife",
  165. plugins: [terser()]
  166. }]
  167. }];