-
-
Notifications
You must be signed in to change notification settings - Fork 33
/
actionTypeDefs.ts
31 lines (24 loc) · 1005 Bytes
/
actionTypeDefs.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
import { join } from 'path'
import { createFolderIfNotExists, getFiles } from './fileFolder'
import { read, write } from './readWrite'
export function actionTypeDefs(moduleFolder: string, moduleOutputFolder: string) {
const typedefsFolder = 'typedefs'
const typedefsFiles = getFiles(join(moduleFolder, typedefsFolder))
const dataTypedefs = []
if (typedefsFiles.length > 0) {
dataTypedefs.push(`import { gql } from 'graphql-modules'`)
dataTypedefs.push(``)
dataTypedefs.push(`export const typeDefs = gql${'`'}`)
typedefsFiles.forEach(typedefs => {
dataTypedefs.push(read(join(moduleFolder, typedefsFolder, typedefs)))
})
dataTypedefs.push(`${'`'};`)
} else {
dataTypedefs.push(`// No typedefs!`)
dataTypedefs.push(``)
dataTypedefs.push(`export const typeDefs = null`)
}
createFolderIfNotExists(join(moduleFolder, moduleOutputFolder))
write(join(moduleFolder, moduleOutputFolder, 'typedefs.ts'), dataTypedefs)
return typedefsFiles.length
}