enables typescript intellisense in buildConfig

This commit is contained in:
James
2020-11-21 13:53:54 -05:00
parent 16d0289c36
commit 3e9ad427ec
12 changed files with 52 additions and 20 deletions

View File

@@ -1,12 +1,10 @@
import { PayloadConfig } from '../types';
import { Config } from './types';
import sanitize from './sanitize';
import validate from './validate';
const buildConfig = (config: PayloadConfig) => {
export default function buildConfig(config: Config): Config {
const validated = validate(config);
const sanitized = sanitize(validated);
return sanitized;
};
module.exports = buildConfig;
}

View File

@@ -1,8 +1,8 @@
import { Express } from 'express';
import { CSSProperties } from 'react';
import { Transporter } from 'nodemailer';
import SMTPConnection from 'nodemailer/lib/smtp-connection';
import { Collection } from '../collections/config/types';
import { Global } from '../globals/config/types';
type MockEmailTransport = {
transport?: 'mock';
@@ -67,6 +67,11 @@ export type Config = {
graphQL?: string;
graphQLPlayground?: string;
};
express: {
json: {
limit?: number
}
},
email?: EmailOptions;
local?: boolean;
defaultDepth?: number;

View File

@@ -3,9 +3,9 @@ import * as configSchema from './schema.json';
import * as collectionSchema from '../collections/config/schema.json';
import InvalidSchema from '../errors/InvalidSchema';
import { PayloadConfig } from './types';
import { Config } from './types';
const validateSchema = (config: PayloadConfig): PayloadConfig => {
const validateSchema = (config: Config): Config => {
const ajv = new Ajv({ useDefaults: true });
const validate = ajv.addSchema(collectionSchema, '../collections/config/schema.json').compile(configSchema);
const valid = validate(config);