forked from codesandbox/codesandbox-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.ts
More file actions
36 lines (30 loc) · 914 Bytes
/
index.ts
File metadata and controls
36 lines (30 loc) · 914 Bytes
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
import getTemplateDefinition from '..';
import { resolveModule } from '../../sandbox/modules';
import { ViewConfig, ParsedConfigurationFiles } from '../template';
import { Sandbox } from '../../types';
export const getPreviewTabs = (
sandbox: Sandbox,
configurations: ParsedConfigurationFiles,
intermediatePreviewCode = ''
) => {
const template = getTemplateDefinition(sandbox.template);
let views = template.getViews(configurations);
try {
const workspaceConfig = intermediatePreviewCode
? { code: intermediatePreviewCode }
: resolveModule(
'/.codesandbox/workspace.json',
sandbox.modules,
sandbox.directories
);
const { preview } = JSON.parse(workspaceConfig.code) as {
preview: ViewConfig[];
};
if (preview && Array.isArray(preview)) {
views = preview;
}
} catch (e) {
/* Ignore */
}
return views;
};