@remotion/bundler 4.0.0-offthread.9 → 4.0.0-prefetch.7

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 (302) hide show
  1. package/dist/bundle-mode.d.ts +1 -1
  2. package/dist/bundle.d.ts +14 -3
  3. package/dist/bundle.js +56 -24
  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-public-dir.test.d.ts} +0 -0
  20. package/dist/test/validate-public-dir.test.js +21 -0
  21. package/dist/validate-public-dir.d.ts +1 -0
  22. package/dist/validate-public-dir.js +30 -0
  23. package/dist/webpack-cache.d.ts +4 -3
  24. package/dist/webpack-cache.js +33 -17
  25. package/dist/webpack-config.d.ts +6 -4
  26. package/dist/webpack-config.js +28 -29
  27. package/package.json +8 -21
  28. package/dist/bundle-mode.d.ts.map +0 -1
  29. package/dist/bundle-mode.js.map +0 -1
  30. package/dist/bundler.d.ts +0 -7
  31. package/dist/bundler.d.ts.map +0 -1
  32. package/dist/bundler.js +0 -76
  33. package/dist/bundler.js.map +0 -1
  34. package/dist/copy-dir.d.ts.map +0 -1
  35. package/dist/copy-dir.js.map +0 -1
  36. package/dist/dev-middleware/compatible-api.d.ts +0 -10
  37. package/dist/dev-middleware/compatible-api.d.ts.map +0 -1
  38. package/dist/dev-middleware/compatible-api.js +0 -44
  39. package/dist/dev-middleware/compatible-api.js.map +0 -1
  40. package/dist/dev-middleware/get-filename-from-url.d.ts +0 -2
  41. package/dist/dev-middleware/get-filename-from-url.d.ts.map +0 -1
  42. package/dist/dev-middleware/get-filename-from-url.js +0 -92
  43. package/dist/dev-middleware/get-filename-from-url.js.map +0 -1
  44. package/dist/dev-middleware/get-paths.d.ts +0 -7
  45. package/dist/dev-middleware/get-paths.d.ts.map +0 -1
  46. package/dist/dev-middleware/get-paths.js +0 -19
  47. package/dist/dev-middleware/get-paths.js.map +0 -1
  48. package/dist/dev-middleware/index.d.ts +0 -3
  49. package/dist/dev-middleware/index.d.ts.map +0 -1
  50. package/dist/dev-middleware/index.js +0 -57
  51. package/dist/dev-middleware/index.js.map +0 -1
  52. package/dist/dev-middleware/is-color-supported.d.ts +0 -1
  53. package/dist/dev-middleware/is-color-supported.d.ts.map +0 -1
  54. package/dist/dev-middleware/is-color-supported.js +0 -37
  55. package/dist/dev-middleware/is-color-supported.js.map +0 -1
  56. package/dist/dev-middleware/middleware.d.ts +0 -4
  57. package/dist/dev-middleware/middleware.d.ts.map +0 -1
  58. package/dist/dev-middleware/middleware.js +0 -141
  59. package/dist/dev-middleware/middleware.js.map +0 -1
  60. package/dist/dev-middleware/range-parser.d.ts +0 -15
  61. package/dist/dev-middleware/range-parser.d.ts.map +0 -1
  62. package/dist/dev-middleware/range-parser.js +0 -96
  63. package/dist/dev-middleware/range-parser.js.map +0 -1
  64. package/dist/dev-middleware/ready.d.ts +0 -5
  65. package/dist/dev-middleware/ready.d.ts.map +0 -1
  66. package/dist/dev-middleware/ready.js +0 -13
  67. package/dist/dev-middleware/ready.js.map +0 -1
  68. package/dist/dev-middleware/setup-hooks.d.ts +0 -2
  69. package/dist/dev-middleware/setup-hooks.d.ts.map +0 -1
  70. package/dist/dev-middleware/setup-hooks.js +0 -44
  71. package/dist/dev-middleware/setup-hooks.js.map +0 -1
  72. package/dist/dev-middleware/setup-output-filesystem.d.ts +0 -2
  73. package/dist/dev-middleware/setup-output-filesystem.d.ts.map +0 -1
  74. package/dist/dev-middleware/setup-output-filesystem.js +0 -13
  75. package/dist/dev-middleware/setup-output-filesystem.js.map +0 -1
  76. package/dist/dev-middleware/types.d.ts +0 -11
  77. package/dist/dev-middleware/types.d.ts.map +0 -1
  78. package/dist/dev-middleware/types.js +0 -2
  79. package/dist/dev-middleware/types.js.map +0 -1
  80. package/dist/error-overlay/entry-basic.d.ts.map +0 -1
  81. package/dist/error-overlay/entry-basic.js +0 -21
  82. package/dist/error-overlay/entry-basic.js.map +0 -1
  83. package/dist/error-overlay/react-overlay/effects/format-warning.d.ts +0 -11
  84. package/dist/error-overlay/react-overlay/effects/format-warning.d.ts.map +0 -1
  85. package/dist/error-overlay/react-overlay/effects/format-warning.js +0 -41
  86. package/dist/error-overlay/react-overlay/effects/format-warning.js.map +0 -1
  87. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +0 -7
  88. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts.map +0 -1
  89. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.js +0 -46
  90. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.js.map +0 -1
  91. package/dist/error-overlay/react-overlay/effects/proxy-console.d.ts +0 -24
  92. package/dist/error-overlay/react-overlay/effects/proxy-console.d.ts.map +0 -1
  93. package/dist/error-overlay/react-overlay/effects/proxy-console.js +0 -63
  94. package/dist/error-overlay/react-overlay/effects/proxy-console.js.map +0 -1
  95. package/dist/error-overlay/react-overlay/effects/resolve-file-source.d.ts +0 -3
  96. package/dist/error-overlay/react-overlay/effects/resolve-file-source.d.ts.map +0 -1
  97. package/dist/error-overlay/react-overlay/effects/resolve-file-source.js +0 -31
  98. package/dist/error-overlay/react-overlay/effects/resolve-file-source.js.map +0 -1
  99. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.d.ts +0 -3
  100. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.d.ts.map +0 -1
  101. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.js +0 -43
  102. package/dist/error-overlay/react-overlay/effects/stack-trace-limit.js.map +0 -1
  103. package/dist/error-overlay/react-overlay/effects/unhandled-error.d.ts +0 -4
  104. package/dist/error-overlay/react-overlay/effects/unhandled-error.d.ts.map +0 -1
  105. package/dist/error-overlay/react-overlay/effects/unhandled-error.js +0 -45
  106. package/dist/error-overlay/react-overlay/effects/unhandled-error.js.map +0 -1
  107. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.d.ts +0 -4
  108. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.d.ts.map +0 -1
  109. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.js +0 -41
  110. package/dist/error-overlay/react-overlay/effects/unhandled-rejection.js.map +0 -1
  111. package/dist/error-overlay/react-overlay/index.d.ts +0 -2
  112. package/dist/error-overlay/react-overlay/index.d.ts.map +0 -1
  113. package/dist/error-overlay/react-overlay/index.js +0 -21
  114. package/dist/error-overlay/react-overlay/index.js.map +0 -1
  115. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +0 -8
  116. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.d.ts.map +0 -1
  117. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js +0 -78
  118. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js.map +0 -1
  119. package/dist/error-overlay/react-overlay/utils/get-file-source.d.ts +0 -1
  120. package/dist/error-overlay/react-overlay/utils/get-file-source.d.ts.map +0 -1
  121. package/dist/error-overlay/react-overlay/utils/get-file-source.js +0 -21
  122. package/dist/error-overlay/react-overlay/utils/get-file-source.js.map +0 -1
  123. package/dist/error-overlay/react-overlay/utils/get-lines-around.d.ts +0 -14
  124. package/dist/error-overlay/react-overlay/utils/get-lines-around.d.ts.map +0 -1
  125. package/dist/error-overlay/react-overlay/utils/get-lines-around.js +0 -24
  126. package/dist/error-overlay/react-overlay/utils/get-lines-around.js.map +0 -1
  127. package/dist/error-overlay/react-overlay/utils/get-source-map.d.ts +0 -13
  128. package/dist/error-overlay/react-overlay/utils/get-source-map.d.ts.map +0 -1
  129. package/dist/error-overlay/react-overlay/utils/get-source-map.js +0 -58
  130. package/dist/error-overlay/react-overlay/utils/get-source-map.js.map +0 -1
  131. package/dist/error-overlay/react-overlay/utils/get-stack-frames.d.ts +0 -2
  132. package/dist/error-overlay/react-overlay/utils/get-stack-frames.d.ts.map +0 -1
  133. package/dist/error-overlay/react-overlay/utils/get-stack-frames.js +0 -27
  134. package/dist/error-overlay/react-overlay/utils/get-stack-frames.js.map +0 -1
  135. package/dist/error-overlay/react-overlay/utils/open-in-editor.d.ts +0 -12
  136. package/dist/error-overlay/react-overlay/utils/open-in-editor.d.ts.map +0 -1
  137. package/dist/error-overlay/react-overlay/utils/open-in-editor.js +0 -459
  138. package/dist/error-overlay/react-overlay/utils/open-in-editor.js.map +0 -1
  139. package/dist/error-overlay/react-overlay/utils/parser.d.ts +0 -2
  140. package/dist/error-overlay/react-overlay/utils/parser.d.ts.map +0 -1
  141. package/dist/error-overlay/react-overlay/utils/parser.js +0 -117
  142. package/dist/error-overlay/react-overlay/utils/parser.js.map +0 -1
  143. package/dist/error-overlay/react-overlay/utils/stack-frame.d.ts +0 -40
  144. package/dist/error-overlay/react-overlay/utils/stack-frame.d.ts.map +0 -1
  145. package/dist/error-overlay/react-overlay/utils/stack-frame.js +0 -31
  146. package/dist/error-overlay/react-overlay/utils/stack-frame.js.map +0 -1
  147. package/dist/error-overlay/react-overlay/utils/unmapper.d.ts +0 -2
  148. package/dist/error-overlay/react-overlay/utils/unmapper.d.ts.map +0 -1
  149. package/dist/error-overlay/react-overlay/utils/unmapper.js +0 -64
  150. package/dist/error-overlay/react-overlay/utils/unmapper.js.map +0 -1
  151. package/dist/error-overlay/remotion-overlay/AskOnDiscord.d.ts +0 -2
  152. package/dist/error-overlay/remotion-overlay/AskOnDiscord.d.ts.map +0 -1
  153. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js +0 -14
  154. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js.map +0 -1
  155. package/dist/error-overlay/remotion-overlay/Button.d.ts +0 -6
  156. package/dist/error-overlay/remotion-overlay/Button.d.ts.map +0 -1
  157. package/dist/error-overlay/remotion-overlay/Button.js +0 -24
  158. package/dist/error-overlay/remotion-overlay/Button.js.map +0 -1
  159. package/dist/error-overlay/remotion-overlay/CodeFrame.d.ts +0 -6
  160. package/dist/error-overlay/remotion-overlay/CodeFrame.d.ts.map +0 -1
  161. package/dist/error-overlay/remotion-overlay/CodeFrame.js +0 -28
  162. package/dist/error-overlay/remotion-overlay/CodeFrame.js.map +0 -1
  163. package/dist/error-overlay/remotion-overlay/DismissButton.d.ts +0 -2
  164. package/dist/error-overlay/remotion-overlay/DismissButton.d.ts.map +0 -1
  165. package/dist/error-overlay/remotion-overlay/DismissButton.js +0 -23
  166. package/dist/error-overlay/remotion-overlay/DismissButton.js.map +0 -1
  167. package/dist/error-overlay/remotion-overlay/ErrorDisplay.d.ts +0 -5
  168. package/dist/error-overlay/remotion-overlay/ErrorDisplay.d.ts.map +0 -1
  169. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +0 -45
  170. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js.map +0 -1
  171. package/dist/error-overlay/remotion-overlay/ErrorLoader.d.ts +0 -4
  172. package/dist/error-overlay/remotion-overlay/ErrorLoader.d.ts.map +0 -1
  173. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +0 -61
  174. package/dist/error-overlay/remotion-overlay/ErrorLoader.js.map +0 -1
  175. package/dist/error-overlay/remotion-overlay/ErrorTitle.d.ts +0 -6
  176. package/dist/error-overlay/remotion-overlay/ErrorTitle.d.ts.map +0 -1
  177. package/dist/error-overlay/remotion-overlay/ErrorTitle.js +0 -41
  178. package/dist/error-overlay/remotion-overlay/ErrorTitle.js.map +0 -1
  179. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +0 -5
  180. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts.map +0 -1
  181. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +0 -90
  182. package/dist/error-overlay/remotion-overlay/OpenInEditor.js.map +0 -1
  183. package/dist/error-overlay/remotion-overlay/Overlay.d.ts +0 -14
  184. package/dist/error-overlay/remotion-overlay/Overlay.d.ts.map +0 -1
  185. package/dist/error-overlay/remotion-overlay/Overlay.js +0 -49
  186. package/dist/error-overlay/remotion-overlay/Overlay.js.map +0 -1
  187. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts +0 -4
  188. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts.map +0 -1
  189. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js +0 -13
  190. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js.map +0 -1
  191. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +0 -8
  192. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts.map +0 -1
  193. package/dist/error-overlay/remotion-overlay/StackFrame.js +0 -48
  194. package/dist/error-overlay/remotion-overlay/StackFrame.js.map +0 -1
  195. package/dist/error-overlay/remotion-overlay/Symbolicating.d.ts +0 -2
  196. package/dist/error-overlay/remotion-overlay/Symbolicating.d.ts.map +0 -1
  197. package/dist/error-overlay/remotion-overlay/Symbolicating.js +0 -8
  198. package/dist/error-overlay/remotion-overlay/Symbolicating.js.map +0 -1
  199. package/dist/error-overlay/remotion-overlay/carets.d.ts +0 -3
  200. package/dist/error-overlay/remotion-overlay/carets.d.ts.map +0 -1
  201. package/dist/error-overlay/remotion-overlay/carets.js +0 -12
  202. package/dist/error-overlay/remotion-overlay/carets.js.map +0 -1
  203. package/dist/error-overlay/remotion-overlay/format-location.d.ts +0 -1
  204. package/dist/error-overlay/remotion-overlay/format-location.d.ts.map +0 -1
  205. package/dist/error-overlay/remotion-overlay/format-location.js +0 -10
  206. package/dist/error-overlay/remotion-overlay/format-location.js.map +0 -1
  207. package/dist/error-overlay/remotion-overlay/index.d.ts +0 -1
  208. package/dist/error-overlay/remotion-overlay/index.d.ts.map +0 -1
  209. package/dist/error-overlay/remotion-overlay/index.js +0 -18
  210. package/dist/error-overlay/remotion-overlay/index.js.map +0 -1
  211. package/dist/esbuild-loader/index.d.ts.map +0 -1
  212. package/dist/esbuild-loader/index.js.map +0 -1
  213. package/dist/esbuild-loader/interfaces.d.ts.map +0 -1
  214. package/dist/esbuild-loader/interfaces.js.map +0 -1
  215. package/dist/fast-refresh/helpers.d.ts.map +0 -1
  216. package/dist/fast-refresh/helpers.js.map +0 -1
  217. package/dist/fast-refresh/index.d.ts.map +0 -1
  218. package/dist/fast-refresh/index.js.map +0 -1
  219. package/dist/fast-refresh/loader.d.ts.map +0 -1
  220. package/dist/fast-refresh/loader.js.map +0 -1
  221. package/dist/fast-refresh/runtime.d.ts.map +0 -1
  222. package/dist/fast-refresh/runtime.js.map +0 -1
  223. package/dist/get-latest-remotion-version.d.ts +0 -1
  224. package/dist/get-latest-remotion-version.d.ts.map +0 -1
  225. package/dist/get-latest-remotion-version.js +0 -31
  226. package/dist/get-latest-remotion-version.js.map +0 -1
  227. package/dist/get-package-manager.d.ts +0 -8
  228. package/dist/get-package-manager.d.ts.map +0 -1
  229. package/dist/get-package-manager.js +0 -38
  230. package/dist/get-package-manager.js.map +0 -1
  231. package/dist/get-port.d.ts +0 -1
  232. package/dist/get-port.d.ts.map +0 -1
  233. package/dist/get-port.js +0 -75
  234. package/dist/get-port.js.map +0 -1
  235. package/dist/homepage/homepage.d.ts.map +0 -1
  236. package/dist/homepage/homepage.js.map +0 -1
  237. package/dist/hot-middleware/client.d.ts +0 -19
  238. package/dist/hot-middleware/client.d.ts.map +0 -1
  239. package/dist/hot-middleware/client.js +0 -206
  240. package/dist/hot-middleware/client.js.map +0 -1
  241. package/dist/hot-middleware/index.d.ts +0 -13
  242. package/dist/hot-middleware/index.d.ts.map +0 -1
  243. package/dist/hot-middleware/index.js +0 -180
  244. package/dist/hot-middleware/index.js.map +0 -1
  245. package/dist/hot-middleware/process-update.d.ts +0 -12
  246. package/dist/hot-middleware/process-update.d.ts.map +0 -1
  247. package/dist/hot-middleware/process-update.js +0 -147
  248. package/dist/hot-middleware/process-update.js.map +0 -1
  249. package/dist/hot-middleware/strip-ansi.d.ts +0 -1
  250. package/dist/hot-middleware/strip-ansi.d.ts.map +0 -1
  251. package/dist/hot-middleware/strip-ansi.js +0 -21
  252. package/dist/hot-middleware/strip-ansi.js.map +0 -1
  253. package/dist/hot-middleware/types.d.ts +0 -37
  254. package/dist/hot-middleware/types.d.ts.map +0 -1
  255. package/dist/hot-middleware/types.js +0 -17
  256. package/dist/hot-middleware/types.js.map +0 -1
  257. package/dist/index.d.ts.map +0 -1
  258. package/dist/index.js.map +0 -1
  259. package/dist/project-info.d.ts +0 -5
  260. package/dist/project-info.d.ts.map +0 -1
  261. package/dist/project-info.js +0 -22
  262. package/dist/project-info.js.map +0 -1
  263. package/dist/renderEntry.d.ts.map +0 -1
  264. package/dist/renderEntry.js.map +0 -1
  265. package/dist/setup-environment.d.ts.map +0 -1
  266. package/dist/setup-environment.js.map +0 -1
  267. package/dist/start-server.d.ts +0 -8
  268. package/dist/start-server.d.ts.map +0 -1
  269. package/dist/start-server.js +0 -132
  270. package/dist/start-server.js.map +0 -1
  271. package/dist/static-preview.d.ts +0 -1
  272. package/dist/static-preview.d.ts.map +0 -1
  273. package/dist/static-preview.js.map +0 -1
  274. package/dist/test/expect-to-throw.d.ts +0 -1
  275. package/dist/test/expect-to-throw.d.ts.map +0 -1
  276. package/dist/test/expect-to-throw.js +0 -14
  277. package/dist/test/expect-to-throw.js.map +0 -1
  278. package/dist/test/latest-remotion-version.test.d.ts +0 -1
  279. package/dist/test/latest-remotion-version.test.d.ts.map +0 -1
  280. package/dist/test/latest-remotion-version.test.js +0 -6
  281. package/dist/test/latest-remotion-version.test.js.map +0 -1
  282. package/dist/test/parse-error-stack.test.d.ts +0 -1
  283. package/dist/test/parse-error-stack.test.d.ts.map +0 -1
  284. package/dist/test/parse-error-stack.test.js +0 -17
  285. package/dist/test/parse-error-stack.test.js.map +0 -1
  286. package/dist/test/parse-module-not-found.test.d.ts +0 -1
  287. package/dist/test/parse-module-not-found.test.d.ts.map +0 -1
  288. package/dist/test/parse-module-not-found.test.js +0 -17
  289. package/dist/test/parse-module-not-found.test.js.map +0 -1
  290. package/dist/test/secure-source-read.test.d.ts +0 -1
  291. package/dist/test/secure-source-read.test.d.ts.map +0 -1
  292. package/dist/test/secure-source-read.test.js +0 -8
  293. package/dist/test/secure-source-read.test.js.map +0 -1
  294. package/dist/update-available.d.ts +0 -10
  295. package/dist/update-available.d.ts.map +0 -1
  296. package/dist/update-available.js +0 -36
  297. package/dist/update-available.js.map +0 -1
  298. package/dist/webpack-cache.d.ts.map +0 -1
  299. package/dist/webpack-cache.js.map +0 -1
  300. package/dist/webpack-config.d.ts.map +0 -1
  301. package/dist/webpack-config.js.map +0 -1
  302. 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,18 @@
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 BundleOptions = {
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, onProgressUpdate, options, }: {
12
+ outDir: string;
13
+ entryPoint: string;
14
+ resolvedRemotionRoot: string;
15
+ onProgressUpdate?: ((progress: number) => void) | undefined;
16
+ options?: BundleOptions | undefined;
17
+ }) => [string, webpack.Configuration];
18
+ export declare const bundle: (entryPoint: string, onProgressUpdate?: ((progress: number) => void) | undefined, options?: BundleOptions) => Promise<string>;
package/dist/bundle.js CHANGED
@@ -3,15 +3,15 @@ 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
16
  const entry = require.resolve('./renderEntry');
