-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
PrepareCompiler.js
25 lines (21 loc) · 1.04 KB
/
PrepareCompiler.js
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
import { prepareCompiler as originalPrepareCompiler } from '../../src/compiler/PrepareCompiler';
export const prepareCompiler = (content, options) => originalPrepareCompiler({
localPath: () => __dirname,
dataSchemaFiles: () => Promise.resolve([
{ fileName: 'main.js', content: Array.isArray(content) ? content.join('\r\n') : content }
])
}, { adapter: 'postgres', ...options });
export const prepareYamlCompiler = (content, yamlExtension, options = {}) => originalPrepareCompiler({
localPath: () => __dirname,
dataSchemaFiles: () => Promise.resolve([
{ fileName: yamlExtension ? 'main.yaml' : 'main.yml', content }
])
}, { adapter: 'postgres', ...options });
export const prepareCube = (cubeName, cube, options) => {
const fileName = `${cubeName}.js`;
const content = `cube(${JSON.stringify(cubeName)}, ${JSON.stringify(cube).replace(/"([^"]+)":/g, '$1:')});`;
return originalPrepareCompiler({
localPath: () => __dirname,
dataSchemaFiles: () => Promise.resolve([{ fileName, content }])
}, { adapter: 'postgres', ...options });
};