@remotion/bundler 4.0.0-offthread.9 → 4.0.0-playerimpr.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/dist/bundle-mode.d.ts +1 -1
  2. package/dist/bundle.d.ts +24 -3
  3. package/dist/bundle.js +79 -27
  4. package/dist/esbuild-loader/index.d.ts +2 -2
  5. package/dist/esbuild-loader/index.js +2 -1
  6. package/dist/esbuild-loader/interfaces.d.ts +1 -1
  7. package/dist/fast-refresh/index.d.ts +1 -1
  8. package/dist/fast-refresh/index.js +0 -27
  9. package/dist/fast-refresh/loader.d.ts +1 -1
  10. package/dist/homepage/homepage.d.ts +0 -1
  11. package/dist/homepage/homepage.js +2 -3
  12. package/dist/index-html.d.ts +8 -0
  13. package/dist/{static-preview.js → index-html.js} +10 -4
  14. package/dist/index.d.ts +35 -18
  15. package/dist/index.js +12 -11
  16. package/dist/renderEntry.d.ts +1 -1
  17. package/dist/renderEntry.js +57 -36
  18. package/dist/setup-environment.js +4 -3
  19. package/dist/{error-overlay/entry-basic.d.ts → test/validate-bundle.test.d.ts} +0 -0
  20. package/dist/test/validate-bundle.test.js +10 -0
  21. package/dist/test/{latest-remotion-version.test.d.ts → validate-public-dir.test.d.ts} +0 -0
  22. package/dist/test/validate-public-dir.test.js +21 -0
  23. package/dist/validate-public-dir.d.ts +1 -0
  24. package/dist/validate-public-dir.js +30 -0
  25. package/dist/webpack-cache.d.ts +4 -3
  26. package/dist/webpack-cache.js +33 -17
  27. package/dist/webpack-config.d.ts +7 -5
  28. package/dist/webpack-config.js +30 -31
  29. package/package.json +8 -21
  30. package/dist/bundle-mode.d.ts.map +0 -1
  31. package/dist/bundle-mode.js.map +0 -1
  32. package/dist/bundler.d.ts +0 -7
  33. package/dist/bundler.d.ts.map +0 -1
  34. package/dist/bundler.js +0 -76
  35. package/dist/bundler.js.map +0 -1
  36. package/dist/copy-dir.d.ts.map +0 -1
  37. package/dist/copy-dir.js.map +0 -1
  38. package/dist/dev-middleware/compatible-api.d.ts +0 -10
  39. package/dist/dev-middleware/compatible-api.d.ts.map +0 -1
  40. package/dist/dev-middleware/compatible-api.js +0 -44
  41. package/dist/dev-middleware/compatible-api.js.map +0 -1
  42. package/dist/dev-middleware/get-filename-from-url.d.ts +0 -2
  43. package/dist/dev-middleware/get-filename-from-url.d.ts.map +0 -1
  44. package/dist/dev-middleware/get-filename-from-url.js +0 -92
  45. package/dist/dev-middleware/get-filename-from-url.js.map +0 -1
  46. package/dist/dev-middleware/get-paths.d.ts +0 -7
  47. package/dist/dev-middleware/get-paths.d.ts.map +0 -1
  48. package/dist/dev-middleware/get-paths.js +0 -19
  49. package/dist/dev-middleware/get-paths.js.map +0 -1
  50. package/dist/dev-middleware/index.d.ts +0 -3
  51. package/dist/dev-middleware/index.d.ts.map +0 -1
  52. package/dist/dev-middleware/index.js +0 -57
  53. package/dist/dev-middleware/index.js.map +0 -1
  54. package/dist/dev-middleware/is-color-supported.d.ts +0 -1
  55. package/dist/dev-middleware/is-color-supported.d.ts.map +0 -1
  56. package/dist/dev-middleware/is-color-supported.js +0 -37
  57. package/dist/dev-middleware/is-color-supported.js.map +0 -1
  58. package/dist/dev-middleware/middleware.d.ts +0 -4
  59. package/dist/dev-middleware/middleware.d.ts.map +0 -1
  60. package/dist/dev-middleware/middleware.js +0 -141
  61. package/dist/dev-middleware/middleware.js.map +0 -1
  62. package/dist/dev-middleware/range-parser.d.ts +0 -15
  63. package/dist/dev-middleware/range-parser.d.ts.map +0 -1
  64. package/dist/dev-middleware/range-parser.js +0 -96
  65. package/dist/dev-middleware/range-parser.js.map +0 -1
  66. package/dist/dev-middleware/ready.d.ts +0 -5
  67. package/dist/dev-middleware/ready.d.ts.map +0 -1
  68. package/dist/dev-middleware/ready.js +0 -13
  69. package/dist/dev-middleware/ready.js.map +0 -1
  70. package/dist/dev-middleware/setup-hooks.d.ts +0 -2
  71. package/dist/dev-middleware/setup-hooks.d.ts.map +0 -1
  72. package/dist/dev-middleware/setup-hooks.js +0 -44
  73. package/dist/dev-middleware/setup-hooks.js.map +0 -1
  74. package/dist/dev-middleware/setup-output-filesystem.d.ts +0 -2
  75. package/dist/dev-middleware/setup-output-filesystem.d.ts.map +0 -1
  76. package/dist/dev-middleware/setup-output-filesystem.js +0 -13
  77. package/dist/dev-middleware/setup-output-filesystem.js.map +0 -1
  78. package/dist/dev-middleware/types.d.ts +0 -11
  79. package/dist/dev-middleware/types.d.ts.map +0 -1
  80. package/dist/dev-middleware/types.js +0 -2
  81. package/dist/dev-middleware/types.js.map +0 -1
  82. package/dist/error-overlay/entry-basic.d.ts.map +0 -1
  83. package/dist/error-overlay/entry-basic.js +0 -21
  84. package/dist/error-overlay/entry-basic.js.map +0 -1
  85. package/dist/error-overlay/react-overlay/effects/format-warning.d.ts +0 -11
  86. package/dist/error-overlay/react-overlay/effects/format-warning.d.ts.map +0 -1
  87. package/dist/error-overlay/react-overlay/effects/format-warning.js +0 -41
  88. package/dist/error-overlay/react-overlay/effects/format-warning.js.map +0 -1
  89. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +0 -7
  90. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts.map +0 -1
  91. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.js +0 -46
  92. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.js.map +0 -1
  93. package/dist/error-overlay/react-overlay/effects/proxy-console.d.ts +0 -24
  94. package/dist/error-overlay/react-overlay/effects/proxy-console.d.ts.map +0 -1
  95. package/dist/error-overlay/react-overlay/effects/proxy-console.js +0 -63
  96. package/dist/error-overlay/react-overlay/effects/proxy-console.js.map +0 -1
  97. package/dist/error-overlay/react-overlay/effects/resolve-file-source.d.ts +0 -3
  98. package/dist/error-overlay/react-overlay/effects/resolve-file-source.d.ts.map +0 -1
  99. package/dist/error-overlay/react-overlay/effects/resolve-file-source.js +0 -31
  100. package/dist/error-overlay/react-overlay/effects/resolve-file-source.js.map +0 -1
  101. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.d.ts +0 -3
  102. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.d.ts.map +0 -1
  103. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.js +0 -43
  104. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.js.map +0 -1
  105. package/dist/error-overlay/react-overlay/effects/unhandled-error.d.ts +0 -4
  106. package/dist/error-overlay/react-overlay/effects/unhandled-error.d.ts.map +0 -1
  107. package/dist/error-overlay/react-overlay/effects/unhandled-error.js +0 -45
  108. package/dist/error-overlay/react-overlay/effects/unhandled-error.js.map +0 -1
  109. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.d.ts +0 -4
  110. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.d.ts.map +0 -1
  111. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.js +0 -41
  112. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.js.map +0 -1
  113. package/dist/error-overlay/react-overlay/index.d.ts +0 -2
  114. package/dist/error-overlay/react-overlay/index.d.ts.map +0 -1
  115. package/dist/error-overlay/react-overlay/index.js +0 -21
  116. package/dist/error-overlay/react-overlay/index.js.map +0 -1
  117. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +0 -8
  118. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.d.ts.map +0 -1
  119. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js +0 -78
  120. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js.map +0 -1
  121. package/dist/error-overlay/react-overlay/utils/get-file-source.d.ts +0 -1
  122. package/dist/error-overlay/react-overlay/utils/get-file-source.d.ts.map +0 -1
  123. package/dist/error-overlay/react-overlay/utils/get-file-source.js +0 -21
  124. package/dist/error-overlay/react-overlay/utils/get-file-source.js.map +0 -1
  125. package/dist/error-overlay/react-overlay/utils/get-lines-around.d.ts +0 -14
  126. package/dist/error-overlay/react-overlay/utils/get-lines-around.d.ts.map +0 -1
  127. package/dist/error-overlay/react-overlay/utils/get-lines-around.js +0 -24
  128. package/dist/error-overlay/react-overlay/utils/get-lines-around.js.map +0 -1
  129. package/dist/error-overlay/react-overlay/utils/get-source-map.d.ts +0 -13
  130. package/dist/error-overlay/react-overlay/utils/get-source-map.d.ts.map +0 -1
  131. package/dist/error-overlay/react-overlay/utils/get-source-map.js +0 -58
  132. package/dist/error-overlay/react-overlay/utils/get-source-map.js.map +0 -1
  133. package/dist/error-overlay/react-overlay/utils/get-stack-frames.d.ts +0 -2
  134. package/dist/error-overlay/react-overlay/utils/get-stack-frames.d.ts.map +0 -1
  135. package/dist/error-overlay/react-overlay/utils/get-stack-frames.js +0 -27
  136. package/dist/error-overlay/react-overlay/utils/get-stack-frames.js.map +0 -1
  137. package/dist/error-overlay/react-overlay/utils/open-in-editor.d.ts +0 -12
  138. package/dist/error-overlay/react-overlay/utils/open-in-editor.d.ts.map +0 -1
  139. package/dist/error-overlay/react-overlay/utils/open-in-editor.js +0 -459
  140. package/dist/error-overlay/react-overlay/utils/open-in-editor.js.map +0 -1
  141. package/dist/error-overlay/react-overlay/utils/parser.d.ts +0 -2
  142. package/dist/error-overlay/react-overlay/utils/parser.d.ts.map +0 -1
  143. package/dist/error-overlay/react-overlay/utils/parser.js +0 -117
  144. package/dist/error-overlay/react-overlay/utils/parser.js.map +0 -1
  145. package/dist/error-overlay/react-overlay/utils/stack-frame.d.ts +0 -40
  146. package/dist/error-overlay/react-overlay/utils/stack-frame.d.ts.map +0 -1
  147. package/dist/error-overlay/react-overlay/utils/stack-frame.js +0 -31
  148. package/dist/error-overlay/react-overlay/utils/stack-frame.js.map +0 -1
  149. package/dist/error-overlay/react-overlay/utils/unmapper.d.ts +0 -2
  150. package/dist/error-overlay/react-overlay/utils/unmapper.d.ts.map +0 -1
  151. package/dist/error-overlay/react-overlay/utils/unmapper.js +0 -64
  152. package/dist/error-overlay/react-overlay/utils/unmapper.js.map +0 -1
  153. package/dist/error-overlay/remotion-overlay/AskOnDiscord.d.ts +0 -2
  154. package/dist/error-overlay/remotion-overlay/AskOnDiscord.d.ts.map +0 -1
  155. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js +0 -14
  156. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js.map +0 -1
  157. package/dist/error-overlay/remotion-overlay/Button.d.ts +0 -6
  158. package/dist/error-overlay/remotion-overlay/Button.d.ts.map +0 -1
  159. package/dist/error-overlay/remotion-overlay/Button.js +0 -24
  160. package/dist/error-overlay/remotion-overlay/Button.js.map +0 -1
  161. package/dist/error-overlay/remotion-overlay/CodeFrame.d.ts +0 -6
  162. package/dist/error-overlay/remotion-overlay/CodeFrame.d.ts.map +0 -1
  163. package/dist/error-overlay/remotion-overlay/CodeFrame.js +0 -28
  164. package/dist/error-overlay/remotion-overlay/CodeFrame.js.map +0 -1
  165. package/dist/error-overlay/remotion-overlay/DismissButton.d.ts +0 -2
  166. package/dist/error-overlay/remotion-overlay/DismissButton.d.ts.map +0 -1
  167. package/dist/error-overlay/remotion-overlay/DismissButton.js +0 -23
  168. package/dist/error-overlay/remotion-overlay/DismissButton.js.map +0 -1
  169. package/dist/error-overlay/remotion-overlay/ErrorDisplay.d.ts +0 -5
  170. package/dist/error-overlay/remotion-overlay/ErrorDisplay.d.ts.map +0 -1
  171. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +0 -45
  172. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js.map +0 -1
  173. package/dist/error-overlay/remotion-overlay/ErrorLoader.d.ts +0 -4
  174. package/dist/error-overlay/remotion-overlay/ErrorLoader.d.ts.map +0 -1
  175. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +0 -61
  176. package/dist/error-overlay/remotion-overlay/ErrorLoader.js.map +0 -1
  177. package/dist/error-overlay/remotion-overlay/ErrorTitle.d.ts +0 -6
  178. package/dist/error-overlay/remotion-overlay/ErrorTitle.d.ts.map +0 -1
  179. package/dist/error-overlay/remotion-overlay/ErrorTitle.js +0 -41
  180. package/dist/error-overlay/remotion-overlay/ErrorTitle.js.map +0 -1
  181. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +0 -5
  182. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts.map +0 -1
  183. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +0 -90
  184. package/dist/error-overlay/remotion-overlay/OpenInEditor.js.map +0 -1
  185. package/dist/error-overlay/remotion-overlay/Overlay.d.ts +0 -14
  186. package/dist/error-overlay/remotion-overlay/Overlay.d.ts.map +0 -1
  187. package/dist/error-overlay/remotion-overlay/Overlay.js +0 -49
  188. package/dist/error-overlay/remotion-overlay/Overlay.js.map +0 -1
  189. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts +0 -4
  190. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts.map +0 -1
  191. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js +0 -13
  192. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js.map +0 -1
  193. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +0 -8
  194. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts.map +0 -1
  195. package/dist/error-overlay/remotion-overlay/StackFrame.js +0 -48
  196. package/dist/error-overlay/remotion-overlay/StackFrame.js.map +0 -1
  197. package/dist/error-overlay/remotion-overlay/Symbolicating.d.ts +0 -2
  198. package/dist/error-overlay/remotion-overlay/Symbolicating.d.ts.map +0 -1
  199. package/dist/error-overlay/remotion-overlay/Symbolicating.js +0 -8
  200. package/dist/error-overlay/remotion-overlay/Symbolicating.js.map +0 -1
  201. package/dist/error-overlay/remotion-overlay/carets.d.ts +0 -3
  202. package/dist/error-overlay/remotion-overlay/carets.d.ts.map +0 -1
  203. package/dist/error-overlay/remotion-overlay/carets.js +0 -12
  204. package/dist/error-overlay/remotion-overlay/carets.js.map +0 -1
  205. package/dist/error-overlay/remotion-overlay/format-location.d.ts +0 -1
  206. package/dist/error-overlay/remotion-overlay/format-location.d.ts.map +0 -1
  207. package/dist/error-overlay/remotion-overlay/format-location.js +0 -10
  208. package/dist/error-overlay/remotion-overlay/format-location.js.map +0 -1
  209. package/dist/error-overlay/remotion-overlay/index.d.ts +0 -1
  210. package/dist/error-overlay/remotion-overlay/index.d.ts.map +0 -1
  211. package/dist/error-overlay/remotion-overlay/index.js +0 -18
  212. package/dist/error-overlay/remotion-overlay/index.js.map +0 -1
  213. package/dist/esbuild-loader/index.d.ts.map +0 -1
  214. package/dist/esbuild-loader/index.js.map +0 -1
  215. package/dist/esbuild-loader/interfaces.d.ts.map +0 -1
  216. package/dist/esbuild-loader/interfaces.js.map +0 -1
  217. package/dist/fast-refresh/helpers.d.ts.map +0 -1
  218. package/dist/fast-refresh/helpers.js.map +0 -1
  219. package/dist/fast-refresh/index.d.ts.map +0 -1
  220. package/dist/fast-refresh/index.js.map +0 -1
  221. package/dist/fast-refresh/loader.d.ts.map +0 -1
  222. package/dist/fast-refresh/loader.js.map +0 -1
  223. package/dist/fast-refresh/runtime.d.ts.map +0 -1
  224. package/dist/fast-refresh/runtime.js.map +0 -1
  225. package/dist/get-latest-remotion-version.d.ts +0 -1
  226. package/dist/get-latest-remotion-version.d.ts.map +0 -1
  227. package/dist/get-latest-remotion-version.js +0 -31
  228. package/dist/get-latest-remotion-version.js.map +0 -1
  229. package/dist/get-package-manager.d.ts +0 -8
  230. package/dist/get-package-manager.d.ts.map +0 -1
  231. package/dist/get-package-manager.js +0 -38
  232. package/dist/get-package-manager.js.map +0 -1
  233. package/dist/get-port.d.ts +0 -1
  234. package/dist/get-port.d.ts.map +0 -1
  235. package/dist/get-port.js +0 -75
  236. package/dist/get-port.js.map +0 -1
  237. package/dist/homepage/homepage.d.ts.map +0 -1
  238. package/dist/homepage/homepage.js.map +0 -1
  239. package/dist/hot-middleware/client.d.ts +0 -19
  240. package/dist/hot-middleware/client.d.ts.map +0 -1
  241. package/dist/hot-middleware/client.js +0 -206
  242. package/dist/hot-middleware/client.js.map +0 -1
  243. package/dist/hot-middleware/index.d.ts +0 -13
  244. package/dist/hot-middleware/index.d.ts.map +0 -1
  245. package/dist/hot-middleware/index.js +0 -180
  246. package/dist/hot-middleware/index.js.map +0 -1
  247. package/dist/hot-middleware/process-update.d.ts +0 -12
  248. package/dist/hot-middleware/process-update.d.ts.map +0 -1
  249. package/dist/hot-middleware/process-update.js +0 -147
  250. package/dist/hot-middleware/process-update.js.map +0 -1
  251. package/dist/hot-middleware/strip-ansi.d.ts +0 -1
  252. package/dist/hot-middleware/strip-ansi.d.ts.map +0 -1
  253. package/dist/hot-middleware/strip-ansi.js +0 -21
  254. package/dist/hot-middleware/strip-ansi.js.map +0 -1
  255. package/dist/hot-middleware/types.d.ts +0 -37
  256. package/dist/hot-middleware/types.d.ts.map +0 -1
  257. package/dist/hot-middleware/types.js +0 -17
  258. package/dist/hot-middleware/types.js.map +0 -1
  259. package/dist/index.d.ts.map +0 -1
  260. package/dist/index.js.map +0 -1
  261. package/dist/project-info.d.ts +0 -5
  262. package/dist/project-info.d.ts.map +0 -1
  263. package/dist/project-info.js +0 -22
  264. package/dist/project-info.js.map +0 -1
  265. package/dist/renderEntry.d.ts.map +0 -1
  266. package/dist/renderEntry.js.map +0 -1
  267. package/dist/setup-environment.d.ts.map +0 -1
  268. package/dist/setup-environment.js.map +0 -1
  269. package/dist/start-server.d.ts +0 -8
  270. package/dist/start-server.d.ts.map +0 -1
  271. package/dist/start-server.js +0 -132
  272. package/dist/start-server.js.map +0 -1
  273. package/dist/static-preview.d.ts +0 -1
  274. package/dist/static-preview.d.ts.map +0 -1
  275. package/dist/static-preview.js.map +0 -1
  276. package/dist/test/expect-to-throw.d.ts +0 -1
  277. package/dist/test/expect-to-throw.d.ts.map +0 -1
  278. package/dist/test/expect-to-throw.js +0 -14
  279. package/dist/test/expect-to-throw.js.map +0 -1
  280. package/dist/test/latest-remotion-version.test.d.ts.map +0 -1
  281. package/dist/test/latest-remotion-version.test.js +0 -6
  282. package/dist/test/latest-remotion-version.test.js.map +0 -1
  283. package/dist/test/parse-error-stack.test.d.ts +0 -1
  284. package/dist/test/parse-error-stack.test.d.ts.map +0 -1
  285. package/dist/test/parse-error-stack.test.js +0 -17
  286. package/dist/test/parse-error-stack.test.js.map +0 -1
  287. package/dist/test/parse-module-not-found.test.d.ts +0 -1
  288. package/dist/test/parse-module-not-found.test.d.ts.map +0 -1
  289. package/dist/test/parse-module-not-found.test.js +0 -17
  290. package/dist/test/parse-module-not-found.test.js.map +0 -1
  291. package/dist/test/secure-source-read.test.d.ts +0 -1
  292. package/dist/test/secure-source-read.test.d.ts.map +0 -1
  293. package/dist/test/secure-source-read.test.js +0 -8
  294. package/dist/test/secure-source-read.test.js.map +0 -1
  295. package/dist/update-available.d.ts +0 -10
  296. package/dist/update-available.d.ts.map +0 -1
  297. package/dist/update-available.js +0 -36
  298. package/dist/update-available.js.map +0 -1
  299. package/dist/webpack-cache.d.ts.map +0 -1
  300. package/dist/webpack-cache.js.map +0 -1
  301. package/dist/webpack-config.d.ts.map +0 -1
  302. package/dist/webpack-config.js.map +0 -1
  303. package/web/favicon.png +0 -0
