Tobias Koppers
77abab8c97
cleanup, renaming
2020-01-29 14:24:55 +01:00
Sergey Melyukov
68a61677dc
move flatter algo into InnerGraph
2020-01-27 18:33:40 +03:00
Sergey Melyukov
721ce54bdf
incapsulating inner graph logic
2020-01-23 15:59:27 +03: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
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
d9a2b7997a
refactor dynamic and harmony exports parser state
...
bailout when using AMD define
2019-12-06 11:13:15 +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
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
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
0bce5fd8d5
detect ASI and generate more efficient code when no semicolon need to be inserted
2019-08-22 23:03:38 +02:00
Tobias Koppers
12a3e7c854
create experiments for importAwait importAsync and (a)syncWebAssembly
2019-06-05 13:32:22 +02:00
Tobias Koppers
903084f9aa
WIP prototype of top-level-await and async modules based on import await
2019-06-04 23:25:35 +02:00
Tobias Koppers
9850915eea
fix context problem
2019-05-31 22:11:56 +02:00
Tobias Koppers
979e6e40a8
fix edgecase with script this context
2019-05-29 21:59:09 +02:00
Tobias Koppers
43bc7a306e
Refactor to track nested exports
...
Harmony dependencies track access to nested properties
Flag nested exports
2019-05-29 11:55:00 +02:00
Tobias Koppers
a09b9a5b8f
refactor call and callArgs for HarmonyImportSpecifierDependency
2018-10-17 21:25:41 +02:00
Tobias Koppers
6d09410a26
remove parserScope
...
it's not serializable and not needed anyway
2018-09-27 13:40:58 +02:00
Florent Cailhol
f75027475b
Move HMR hotBoostrap hook
2018-09-07 14:14:10 +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
72cdb84967
bugfix harmony accept should ignore non-harmony modules
2018-07-30 23:07:43 +02:00
Tobias Koppers
cf5f1d723c
format existing code
2018-07-30 21:29:21 +02:00
Florent Cailhol
668c2e428c
Introduce HMRP.hooks instead of extending Parser#hooks
2018-07-09 08:43:45 +02:00
Tobias Koppers
a5e55de8e9
skip harmony accept dependency in non-harmony modules
2018-06-25 18:40:29 +02:00
Florent Cailhol
2a9452e51b
Add brackets for multiline if/for statements
2018-05-29 15:45:44 +02:00
Florent Cailhol
3983803d30
Destructure 'require' to improve readability
2018-03-22 12:05:58 +01:00
Tobias Koppers
5238159d21
run prettier on existing code
2018-02-25 02:00:20 +01:00
Florent Cailhol
9669c9e013
Use Parser#hooks instead of Tapable#plugin
2017-12-21 09:08:10 +01:00
Tobias Koppers
c10da6c285
upgrade tapable from Parser
2017-11-28 10:25:48 +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
f53c0ceb84
Merge pull request #5322 from webpack/performance/parser
...
Parser performance improvements
2017-09-11 12:41:28 +02:00
Tobias Koppers
1fb9eb1e47
fixes #5624
2017-09-06 10:33:08 +02:00
Tobias Koppers
d9e01d4a5f
use more efficient data structures
...
Parser.definitions and Parser.renames are using Maps now
2017-08-11 12:23:58 +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
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
Joe Haddad
fa47a39107
Add strictExportPresence option
2017-02-22 21:06:43 -05:00
Tobias Koppers
a7a41848c7
remove error for CommonJs/AMD in ESM
...
there are too many weird modules
detect harmony modules before parsing
exports is now undefined in ESM
module.exports is now read-only in ESM and returns undefined
define is now undefined in ESM
#3917
2017-01-15 01:44:26 +01:00
Sergey Rubanov
d9ab99792c
refactor(es6): Upgrade Parser Plugins which depend on AbstractPlugin to es6 ( #3683 )
...
* refactor(es6): Upgrade RequireIncludeDependencyParserPlugin to es6 and remove AbstractPlugin dep
* refactor(es6): Upgrade RequireEnsureDependenciesBlockParserPlugin to es6 and remove AbstractPlugin dep
* refactor(es6): Upgrade RequireContextDependencyParserPlugin to es6 and remove AbstractPlugin dep
* refactor(es6): Upgrade HarmonyExportDependencyParserPlugin to es6 and remove AbstractPlugin dep
* refactor(es6): Upgrade HarmonyImportDependencyParserPlugin to es6 and remove AbstractPlugin dep
* Remove AbstractPlugin
2017-01-02 15:30:08 -06:00
Tobias Koppers
0bcad134cb
add harmony compatiblity also in case of import
2016-12-14 12:56:39 +01:00
Tobias Koppers
98a232b889
fixes indexed import
...
fixes #3116
2016-11-15 11:28:34 +01:00
Tobias Koppers
3a6b649016
star import a non-harmony modules behaves like require
...
fixes #2732
2016-07-04 10:24:04 +02:00
Tobias Koppers
78307a937f
allow to display used exports
...
support Tree Shaking with import *
fixes #2713
2016-06-29 01:17:59 +02:00
Tobias Koppers
1f66b3acf0
allow module.hot.accept without callback (harmony)
2016-06-04 17:31:03 +02:00
Tobias Koppers
f4ba0d0f0a
support for importing into object shothand
...
fixed #2522
2016-06-04 15:22:47 +02:00
Tobias Koppers
75b93a1438
fixes #2455 , fixes #2460
2016-05-14 14:33:04 +02:00
Tobias Koppers
e83e9b8c23
test strict mode
...
enable strict mode if import/export is used
2016-05-06 10:44:31 +02:00
Tobias Koppers
65e801487c
fixed a bug where called imported were not parsed
2016-02-22 15:18:13 +01:00
Tobias Koppers
1cf2cb5fef
fixed and test edge cases with this scope in harmony imports
2016-02-13 10:00:47 +01:00
Tobias Koppers
cabe7866fa
HMR with harmony modules
2015-11-01 23:27:53 +01:00