Commit Graph

225 Commits

Author SHA1 Message Date
Tobias Koppers b45588bc11 CommonsChunkPlugin in async mode doesn't select initial chunks
fixes #4795
2017-05-04 10:50:46 +02:00
Tim Sebastian ed51e2ff2c unify makeRelative method used in aggresivesplittingplugin and recordsidsplugin 2017-04-05 23:38:15 +10:00
Tobias Koppers e7c13d75e4 Merge pull request #4553 from timse/named-chunks-plugin
Named chunks plugin
2017-04-04 09:45:08 +02:00
Tim Sebastian 46f174b756 reuse logic as used in 2.2.1 to check what chunks should get their runtime extracted 2017-04-02 12:14:59 +10:00
Tim Sebastian 9f05520686 check splitData for null and undefined 2017-03-26 20:30:52 +11:00
Tim Sebastian b8e1981e09 allow chunk.id to be a number - or rather a non-null-something 2017-03-26 20:30:52 +11:00
Tobias Koppers 915c150f3a fix bug in MinChunkSizePlugin
fix #4532
2017-03-22 12:09:22 +01:00
Tim Sebastian d7ae9adfb2 do not incorporate chunks without modules 2017-03-18 12:20:08 +11:00
Stephen Hurwitz 87702a29ad Updates UglifyJs to 2.8.x to accept additional compress options
Bumps the minimum version of UglifyJs and substitutes `.compress()` for
`.transform()` as recommended. In addition to a new test covering
`compress` options this commit also contains updates to make existing
tests pass with the update.
2017-03-04 18:31:39 -08:00
Tim Sebastian ff814e91b5 add comments to FlagIncludedChunksPlugin 2017-02-23 23:39:19 +11:00
Tim Sebastian 39575663b7 move chunk parents check up 2017-02-23 23:31:05 +11:00
Tim Sebastian 8d193c7097 improve wording in DedupePlugin error 2017-02-23 23:28:05 +11:00
Tim Sebastian 28b4972d53 replace `chunk.hasRuntime` with `chunk.parents.length === 0`
see https://github.com/webpack/webpack/pull/4310\#discussion_r102400692
2017-02-22 21:38:45 +11:00
Tim Sebastian 59ea80ff9a remove `chunk.isInitial` constraint before moving blocks 2017-02-22 21:35:50 +11:00
Tim Sebastian e1ea0a717c implement review feedback 2017-02-22 21:32:31 +11:00
Tim Sebastian 018ca1ad2c improve comments 2017-02-22 00:13:21 +11:00
Tim Sebastian 61ce0f79c1 apply review feedback 2017-02-22 00:13:21 +11:00
Tim Sebastian cc1636f141 make variable and method names clearer 2017-02-22 00:13:20 +11:00
Tim Sebastian efa8b52293 use children option instead of `selectedChunks === false` 2017-02-22 00:13:20 +11:00
Tim Sebastian 5838f56d0f correct comment 2017-02-21 23:47:55 +11:00
Tim Sebastian ec736bfe21 move actual apply method to the top, to easier find where things happen 2017-02-21 23:47:55 +11:00
Tim Sebastian c97b3de912 add better validation for options, rename async to prevent future clash with reserved words 2017-02-21 23:47:54 +11:00
Tim Sebastian 10cea76e1e fix wrong assignment of filenameTemplate in constructor 2017-02-21 23:47:54 +11:00
Tim Sebastian 9a7a6b93bd add comments and clean up a bit 2017-02-21 23:47:54 +11:00
Tim Sebastian bcc10e8aa6 extract the last step of reconnecting the chunks to own methods 2017-02-21 23:47:54 +11:00
Tim Sebastian 9f18ea9b15 split up and extract default linking between modules and chunks 2017-02-21 23:46:51 +11:00
Tim Sebastian 24b8aebb74 extract reallyUsedModules creation to own simplified methods 2017-02-21 23:46:51 +11:00
Tim Sebastian 15be539d24 fix up method call 2017-02-21 23:46:51 +11:00
Tim Sebastian 24ecaf56be cleanup unused variables 2017-02-21 23:46:50 +11:00
Tim Sebastian 3dc08aec2a extract creation of async chunk 2017-02-21 23:46:50 +11:00
Tim Sebastian 063c54f546 extract creation of usedChunks 2017-02-21 23:46:50 +11:00
Tim Sebastian d53c882929 extract and simplify definition of the common chunk 2017-02-21 23:46:50 +11:00
Tim Sebastian e9ac46dc26 normalize options for commons chunk plugin 2017-02-21 23:46:50 +11:00
Tim Sebastian 952f04d90f node v4 fails to reassignes const in for-of loops properly 2017-02-19 13:18:01 +11:00
Tobias Koppers d0f1f6e770 Merge pull request #4134 from SebastianS90/uglifyjs-extract-comments
UglifyJsPlugin: extract comments to separate file
2017-02-15 15:07:54 +01:00
Simon Sperling c1346f5aa2 fix spelling error in MinChunkSizePlugin 2017-02-13 16:30:27 +01:00
Sebastian Schweizer d2461dab06 improve code (review) 2017-02-10 23:16:20 +01:00
Sebastian Schweizer 71933e979e UglifyJsPlugin: extract comments to separate file
License comments use up a lot of space, especially when using many small
libraries with large license blocks. With this addition, you can extract
all license comments to a separate file and remove them from the bundle
files. A small banner points to the file containing all license
information such that the user can find it if needed.

We add a new option extractComments to the UglifyJsPlugin.
It can be omitted, then the behavior does not change, or it can be:
- true: All comments that normally would be preserved by the comments
    option will be moved to a separate file. If the original file is
    named foo.js, then the comments will be stored to foo.js.LICENSE
- regular expression (given as RegExp or string) or a function
  (astNode, comment) -> boolean: All comments that match the given
    expression (resp. are evaluated to true by the function) will be
    extracted to the separate file. The comments option specifies
    whether the comment will be preserved, i.e. it is possible to
    preserve some comments (e.g. annotations) while extracting others or
    even preserving comments that have been extracted.
- an object consisting of the following keys, all optional:
  - condition: regular expression or function (see previous point)
  - file: The file where the extracted comments will be stored. Can be
      either a string (filename) or function (string) -> string which
      will be given the original filename. Default is to append the
      suffix .LICENSE to the original filename.
  - banner: The banner text that points to the extracted file and will
      be added on top of the original file. will be added to the
      original file. Can be false (no banner), a string, or a function
      (string) -> string that will be called with the filename where
      extracted comments have been stored. Will be wrapped into comment.
      Default: /*! For license information please see foo.js.LICENSE */
2017-02-10 11:59:56 +01:00
Tobias Koppers be4f27c51d Merge pull request #4200 from timse/allow-to-supress-uglifyjs-warnings
Allow to supress uglifyjs warnings
2017-02-09 14:08:01 +01:00
Tobias Koppers 93ac8e9c36 Merge pull request #4205 from timse/use-let-const-as-blockscoped-variables
Use let const as blockscoped variables
2017-02-08 09:44:03 +01:00
Simon Legner ea4be07d45 Link documentation to webpack.js.org
Replaces webpack.github.io links with links to the new documentation.
2017-02-07 10:07:01 +01:00
CUNTIE 3fc1f42b53 fix AggressiveSplittingPlugin logical bug 2017-02-07 09:24:36 +08:00
Tim Sebastian 5321ae6902 fixup AggressiveSplittingPlugin 2017-02-05 13:10:08 +11:00
Tim Sebastian 8e7022b443 refactor MinChunkSizePlugin to be more functional 2017-02-05 12:20:23 +11:00
Tim Sebastian bd386ecf06 remove leftover console.log in ChunkModuleIdRangePlugin 2017-02-05 12:20:23 +11:00
Tim Sebastian 1d78f990a6 use const where applicable in UglifyJsPlugin 2017-02-05 12:20:22 +11:00
Tim Sebastian 92364dc0f7 avoid reassigning stream with different value in UglifyJsPlugin 2017-02-05 12:20:22 +11:00
Tim Sebastian 104398f87a avoid reassigning files with different value in UglifyJsPlugin 2017-02-05 12:20:21 +11:00
Tim Sebastian 1028043e38 make LimitChunkCountPlugin more functional avoid too much reassigning
add some doco for better understanding of what is happening
2017-02-05 12:20:21 +11:00
Tim Sebastian 0a0b72776d use const where applicable in EnsureChunkConditionsPlugin 2017-02-05 10:40:10 +11:00