-
-
Notifications
You must be signed in to change notification settings - Fork 961
/
get-remotion-environment.ts
37 lines (33 loc) · 1.08 KB
/
get-remotion-environment.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
export type RemotionEnvironment = {
isStudio: boolean;
isRendering: boolean;
isPlayer: boolean;
};
// Avoid VITE obfuscation
function getNodeEnvString() {
return ['NOD', 'E_EN', 'V'].join('');
}
const getEnvString = (): 'env' => {
return ['e', 'nv'].join('') as 'env';
};
/**
* @description Provides information about the Remotion Environment
* @see [Documentation](https://www.remotion.dev/docs/get-remotion-environment)
*/
export const getRemotionEnvironment = (): RemotionEnvironment => {
const isPlayer = typeof window !== 'undefined' && window.remotion_isPlayer;
const isRendering =
typeof window !== 'undefined' &&
typeof window.process !== 'undefined' &&
typeof window.process.env !== 'undefined' &&
(window.process[getEnvString()][getNodeEnvString()] === 'test' ||
(window.process[getEnvString()][getNodeEnvString()] === 'production' &&
typeof window !== 'undefined' &&
typeof window.remotion_puppeteerTimeout !== 'undefined'));
const isStudio = typeof window !== 'undefined' && window.remotion_isStudio;
return {
isStudio,
isRendering,
isPlayer,
};
};