Commit Graph

57 Commits

Author SHA1 Message Date
Tobias Koppers 1b685d1de8 change DependencyReference.importedNames to be always an string[][] 2019-05-29 11:55:07 +02:00
Tobias Koppers 7c37a6a972 handle runtime requirements 2018-11-29 16:07:17 +01:00
Tobias Koppers dda3c03b8d Refactor getInitFragments to a property in templateContext and apply method
Having only a single method in DependencyTemplate makes it easier to override
2018-11-16 16:40:03 +01:00
Tobias Koppers a852828279 add persistent caching prototype 2018-10-17 21:25:39 +02:00
Tobias Koppers 6d09410a26 remove parserScope
it's not serializable and not needed anyway
2018-09-27 13:40:58 +02:00
Tobias Koppers 02b15a1b46 pass chunkGraph to updateHash instead of moduleGraph
pass chunkGraph to compareModulesById instead of moduleGraph
pass chunkGraph to methods of RuntimeTemplate
use comparators from module at some places
2018-08-28 12:06:53 +02:00
Tobias Koppers 3618cc1b3c remove originModule from Dependencies and add parent module to ModuleGraph 2018-08-07 14:20:53 +02:00
Tobias Koppers c4e0a9f72e Move Module.used and Module.usedExports into ModuleGraph 2018-08-06 21:04:01 +02:00
Tobias Koppers 381e2db200 replace Module.reasons and Dependency.module with ModuleGraph 2018-08-02 17:54:44 +02:00
Tobias Koppers 11e127d162 pass moduleGraph along with multiple methods 2018-08-02 17:54:42 +02:00
Tobias Koppers 831e71c797 make argument of DependencyTemplate an object 2018-08-02 16:07:29 +02:00
Tobias Koppers f68c1f7ab6 add additional arguments to updateHash 2018-08-02 16:04:10 +02:00
Tobias Koppers d6f8e49c3a refactor getInitFraments to take TemplateContext
add a hack to include the current module as property in source
later we will refactor DependencyTemplate.apply to take a TemplateContext too
2018-07-30 23:07:50 +02:00
Tobias Koppers c5c4f6bdd3 remove DependencyTemplate.getInitFragments.source 2018-07-30 22:42:01 +02:00
Tobias Koppers 294acc00e0 use InitFragment.key to handle harmony import deduplication 2018-07-30 22:41:49 +02:00
Tobias Koppers e79d4e002b add stage to InitFragment 2018-07-30 22:39:04 +02:00
Florent Cailhol 6ea5a4ad22 Add types 2018-07-30 22:37:10 +02:00
Florent Cailhol 55b73a54af Return null when no InitFragment is required 2018-07-30 22:36:23 +02:00
Florent Cailhol dcebd57aa4 Replace harmonyInit calls by InitFragments 2018-07-30 22:34:18 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol 60ef6a6a30 Make DependencyReference dynamic 2018-07-26 15:31:04 +02:00
Tobias Koppers eba85a491d add types to Dependency and subclasses 2018-07-25 09:33:48 +02:00
Tobias Koppers fcf3f63f0e add DependencyTemplate base class and inherit types from this
fix a few typing issues
2018-07-23 20:11:59 +02:00
Tobias Koppers b4699c0657 add order for DependencyReference
and add types for touched code
2018-06-08 13:20:57 +02:00
Tobias Koppers 115a72ce50 SideEffectsPlugin don't modify cache entries
fixes #7400
2018-05-27 21:53:21 +02:00
Tobias Koppers 9f5c1b4cf9
Merge pull request #6951 from webpack/fix/arity
Use correct function arity
2018-04-04 14:30:56 +02:00
Florent Cailhol fe55ceb2fe Keep super.apply call 2018-04-04 11:02:11 +02:00
Florent Cailhol 8570165c1f Use a class for dependency references 2018-04-04 09:17:10 +02:00
Florent Cailhol eebf0866a9 Use correct function arity 2018-04-04 08:53:58 +02:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Tobias Koppers 53a1d6c7b5 replace harmonyModule flag with exportsType 3-state
exportsType falsy: It's non-harmony module
exportsType "namespace": It's a harmony module, the exports is the namespace object
exportsType "default": It's a harmony module, the exports is the default exports, named exports are properties of the default export
2017-12-22 19:42:41 +01:00
Tobias Koppers 2aac6badd5 move generated runtime code to RuntimeTemplate 2017-12-22 19:41:28 +01:00
Tobias Koppers ffb977fed4 refactor meta -> buildMeta, add factoryMeta
add compat layer to Module.meta
2017-12-12 16:57:50 +01:00
Tobias Koppers 758a388f69 pass runtimeTemplate to DependencyTemplate
move outputOptions and requestShortener into runtimeTemplate
2017-12-11 17:59:32 +01:00
Tobias Koppers 21cdc84b71 process imports from mjs to non-esm correctly
give nice error messages when importing non-esm the wrong way
It also disallows using namespace object from non-esm modules

fixes #5686
2017-11-23 14:10:52 +01:00
Tobias Koppers 5a8e7673cb fix weak status of harmony accept dependency
add test case for accepting default import
2017-11-22 08:06:47 +01: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 8e69a80847 code linting 2017-01-11 12:29:01 +01:00
timse 2028f3d943 Refactor harmony import and harmony accept import dependency to es6 (#3787)
* refactor HarmonyAcceptImportDependency to es6

* expose getContent as makeImportStatement to prevent the need to initialize Templates to access it
2017-01-07 11:24:30 -06:00
Tobias Koppers 378163af51 moved non-harmony default import function into runtime
#2451
2016-07-20 16:20:09 +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 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 a90b968302 semi-colon, spacing 2016-06-04 19:08:34 +02:00
Tobias Koppers 1f66b3acf0 allow module.hot.accept without callback (harmony) 2016-06-04 17:31:03 +02:00
Tobias Koppers 92c4a3188c insert import before export 2016-02-22 15:55:31 +01:00
Tobias Koppers 366ee00fc4 fixed reference 2016-02-17 14:50:44 +01:00
Tobias Koppers 9f1564d261 fixed some hashing issues with export renaming 2016-02-17 13:15:58 +01:00
Tobias Koppers 987d718c9c fixed #1833 2016-01-06 23:50:12 +01:00
Tobias Koppers a1ed89ecfa use commonjs compatibility similar to babel
#1788
2015-12-23 00:08:06 +01:00
Tobias Koppers cabe7866fa HMR with harmony modules 2015-11-01 23:27:53 +01:00