Commit Graph

747 Commits

Author SHA1 Message Date
Tom910 665fbd0ca8 Fix todo comments 2017-01-25 22:47:11 +03:00
Tom910 74efa93d5f More refactoring Compilation.js and RemoveParentModulesPlugin.js 2017-01-25 22:39:24 +03:00
Tom910 588976d5e9 Deleting cache length size to loop 2017-01-24 22:39:38 +03:00
Tom910 b27f73710d Revert indents to Compilation 2017-01-23 22:31:53 +03:00
Tom910 609d473563 Refactoring and optimize Compilation.js 2017-01-23 21:52:20 +03:00
Tobias Koppers 330ca07fba Merge pull request #3874 from timse/salt-chunk-hash-instead-of-main-hash-in-loop
Salt chunk hash instead of main hash in loop
2017-01-11 09:18:44 +01:00
Tim Sebastian ef59336815 add comments to clarify why a sort is needed here. 2017-01-10 23:20:54 +11:00
Tim Sebastian 0284826a45 update chunkhash instead of main hash in chunk hashing loop 2017-01-10 09:45:59 +11:00
Tobias Koppers 9380bd4c12 Bugfix/disable module in harmony (#3755)
* moved format location into separate file
allow dependencies to report errors too

* NullDependencies do not change the hash

* dependencies can opt-out from `__webpack_require__` param

* apply module syntax plugins earlier

* emit errors if using AMD or CommonJS syntax in harmony modules
2017-01-09 10:11:34 -06:00
Tim Sebastian d45801a7f0 one crypto require should be enough 2017-01-10 00:55:44 +11:00
Tim Sebastian c3845c0731 remove unused/useless function sortItemsBeforeIds 2017-01-10 00:51:39 +11:00
Yuriy Ostapenko a87b61f526 Include child compilation hash into parent hash computation (#3744)
Without it, child compilations like those added by "extract-text-webpack-plugin" are not included in stats hash and aren't properly displayed on change.
2017-01-05 23:03:54 -06:00
Ahmed El Gabri 86169bd7eb refactor(ES6): upgrade Compilation to ES6 (#3767)
* refactor(ES6): upgrade Compilation to ES6

* refactor(ES6): upgrade methods

- constructor
- templatesPlugin
- addModule
- getModule
- findModule
- buildModule
- proccessModuleDependencies
- addModuleDependencies
- _addModuleChain
- addEntry

* refactor(ES6): upgrade methods

- prefetch
- rebuildModule
- finish
- unseal
- seal
- sortModules
- reportDependencyWarnings
- addChunk
- assignIndex
- assignDeep
- proccessDependenciesBlockForChunk
- removeChunkFromDependencies
- applyModuleIds
- applyChunkIds
- sortItesBeforeIds

* refactor(ES6): upgrade methods

- sortItemsWithModuleIds
- sortItemsWithChunkIds
- summarizeDependencies
- createHash
- modifyHash
- createModuleAssets
- getPath
- getStats
- createChildCompiler
- checkConstraints
2017-01-05 11:00:36 -06:00
wtgtybhertgeghgtwtg 11879537b9 Drop `ArrayMap` for `Map`. (#3718) 2017-01-03 23:49:58 -06:00
Sean Larkin aa8d01bf8d refactor(eslint): Added no-unsed-vars, env specific .eslintrc's for buildin & hot (#3636)
* refactor(eslint): Added no-unsed-vars, env specific .eslintrc's for buildin & hot

* This change allows for buildin to now be part of the lint test by addition of an extra .eslintrc file which extends existing but sets es6 to false
* Turned on no-unused-vars for eslint, and then removed all warnings from turning that feature on
* Was getting notified of errors in "quote" property in eslintrc, so changed to correct value from error to 2.

* beautify

* swap invalid eslint config val
2016-12-30 09:43:49 -06:00
Tim Sebastian 678984b9e4 remove second param to `ChunkTemplate` constructor
the ChunkTemplate contructor only expects one parameter, therefore it seams unnecessary that `this.mainTemplate` is passed
2016-12-27 14:01:46 +11:00
Tobias Koppers 71cf49a259 add depth to module
add depth to stats
fix stats spacing (fixes #3541)
add maxModules to stats, default to 15 (fixes #3540)
2016-12-21 18:03:20 +01:00
Tobias Koppers 2817c3629d beautify 2016-12-14 16:22:55 +01:00
Tobias Koppers f4ab7fc7e2 more performance improvements 2016-12-14 16:22:54 +01:00
Tobias Koppers da29d21ae4 performance improvements
breaking change: Module has now a "unbuild" method that must work correctly
2016-12-14 16:22:16 +01:00
Sean Larkin c6850b3481 chore(performance): cleaned up unused variables, removed compilation from constructor, added stats additional messages 2016-12-07 17:22:20 +01:00
Sean Larkin 93ae6bc32a chore(performance) cleanup unused functionality, partial cleanup 2016-12-07 17:22:18 +01:00
Sean Larkin 00f9478ea1 fix(performance): removed a consolelog 2016-12-07 17:22:14 +01:00
Sean Larkin b2622e1bd9 fix(performance): corrected tests, removed options access from stats, added mocks for web target check 2016-12-07 17:22:14 +01:00
Sean Larkin 2b72cc9941 removed unneeded require for path 2016-12-07 17:22:13 +01:00
Sean Larkin 000dae1889 fix(tests): Updated tests across the board to work with perf budgets 2016-12-07 17:22:13 +01:00
Sean Larkin 2741098198 feat(perfbudget): creat initialAssetsCost with hardcoded limit 2016-12-07 17:21:22 +01:00
Tushar Sonawane 34c02a9c15 fix 'no-loop-func' warnings 2016-10-29 18:53:54 +05:30
Raphael Mu 75caa169bc reduce fn.bind(this) usage by aliasing `this` to `self` (#3146) 2016-10-17 13:26:22 -05:00
Tobias Koppers 530fad43b4 allow to pass abs path to manifest property of DllReferencePlugin
manifest is loaded on compilation
2016-09-16 01:19:50 +02:00
Tobias Koppers a0a920d83f added experimental plugin to set custom module ids 2016-09-16 01:18:21 +02:00
Tobias Koppers d42d52b388 use specification order for chunks
fixes ##2998
2016-09-16 01:17:28 +02:00
Tobias Koppers a53799c0ac use new RuleSet matching instead of LoadersList
pass issuer via contextInfo
2016-09-15 00:22:10 +02:00
Tobias Koppers 119af18c0c Merge pull request #2497 from achicu/achicu/fix_error_memory_leak
Fixing memory leak causing node go out of memory
2016-08-17 13:06:34 +02:00
Andrey Popp ea84afcefc Fix compilation not to store dependency warnings in modules
Fixes #2803
2016-07-26 13:47:00 +03:00
Tobias Koppers 711a3822fa refactor ModuleFactory to take an object instead of multiple arguments 2016-07-20 12:51:03 +02:00
Tobias Koppers 1675a5a5ca new way to handle new ids, reuse old ids
adjusted HMR to handle id reusing
2016-07-18 00:41:26 +02:00
Tobias Koppers 79eb404257 fixes webpack/extract-text-webpack-plugin#82
fixes webpack/extract-text-webpack-plugin#115
fixes webpack/extract-text-webpack-plugin#170
2016-07-15 21:59:24 +02:00
Tobias Koppers 2f618e733a refactoring and aggressive-splitting plugin 2016-07-13 11:03:14 +02:00
Tobias Koppers 1ee3585fa1 compilation error don't affect parent module
recover after syntax error
assume es6 module on syntax error

#2117
2016-07-03 13:13:01 +02:00
Tobias Koppers 5903cc7b0b refactor how critical warnings are reported 2016-06-24 01:51:52 +02:00
Tobias Koppers ce76858334 add hashSalt option
fixes #2544
2016-06-04 20:03:42 +02:00
Alexandru Chiculita 74548ce628 Setting _this to null to workaround a bug in V8 that keeps Compilation object alive and makes node run out of memory: https://bugs.chromium.org/p/chromium/issues/detail?id=612191 2016-05-16 10:40:37 -07:00
Zane Hitchcox e48ee3fc5a Spelling (#2307)
from dependant to dependent
2016-04-10 22:24:13 +02:00
Tobias Koppers c838656e7f moved defaults for options.output into central place 2016-01-06 23:02:25 +01:00
Tobias Koppers ded70aef28 moves stuff from webpack-core to webpack-sources 2015-12-29 17:44:55 +01:00
Tobias Koppers 3201dc333d Merge branch 'webpack-1'
Conflicts:
	lib/NormalModuleFactory.js
	package.json
2015-11-13 21:58:38 +01:00
Tobias Koppers 6b60662068 performance improvement 2015-11-13 21:55:41 +01:00
Tobias Koppers 4985cb2844 Merge branch 'master' into webpack-2
Conflicts:
	lib/dependencies/ContextDependency.js
2015-10-18 10:55:23 +02:00
Tobias Koppers 5acfacfdd6 replaced Class with constructor 2015-10-18 10:53:38 +02:00
Tobias Koppers 7cbd78c1da Merge branch 'master' into webpack-2
Conflicts:
	.travis.yml
	bin/config-optimist.js
	test/statsCases/define-plugin/expected.txt
2015-09-19 20:11:48 +02:00
Ahmet Katrancı 8ff6cb5fed Report constructor correctly when inheriting from Tapable 2015-08-18 12:35:57 +01:00
Tobias Koppers 5bbfbae551 Merge branch 'master' into webpack-2
Conflicts:
	package.json
	test/statsCases/chunks/expected.txt
2015-07-25 13:49:14 +02:00
Tobias Koppers ea7fd67ec1 fixed #1239 2015-07-22 22:34:25 +02:00
Tobias Koppers 431a4c791c Merge branch 'master' into webpack-2
Conflicts:
	hot/dev-server.js
	hot/only-dev-server.js
	hot/poll.js
	hot/signal.js
	lib/ChunkTemplate.js
	lib/HotModuleReplacement.runtime.js
	lib/HotModuleReplacementPlugin.js
	lib/JsonpMainTemplatePlugin.js
	lib/MainTemplate.js
	lib/NormalModule.js
	lib/Parser.js
	lib/RecordIdsPlugin.js
	lib/WebpackOptionsApply.js
	lib/dependencies/RequireEnsureDependency.js
	lib/node/OldNodeWatchFileSystem.js
	lib/optimize/OccurrenceOrderPlugin.js
	package.json
2015-07-17 09:30:37 +02:00
Tobias Koppers f7d799adb4 rebeautify without spacing after keyword 2015-07-16 00:19:23 +02:00
Avi Haiat 0a340f2b1a feat(app): Beautify all lib files 2015-07-13 01:20:09 +03:00
Avi Haiat 5594eab317 feat(app): Improve eslint and jsbeautify 2015-07-08 15:16:50 +03:00
Tobias Koppers 8cfeb51c30 refactoring and bug fixes 2015-07-07 00:11:13 +02:00
Tobias Koppers cf30eeeb0f Merge branch 'master' into webpack-2
Conflicts:
	lib/ChunkTemplate.js
	lib/Compilation.js
	lib/HotModuleReplacement.runtime.js
	test/TestCases.test.js
	test/statsCases/chunks/expected.txt
	test/statsCases/simple-more-info/expected.txt
	test/statsCases/simple/expected.txt
2015-07-01 00:44:17 +02:00
Tobias Koppers a04ffb9283 added (experimental) NamedModulesPlugin 2015-06-27 22:47:51 +02:00
Tobias Koppers 02522f11c3 throw an error when trying to use [chunkhash]
... when it's not allowed.
I. e. with HMR enabled [chunkhash] for the entry chunk
is not allowed. Now it throws an error.

Also fixes a bug where [chunkhash] doesn't have to correct
length. fixes #1192
2015-06-27 11:34:17 +02:00
Tobias Koppers 4e041dfd52 fixed [chunkhash] and [name] issue
fixed #1181
fixed #1018
2015-06-24 23:17:12 +02:00
Tobias Koppers 41f56a523a Merge branch 'master' into webpack-2 2015-06-13 17:47:50 +02:00
Tobias Koppers e20c485928 reset module index and index2 when loading from cache
consistent entry order
2015-06-13 17:44:52 +02:00
Tobias Koppers 2245c4acca Promise based chunk loading API
don't flag entry module with `0` id anymore
use extra argument in chunk instead
this allows to require entry points
2015-06-13 11:45:28 +02:00
Tobias Koppers 66df34688e Merge branch 'master' into webpack-2
Conflicts:
	bin/convert-argv.js
	lib/webpack.js
2015-06-07 22:24:03 +02:00
Kenny Tran 08d9d87f9a Fix typos 2015-05-26 19:59:02 -07:00
Tobias Koppers ddf6066128 fixed index for entry points 2015-05-25 20:46:23 +02:00
Tobias Koppers c92491ff30 better default for chunkFilename and tests 2015-05-16 16:10:25 +02:00
Tobias Koppers 599c39dbc0 better defaults for filename and chunkFilename 2015-05-16 14:52:23 +02:00
Tobias Koppers ff7848369a Merge branch 'master' into webpack-2
Conflicts:
	bin/webpack.js
	package.json
2015-05-10 20:41:04 +02:00
Tobias Koppers 8a6ac101ea generate two indices, which representent global order
and use the first for sorting modules by default
2015-05-10 18:43:47 +02:00
Tobias Koppers f4b9d5f57a Merge branch 'master' into webpack-2
Conflicts:
	lib/Compilation.js
	lib/Compiler.js
	lib/DefinePlugin.js
	lib/HotModuleReplacementPlugin.js
	lib/Parser.js
	lib/node/NodeSourcePlugin.js
	lib/node/OldNodeWatchFileSystem.js
	package.json
2015-04-27 20:22:13 +02:00
Tobias Koppers cebd3b9722 added linting 2015-04-23 23:55:50 +02:00
Tobias Koppers 9c26ffe6a8 Merge branch 'master' into webpack-2
Conflicts:
	lib/Stats.js
2015-04-20 21:08:42 +02:00
Tobias Koppers 3419ddcb29 use dedupe plugin later in compilation
fixed webpack/style-loader#54
2015-04-20 19:39:02 +02:00
Tobias Koppers ed75627f06 Merge branch 'master' into webpack-2
Conflicts:
	bin/convert-argv.js
	package.json
2015-04-14 20:09:29 +02:00
Tobias Koppers 0431b74149 added cheap-source-map and lineToLine option 2015-04-05 01:52:30 +02:00
Tobias Koppers c4db71c9d6 added some async steps to prevent stack overflows 2015-04-03 23:39:58 +02:00
Tobias Koppers 8fef0c79f3 cache sources 2015-04-03 19:47:53 +02:00
Tobias Koppers ab149eb4d4 Merge branch 'hot-multi-pass' of https://github.com/webpack/webpack.git into webpack-2
Conflicts:
	lib/Compilation.js
2015-03-05 22:30:24 +01:00
Tobias Koppers a4a72607f0 throw Error when multiple chunks emit to the same filename 2015-03-05 22:02:01 +01:00
Tobias Koppers 63eff24427 removed namedChunkFilename 2015-03-05 22:01:36 +01:00
Tobias Koppers 13b60359f4 DedupePlugin correctly inserts deduplication code
fixed #770
2015-02-09 08:43:46 +01:00
Tobias Koppers 769d40eec5 profile earlier and from cache 2015-02-04 23:22:32 +01:00
Tobias Koppers e9acc3907e remove issuer for entry and prefetch 2015-02-04 23:22:31 +01:00
Tobias Koppers 725371e271 separate module assets from chunk assets 2015-01-31 16:19:36 +01:00
Tobias Koppers fb49376f6d Added multi pass hot mode #669 2015-01-30 00:46:52 +01:00
Tobias Koppers adfcfce15f watching of missing files, fixed #668
store missing files from errors for missingDependencies
make the new watching plugins default
added OldWatchingPlugin
2015-01-17 21:55:44 +01:00
Tobias Koppers de1ea9d15e allow multiple chunks for a dependency block #640 2015-01-01 21:58:27 +01:00
Tobias Koppers 738c1d3e68 support library with CommonsChunkPlugin
fixes #622
2014-12-22 16:10:23 +01:00
Tobias Koppers 1c9fd48839 reorganized function 2014-11-02 12:17:05 +01:00
Tobias Koppers 8131061c8e added weak dependencies, require.resolveWeak
#526
2014-10-13 16:10:19 +02:00
Jason Anderson f371945a29 Add TemplatedPathPlugin 2014-09-11 15:31:08 +02:00
Tobias Koppers 9a8cae6d43 added `NoErrorsPlugin`, which doesn't emit on error
fixes webpack/webpack-dev-server#42
fixes #449
2014-09-03 14:16:17 +02:00
Tobias Koppers 37aa1ff7d5 support parallel build and rebuild
expanded css bundle example
2014-07-29 00:13:25 +02:00
Tobias Koppers e2f83e195d add more complex css-bundle examples
add rebuild module
add chunkName parameter to CommonsChunkPlugin
fix bug in LimitChunkCountPlugin
2014-07-19 14:32:48 +02:00
Tobias Koppers 03c87c11a4 support [name] in chunkFilename
fixes #358
2014-07-17 01:52:41 +02:00
Dan Abramov 6085815327 Don't call the callback twice on error (fixes #347) 2014-07-07 18:11:40 +04:00
Tobias Koppers 5104661855 optional externals
track optional modules
optional externals for UMD and root
fixes #339
2014-07-03 00:00:06 +02:00
Tobias Koppers d80cdcefac Code Quality 2014-06-24 18:53:32 +02:00
Tobias Koppers 80f3c48d99 better code style 2014-06-03 21:03:21 +02:00
Tobias Koppers 42c82f6b77 refactored ModuleTemplate to plugin interface 2014-06-03 08:45:26 +02:00
Tobias Koppers 5264f69ddf refactored HotChunkUpdateTemplate to plugin interface 2014-06-03 00:14:46 +02:00
Tobias Koppers a0394a061b refactored ChunkTemplate with plugin interface 2014-06-02 23:40:50 +02:00
Tobias Koppers 3247725ba3 refactored MainTemplate to plugin interface 2014-06-02 21:23:53 +02:00
Tobias Koppers 07e29e2348 expose module on entry dep 2014-05-26 23:53:48 +02:00
Tobias Koppers 5c3f8cc345 Don't render and emit entry assets if not needed
webpack/webpack-dev-server#21
2014-04-19 21:35:01 +02:00
Tobias Koppers 1f651d6fcb add an additional hook 2014-04-18 12:56:19 +02:00
Tobias Koppers e2c0866c62 chunk ids are unique now, so this is no longer needed 2014-04-17 09:08:46 +02:00
Tobias Koppers 8229f59adf allow initial chunks to have other ids than 0 2014-02-11 13:27:41 +01:00
Tobias Koppers d3a9712193 bug fixing 2014-02-03 18:12:19 +01:00
Tobias Koppers e246c5badc added optimize-tree hook, reset module on build 2014-01-29 10:13:28 +01:00
Tobias Koppers 89fb178917 add origin for used named chunks 2014-01-24 13:32:58 +01:00
Tobias Koppers 30f954067c track chunk origin 2014-01-23 15:31:40 +01:00
Tobias Koppers 1fa9169cf2 use initial flag for initial loaded chunks 2013-12-03 23:11:14 +01:00
Tobias Koppers 6c6e495ae7 better commons naming #128 2013-12-03 11:19:30 +01:00
Tobias Koppers 4d25d521f6 plugin to extract common modules
from multiple entry points
#128
2013-12-03 09:27:15 +01:00
Tobias Koppers e62e3a2223 fixed race condition for loadModule 2013-10-29 14:14:16 +01:00
Tobias Koppers 52b40b3798 allow loaders to load modules
fixed templates readable name
2013-10-28 16:21:29 +01:00
Tobias Koppers d56dce7e52 more details in progress 2013-10-12 22:40:15 +02:00
Tobias Koppers 58586f8ae2 make it webpack-able 2013-07-10 23:20:07 +02:00
Tobias Koppers a7bce382bc fixed global leak 2013-07-04 12:11:17 +02:00
Tobias Koppers 49506c83bb HOT: added update json info file, fixed infinite hash updates, #26 2013-07-01 13:59:02 +02:00
Tobias Koppers 8b2301056d added hot module replacement, fixes #26 2013-06-19 13:49:57 +02:00
Tobias Koppers 327a990070 fixed bugs 2013-06-19 11:53:03 +02:00
Tobias Koppers f84f000149 records, typo 2013-05-31 12:22:40 +02:00
Tobias Koppers 0870e00113 build chunks on seal (fixes prefetching bug) 2013-05-22 10:12:53 +02:00
Tobias Koppers 44f8709fbd more options for hashing 2013-05-21 11:08:08 +02:00
Tobias Koppers 6af5702c44 added [chunkhash] support, fixes #90 2013-05-21 01:46:14 +02:00
Tobias Koppers 1133a5606e better error reporting 2013-05-18 14:42:11 +02:00
Tobias Koppers 209f96c543 added option to prefetch modules 2013-05-13 13:34:00 +02:00
Tobias Koppers c5b52b547c keep chunk ids 2013-05-08 23:01:25 +02:00
Tobias Koppers 30c66003e8 profiling is back 2013-05-08 14:47:13 +02:00
Tobias Koppers 5cdb8cbf81 cache chunks, cache assets 2013-05-08 13:28:54 +02:00
Tobias Koppers 0de7c73ad8 SourceMap support 2013-03-26 16:54:41 +01:00
Tobias Koppers edfc6759fb Errors and warnings stay in cache 2013-03-05 11:08:59 +01:00
Tobias Koppers 9fe83b3dc8 improved chunk loading
now a chunk is not loaded if all included modules are already loaded (by other chunks)
2013-02-24 02:05:55 +01:00
Tobias Koppers 57ddbc0859 added i18n example, fixed error/warning bug 2013-02-19 12:48:17 +01:00
Tobias Koppers dc69f23de4 fixes #65 2013-02-13 14:42:34 +01:00
Tobias Koppers 3315480432 fixed some bugs 2013-02-13 13:00:01 +01:00
Tobias Koppers 90f8a42ab3 fixed some examples stuff 2013-02-13 11:51:08 +01:00
Tobias Koppers fd7226ed50 fixes 2013-02-04 15:58:04 +01:00
Tobias Koppers 961ad40966 file watching 2013-01-31 18:00:22 +01:00
Tobias Koppers 55d1af8109 fix named chunks, added multi entry plugin 2013-01-31 01:44:39 +01:00
Tobias Koppers ee01837d66 Refactored everything for 0.9 2013-01-30 18:49:25 +01:00