@@ -1,3 +1,3 @@
1
- import { BundleState } from 'remotion';
1
+ import type { BundleState } from 'remotion';
2
2
  export declare const setBundleMode: (state: BundleState) => void;
3
3
  export declare const getBundleMode: () => BundleState;
package/dist/bundle.d.ts CHANGED
@@ -1,7 +1,28 @@
1
- import { WebpackOverrideFn } from 'remotion';
2
- export declare const bundle: (entryPoint: string, onProgressUpdate?: ((progress: number) => void) | undefined, options?: {
1
+ import type { WebpackOverrideFn } from 'remotion';
2
+ import webpack from 'webpack';
3
+ export declare type LegacyBundleOptions = {
3
4
  webpackOverride?: WebpackOverrideFn;
4
5
  outDir?: string;
5
6
  enableCaching?: boolean;
6
7
  publicPath?: string;
7
- }) => Promise<string>;
8
+ rootDir?: string;
9
+ publicDir?: string | null;
10
+ };
11
+ export declare const getConfig: ({ entryPoint, outDir, resolvedRemotionRoot, onProgress, options, }: {
12
+ outDir: string;
13
+ entryPoint: string;
14
+ resolvedRemotionRoot: string;
15
+ onProgress?: ((progress: number) => void) | undefined;
16
+ options?: LegacyBundleOptions | undefined;
17
+ }) => [string, webpack.Configuration];
18
+ export declare type BundleOptions = {
19
+ entryPoint: string;
20
+ onProgress?: (progress: number) => void;
21
+ } & LegacyBundleOptions;
22
+ declare type Arguments = [options: BundleOptions] | [
23
+ entryPoint: string,
24
+ onProgress?: (progress: number) => void,
25
+ options?: LegacyBundleOptions
26
+ ];
27
+ export declare function bundle(...args: Arguments): Promise<string>;
28
+ export {};
package/dist/bundle.js CHANGED
@@ -3,17 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.bundle = void 0;
6
+ exports.bundle = exports.getConfig = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const os_1 = __importDefault(require("os"));
9
9
  const path_1 = __importDefault(require("path"));