17
17
  const promisified = (0, util_1.promisify)(webpack_1.default);
@@ -34,24 +34,47 @@ const trimTrailingSlash = (p) => {
34
34
  }
35
35
  return p;
36
36
  };
37
+ const getConfig = ({ entryPoint, outDir, resolvedRemotionRoot, onProgressUpdate, options, }) => {
38
+ var _a, _b;
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
+ onProgressUpdate,
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;
37
56
  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
- ]);
57
+ var _a, _b, _c;
58
+ const resolvedRemotionRoot = (_a = options === null || options === void 0 ? void 0 : options.rootDir) !== null && _a !== void 0 ? _a : process.cwd();
59
+ const outDir = await prepareOutDir((_b = options === null || options === void 0 ? void 0 : options.outDir) !== null && _b !== void 0 ? _b : null);
60
+ // The config might use an override which might use
61
+ // `process.cwd()`. The context should always be the Remotion root.
62
+ // This is not supported in worker threads (used for tests)
63
+ const currentCwd = process.cwd();
64
+ if (worker_threads_1.isMainThread) {
65
+ process.chdir(resolvedRemotionRoot);
66
+ }
67
+ const [, config] = (0, exports.getConfig)({
68
+ outDir,
69
+ entryPoint,
70
+ resolvedRemotionRoot,
71
+ onProgressUpdate,
72
+ options,
73
+ });
74
+ const output = await promisified([config]);
75
+ if (worker_threads_1.isMainThread) {
76
+ process.chdir(currentCwd);
77
+ }
55
78
  if (!output) {
56
79
  throw new Error('Expected webpack output');
57
80
  }
