Commit Graph

38 Commits

Author SHA1 Message Date
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
Tobias Koppers 6307ed72ac Added experimental usage tracking of ES6 modules and example 2015-10-21 21:05:01 +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 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 5f77afe5f4 ES6 parser, ES6 modules 2015-01-12 17:45:30 +01:00