Commit Graph

174 Commits

Author SHA1 Message Date
Tobias Koppers bf1fc171ba runtime requirement for RuntimeGlobals.moduleFactories 2018-11-29 16:08:52 +01:00
Tobias Koppers 32c3fca477 extract definePropertyGetter into RuntimeModule 2018-11-29 16:08:17 +01:00
Tobias Koppers 0232674f9c Initial runtime module work 2018-11-29 16:03:32 +01:00
Tobias Koppers eb28697419 move magic property names on __webpack_require__ into RuntimeGlobals file 2018-11-05 15:28:34 +01:00
Tobias Koppers 4f813e28a9 remove customizability of __webpack_require__ function name 2018-11-05 13:13:05 +01:00
Florent Cailhol 84c915b191 Add hook types for templates 2018-11-02 15:40:13 +01:00
Tobias Koppers a262b83580 remove globalPath and useChunkHash feature
It's no longer needed, because we hash the runtime how
2018-10-24 09:39:51 +02:00
Tobias Koppers 518104b3fb Merge tag 'v4.21.0' into next
4.21.0
2018-10-17 20:38:00 +02:00
Tobias Koppers 9da00cdb42 fixes #8110 2018-10-02 14:52:52 +02:00
Tobias Koppers 97ed999aad Merge tag 'v4.19.0' into next
4.19.0

* Separate context for renderBoostrap and hooks
* Remove ModuleTemplate from MainTemplate.bootstrap hook
2018-09-15 13:10:58 +02:00
Tobias Koppers 13b2cdd5ae hash content of bootstrap code
instead of trying to calculate it
from inputs