@@ -59,17 +82,26 @@ const bundle = async (entryPoint, onProgressUpdate, options) => {
59
82
  if (errors !== undefined && errors.length > 0) {
60
83
  throw new Error(errors[0].message + '\n' + errors[0].details);
61
84
  }
62
- const baseDir = (_d = options === null || options === void 0 ? void 0 : options.publicPath) !== null && _d !== void 0 ? _d : '/';
63
- const publicDir = '/' +
85
+ const baseDir = (_c = options === null || options === void 0 ? void 0 : options.publicPath) !== null && _c !== void 0 ? _c : '/';
86
+ const staticHash = '/' +
64
87
  [trimTrailingSlash(trimLeadingSlash(baseDir)), 'public']
65
88
  .filter(Boolean)
66
89
  .join('/');
67
- const from = path_1.default.join(process.cwd(), 'public');
90
+ const from = (options === null || options === void 0 ? void 0 : options.publicDir)
91
+ ? path_1.default.resolve(resolvedRemotionRoot, options.publicDir)
92
+ : path_1.default.join(resolvedRemotionRoot, 'public');
68
93
  const to = path_1.default.join(outDir, 'public');
69
94
  if (fs_1.default.existsSync(from)) {
70
95
  await (0, copy_dir_1.copyDir)(from, to);
71
96
  }
72
- const html = (0, static_preview_1.indexHtml)(publicDir, baseDir, null);
97
+ const html = (0, index_html_1.indexHtml)({
98
+ staticHash,
99
+ baseDir,
100
+ editorName: null,
101
+ inputProps: null,
102
+ remotionRoot: resolvedRemotionRoot,
103
+ previewServerCommand: null,
104
+ });
73
105
  fs_1.default.writeFileSync(path_1.default.join(outDir, 'index.html'), html);
74
106
  return outDir;
75
107
  };
