The parser instance, found in the compiler, is used to parse each module being processed by webpack. The parser is yet another webpack class that extends tapable and provides a variety of tapable hooks that can be used by plugin authors to customize the parsing process.
The parser is found within module factories and therefore takes little more work to access:
compiler.hooks.normalModuleFactory.tap('MyPlugin', factory => {
  factory.hooks.parser.for('javascript/auto').tap('MyPlugin', (parser, options) => {
    parser.hooks.someHook.tap(/* ... */);
  });
});
 As with the compiler, tapAsync and tapPromise may also be available depending on the type of hook.
The following lifecycle hooks are exposed by the parser and can be accessed as such:
SyncBailHook
Evaluate the type of an identifier.
Parameters: expression
SyncBailHook
Evaluate an expression.
Parameters: expression
SyncBailHook
Evaluate an identifier that is a free variable.
Parameters: expression
SyncBailHook
Evaluate an identifier that is a defined variable.
Parameters: expression
SyncBailHook
Evaluate a call to a member function of a successfully evaluated expression.
Parameters: expression param
SyncBailHook
General purpose hook that is called when parsing statements in a code fragment.
Parameters: statement
SyncBailHook
...
Parameters: statement
SyncBailHook
...
Parameters: statement
SyncBailHook
...
Parameters: statement source
SyncBailHook
...
Parameters: statement source exportName identifierName
SyncBailHook
...
Parameters: statement
SyncBailHook
...
Parameters: statement source
SyncBailHook
...
Parameters: statement declaration
SyncBailHook
...
Parameters: statement declaration
SyncBailHook
...
Parameters: statement identifierName exportName index
SyncBailHook
...
Parameters: statement source identifierName exportName index
SyncBailHook
...
Parameters: declaration
SyncBailHook
...
Parameters: declaration
SyncBailHook
...
Parameters: declaration
SyncBailHook
...
Parameters: declaration
SyncBailHook
...
Parameters: initExpression
SyncBailHook
...
Parameters: initExpression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
...
Parameters: expression
SyncBailHook
Get access to the abstract syntax tree (AST) of a code fragment
Parameters: ast comments
    © JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
    https://webpack.js.org/api/parser