avajs/ava

Provide type definitions for the JS configuration files.

Open

#3042 opened on Jun 2, 2022

View on GitHub
 (3 comments) (4 reactions) (0 assignees)JavaScript (20,600 stars) (1,408 forks)batch import
enhancementhelp wantedscope:typescript

Description

Continuing https://github.com/avajs/typescript/issues/15#issuecomment-1140477835 cc @novemberborn


Summary

When a user configures AVA with JavaScript, it would be useful to have type definition. Users might consume these through JSDoc comments, or through a typed wrapper function.

Details

A wrapper function would be defined like this:

/**
 *
 * Configure AVA, with intellisense
 *
 * @param {Config} config - A configuration object
 * @returns {Config}
 */
export const defineConfig = (config) => config;

The function would be used like this:

import { defineConfig } from 'ava/config';

export default defineConfig({
  // ...
})

Contributor guide