@@ -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, onProgressUpdate, 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
+ onProgressUpdate?: ((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, onProgressUpdate, options, }: {
30
+ outDir: string;
31
+ entryPoint: string;
32
+ resolvedRemotionRoot: string;
33
+ onProgressUpdate?: ((progress: number) => void) | undefined;
34
+ options?: import("./bundle").BundleOptions | 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 } 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,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const vitest_1 = require("vitest");
8
+ const validate_public_dir_1 = require("../validate-public-dir");
9
+ (0, vitest_1.describe)('validatePublicDir()', () => {
10
+ (0, vitest_1.test)('Should not allow root directory as public dir.', () => {
11
+ (0, vitest_1.expect)(() => (0, validate_public_dir_1.validatePublicDir)(path_1.default.parse(process.cwd()).root)).toThrow(/which is the root directory. This is not allowed./);
12
+ });
13
+ (0, vitest_1.test)('Should not allow a path where the parent directory does not exist', () => {
14
+ const pathToPass = process.platform === 'win32' ? 'C:\\foo\\bar' : '/foo/bar';
15
+ const expectedParent = process.platform === 'win32' ? 'C:\\foo' : '/foo';
16
+ (0, vitest_1.expect)(() => (0, validate_public_dir_1.validatePublicDir)(pathToPass)).toThrow(`The public directory was specified as "${pathToPass}", but this folder does not exist and the parent directory "${expectedParent}" does also not exist.`);
17
+ });
18
+ (0, vitest_1.test)('Should allow /foo as a path since that directory can be created', () => {
19
+ (0, vitest_1.expect)(() => (0, validate_public_dir_1.validatePublicDir)(process.platform === 'win32' ? 'C:\\foo' : '/foo')).not.toThrow();
20
+ });
21
+ });
@@ -0,0 +1 @@
1
+ export declare const validatePublicDir: (p: string) => void;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validatePublicDir = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const validatePublicDir = (p) => {
10
+ const { root } = path_1.default.parse(process.cwd());
11
+ if (p === root) {
12
+ throw new Error(`The public directory was specified as "${p}", which is the root directory. This is not allowed.`);
13
+ }
14
+ try {
15
+ const stat = fs_1.default.lstatSync(p);
16
+ if (!stat.isDirectory()) {
17
+ throw new Error(`The public directory was specified as "${p}", and while this path exists on the filesystem, it is not a directory.`);
18
+ }
19
+ }
20
+ catch (e) {
21
+ // Path does not exist
22
+ // Check if the parent path exists
23
+ const parentPath = path_1.default.dirname(p);
24
+ const exists = fs_1.default.existsSync(parentPath);
25
+ if (!exists) {
26
+ throw new Error(`The public directory was specified as "${p}", but this folder does not exist and the parent directory "${parentPath}" does also not exist. Create at least the parent directory.`);
27
+ }
28
+ }
29
+ };
30
+ exports.validatePublicDir = validatePublicDir;