Skip to content

Instantly share code, notes, and snippets.

@monkindey
Last active September 1, 2017 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save monkindey/c513353a09c628454709c1c325b730be to your computer and use it in GitHub Desktop.
Save monkindey/c513353a09c628454709c1c325b730be to your computer and use it in GitHub Desktop.
webpack tapable with log

How

Why

It will be clear to understand the flow of webpack.

environment in Compiler
after-environment in Compiler
entry-option in Compiler
after-plugins in Compiler
after-resolvers in Compiler
before-run in Compiler
run in Compiler
normal-module-factory in Compiler
context-module-factory in Compiler
before-compile in Compiler
compile in Compiler
this-compilation in Compiler
compilation in Compiler
make in Compiler
before-resolve in NormalModuleFactory
factory in NormalModuleFactory
resolver in NormalModuleFactory
resolve-step in Resolver
resolve in Resolver
resolve-step in Resolver
new-resolve in Resolver
resolve-step in Resolver
parsed-resolve in Resolver
resolve-step in Resolver
described-resolve in Resolver
after-described-resolve in Resolver
resolve-step in Resolver
relative in Resolver
resolve-step in Resolver
described-relative in Resolver
resolve-step in Resolver
raw-file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
existing-file in Resolver
resolve-step in Resolver
resolved in Resolver
result in Resolver
resolve-step in Resolver
resolve in Resolver
resolve-step in Resolver
new-resolve in Resolver
resolve-step in Resolver
parsed-resolve in Resolver
resolve-step in Resolver
described-resolve in Resolver
after-described-resolve in Resolver
resolve-step in Resolver
raw-module in Resolver
resolve-step in Resolver
module in Resolver
resolve-step in Resolver
resolve in Resolver
resolve-step in Resolver
new-resolve in Resolver
resolve-step in Resolver
parsed-resolve in Resolver
resolve-step in Resolver
described-resolve in Resolver
after-described-resolve in Resolver
resolve-step in Resolver
relative in Resolver
resolve-step in Resolver
described-relative in Resolver
resolve-step in Resolver
raw-file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
directory in Resolver
resolve-step in Resolver
existing-directory in Resolver
resolve-step in Resolver
undescribed-raw-file in Resolver
resolve-step in Resolver
raw-file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
existing-file in Resolver
resolve-step in Resolver
resolved in Resolver
result in Resolver
parser in NormalModuleFactory
after-resolve in NormalModuleFactory
create-module in NormalModuleFactory
module in NormalModuleFactory
build-module in Compilation
normal-module-loader in Compilation
program in Parser
var-undefined _a in Parser
var _a in Parser
var-undefined _a2 in Parser
var _a2 in Parser
var-undefined _b in Parser
var _b in Parser
var-undefined _b2 in Parser
var _b2 in Parser
statement in Parser
statement in Parser
evaluate CallExpression in Parser
evaluate Identifier in Parser
evaluate Identifier require in Parser
call require in Parser
evaluate Literal in Parser
call require:amd:array in Parser
evaluate Literal in Parser
call require:commonjs:item in Parser
statement in Parser
evaluate CallExpression in Parser
evaluate Identifier in Parser
evaluate defined Identifier _interopRequireDefault in Parser
statement in Parser
evaluate CallExpression in Parser
evaluate Identifier in Parser
evaluate Identifier require in Parser
call require in Parser
evaluate Literal in Parser
call require:amd:array in Parser
evaluate Literal in Parser
call require:commonjs:item in Parser
statement in Parser
evaluate CallExpression in Parser
evaluate Identifier in Parser
evaluate defined Identifier _interopRequireDefault in Parser
statement in Parser
statement in Parser
statement in Parser
expression ?: in Parser
evaluate LogicalExpression in Parser
evaluate Identifier in Parser
evaluate defined Identifier obj in Parser
statement in Parser
evaluate MemberExpression in Parser
evaluate Identifier console.log in Parser
call console.log in Parser
call console.* in Parser
expression console.log in Parser
expression console.* in Parser
expression console in Parser
succeed-module in Compilation
before-resolve in NormalModuleFactory
factory in NormalModuleFactory
resolver in NormalModuleFactory
resolve-step in Resolver
resolve in Resolver
resolve-step in Resolver
new-resolve in Resolver
resolve-step in Resolver
parsed-resolve in Resolver
before-resolve in NormalModuleFactory
factory in NormalModuleFactory
resolver in NormalModuleFactory
resolve-step in Resolver
resolve in Resolver
resolve-step in Resolver
new-resolve in Resolver
resolve-step in Resolver
parsed-resolve in Resolver
resolve-step in Resolver
described-resolve in Resolver
after-described-resolve in Resolver
resolve-step in Resolver
relative in Resolver
resolve-step in Resolver
described-resolve in Resolver
after-described-resolve in Resolver
resolve-step in Resolver
relative in Resolver
resolve-step in Resolver
described-relative in Resolver
resolve-step in Resolver
raw-file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
described-relative in Resolver
resolve-step in Resolver
raw-file in Resolver
resolve-step in Resolver
file in Resolver
resolve-step in Resolver
existing-file in Resolver
resolve-step in Resolver
resolved in Resolver
result in Resolver
resolve-step in Resolver
resolve in Resolver
after-resolve in NormalModuleFactory
create-module in NormalModuleFactory
module in NormalModuleFactory
build-module in Compilation
normal-module-loader in Compilation
resolve-step in Resolver
existing-file in Resolver
resolve-step in Resolver
resolved in Resolver
result in Resolver
resolve-step in Resolver
resolve in Resolver
after-resolve in NormalModuleFactory
create-module in NormalModuleFactory
module in NormalModuleFactory
build-module in Compilation
normal-module-loader in Compilation
program in Parser
var-undefined _extends in Parser
var _extends in Parser
statement in Parser
statement in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.defineProperty in Parser
call Object.defineProperty in Parser
call Object.* in Parser
expression Object.defineProperty in Parser
expression Object.* in Parser
expression Object in Parser
expression exports in Parser
statement in Parser
evaluate LogicalExpression in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.assign in Parser
expression Object.assign in Parser
expression Object.* in Parser
expression Object in Parser
var-undefined i in Parser
var i in Parser
var-undefined source in Parser
var source in Parser
var-undefined key in Parser
var key in Parser
statement in Parser
statement in Parser
statement in Parser
evaluate Literal in Parser
expression arguments.length in Parser
expression arguments.* in Parser
expression arguments in Parser
statement in Parser
statement in Parser
evaluate MemberExpression in Parser
expression arguments in Parser
statement in Parser
statement in Parser
statement in Parser
statement in Parser
statement if in Parser
evaluate CallExpression in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.prototype.hasOwnProperty in Parser
evaluate CallExpression .call in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.prototype.hasOwnProperty.call in Parser
call Object.prototype.hasOwnProperty.call in Parser
call Object.prototype.hasOwnProperty.* in Parser
expression Object.prototype.hasOwnProperty.call in Parser
expression Object.prototype.hasOwnProperty.* in Parser
expression Object.prototype.hasOwnProperty in Parser
expression Object.prototype.* in Parser
expression Object.prototype in Parser
expression Object.* in Parser
expression Object in Parser
statement in Parser
statement in Parser
evaluate MemberExpression in Parser
statement in Parser
statement in Parser
evaluate CallExpression in Parser
evaluate Identifier in Parser
evaluate defined Identifier _extends in Parser
expression exports.default in Parser
expression exports.* in Parser
expression exports in Parser
succeed-module in Compilation
program in Parser
var-undefined _extends in Parser
var _extends in Parser
statement in Parser
statement in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.defineProperty in Parser
call Object.defineProperty in Parser
call Object.* in Parser
expression Object.defineProperty in Parser
expression Object.* in Parser
expression Object in Parser
expression exports in Parser
statement in Parser
evaluate LogicalExpression in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.assign in Parser
expression Object.assign in Parser
expression Object.* in Parser
expression Object in Parser
var-undefined i in Parser
var i in Parser
var-undefined source in Parser
var source in Parser
var-undefined key in Parser
var key in Parser
statement in Parser
statement in Parser
statement in Parser
evaluate Literal in Parser
expression arguments.length in Parser
expression arguments.* in Parser
expression arguments in Parser
statement in Parser
statement in Parser
evaluate MemberExpression in Parser
expression arguments in Parser
statement in Parser
statement in Parser
statement in Parser
statement in Parser
statement if in Parser
evaluate CallExpression in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.prototype.hasOwnProperty in Parser
evaluate CallExpression .call in Parser
evaluate MemberExpression in Parser
evaluate Identifier Object.prototype.hasOwnProperty.call in Parser
call Object.prototype.hasOwnProperty.call in Parser
call Object.prototype.hasOwnProperty.* in Parser
expression Object.prototype.hasOwnProperty.call in Parser
expression Object.prototype.hasOwnProperty.* in Parser
expression Object.prototype.hasOwnProperty in Parser
expression Object.prototype.* in Parser
expression Object.prototype in Parser
expression Object.* in Parser
expression Object in Parser
statement in Parser
statement in Parser
evaluate MemberExpression in Parser
statement in Parser
statement in Parser
evaluate CallExpression in Parser
evaluate Identifier in Parser
evaluate defined Identifier _extends in Parser
expression exports.default in Parser
expression exports.* in Parser
expression exports in Parser
succeed-module in Compilation
finish-modules in Compilation
seal in Compilation
optimize in Compilation
optimize-modules-basic in Compilation
optimize-modules in Compilation
optimize-modules-advanced in Compilation
after-optimize-modules in Compilation
optimize-chunks-basic in Compilation
optimize-chunks in Compilation
optimize-chunks-advanced in Compilation
after-optimize-chunks in Compilation
optimize-tree in Compilation
after-optimize-tree in Compilation
optimize-chunk-modules-basic in Compilation
optimize-chunk-modules in Compilation
optimize-chunk-modules-advanced in Compilation
after-optimize-chunk-modules in Compilation
should-record in Compilation
revive-modules in Compilation
optimize-module-order in Compilation
advanced-optimize-module-order in Compilation
before-module-ids in Compilation
module-ids in Compilation
optimize-module-ids in Compilation
after-optimize-module-ids in Compilation
revive-chunks in Compilation
optimize-chunk-order in Compilation
before-chunk-ids in Compilation
optimize-chunk-ids in Compilation
after-optimize-chunk-ids in Compilation
record-modules in Compilation
record-chunks in Compilation
before-hash in Compilation
hash in MainTemplate
hash in ChunkTemplate
hash in ModuleTemplate
hash in MainTemplate
hash-for-chunk in MainTemplate
chunk-hash in Compilation
after-hash in Compilation
record-hash in Compilation
before-module-assets in Compilation
should-generate-chunk-assets in Compilation
before-chunk-assets in Compilation
global-hash-paths in MainTemplate
global-hash in MainTemplate
bootstrap in MainTemplate
local-vars in MainTemplate
require in MainTemplate
module-obj in MainTemplate
module-require in MainTemplate
require-extensions in MainTemplate
asset-path in MainTemplate
startup in MainTemplate
module-require in MainTemplate
render in MainTemplate
module in ModuleTemplate
render in ModuleTemplate
package in ModuleTemplate
module in ModuleTemplate
render in ModuleTemplate
package in ModuleTemplate
module in ModuleTemplate
render in ModuleTemplate
package in ModuleTemplate
modules in MainTemplate
render-with-entry in MainTemplate
asset-path in MainTemplate
chunk-asset in Compilation
additional-chunk-assets in Compilation
record in Compilation
additional-assets in Compilation
optimize-chunk-assets in Compilation
after-optimize-chunk-assets in Compilation
optimize-assets in Compilation
after-optimize-assets in Compilation
need-additional-seal in Compilation
after-seal in Compilation
after-compile in Compiler
should-emit in Compiler
emit in Compiler
asset-path in MainTemplate
after-emit in Compiler
need-additional-pass in Compilation
done in Compiler
const applyWithLog = {};
for (let p in Tapable.prototype) {
if (/^apply/.test(p)) {
let orignal = Tapable.prototype[p];
applyWithLog[p] = function() {
if (typeof arguments[0] === 'string') {
console.log(arguments[0], ' in ', this.constructor.name);
}
return orignal.apply(this, arguments);
};
}
}
copyProperties(applyWithLog, Tapable.prototype);
@huang-x-h
Copy link

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment