Landon Crapo
4f9fc01be4
Added deepChildren support from ArcEglos' pull request and fixed failing tests
2017-10-05 15:31:29 -06:00
Tobias Koppers
f39e19a2e3
Merge pull request #5066 from webpack/deprecation/webpack-3
...
remove deprecated stuff
2017-09-22 19:47:23 +02:00
Tobias Koppers
b316bee0a6
Use SortableSets for Chunk.parents/blocks
2017-09-22 16:38:47 +02:00
Tobias Koppers
57e4a2d825
fix typo
2017-09-22 16:11:03 +02:00
Tobias Koppers
845c5f5031
Use Set for commonModules. Use getModules instead of modules
2017-09-22 15:44:16 +02:00
Tobias Koppers
6bd937d768
make things consitent
2017-09-22 14:07:28 +02:00
Tobias Koppers
6c1831ca21
Merge branch 'next' into use-set-in-chunks
2017-09-22 13:49:03 +02:00
Tobias Koppers
8f58eeeb81
Merge branch 'next' into feature/pure-module
...
# Conflicts:
# test/statsCases/commons-plugin-issue-4980/expected.txt
# test/statsCases/scope-hoisting-multi/expected.txt
# test/statsCases/tree-shaking/expected.txt
2017-09-15 11:15:45 +02:00
Tobias Koppers
2d84450fba
Merge pull request #3333 from webpack/feature/jsonp-to-push
...
change jsonp function to jsonp array push
2017-09-15 09:47:53 +02:00
Tobias Koppers
c383d5ea7f
rename `pure-module` to `side-effects`
2017-09-14 15:12:36 +02:00
Tobias Koppers
7ceac63f07
add support for pure modules
2017-09-14 09:44:42 +02:00
Tobias Koppers
5c489b6c5d
Refactor harmony modules
...
separate side effects from specifier
fixes TDZ for export let/const
bigger bundles are caused by correct export const/let behavior
BREAKING CHANGE: Internal have changed. Plugins could rely on them.
2017-09-14 09:44:32 +02:00
Tobias Koppers
90dc6394de
Merge branch 'next' into use-set-in-chunks
2017-09-14 09:25:45 +02:00
Tobias Koppers
7387c50c3a
change jsonp function to jsonp array push
2017-09-14 08:49:14 +02:00
Tobias Koppers
f83c913e53
Merge branch 'master' into refactor/cleanups
2017-09-06 09:39:28 +02:00
Tobias Koppers
af470a504e
handle inner non-harmony dependencies correctly in ConcatenatedModule
...
add async as keyword
fixes #5604
fixes #5615
2017-09-04 14:09:55 +02:00
Tobias Koppers
6bdd9dca87
Merge pull request #5535 from webpack/bugfix/incremental-concat-compat
...
set compatiblity flag correctly even after incremental build
2017-08-16 15:21:04 +02:00
Tobias Koppers
c5deb595c5
set compatiblity flag correctly even after incremental build
...
fixes #5510
2017-08-16 14:59:09 +02:00
Tobias Koppers
99c2706ed3
Ensure that graph structure stay consistent
...
fixes #5527
2017-08-16 14:05:06 +02:00
Tobias Koppers
0ea37a5485
Disallow Scope Hoisting when using HMR
...
fixes #5504
2017-08-12 11:00:55 +02:00
Tobias Koppers
e5f4eb147a
Merge branch 'master' into refactor/cleanups
2017-08-12 10:03:51 +02:00
kisenka
3d272aceea
fix: restore `modules` property of ConcatenatedModule ( fixes #5477 )
2017-08-12 01:01:50 +03:00
kisenka
7a36951aa8
Merge branch 'master' of https://github.com/webpack/webpack into concatenated-module-in-3.5-compat
2017-08-12 00:58:43 +03:00
Tobias Koppers
0e73a2458a
also generate a new identifier for interop name
...
fixes #5481
2017-08-10 12:14:31 +02:00
kisenka
438fd14ae5
fix: restore backwards compatibility of ConcatenatedModule ( fixes #5477 )
2017-08-10 00:23:40 +03:00
Tobias Koppers
bc67522c74
fixes stack overflow with circular dependencies
...
fixes #5462
2017-08-09 10:31:01 +02:00
Tobias Koppers
b05b49b0f0
fix invalid generated code with scope hoisting and non-number ids
2017-08-08 13:09:47 +02:00
Tobias Koppers
91bfd4559a
move pathinfo comment into Template helper function
...
change toIdentifier to generate less underscores
2017-08-08 09:42:43 +02:00
Tobias Koppers
0b8023a106
fixes #5096
2017-08-08 08:15:18 +02:00
Tobias Koppers
7619c43d26
generate more pretty names for nested concatenation
2017-08-07 21:21:53 +02:00
Tobias Koppers
6607cfa4bd
remove ordering in ModuleConcatenationPlugin
2017-08-07 20:33:47 +02:00
Tobias Koppers
9f5bffaa61
beautify
2017-08-07 16:15:49 +02:00
Tobias Koppers
334c1c49aa
remove unused variable
2017-08-07 16:05:17 +02:00
Tobias Koppers
8835751cb3
fix conflict handling
...
remove unused code
2017-08-07 15:43:17 +02:00
Tobias Koppers
b77a52b43a
add reserved words to avoid syntax errors
2017-08-07 14:47:45 +02:00
Tobias Koppers
16a5831620
use old new Buffer api for node 4
2017-08-07 14:39:07 +02:00
Tobias Koppers
2be9c526e4
better names, added export comment
2017-08-07 14:38:54 +02:00
Tobias Koppers
a553c3d15d
tests and fixes
2017-08-07 14:12:31 +02:00
Tobias Koppers
795f6fcbba
fix remaining issues and edge cases
2017-08-07 13:56:50 +02:00
Tobias Koppers
abff6b7805
use all imports in a concatenated module
2017-08-07 13:19:24 +02:00
Tobias Koppers
ec3aa7be5d
Fix import order
2017-08-07 11:53:07 +02:00
Tobias Koppers
907cd16595
fix a bug that prevented the automatic chunk selection to select initial chunks
...
fixes #5145
fixes #5386
fixes #5285
fixes #5109
2017-07-27 14:32:35 +02:00
Tobias Koppers
32264b8187
Merge branch 'master' into feature/improve-module-concat-bailout-messages
2017-07-25 13:50:53 +02:00
Tobias Koppers
35c8097b6a
Make sure it's a real module when choosing for ModuleConcatenation
...
fixes #5095
2017-07-25 12:53:54 +02:00
Tobias Koppers
42af3d28df
Merge pull request #5347 from webpack/cleanup/aggressive-splitting
...
aggressive-merging-plugin: refactor for more readability
2017-07-24 12:56:36 +02:00
Tobias Koppers
991b360c90
fix useless-escape linting issues
2017-07-24 11:54:06 +02:00
Tobias Koppers
05b913a92c
cleanup messages and added more info
2017-07-24 10:29:08 +02:00
Tobias Koppers
2949c598d5
refactor for more readablity
2017-07-24 10:04:55 +02:00
Tobias Koppers
a167a7ecf5
allow to use default export of root module in concatenated module in inner modules
...
better error messages when parsing fails
fixes #5314
#5304
2017-07-21 23:32:47 +02:00
Tobias Koppers
2b0943f618
Merge pull request #5312 from webpack/performance/aggressive-splitting
...
performance improvements and comments
2017-07-18 15:11:24 +02:00
Tobias Koppers
6fc72dc4cc
Merge pull request #5309 from probablyup/optimizations
...
refactor: reduce array allocations, remove some excess iterations
2017-07-18 14:25:12 +02:00
Tobias Koppers
64c1e8a23a
performance improvements and comments
2017-07-18 14:24:42 +02:00
Tobias Koppers
f6a0d51e6b
Merge branch 'master' into use-set-in-chunks
2017-07-18 09:32:53 +02:00
asolove
3f1b7e624c
Store relative path cache on compilation to avoid leaking memory.
2017-07-17 23:06:59 -06:00
Evan Scott
529b0ffe94
refactor: use array.find vs array.filter()[0]
2017-07-17 22:19:35 -04:00
Tobias Koppers
c1a02446ac
store hash in depndencyTemplates Map instead of comparing identify
...
This restores original performance on incremental builds
fixes #5289
fixes #5277
2017-07-14 13:03:30 +02:00
Tobias Koppers
6842d50cf9
Call imports with the correct context.
...
Parse arguments of an import call.
Support strictThisContextOnImports in ConcatenatedModules
fixes #5246
fixes #5135
fixes #5111
2017-07-11 19:08:23 +02:00
Tobias Koppers
4e90f43596
add hash method to concatenated module
...
fixes #5184
2017-07-07 11:48:52 +02:00
Tobias Koppers
a6e4cddb79
Merge pull request #5137 from mzgoddard/concatenated-file-dependencies
...
Include module file and context dependencies in ConcatenatedModule
2017-07-01 14:51:07 +02:00
Johannes Ewald
15ccfb68ef
Improve ModuleConcatenation bailout messages
2017-06-28 15:20:06 +02:00
Tim Sebastian
66f0f6436a
refactor commonsschunk plugin to handle set instead of array
2017-06-24 11:39:46 +10:00
Michael "Z" Goddard
9ea40f0eea
Include module file and context dependencies in ConcatenatedModule
...
As ModuleConcatenationPlugin removes the concatenated modules from a
compilation, the file and context dependencies of those modules needs
to be stored in the ConcatenatedModule for webpack to be able to watch
those paths.
2017-06-22 10:43:28 -04:00
jeonghwan Lee
ab9e938367
Preserve assets from concatenated module
2017-06-22 12:32:59 +09:00
Tobias Koppers
2d82b00767
Merge pull request #5113 from webpack/feature/better-error-message
...
better error message for missing internal names
2017-06-21 23:23:25 +02:00
Tobias Koppers
25a904bf88
Merge pull request #5083 from timse/sortable-set
...
Sortable set
2017-06-21 22:50:47 +02:00
Tim Sebastian
8f3d65aa5d
fix linting/formatting issues
2017-06-21 08:12:22 +10:00
Tim Sebastian
f7ffed8f3e
allow to set chunks and use it in ConcatenatedModule
2017-06-21 08:12:22 +10:00
Tobias Koppers
245dcc3047
better error message for missing internal names
2017-06-20 16:13:32 +02:00
Tobias Koppers
9feda63d13
Merge pull request #5028 from webpack/feature/externalize_uglify_plugin
...
feat(uglify): move uglify to external plugin from webpack-contrib
2017-06-19 17:04:27 +02:00
Tim Sebastian
fc20348f97
unite iteration through modules into one loop
2017-06-18 22:46:06 +10:00
Tim Sebastian
083843e0ad
remove code that pushes arrays of dependencies into dependencies
...
the actua dep population is done in lines 155-159
2017-06-18 22:45:08 +10:00
Tim Sebastian
bd8c6cf158
make sure ConcatenatedModules also uses SortedSet
...
fix tests that was falsy - per default chunks are flagged as sorted in module
however this only holds true as they are initialized empty. Concatenated module however
has initial modules and therefore is not guaranteed to be ordered, the flags should therfor be false.
Using SortedSet fixes this as a sideeffect
2017-06-18 14:34:32 +10:00
Tobias Koppers
28f826a4e7
consistent order
2017-06-14 23:20:40 +02:00
Tobias Koppers
5d4ba56c5f
Allow scope hoisting to process modules in multiple chunks
2017-06-14 22:46:26 +02:00
Tobias Koppers
ec966354ca
rename shorthand properties correctly
...
fixes #5027
2017-06-13 13:38:12 +02:00
Tobias Koppers
443b62ffa7
add special case for async without name
2017-06-09 16:04:52 +02:00
Sean Larkin
dc315e5f6d
feat(uglify): move uglify to external plugin from webpack-contrib
2017-06-07 12:35:50 -05:00
Tobias Koppers
8c7808991c
fix lint error
2017-06-07 13:14:13 +02:00
Tobias Koppers
9060137035
generate nicer names
2017-06-07 12:57:15 +02:00
Tobias Koppers
9b58b7a705
generate correct namespace objects
...
fixes #5020
2017-06-07 12:56:53 +02:00
Tobias Koppers
1c538f9d84
fixes #5000
2017-06-06 11:18:34 +02:00
Tobias Koppers
4372819de1
libIdent should be rootModule
2017-06-05 14:01:19 +02:00
Tobias Koppers
9cd0cacd14
Merge branch 'master' into next
2017-06-03 16:36:38 +02:00
Tobias Koppers
72e94e32a4
Merge pull request #4965 from ymichael/duplicate-blocks
...
CommonsChunkPlugin can cause duplicate chunk blocks
2017-06-03 09:53:30 +02:00
Tobias Koppers
302289ce24
Merge branch 'master' into next
2017-06-02 16:28:22 +02:00
Tobias Koppers
d3a0fc980e
Merge pull request #4984 from webpack/bugfix/splitting-compilation
...
followup from #4968
2017-06-02 12:03:06 +02:00
Tobias Koppers
90159b0d37
Merge pull request #4982 from webpack/perf/optimize
...
optimize optimization plugins
2017-06-02 11:54:13 +02:00
Tobias Koppers
3caf4675a0
Upstream changes from https://github.com/jantimon/html-webpack-plugin/pull/670#issuecomment-301484908
2017-06-02 11:09:17 +02:00
Tobias Koppers
890a507b08
optimize OccurenceOrderPlugin
2017-06-02 01:24:55 +02:00
Alex Hughes
cbc706ba98
Upstream changes from https://github.com/jantimon/html-webpack-plugin/pull/670#issuecomment-301484908
2017-06-01 16:38:27 +02:00
Tobias Koppers
b08762b729
optimize optimization plugins
2017-06-01 16:35:07 +02:00
Tobias Koppers
cc8e729ff4
detect conflicts with other variables
...
fixes #4967
2017-05-31 16:46:25 +02:00
Michael Yong
7834e6cd57
CommonsChunkPlugin: Don't allow blocks to contain duplicate chunks
...
- Add configCase to repro failure
2017-05-30 21:11:42 -07:00
Tobias Koppers
6a0e587768
spacing
2017-05-28 23:51:23 +02:00
Tobias Koppers
44bf6c245f
update graph correctly
2017-05-28 17:18:41 +02:00
Tobias Koppers
d8539561fd
add optimization bailout info
...
track optimization bailout in concat plugin
2017-05-28 15:25:07 +02:00
Tobias Koppers
b4d25208f4
filter modules from modules array
2017-05-24 11:22:42 +02:00
Tobias Koppers
1c3bef901c
merge PR #4884 again
...
by @filipesilva
2017-05-22 20:04:23 +02:00
Tobias Koppers
5d9eef85c7
improvements from review
2017-05-21 09:15:43 +02:00
Tobias Koppers
4a25a17bb6
improvements from review
2017-05-21 09:15:42 +02:00
Tobias Koppers
c41ab084f6
fix export mangling in concatenated modules
2017-05-21 09:15:42 +02:00
Tobias Koppers
9b2a9fa786
Scope Hoisting
2017-05-21 09:15:41 +02:00
Tobias Koppers
2bd2d2844c
improve a few issues
...
from review by @Kovensky
2017-05-20 14:54:42 +02:00
Tobias Koppers
8d3efe7d63
Merge branch 'next' into perf/modules-set
2017-05-16 14:37:03 +02:00
Tobias Koppers
e1bac32c19
Use a Set to store modules in a chunk
2017-05-16 11:50:50 +02:00
Tobias Koppers
b45588bc11
CommonsChunkPlugin in async mode doesn't select initial chunks
...
fixes #4795
2017-05-04 10:50:46 +02:00
Tobias Koppers
616777b520
fix spacing issue
2017-04-21 18:47:59 +02:00
Tobias Koppers
7ca1297e11
Use a Set in RemoveParentModulesPlugin for performance
2017-04-18 23:28:16 +02:00
Tobias Koppers
e8bc9c2b3b
use a Set for Module.chunks
2017-04-18 23:27:25 +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