2020-05-28 10:23:10 +02:00
|
|
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
2020-01-23 22:09:12 +01:00
|
|
|
import { NodePath } from 'ast-types/lib/node-path'
|
|
|
|
|
|
|
|
export interface IConformanceAnomaly {
|
|
|
|
message: string
|
|
|
|
stack_trace?: string
|
|
|
|
}
|
|
|
|
|
2021-04-25 20:34:36 +02:00
|
|
|
// eslint typescript has a bug with TS enums
|
|
|
|
/* eslint-disable no-shadow */
|
2020-01-23 22:09:12 +01:00
|
|
|
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
|
|
|
|
}
|