Commit Graph

137 Commits

Author SHA1 Message Date
Florent Cailhol 6ea5a4ad22 Add types 2018-07-30 22:37:10 +02:00
Florent Cailhol 12f3c0f34e Fix TypeError when no import fragments are emitted 2018-07-30 22:36:39 +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
Tobias Koppers 2fa351a178 make ExportMode.module a callback function
fix comment
2018-07-26 15:53:11 +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 93a28126a6 fixes order for reexported dependencies
fixes #7665
2018-07-05 20:40:19 +02:00
Tobias Koppers be896f2b34 fix bug 2018-06-23 15:30:04 +02:00
Tobias Koppers 3502287bbb emit correct code for reexport unused exports 2018-06-23 15:13:17 +02:00
Tobias Koppers b4699c0657 add order for DependencyReference
and add types for touched code
2018-06-08 13:20:57 +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 115a72ce50 SideEffectsPlugin don't modify cache entries
fixes #7400
2018-05-27 21:53:21 +02:00
Tobias Koppers a926a19715 create better namespace objects
avoid using Object.assign (fixes #7162)
2018-05-03 12:55:00 +02:00
Mohsen Azimi 6f6c12cde2
Add test (I have no idea what I am doing) 2018-04-05 23:18:25 -07:00
Mohsen Azimi 8001f03b14
Merge branch 'set-concat' of github.com:mohsen1/webpack into set-concat 2018-04-05 23:04:57 -07:00
Mohsen Azimi aa536b7be1
Merge branch 'master' of github.com:webpack/webpack into set-concat 2018-04-05 23:03:00 -07:00
Florent Cailhol 5c8a4bb89f Unify Dependency#getExports result 2018-04-04 13:53:55 +02:00
Tobias Koppers f3c9bd01b9
Merge pull request #6953 from webpack/refactor/mode_deopt
Change internal representation of harmony export modes
2018-04-04 12:30:11 +02:00
Tobias Koppers e65751ac6f
Merge pull request #6932 from mohsen1/hideStack
Add HarmonyLinkingError class
2018-04-04 11:06:39 +02:00
Florent Cailhol 24a5699f39 Remove extraneous debug statement 2018-04-04 10:56:02 +02:00
Florent Cailhol 0596346dbc Always pass first argument of 'getMode' 2018-04-04 10:45:27 +02:00
Florent Cailhol 97c6703aab Make 'getReference' monomorphic 2018-04-04 10:45:27 +02:00
Florent Cailhol 8570165c1f Use a class for dependency references 2018-04-04 09:17:10 +02:00
Mohsen Azimi 793bee2007
Update HarmonyExportImportedSpecifierDependency.js 2018-04-03 22:54:22 -07:00
Mohsen Azimi 49637a2507
Update HarmonyExportImportedSpecifierDependency.js 2018-04-03 22:44:37 -07:00
Mohsen Azimi 96b0457ba8
Use add() to append items to activeExports set in HarmonyExportImportedSpecifierDependency 2018-04-03 21:36:14 -07:00
Mohsen Azimi 3e49fcd0a9
CR feedback 2018-04-03 21:10:07 -07:00
Mohsen Azimi 4ae95a6892
Add HideStackError class for errors that have hideStack = true 2018-04-02 09:58:07 -07:00
Florent Cailhol f1092ad516 Update prettier toolchain 2018-03-26 16:56:10 +02:00
Tobias Koppers cda226a333 handle reexporting json default export correctly
fixes #6700
2018-03-20 11:10:05 +01:00
Josh Soref f3c2de9fcf spelling: harmony 2018-02-26 02:31:00 +00:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
EugeneHlushko 2aab060f26 Refactor: indexOf >< checks to includes 2018-01-11 18:58:39 +02: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 c68f224272 move providedExports into buildMeta 2017-12-12 17:01:03 +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 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 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 00f2b5ede7 advanced module type refactoring
added json type
.mjs default to javascript/esm type
adjusted parser plugins to react on module type
2017-11-11 19:27:19 +01:00
Tobias Koppers f7c2f8e470 Update code style to arrow functions 2017-11-08 11:56:01 +01:00
Tobias Koppers 118e83c3ed fix a problem with missing modules in the bundle
when using harmony export * from
2017-10-12 14:14:29 +02:00
Tobias Koppers 4c2f9e724b Merge branch 'master' into next
# Conflicts:
#	lib/dependencies/HarmonyExportImportedSpecifierDependency.js
2017-10-12 11:28:25 +02:00
Tobias Koppers 1381f6745b fix crashes when imported module fails compiling 2017-10-11 17:22:11 +02:00
Tobias Koppers 5a814c09d3 Merge branch 'master' into next
# Conflicts:
#	lib/FunctionModuleTemplatePlugin.js
#	lib/dependencies/HarmonyExportDependencyParserPlugin.js
#	lib/dependencies/HarmonyExportImportedSpecifierDependency.js
#	lib/dependencies/HarmonyModulesHelpers.js
#	lib/optimize/ConcatenatedModule.js
#	test/HarmonyModulesHelpers.test.js
2017-10-09 21:13:18 +02:00
Tobias Koppers 9357ae0254 Refactor precendence rules for harmony exports for better performance
fixes #5763
2017-10-09 15:28:59 +02: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
simek f1b81c1e3a refactor/simplify getReference() in HarmonyExportImportedSpecifierDependency.js 2017-08-27 02:05:57 +02:00
about-code 48c7ca1e81 Add test case and remove unused import. 2017-02-24 00:45:06 +01:00
about-code f40311b700 Attempt to Fix #4072 2017-02-23 23:57:49 +01:00
about-code 1ccf8ddcbe Attempt to fix #4072 2017-02-23 23:08:59 +01: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
Tobias Koppers 8e69a80847 code linting 2017-01-11 12:29:01 +01:00
timse f946e5890d Refactor harmony export import specifier dependency to es6 (#3728)
* raw refactor of HarmonyExportImportedSpecifierDependency to es6
2017-01-04 12:04:43 -06:00
Tobias Koppers 386d232dfa fixes #3584 2016-12-28 12:58:43 +01:00
Tobias Koppers fbb8920f2e Merge pull request #3419 from webpack/bugfix/import-export-order
insert import and exports in order
2016-12-05 00:34:10 +01:00
Tobias Koppers a8740fd44c insert import and exports in order
fixes #3382
2016-12-04 23:51:33 +01:00
Tobias Koppers bfc1359a86 improved tree shaking for star exports
fixes #3415
2016-12-04 23:50:52 +01:00
Diogo Franco (Kovensky) d5a7cf39bb Update code to pass lint 2016-11-21 09:08:54 +09:00
Tobias Koppers 6b66469040 provdedExports from imported module should affect hash 2016-09-07 10:56:17 +02:00
Tobias Koppers ce76b6e992 emit more pretty es6 runtime code 2016-09-07 09:46:13 +02:00
Tobias Koppers 65b70bf5ed finished refactory of tree shaking
changes format for dll manifest

#2953
fixes #2959
2016-09-07 09:44:53 +02:00
Tobias Koppers 19eabc7bb6 track which exported are provided by the modules
star export is filtered by provided exports

fixes #2953
2016-09-05 23:41:03 +02:00
Tobias Koppers d7f553c513 fixes tree shaking for export *
fixes #2850
fixes #2847
2016-08-17 11:24:35 +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 7fdfdbd43b correct linting 2016-06-16 01:05:17 +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 c886dea3d1 typo 2016-02-22 15:40:01 +01:00
Tobias Koppers 1f6cc090b1 fixed duplicate export 2016-02-22 15:39:32 +01:00
Tobias Koppers 19089c3af3 fixed an error with unused reexport 2016-02-22 13:24:14 +01:00
Tobias Koppers a3d768e708 optimized harmony reexport
fixed #2050
2016-02-16 22:31:12 +01:00
Tobias Koppers 22124e5bd4 fixed a few issues 2016-02-04 09:59:28 +01:00
Tobias Koppers 0eb5b20c58 added more stuff to the hash 2016-02-04 00:06:16 +01:00
Tobias Koppers 90f558011b fixed linter error 2016-02-03 23:48:51 +01:00
Tobias Koppers 8cb0ee7b85 mangle harmony export names 2016-02-03 23:40:41 +01:00
Tobias Koppers 987d718c9c fixed #1833 2016-01-06 23:50:12 +01:00
Tobias Koppers 6bc45850cd fixed #1840 2016-01-06 21:39:50 +01:00
Tobias Koppers bde8636d92 behave according to precedence rules from spec
fixed #1792
2015-12-23 16:24:45 +01:00
Tobias Koppers f5533c1cd2 fixed #1784 2015-12-22 10:53:49 +01:00
Tobias Koppers e8ffa362bb added pathinfo comments for harmony reexport 2015-12-01 16:13:46 +01:00
Tobias Koppers cabe7866fa HMR with harmony modules 2015-11-01 23:27:53 +01:00
Tobias Koppers 03ecbd50f8 allow to use "old" modules from harmony modules 2015-10-31 15:28:13 +01:00
Tobias Koppers 6307ed72ac Added experimental usage tracking of ES6 modules and example 2015-10-21 21:05:01 +02:00