rsnext/packages/next/build/webpack/plugins/webpack-conformance-plugin/TestInterface.ts
Prateek Bhatnagar 0edd6a031a Adding conformance webpack plugin (#9716)
* adding Conformance Plugin behind a flag

* fixing compiler ts error

* fixing spelling errors 🤦🏻‍♂️

* addressing comments

* bug fix

* making it const enum

* reverting const enum

Co-authored-by: Joe Haddad <timer150@gmail.com>
2020-01-23 16:09:12 -05:00

36 lines
810 B
TypeScript

import { NodePath } from 'ast-types/lib/node-path'
export interface IConformanceAnomaly {
message: string
stack_trace?: string
}
export enum IConformanceTestStatus {
SUCCESS,
FAILED,
}
export interface IConformanceTestResult {
result: IConformanceTestStatus
warnings?: Array<IConformanceAnomaly>
errors?: Array<IConformanceAnomaly>
}
export interface IParsedModuleDetails {
request: string
}
export type NodeInspector = (
node: NodePath,
details: IParsedModuleDetails
) => IConformanceTestResult
export interface IGetAstNodeResult {
visitor: string
inspectNode: NodeInspector
}
export interface IWebpackConformanceTest {
buildStared?: (options: any) => IConformanceTestResult
getAstNode?: () => IGetAstNodeResult[]
buildCompleted?: (assets: any) => IConformanceTestResult
}