Commit Graph

854 Commits

Author SHA1 Message Date
Tobias Koppers 1be6dc1dcb
Merge pull request #10286 from smelukov/inner-graph-decouple-parser-state
decouple inner-graph and parser state
2020-01-22 10:03:39 +01:00
Sergey Melyukov 533d7fced7 fix pr comments 2020-01-21 20:50:27 +03:00
Sergey Melyukov 5613a38bb1 decouple inner-graph and parser state 2020-01-21 17:36:22 +03:00
Tobias Koppers e18e72b294 remove Array.prototype.reduce calls to simplify code 2020-01-18 16:37:06 +01:00
Tobias Koppers b53a128513 provide better error message when a export name was not found 2020-01-15 22:44:06 +01:00
Tobias Koppers 0e2b4f5b93
Merge pull request #10196 from webpack/bugfix/10194
generate await code for import without await too
2019-12-30 21:14:18 +01:00
Tobias Koppers bbace17380 generate await code for import without await too
fixes #10194
2019-12-30 20:34:36 +01:00
Tobias Koppers 4453c9632c make order of exports determinism for hashing
fixes #10174
2019-12-27 21:31:41 +01:00
Tobias Koppers 26231576a8 fix parsing of requires in requires 2019-12-23 17:43:41 +01:00
Tobias Koppers 853ec50b57 bugfixes
allow mangle even if object prototype export names are used
prevent mangling for object prototype export names in CommonJS
only treat Object.defineProperty for top-level this as export
replace Object.defineProperty correctly when value is in brakets
2019-12-21 20:32:25 +01:00
Tobias Koppers d16abb3294 detect cycles during this.loadModule from loader
fix #10152
2019-12-20 12:50:55 +01:00
Sergey Melyukov 05abeee20a pr comments 2019-12-18 16:36:19 +03:00
Tobias Koppers 3b4a7455df use parser state instead of module to store harmony/dynamic exports state
this is important for incremental build
2019-12-07 01:04:38 +01:00
Tobias Koppers 404e0f7c77 handle Object.defineProperty 2019-12-06 11:20:32 +01:00
Tobias Koppers d9a2b7997a refactor dynamic and harmony exports parser state
bailout when using AMD define
2019-12-06 11:13:15 +01:00
Tobias Koppers 66d7ebd9a8 fix Errors for require.parent/main.require 2019-12-06 11:13:13 +01:00
Tobias Koppers 782e4535ac Refactor how exportsType work
add flagged exportsType for __esModule flagged
add getExportsType to merge strict with exportsType
move CommonJsStuffPlugin into CommonJsPlugin
split CommonJsPlugin into imports and exports part
enable minimal tree shaking for CommonJs imports and exports
2019-12-06 11:13:08 +01:00
Tobias Koppers ae261ed4c1 move default object redirect logic into separate meta property 2019-12-06 11:12:26 +01:00
Tobias Koppers ab8a768cac remove module.id and loaded shortcuts and only include them when used 2019-12-06 11:09:43 +01:00
Sergey Melyukov ba306b6f2c Merge remote-tracking branch 'upstream/master' into optimize-webpack-runtime-size 2019-12-02 19:54:21 +03:00
Sergey Melyukov 6b59d113a4 optimize webpack runtime size 2019-12-02 17:59:37 +03:00
Tobias Koppers 5a01ed8121 rename exportsType named to default
exportsType default doesn't include named exports in strict esm
2019-11-20 12:43:53 +01:00
Tobias Koppers cda629eaac add missing runtime requirement for async module header
active async modules when top level await is used
2019-11-19 13:11:23 +01:00
Tobias Koppers eeafeee32a
Merge pull request #9950 from webpack/dependabot/npm_and_yarn/prettier-1.19.1
chore(deps-dev): bump prettier from 1.18.2 to 1.19.1
2019-11-15 12:05:46 +01:00
Tobias Koppers 497b65e122 run prettier 2019-11-15 10:56:01 +01:00
Tobias Koppers ed81ad0fa4 allocate warnings and errors arrays only when needed 2019-11-10 21:05:16 +01:00
Tobias Koppers 84b6817f60 consistency and bugfixes for reexporting json 2019-11-05 10:39:12 +01:00
Tobias Koppers 2f2125b4d1 add redirecting support to create correct exports info for exportsType=named 2019-11-05 10:38:02 +01:00
Tobias Koppers 14ee25cd0a add support for tree-shaking JSON modules 2019-11-05 10:37:59 +01:00
Tobias Koppers 09d182132a rename reference exports constants 2019-10-30 07:57:55 +01:00
Tobias Koppers 6b352c244a make RequireIncludeDeprecationWarning serialize-able 2019-10-30 07:49:24 +01:00
Tobias Koppers a877cd51d1 add presentational dependencies which are cheaper, but allow only templating 2019-10-30 07:49:20 +01:00
Tobias Koppers 8696017c55 add Dependency.getReferencedExports
remove Dependency.getReference
remove DependencyReference
2019-10-30 07:48:37 +01:00
Tobias Koppers efe3a81325 remove sourceOrder from DependencyReference 2019-10-30 07:48:35 +01:00
Tobias Koppers 8d46b21fad add Dependency.getCondition and conditional ModuleGraphConnections
getDependencyReference is no longer used to check of connection
2019-10-30 07:48:32 +01:00
Tobias Koppers e1d1ab7d3b no need to serialize weak as already in super class 2019-10-30 07:48:28 +01:00
Tobias Koppers 09d6301712 Move weak flag from DependencyReference to Dependency 2019-10-30 07:48:26 +01:00
Tobias Koppers 46fec5e252 emit a warning when require.include is used 2019-10-22 10:17:34 +02:00
Tobias Koppers acff6ec992 move BasicEvaluatedExpression and JavascriptParserHelpers to javascript directory 2019-10-22 09:27:52 +02:00
evilebottnawi 8198ffb3e6 refactor: code 2019-10-22 00:14:05 +02:00
Tobias Koppers f45ba2408e remove items from runtime when unneeded
remove some hooks from MainTemplate, move some hooks to CompatRuntimeModule
add requireScope RuntimeGlobal
2019-10-08 23:46:23 +02:00
Tobias Koppers f434b1325e avoid rewriting source from "module.exports"
this ensures backward-compat for plugins that
rewrite `module._source` after a simple module
is already parsed and dependencies point to
ranges in the old source.
2019-10-07 11:16:38 +02:00
Tobias Koppers a5b3177fc0 conditional import specifiers do not generate import statements when exports are unused 2019-09-06 14:49:05 +02:00
Tobias Koppers 41a6f2af1a fix PureExpressionDependency bug 2019-09-04 09:57:55 +02:00
Tobias Koppers 2e37731988 add analysis for top level symbols, exports and imports
integrates the work of Vincent Chan for GSoC 2018

Co-authored-by: Vincent Chan <cdzos97@gmail.com>
2019-09-03 14:18:40 +02:00
Tobias Koppers ce41cdc29e add `__webpack_exports_info__.usedExports` to get a list of used exports 2019-09-03 14:18:13 +02:00
Tobias Koppers ab169893a1 refactor Parser to allow variable tagging
use variable tagging in harmony pluging (instead of magic renaming)
Parser no longer calls hooks.expression for x in `x = ...`, hooks.pattern is called instead
remove rootName argument from hooks.expressionMemberChain and hooks.callMemberChain
2019-09-03 14:17:46 +02:00
Tobias Koppers e507392094 add output.ecmaVersion options to set emitted code style
fix a bug with prefetching initial chunks
InitFragments have get[End]Content methods which get a sourceContext
RuntimeModules have implicit chunk and compilation
changed default to `output.ecmaVersion: 2015`
2019-08-26 21:32:29 +02:00
Tobias Koppers f68bb833d2 Merge export getters in a module into single statement 2019-08-23 14:07:01 +02:00
Tobias Koppers 0bce5fd8d5 detect ASI and generate more efficient code when no semicolon need to be inserted 2019-08-22 23:03:38 +02:00