Skip to content

v5.0.0-beta.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@sokra sokra released this 12 Nov 18:10

Features

  • add dependencies to ProgressPlugin, enabled by default
  • add support for npm fund

Persistent Caching

  • make SourceMap and source names in NormalModule context-independent
  • upgrade webpack-sources
    • use only public methods for serialization
  • add caching support for SourceMapDevToolPlugin (all non eval based source-map devtools)

Bugfixes

  • different resolve options are not cached separately
  • fix throttling of ProgressPlugin output

Performance

  • resolver cache respects resolve.cacheWithContext now, which defaults to false
  • merge concurrent resolve request in cache
  • newly created file system snapshots are considered as valid now
  • avoid creating arrays in ModuleGraph getConnections
  • allocate lazily:
    • ModuleGraphConnection.explanations
    • ChunkGraphModule.entryInChunks, ChunkGraphModule.runtimeInChunks
    • Module.warnings, Module.errors
    • NormalModule._sourceSizes, NormalModule.presentationalDependencies
    • Module.factoryMeta
    • ModuleGraphModule.outgoingConnections
  • omit unneeded process.nextTicks
  • remove return value of ChunkGraph.connectChunkAndModule to skip check
  • upgrade webpack-sources
    • cache utf-8 to buffer conversions and reverse
    • cache string to json conversions and reverse
  • ProgressPlugin
    • fix throttling of output
  • AsyncQueue
    • use setImmediate instead of process.nextTick to schedule the next task
      • This keeps event loop spinning and improved build speed
  • hoist some expressions/RegExps

Persistent Caching

  • nested plain object are (de)serialize in one pass
  • print warning when big strings are serialized
  • upgrade webpack-sources
    • avoid serializing strings, prefer Buffers
  • allow lazy stringified etags for identity check for memory cache

Full Changelog

Feedback