fixes #8027
fixes #7984
2018-09-13 23:25:26 +02:00
Florent Cailhol f75027475b Move HMR hotBoostrap hook 2018-09-07 14:14:10 +02:00
Tobias Koppers bad9d8a271 move Module.id into ChunkGraph
remove disconnect and unseal from Module
2018-08-28 15:08:52 +02:00
Tobias Koppers 6d5310fbd6 allow multiple entryModules per chunk
allow to specify ChunkGroup to depend on
move entry modules into ChunkGraph
2018-08-15 11:51:16 +02:00
Tobias Koppers 2e82dbb63c
Merge pull request #7813 from webpack/refactor/freeze_hooks
Freeze hooks to prevent deopts
2018-07-30 22:47:13 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol fc4f30329d Freeze hooks to prevent deopts 2018-07-30 14:25:40 +02:00
Tobias Koppers ef40df2d1f fix usage of DependencyTemplates and types 2018-07-12 17:12:00 +02:00
Tobias Koppers e0abce0dd8 make DependencyTemplates a new class 2018-07-11 13:11:08 +02:00
Tobias Koppers 0a06f19fd8 Merge tag 'v4.15.0' into next
4.15.0
2018-07-04 22:19:50 +02:00
Tobias Koppers 1ad71e01f9 add helpful error when importing wasm in initial chunk 2018-07-02 16:18:49 +02:00
Florent Cailhol c68d0d2171 Remove Tapable compatibility 2018-06-26 08:31:08 +02:00
Tobias Koppers 2ac6a85482 cleanup DependencyTemplates 2018-06-25 16:15:17 +02:00
Tobias Koppers 5b4547e0ac cleanup Hash types 2018-06-25 10:44:54 +02:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Tobias Koppers 770847171d Merge branch 'master' into bugfix/namespace-object
# Conflicts:
#	lib/RuntimeTemplate.js
2018-05-28 22:42:21 +02:00
Tobias Koppers f903cd3ef9 mangle exports of wasm modules
mangle webpack init function
store WebAssembly.Instance.exports directly
connect wasm modules directly when already cached
2018-05-11 20:57:18 +02:00
Tobias Koppers d4a04b8934 Merge branch 'master' into bugfix/namespace-object
# Conflicts:
#	test/__snapshots__/StatsTestCases.test.js.snap
2018-05-09 10:27:23 +02:00
Tobias Koppers f2ad440de8 More strict linting of jsdocs
Use TODO over any when type is possible
2018-05-08 14:53:33 +02:00
Tobias Koppers a926a19715 create better namespace objects
avoid using Object.assign (fixes #7162)
2018-05-03 12:55:00 +02:00
Sean Larkin fdcafe6614 fix(types): fix typo, had type getRenderManifest to ensure proper call signatures for chunk and main templates 2018-05-01 10:47:14 -05:00
Sean Larkin 4c7861e7f8 update ts nightly and add Chunk and Module refs 2018-04-24 06:44:50 -07:00
Sean Larkin 0fcd5e5775 refactor(template): add type support to maint-template and template 2018-04-20 18:35:02 -06:00
Florent Cailhol f1092ad516 Update prettier toolchain 2018-03-26 16:56:10 +02:00
Florent Cailhol 3983803d30 Destructure 'require' to improve readability 2018-03-22 12:05:58 +01:00
Josh Soref 581069bb56 spelling: uncaught 2018-02-26 02:50:05 +00:00
Josh Soref 54d55ff9d6 spelling: property 2018-02-26 02:40:14 +00:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Tobias Koppers 66bd2eab83 make render manifest extensible
move JS and WASM specific template stuff into plugins
2018-01-24 09:39:49 +01:00
Tobias Koppers 0206949075 remove unused code 2018-01-21 11:12:36 +01:00
Tobias Koppers 18ae73dad4 Refactor chunk graph
Chunks are now always in ChunkGroups
ChunkGroups have parents and children, Chunks no longer have this
AsyncDependenciesBlocks point to a ChunkGroup instead of a list of chunks
Entrypoint is now a ChunkGroup (extends from it)
move stuff graph modification methods into GraphHelpers
Change chunk id recording to source-based
Chunks have parents, siblings and children in Stats
rename AutomaticCommonsChunksPlugin to SplitChunksPlugin
add request property to origin (ChunkGroup)
remove moveToParent from AggressiveMergingPlugin
fix issues with AggressiveSplittingPlugin
remove CommonsChunkPlugin
add optimization.runtimeChunk (RuntimeChunkPlugin)
fix a filename bug for initial chunks
remove extract-text-webpack-plugin from test suite
add DebugHash to help debugging hash issues
fix issues with entry modules in different chunk as runtime
redo optimization.splitChunks options
Compilation.entrypoints is now a Map
Compilation.chunkGroups has been added
remove some unittests
update examples
update tests with CommonsChunkPlugin
2018-01-19 19:21:30 +01:00
Tobias Koppers ca1c91c576 Merge branch 'master' into next
# Conflicts:
#	lib/Chunk.js
#	lib/MainTemplate.js
#	test/statsCases/commons-chunk-min-size-0/expected.txt
#	test/statsCases/commons-plugin-issue-4980/expected.txt
#	test/statsCases/named-chunks-plugin/expected.txt
2018-01-04 21:47:33 +01:00
nename0 d1e0bec48e Fix: the require-ensure only includes non-initial chunks 2018-01-04 19:25:03 +01:00
Florent Cailhol f737b26260 Remove some plugin calls 2017-12-14 14:42:49 +01:00
Tobias Koppers e8da5a94e8
Merge branch 'next' into refactor/static-template 2017-12-08 08:45:55 +01:00
Florent Cailhol dcfe3cc4df Remove `webpack/bootstrap` hash in source map
Before this change, a hash was appended to `webpack:///webpack/bootstrap`
and appeared in source maps' `sources`.

Before:

```js
{"version":3,"sources":["webpack:///webpack/bootstrap a0df2f8d793658baad72",…
```

Now:

```js
{"version":3,"sources":["webpack:///webpack/bootstrap",…
```

Quoting @sokra:

> Send a PR to remove this hash in the next branch. It's not needed anyway...

Fix #6082
2017-12-07 17:01:57 +01:00
Tobias Koppers 16ee68b5f9 make all methods on Template static 2017-12-07 09:49:50 +01:00
Tobias Koppers 56328a7cab upgrate tapable in Templates 2017-11-28 18:43:01 +01:00
Tobias Koppers 2201b860a5 Add mode option and choose defaults depending on mode
add optimization options
use development mode for watch/hot/config tests
use production mode for integration/stats tests
create output directory if not existing
move __esModule to runtime
fix dependency behavior for cases without usedExports
2017-11-24 08:17:17 +01:00
Tobias Koppers 41a1d602e1 added WebAssembly Proof of Concept 2017-11-10 09:17:11 +01:00
Tobias Koppers 6bd937d768 make things consitent 2017-09-22 14:07:28 +02:00
Tim Sebastian dbdc39d86e refactor maintemplate to handle set instead of array 2017-06-24 11:39:46 +10:00
Tim Sebastian 7972859640 refactor chunk.chunks usage to check for chunk existance 2017-06-24 11:39:46 +10:00
Tobias Koppers d967a4623c add `module.strictThisContextOnImports` option
to allow spec-comforming behavior this context on
called imported harmony functions
2017-05-21 09:23:35 +02:00
Tobias Koppers 5210230d4b Merge branch 'master' into master 2017-04-09 09:45:56 +02:00
con-ssc 8b3e587a0d Added {} around installedModules 2017-03-31 15:07:39 +02:00
Jeff Escalante b660b649a0 remove extra quote 2017-03-13 22:30:01 -04:00
Jeff Escalante ff5c28cc54 updates as requested 2017-03-13 22:29:05 -04:00
Jeff Escalante 5dc7c6f30e template strings in MainTemplate file 2017-03-13 22:29:05 -04:00
Tim Sebastian 9c9f2b89c9 use const where applicable in MainTemplate 2017-02-05 10:30:52 +11:00
Tejas Bubane c6af4ab3fa
Convert Template and its subclasses to ES2015
Subclasses include `MainTemplate`, `ChunkTemplate` and
`HotUpdateChunkTemplate`.
2017-01-13 12:34:21 +05:30
Kees Kluskens 644e3a009b Upgrade eslint (#3626)
* Upgrade eslint

* Pin down eslint version

* Temporary fix for difference between js-beautify and eslint

js-beautify suddenly requires a space between `while` here,
but everywhere else we use it without space.

* Remove redundant rules (present in eslint:recommended)

* Add rules comparable to js-beautify rules to eslint

* Add some forgotten files

* Ugh, fix some differences between eslint and js-beautify the nuclear way

* Add back variables
2016-12-29 10:10:41 -06:00
Johannes Ewald a59672a5e1
Fix spelling of "harmony" 2016-12-07 19:14:47 +01:00
Tobias Koppers bfc1359a86 improved tree shaking for star exports
fixes #3415
2016-12-04 23:50:52 +01:00
Luna Frank-Fischer 5a4e39fe71 added nonce capability
change expected outputs of stats cases so they match new output

added nonce test to browser tests
2016-11-23 12:53:56 -08:00
Tobias Koppers b87bfc0399 added strictModuleExceptionHandling option
fixes #1729
2016-11-16 13:09:38 +01:00
Tobias Koppers 25cab58eb3 fixed some standard linting issues 2016-09-20 00:19:39 +02:00
Tobias Koppers 378163af51 moved non-harmony default import function into runtime
#2451
2016-07-20 16:20:09 +02:00
Tobias Koppers 2f618e733a refactoring and aggressive-splitting plugin 2016-07-13 11:03:14 +02:00
Tobias Koppers 1ad7e7c0be fixes #2618
This increases bundle size for non-es6-modules users.
But decreases size of es6-modules users.
We should fix this later.
2016-06-08 00:22:43 +02:00
Tobias Koppers af2a362ba1 move require.onError default to jsonp template 2016-06-04 17:29:43 +02:00
Tobias Koppers d382b10683 fixed #2570 2016-06-04 14:19:20 +02:00
e-cloud 13322ca35c add missing constructors for all classes needed
As i walk through the source, i've tried to trace the webpack running stack.
Then, i find the missing constructors result in uncleasr stack and create a patch
for them.
2016-05-20 13:39:36 +08:00
Tobias Koppers 1b459d91f5 move externals into chunk with entry
fixes #2314
maybe fixes #2066
fixes #2375
fixes #1673
2016-05-05 10:13:50 +02:00
Kanstantsin 06f143daf9 Fix missing __webpack_require__.oe() 2016-04-29 14:36:07 +03:00
Tobias Koppers ce642eced6 reverted module.e to module.exports
because it causes issues with modules that define
exports on the module object
2016-04-21 23:50:40 +02:00
Tobias Koppers 902220a0ea smaller bundles by using module.e instead of module.exports
same for module.loaded and module.id
2016-02-13 13:11:34 +01:00
Tobias Koppers 6ac871344e moved error handler back to MainTemplate 2016-02-04 13:14:26 +01:00
Tobias Koppers 1c1a5cac3f smaller bundles without Code Splittings 2016-02-04 12:51:40 +01:00
Tobias Koppers ded70aef28 moves stuff from webpack-core to webpack-sources 2015-12-29 17:44:55 +01: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 5cd6e7d0b3 fixed a few linting issues 2015-07-16 00:39:56 +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
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 4e041dfd52 fixed [chunkhash] and [name] issue
fixed #1181
fixed #1018
2015-06-24 23:17:12 +02:00
Tobias Koppers a6b02f02d8 fixed smaller bundles commit 2015-06-13 17:41:57 +02:00
Tobias Koppers bb90097dfe smaller bundles 2015-06-13 16:23:10 +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 cebd3b9722 added linting 2015-04-23 23:55:50 +02:00
Tobias Koppers d9509e8e8d add publicPath to stats 2015-04-17 10:17:10 +02:00
Tobias Koppers 0431b74149 added cheap-source-map and lineToLine option 2015-04-05 01:52:30 +02:00
Tobias Koppers ffd9cce20a move semicolon to a later location in bundle #830 2015-03-03 20:24:46 +01:00
hkal 3b774f22a5 Added semicolon after output 2015-02-27 02:37:45 -05:00
Tobias Koppers 738c1d3e68 support library with CommonsChunkPlugin
fixes #622
2014-12-22 16:10:23 +01:00
Tobias Koppers d5dc904a15 fixed incomplete hash bug 2014-11-03 08:02:02 +01:00
Jason Anderson f371945a29 Add TemplatedPathPlugin 2014-09-11 15:31:08 +02:00
Anson Yu Wang 112a44da81 fix this.applyPluginsWaterfall("module-obj", .. call in MainTemplate.js 2014-08-13 20:53:23 +08:00
Tobias Koppers 66b095566d rebuild main chunk in fewer cases 2014-07-31 16:33:29 +02:00