Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import {
  SyncHook,
  SyncBailHook,
  SyncWaterfallHook,
  SyncLoopHook,
  AsyncParallelHook,
  AsyncParallelBailHook,
  AsyncSeriesHook,
  AsyncSeriesBailHook,
  AsyncSeriesWaterfallHook,
  HookMap,
} from 'tapable'
import { Request } from '../webpack/typings'
import { Loader, Compiler } from 'webpack'
export { Compiler }

export interface NormalModuleFactoryHooks {
  resolver: SyncWaterfallHook
  factory: SyncWaterfallHook
  beforeResolve: AsyncSeriesWaterfallHook
  afterResolve: AsyncSeriesWaterfallHook
  createModule: SyncBailHook
  module: SyncWaterfallHook
  createParser: HookMap
  parser: HookMap
  createGenerator: HookMap
  generator: HookMap
}

export type TappableHook =
  | SyncHook
  | SyncBailHook
  | SyncWaterfallHook
  | SyncLoopHook
  | AsyncParallelHook
  | AsyncParallelBailHook
  | AsyncSeriesHook
  | AsyncSeriesBailHook
  | AsyncSeriesWaterfallHook

export type MatchableTestArg = string | Request
export interface MatchableTest {
  [Symbol.match]?(target: string): RegExpMatchArray | null

  // $2?: MatchableTestArg,
  // $3?: MatchableTestArg
  test(match: MatchableTestArg): boolean

  // new (pattern: string, flags: string)
  // (match: MatchableTestArg): boolean
}

export interface ReplacementHandler extends Function {
  (result?: Result): void
}
export type Replacement = ReplacementHandler | string

// | RegExp
// ^ @throws has no compatible call signatures.
export type Matchable = MatchableTest

export interface Result {
  request: Request | string
  resource: string
  rawRequest: string
  type: 'javascript/auto'
  loaders: Loader[]

  dependencies: Result[]
  parser: HookMap

  // @todo
  generator: any
  resolveOptions: any
}

export interface NormalModuleFactory {
  hooks: NormalModuleFactoryHooks
}