10
- const remotion_1 = require("remotion");
11
10
  const util_1 = require("util");
12
11
  const webpack_1 = __importDefault(require("webpack"));
12
+ const worker_threads_1 = require("worker_threads");
13
13
  const copy_dir_1 = require("./copy-dir");
14
- const static_preview_1 = require("./static-preview");
14
+ const index_html_1 = require("./index-html");
15
15
  const webpack_config_1 = require("./webpack-config");
16
- const entry = require.resolve('./renderEntry');
17
16
  const promisified = (0, util_1.promisify)(webpack_1.default);
18
17
  const prepareOutDir = async (specified) => {
19
18
  if (specified) {
@@ -34,24 +33,68 @@ const trimTrailingSlash = (p) => {
34
33
  }
35
34
  return p;
36
35
  };
37
- const bundle = async (entryPoint, onProgressUpdate, options) => {
38
- var _a, _b, _c, _d;
39
- const outDir = await prepareOutDir((_a = options === null || options === void 0 ? void 0 : options.outDir) !== null && _a !== void 0 ? _a : null);
40
- const output = await promisified([
41
- (0, webpack_config_1.webpackConfig)({
42
- entry,
43
- userDefinedComponent: entryPoint,
44
- outDir,
45
- environment: 'production',
46
- webpackOverride: (_b = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _b !== void 0 ? _b : remotion_1.Internals.defaultOverrideFunction,
47
- onProgressUpdate,
48
- enableCaching: (_c = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _c !== void 0 ? _c : remotion_1.Internals.DEFAULT_WEBPACK_CACHE_ENABLED,
49
- maxTimelineTracks: 15,
50
- // For production, the variables are set dynamically
51
- envVariables: {},
52
- inputProps: {},
53
- }),
54
- ]);
36
+ const getConfig = ({ entryPoint, outDir, resolvedRemotionRoot, onProgress, options, }) => {
37
+ var _a, _b;
38
+ const entry = require.resolve('./renderEntry');
39
+ return (0, webpack_config_1.webpackConfig)({
40
+ entry,
41
+ userDefinedComponent: entryPoint,
42
+ outDir,
43
+ environment: 'production',
44
+ webpackOverride: (_a = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _a !== void 0 ? _a : ((f) => f),
45
+ onProgress,
46
+ enableCaching: (_b = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _b !== void 0 ? _b : true,
47
+ maxTimelineTracks: 15,
48
+ // For production, the variables are set dynamically
49
+ envVariables: {},
50
+ entryPoints: [],
51
+ remotionRoot: resolvedRemotionRoot,
52
+ keyboardShortcutsEnabled: false,
53
+ });
54
+ };
55
+ exports.getConfig = getConfig;
56
+ const convertArgumentsIntoOptions = (args) => {
57
+ var _a;
58
+ if (args.length === 0) {
59
+ throw new TypeError('bundle() was called without arguments');
60
+ }
61
+ const firstArg = args[0];
62
+ if (typeof firstArg === 'string') {
63
+ return {
64
+ entryPoint: firstArg,
65
+ onProgress: args[1],
66
+ ...((_a = args[2]) !== null && _a !== void 0 ? _a : {}),
67
+ };
68
+ }
69
+ if (typeof firstArg.entryPoint !== 'string') {
70
+ throw new TypeError('bundle() was called without the `entryPoint` option');
71
+ }
72
+ return firstArg;
73
+ };
74
+ async function bundle(...args) {
75
+ var _a, _b, _c;
76
+ const actualArgs = convertArgumentsIntoOptions(args);
77
+ const resolvedRemotionRoot = (_a = actualArgs === null || actualArgs === void 0 ? void 0 : actualArgs.rootDir) !== null && _a !== void 0 ? _a : process.cwd();
78
+ const outDir = await prepareOutDir((_b = actualArgs === null || actualArgs === void 0 ? void 0 : actualArgs.outDir) !== null && _b !== void 0 ? _b : null);
79
+ // The config might use an override which might use
80
+ // `process.cwd()`. The context should always be the Remotion root.
81
+ // This is not supported in worker threads (used for tests)
82
+ const currentCwd = process.cwd();
83
+ if (worker_threads_1.isMainThread) {
84
+ process.chdir(resolvedRemotionRoot);
85
+ }
86
+ const { entryPoint, onProgress, ...options } = actualArgs;
87
+ const [, config] = (0, exports.getConfig)({
88
+ outDir,
89
+ entryPoint,
90
+ resolvedRemotionRoot,
91
+ onProgress,
92
+ options,
93
+ });
94
+ const output = await promisified([config]);
95
+ if (worker_threads_1.isMainThread) {
96
+ process.chdir(currentCwd);
97
+ }
55
98
  if (!output) {
56
99
  throw new Error('Expected webpack output');
57
100
  }
@@ -59,18 +102,27 @@ const bundle = async (entryPoint, onProgressUpdate, options) => {
59
102
  if (errors !== undefined && errors.length > 0) {
60
103
  throw new Error(errors[0].message + '\n' + errors[0].details);
61
104
  }
62
- const baseDir = (_d = options === null || options === void 0 ? void 0 : options.publicPath) !== null && _d !== void 0 ? _d : '/';
63
- const publicDir = '/' +
105
+ const baseDir = (_c = actualArgs === null || actualArgs === void 0 ? void 0 : actualArgs.publicPath) !== null && _c !== void 0 ? _c : '/';
106
+ const staticHash = '/' +
64
107
  [trimTrailingSlash(trimLeadingSlash(baseDir)), 'public']
65
108
  .filter(Boolean)
66
109
  .join('/');
67
- const from = path_1.default.join(process.cwd(), 'public');
110
+ const from = (options === null || options === void 0 ? void 0 : options.publicDir)
111
+ ? path_1.default.resolve(resolvedRemotionRoot, options.publicDir)
112
+ : path_1.default.join(resolvedRemotionRoot, 'public');
68
113
  const to = path_1.default.join(outDir, 'public');
69
114
  if (fs_1.default.existsSync(from)) {
70
115
  await (0, copy_dir_1.copyDir)(from, to);
71
116
  }
72
- const html = (0, static_preview_1.indexHtml)(publicDir, baseDir, null);
117
+ const html = (0, index_html_1.indexHtml)({
118
+ staticHash,
119
+ baseDir,
120
+ editorName: null,
121
+ inputProps: null,
122
+ remotionRoot: resolvedRemotionRoot,
123
+ previewServerCommand: null,
124
+ });
73
125
  fs_1.default.writeFileSync(path_1.default.join(outDir, 'index.html'), html);
74
126
  return outDir;
75
- };
127
+ }
76
128
  exports.bundle = bundle;
@@ -1,4 +1,4 @@
1
- import webpack from 'webpack';
2
- import { LoaderOptions } from './interfaces';
1
+ import type webpack from 'webpack';
2
+ import type { LoaderOptions } from './interfaces';
3
3
  declare function ESBuildLoader(this: webpack.LoaderContext<LoaderOptions>, source: string): Promise<void>;
4
4
  export default ESBuildLoader;
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const esbuild_1 = require("esbuild");
7
7
  const path_1 = __importDefault(require("path"));
8
- const tsConfigPath = path_1.default.join(process.cwd(), 'tsconfig.json');
9
8
  const isTsExtensionPtrn = /\.ts$/i;
10
9
  const isTypescriptInstalled = () => {
11
10
  try {
@@ -22,6 +21,7 @@ async function ESBuildLoader(source) {
22
21
  this.getOptions();
23
22
  const options = this.getOptions();
24
23
  const { implementation, ...esbuildTransformOptions } = options;
24
+ const tsConfigPath = path_1.default.join(this.context, 'tsconfig.json');
25
25
  if (implementation && typeof implementation.transform !== 'function') {
26
26
  done(new TypeError(`esbuild-loader: options.implementation.transform must be an ESBuild transform function. Received ${typeof implementation.transform}`));
27
27
  return;
@@ -35,6 +35,7 @@ async function ESBuildLoader(source) {
35
35
  sourcefile: this.resourcePath,
36
36
  };
37
37
  if (!('tsconfigRaw' in transformOptions) && isTypescriptInstalled()) {
38
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
38
39
  const typescript = require('typescript');
39
40
  const tsConfig = typescript.readConfigFile(tsConfigPath, typescript.sys.readFile);
40
41
  transformOptions.tsconfigRaw = tsConfig.config;
@@ -1,4 +1,4 @@
1
- import { transform, TransformOptions } from 'esbuild';
1
+ import type { transform, TransformOptions } from 'esbuild';
2
2
  declare type Implementation = {
3
3
  transform: typeof transform;
4
4
  };
@@ -24,7 +24,7 @@
24
24
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
25
  * SOFTWARE.
26
26
  */
27
- import webpack from 'webpack';
27
+ import type webpack from 'webpack';
28
28
  export declare class ReactFreshWebpackPlugin {
29
29
  apply(compiler: webpack.Compiler): void;
30
30
  }
@@ -4,33 +4,6 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ReactFreshWebpackPlugin = void 0;
7
- /**
8
- * The MIT License (MIT)
9
- *
10
- * Copyright (c) 2020 Vercel, Inc.
11
- *
12
- * Permission is hereby granted, free of charge, to any person obtaining a copy
13
- * of this software and associated documentation files (the "Software"), to deal
14
- * in the Software without restriction, including without limitation the rights
15
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
- * copies of the Software, and to permit persons to whom the Software is
17
- * furnished to do so, subject to the following conditions:
18
- *
19
- * The above copyright notice and this permission notice shall be included in all
20
- * copies or substantial portions of the Software.
21
- *
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
- * SOFTWARE.
29
- */
30
- // This file is copied from the @vercel/next.js, with removed TS annotations
31
- // minor tweaks, and removed all webpack v4-related functionality
32
- //
33
- // https://github.com/vercel/next.js/blob/canary/packages/react-refresh-utils/ReactRefreshWebpackPlugin.ts
34
7
  const webpack_1 = require("webpack");
35
8
  class ReactRefreshRuntimeModule extends webpack_1.RuntimeModule {
36
9
  constructor() {
@@ -30,6 +30,6 @@
30
30
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
31
  * SOFTWARE.
32
32
  */
33
- import { LoaderDefinition } from 'webpack';
33
+ import type { LoaderDefinition } from 'webpack';
34
34
  declare const ReactRefreshLoader: LoaderDefinition;
35
35
  export default ReactRefreshLoader;
@@ -1,3 +1,2 @@
1
1
  import React from 'react';
2
- export declare const AvailableCompositions: React.FC;
3
2
  export declare const Homepage: React.FC;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Homepage = exports.AvailableCompositions = void 0;
3
+ exports.Homepage = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const bundle_mode_1 = require("../bundle-mode");
@@ -55,9 +55,8 @@ const AvailableCompositions = () => {
55
55
  return (0, jsx_runtime_1.jsx)("li", { children: c.id }, c.id);
56
56
  }) })] }));
57
57
  };
58
- exports.AvailableCompositions = AvailableCompositions;
59
58
  const Homepage = () => {
60
59
  const url = window.location.origin + window.location.pathname;
61
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("h1", { children: "Remotion Bundle" }), "This is a website which contains a bundled Remotion video. You can render videos based on this URL.", (0, jsx_runtime_1.jsx)("h2", { children: "Available compositions" }), (0, jsx_runtime_1.jsx)(exports.AvailableCompositions, {}), (0, jsx_runtime_1.jsx)("h2", { children: "How to render" }), "Locally: ", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: pre, children: ["npx remotion render ", url, " ", '<comp-name> <output-location>'] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "With Remotion Lambda: ", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: pre, children: ["npx remotion lambda render ", url, " ", '<comp-name>'] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("p", { children: ["You can also render still images, and use the Node.JS APIs", ' ', (0, jsx_runtime_1.jsx)("code", { children: "getCompositions()" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "renderMedia()" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "renderMediaOnLambda()" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "renderStill()" }), " and", ' ', (0, jsx_runtime_1.jsx)("code", { children: "renderStillOnLambda()" }), " with this URL."] }), (0, jsx_runtime_1.jsxs)("p", { children: ["Visit", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs", target: "_blank", children: "remotion.dev/docs" }), ' ', "to read the documentation."] })] }));
60
+ return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("h1", { children: "Remotion Bundle" }), "This is a website which contains a bundled Remotion video. You can render videos based on this URL.", (0, jsx_runtime_1.jsx)("h2", { children: "Available compositions" }), (0, jsx_runtime_1.jsx)(AvailableCompositions, {}), (0, jsx_runtime_1.jsx)("h2", { children: "How to render" }), "Locally: ", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: pre, children: ["npx remotion render ", url, " ", '<comp-name> <output-location>'] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "With Remotion Lambda: ", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: pre, children: ["npx remotion lambda render ", url, " ", '<comp-name>'] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("p", { children: ["You can also render still images, and use the Node.JS APIs", ' ', (0, jsx_runtime_1.jsx)("code", { children: "getCompositions()" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "renderMedia()" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "renderMediaOnLambda()" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "renderStill()" }), " and", ' ', (0, jsx_runtime_1.jsx)("code", { children: "renderStillOnLambda()" }), " with this URL."] }), (0, jsx_runtime_1.jsxs)("p", { children: ["Visit", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs", target: "_blank", children: "remotion.dev/docs" }), ' ', "to read the documentation."] })] }));
62
61
  };
63
62
  exports.Homepage = Homepage;
@@ -0,0 +1,8 @@
1
+ export declare const indexHtml: ({ baseDir, editorName, inputProps, staticHash, remotionRoot, previewServerCommand, }: {
2
+ staticHash: string;
3
+ baseDir: string;
4
+ editorName: string | null;
5
+ inputProps: object | null;
6
+ remotionRoot: string;
7
+ previewServerCommand: string | null;
8
+ }) => string;
@@ -5,14 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.indexHtml = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
- const indexHtml = (staticHash, baseDir, editorName) => `
8
+ const indexHtml = ({ baseDir, editorName, inputProps, staticHash, remotionRoot, previewServerCommand, }) => `
9
9
  <!DOCTYPE html>
10
10
  <html lang="en">
11
11
  <head>
12
12
  <meta charset="UTF-8" />
13
13
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
14
14
  <link rel="preconnect" href="https://fonts.gstatic.com" />
15
- <link rel="icon" type="image/png" href="/favicon.png" />
15
+ <link rel="icon" type="image/png" href="/remotion.png" />
16
16
  <title>Remotion Preview</title>
17
17
  </head>
18
18
  <body>
@@ -22,8 +22,13 @@ const indexHtml = (staticHash, baseDir, editorName) => `
22
22
  ${editorName
23
23
  ? `<script>window.remotion_editorName = "${editorName}";</script>`
24
24
  : '<script>window.remotion_editorName = null;</script>'}
25
- <script>window.remotion_projectName = ${JSON.stringify(path_1.default.basename(process.cwd()))};</script>
26
- <script>window.remotion_cwd = ${JSON.stringify(process.cwd())};</script>
25
+ <script>window.remotion_projectName = ${JSON.stringify(path_1.default.basename(remotionRoot))};</script>
26
+ <script>window.remotion_cwd = ${JSON.stringify(remotionRoot)};</script>
27
+ <script>window.remotion_previewServerCommand = ${previewServerCommand ? JSON.stringify(previewServerCommand) : 'null'};</script>
28
+ ${inputProps
29
+ ? `<script>window.remotion_inputProps = ${JSON.stringify(JSON.stringify(inputProps))};</script>
30
+ `
31
+ : ''}
27
32
 
28
33
  <div id="container"></div>
29
34
  <div id="menuportal-0"></div>
@@ -33,6 +38,7 @@ const indexHtml = (staticHash, baseDir, editorName) => `
33
38
  <div id="menuportal-4"></div>
34
39
  <div id="menuportal-5"></div>
35
40
  <div id="remotion-error-overlay"></div>
41
+ <div id="server-disconnected-overlay"></div>
36
42
  <script src="${baseDir}bundle.js"></script>
37
43
  </body>
38
44
  </html>
package/dist/index.d.ts CHANGED
@@ -1,22 +1,39 @@
1
1
  import esbuild = require('esbuild');
2
+ import webpack = require('webpack');
2
3
  export declare const BundlerInternals: {
3
- startServer: (entry: string, userDefinedComponent: string, options?: {
4
- webpackOverride?: import("remotion").WebpackOverrideFn | undefined;
5
- inputProps?: object | undefined;
6
- envVariables?: Record<string, string> | undefined;
7
- port: number | null;
8
- maxTimelineTracks?: number | undefined;
9
- } | undefined) => Promise<number>;
10
- cacheExists: (environment: "development" | "production", inputProps: object | null) => boolean;
11
- clearCache: (environment: "development" | "production", inputProps: object | null) => Promise<void>;
12
- getLatestRemotionVersion: () => Promise<any>;
13
- getPackageManager: () => import("./get-package-manager").PackageManager | "unknown";
14
- lockFilePaths: {
15
- manager: import("./get-package-manager").PackageManager;
16
- path: string;
17
- }[];
18
4
  esbuild: typeof esbuild;
5
+ webpackConfig: ({ entry, userDefinedComponent, outDir, environment, webpackOverride, onProgress, enableCaching, envVariables, maxTimelineTracks, entryPoints, remotionRoot, keyboardShortcutsEnabled, }: {
6
+ entry: string;
7
+ userDefinedComponent: string;
8
+ outDir: string;
9
+ environment: "development" | "production";
10
+ webpackOverride: import("remotion/dist/internals").WebpackOverrideFn;
11
+ onProgress?: ((f: number) => void) | undefined;
12
+ enableCaching?: boolean | undefined;
13
+ envVariables: Record<string, string>;
14
+ maxTimelineTracks: number;
15
+ keyboardShortcutsEnabled: boolean;
16
+ entryPoints: string[];
17
+ remotionRoot: string;
18
+ }) => [string, webpack.Configuration];
19
+ indexHtml: ({ baseDir, editorName, inputProps, staticHash, remotionRoot, previewServerCommand, }: {
20
+ staticHash: string;
21
+ baseDir: string;
22
+ editorName: string | null;
23
+ inputProps: object | null;
24
+ remotionRoot: string;
25
+ previewServerCommand: string | null;
26
+ }) => string;
27
+ cacheExists: (remotionRoot: string, environment: "development" | "production", hash: string) => "exists" | "other-exists" | "does-not-exist";
28
+ clearCache: (remotionRoot: string) => Promise<void>;
29
+ getConfig: ({ entryPoint, outDir, resolvedRemotionRoot, onProgress, options, }: {
30
+ outDir: string;
31
+ entryPoint: string;
32
+ resolvedRemotionRoot: string;
33
+ onProgress?: ((progress: number) => void) | undefined;
34
+ options?: import("./bundle").LegacyBundleOptions | undefined;
35
+ }) => [string, webpack.Configuration];
19
36
  };
20
- export { bundle } from './bundle';
21
- export { PackageManager } from './get-package-manager';
22
- export type { ProjectInfo } from './project-info';
37
+ export { bundle, BundleOptions, LegacyBundleOptions } from './bundle';
38
+ export { webpack };
39
+ export declare type WebpackConfiguration = webpack.Configuration;
package/dist/index.js CHANGED
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bundle = exports.BundlerInternals = void 0;
4
- const get_latest_remotion_version_1 = require("./get-latest-remotion-version");
5
- const get_package_manager_1 = require("./get-package-manager");
6
- const start_server_1 = require("./start-server");
3
+ exports.webpack = exports.bundle = exports.BundlerInternals = void 0;
4
+ const bundle_1 = require("./bundle");
5
+ const index_html_1 = require("./index-html");
7
6
  const webpack_cache_1 = require("./webpack-cache");
7
+ const webpack_config_1 = require("./webpack-config");
8
8
  const esbuild = require("esbuild");
9
+ const webpack = require("webpack");
10
+ exports.webpack = webpack;
9
11
  exports.BundlerInternals = {
10
- startServer: start_server_1.startServer,
12
+ esbuild,
13
+ webpackConfig: webpack_config_1.webpackConfig,
14
+ indexHtml: index_html_1.indexHtml,
11
15
  cacheExists: webpack_cache_1.cacheExists,
12
16
  clearCache: webpack_cache_1.clearCache,
13
- getLatestRemotionVersion: get_latest_remotion_version_1.getLatestRemotionVersion,
14
- getPackageManager: get_package_manager_1.getPackageManager,
15
- lockFilePaths: get_package_manager_1.lockFilePaths,
16
- esbuild,
17
+ getConfig: bundle_1.getConfig,
17
18
  };
18
- var bundle_1 = require("./bundle");
19
- Object.defineProperty(exports, "bundle", { enumerable: true, get: function () { return bundle_1.bundle; } });
19
+ var bundle_2 = require("./bundle");
20
+ Object.defineProperty(exports, "bundle", { enumerable: true, get: function () { return bundle_2.bundle; } });
@@ -1,2 +1,2 @@
1
- import { BundleState } from 'remotion';
1
+ import type { BundleState } from 'remotion';
2
2
  export declare const setBundleModeAndUpdate: (state: BundleState) => void;
@@ -15,23 +15,14 @@ const remotion_1 = require("remotion");
15
15
  const bundle_mode_1 = require("./bundle-mode");
16
16
  const homepage_1 = require("./homepage/homepage");
17
17
  remotion_1.Internals.CSSUtils.injectCSS(remotion_1.Internals.CSSUtils.makeDefaultCSS(null, '#fff'));
18
- const Root = remotion_1.Internals.getRoot();
19
- if (!Root) {
20
- throw new Error('Root has not been registered.');
21
- }
22
- const handle = (0, remotion_1.delayRender)('Loading root component');
23
- const Fallback = () => {
24
- (0, react_1.useEffect)(() => {
25
- const fallback = (0, remotion_1.delayRender)('Waiting for Root component to unsuspend');
26
- return () => (0, remotion_1.continueRender)(fallback);
27
- }, []);
28
- return null;
29
- };
30
18
  const GetVideo = ({ state }) => {
31
- var _a;
32
19
  const video = remotion_1.Internals.useVideo();
33
20
  const compositions = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
34
- const [Component, setComponent] = (0, react_1.useState)(null);
21
+ const portalContainer = (0, react_1.useRef)(null);
22
+ const [handle] = (0, react_1.useState)(() => (0, remotion_1.delayRender)('Wait for Composition' + JSON.stringify(state)));
23
+ (0, react_1.useEffect)(() => {
24
+ return () => (0, remotion_1.continueRender)(handle);
25
+ }, [handle]);
35
26
  (0, react_1.useEffect)(() => {
36
27
  var _a;
37
28
  if (state.type !== 'composition') {
@@ -43,37 +34,45 @@ const GetVideo = ({ state }) => {
43
34
  throw new Error('Found no composition with the name ' + state.compositionName);
44
35
  }
45
36
  compositions.setCurrentComposition((_a = foundComposition === null || foundComposition === void 0 ? void 0 : foundComposition.id) !== null && _a !== void 0 ? _a : null);
37
+ compositions.setCurrentCompositionMetadata({
38
+ defaultProps: state.compositionDefaultProps,
39
+ durationInFrames: state.compositionDurationInFrames,
40
+ fps: state.compositionFps,
41
+ height: state.compositionHeight,
42
+ width: state.compositionWidth,
43
+ });
46
44
  }
47
45
  }, [compositions, compositions.compositions, state, video]);
48
- const fetchComponent = (0, react_1.useCallback)(() => {
49
- if (!video) {
50
- throw new Error('Expected to have video');
51
- }
52
- const Comp = video.component;
53
- setComponent(Comp);
54
- }, [video]);
55
- (0, react_1.useEffect)(() => {
56
- if (video) {
57
- fetchComponent();
58
- }
59
- }, [fetchComponent, video]);
60
46
  (0, react_1.useEffect)(() => {
61
47
  if (state.type === 'evaluation') {
62
48
  (0, remotion_1.continueRender)(handle);
63
49
  }
64
- else if (Component) {
50
+ else if (video) {
65
51
  (0, remotion_1.continueRender)(handle);
66
52
  }
67
- }, [Component, state.type]);
53
+ }, [handle, state.type, video]);
54
+ (0, react_1.useEffect)(() => {
55
+ if (!video) {
56
+ return;
57
+ }
58
+ const { current } = portalContainer;
59
+ if (!current) {
60
+ throw new Error('portal did not render');
61
+ }
62
+ current.appendChild(remotion_1.Internals.portalNode());
63
+ return () => {
64
+ current.removeChild(remotion_1.Internals.portalNode());
65
+ };
66
+ }, [video]);
68
67
  if (!video) {
69
68
  return null;
70
69
  }
71
- return ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)(Fallback, {}), children: (0, jsx_runtime_1.jsx)("div", { id: "remotion-canvas", style: {
72
- width: video.width,
73
- height: video.height,
74
- display: 'flex',
75
- backgroundColor: 'transparent',
76
- }, children: Component ? ((0, jsx_runtime_1.jsx)(Component, { ...((_a = video === null || video === void 0 ? void 0 : video.defaultProps) !== null && _a !== void 0 ? _a : {}), ...(0, remotion_1.getInputProps)() })) : null }) }));
70
+ return ((0, jsx_runtime_1.jsx)("div", { ref: portalContainer, id: "remotion-canvas", style: {
71
+ width: video.width,
72
+ height: video.height,
73
+ display: 'flex',
74
+ backgroundColor: 'transparent',
75
+ } }));
77
76
  };
78
77
  const videoContainer = document.getElementById('video-container');
79
78
  const explainerContainer = document.getElementById('explainer-container');
@@ -83,10 +82,28 @@ let cleanupVideoContainer = () => {
83
82
  let cleanupExplainerContainer = () => {
84
83
  explainerContainer.innerHTML = '';
85
84
  };
85
+ const waitForRootHandle = (0, remotion_1.delayRender)('Loading root component');
86
+ const WaitForRoot = () => {
87
+ const [Root, setRoot] = (0, react_1.useState)(() => remotion_1.Internals.getRoot());
88
+ (0, react_1.useEffect)(() => {
89
+ if (Root) {
90
+ (0, remotion_1.continueRender)(waitForRootHandle);
91
+ return;
92
+ }
93
+ const cleanup = remotion_1.Internals.waitForRoot((NewRoot) => {
94
+ setRoot(() => NewRoot);
95
+ });
96
+ return () => cleanup();
97
+ }, [Root]);
98
+ if (Root === null) {
99
+ return null;
100
+ }
101
+ return (0, jsx_runtime_1.jsx)(Root, {});
102
+ };
86
103
  const renderContent = () => {
87
104
  const bundleMode = (0, bundle_mode_1.getBundleMode)();
88
105
  if (bundleMode.type === 'composition' || bundleMode.type === 'evaluation') {
89
- const markup = ((0, jsx_runtime_1.jsxs)(remotion_1.Internals.RemotionRoot, { children: [(0, jsx_runtime_1.jsx)(Root, {}), (0, jsx_runtime_1.jsx)(GetVideo, { state: bundleMode })] }));
106
+ const markup = ((0, jsx_runtime_1.jsxs)(remotion_1.Internals.RemotionRoot, { children: [(0, jsx_runtime_1.jsx)(WaitForRoot, {}), (0, jsx_runtime_1.jsx)(GetVideo, { state: bundleMode })] }));
90
107
  if (client_1.default.createRoot) {
91
108
  const root = client_1.default.createRoot(videoContainer);
92
109
  root.render(markup);
@@ -138,6 +155,9 @@ const setBundleModeAndUpdate = (state) => {
138
155
  exports.setBundleModeAndUpdate = setBundleModeAndUpdate;
139
156
  if (typeof window !== 'undefined') {
140
157
  window.getStaticCompositions = () => {
158
+ if (!remotion_1.Internals.getRoot()) {
159
+ throw new Error('registerRoot() was never called. 1. Make sure you specified the correct entrypoint for your bundle. 2. If your registerRoot() call is deferred, use the delayRender/continueRender pattern to tell Remotion to wait.');
160
+ }
141
161
  if (!remotion_1.Internals.compositionsRef.current) {
142
162
  throw new Error('Unexpectedly did not have a CompositionManager');
143
163
  }
@@ -154,6 +174,7 @@ if (typeof window !== 'undefined') {
154
174
  };
155
175
  });
156
176
  };
157
- window.siteVersion = '3';
177
+ window.siteVersion = '4';
178
+ window.remotion_version = remotion_1.VERSION;
158
179
  window.setBundleMode = exports.setBundleModeAndUpdate;
159
180
  }
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const remotion_1 = require("remotion");
4
4
  remotion_1.Internals.setupEnvVariables();
5
- remotion_1.Internals.setupPuppeteerTimeout();
6
5
  remotion_1.Internals.CSSUtils.injectCSS(`
7
- .css-reset * {
6
+ .css-reset, .css-reset * {
8
7
  font-size: 16px;
9
- line-height: 1;
8
+ line-height: 1.5;
10
9
  color: white;
11
10
  font-family: Arial, Helvetica, sans-serif;
11
+ background: transparent;
12
+ box-sizing: border-box;
12
13
  }
13
14
  `);
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const bundle_1 = require("../bundle");
5
+ (0, vitest_1.test)('Should reject bad bundle options', () => {
6
+ // @ts-expect-error
7
+ (0, vitest_1.expect)(() => (0, bundle_1.bundle)()).rejects.toThrow(/bundle\(\) was called without arguments/);
8
+ // @ts-expect-error
9
+ (0, vitest_1.expect)(() => (0, bundle_1.bundle)({})).rejects.toThrow(/bundle\(\) was called without the `entryPoint` option/);
10
+ });