Jack Works
cf1dc2f131
feat: implement tc39 Defer Module Evaluation (experiment)
...
* feat: implement tc39 defer import proposal
Co-authored-by: Nicolo Ribaudo <hello@nicr.dev>
* fix: keys of DeferredNamespaceObject
* refactor: MakeDeferredNamespaceObjectRuntimeModule
---------
Co-authored-by: Nicolo Ribaudo <hello@nicr.dev>
Co-authored-by: Hai <haijie0619@gmail.com>
2025-07-02 15:02:03 +03:00
alexander.akait
f003f1c138
refactor: types more
2023-05-22 05:12:44 +03:00
alexander.akait
e719e60340
refactor: types more
2023-05-22 03:03:05 +03:00
Sean Larkin
fa4cbf11a1
add more module type constants, use them across codebase
2023-03-31 10:56:32 -07:00
Ivan Kopeykin
f9779f1d0c
improve dependency
2022-03-04 11:39:51 +03:00
Ivan Kopeykin
eb5d124150
add "in" operator support
2022-03-02 15:01:35 +03:00
Tobias Koppers
013ca3bdd7
add commonjsMagicComments options
...
move javascript related options from 'module' to 'module.parser.javascript'
2021-01-20 20:19:49 +01:00
Tobias Koppers
aac7f2e619
allow to configure parsers and generators globally
...
get plugin schemas from root schema
normalize module.parser/generator
add test case
2021-01-05 12:08:30 +01:00
Tobias Koppers
b9c50fdb09
fix jsdoc documentations
2020-04-28 19:42:58 +02:00
Tobias Koppers
3cbdb703fc
NullFactory is not required
2019-08-07 16:14:03 +02:00
Tobias Koppers
9ad9abdd2a
add some types for plugins
2019-06-12 13:29:17 +02:00
Tobias Koppers
12a3e7c854
create experiments for importAwait importAsync and (a)syncWebAssembly
2019-06-05 13:32:22 +02:00
Tobias Koppers
c21d59f783
Merge tag 'v4.17.0' into next
...
4.17.0
2018-08-21 11:02:16 +02:00
Mihail Bodrov
1f954b4f12
Get rid typeof undef in all lib
2018-08-21 03:26:50 +03:00
Florent Cailhol
f53c50e21a
Dedup fragments
2018-07-30 22:35:02 +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
5238159d21
run prettier on existing code
2018-02-25 02:00:20 +01:00
Florent Cailhol
a550a8cf62
Rewrite top level this to undefined in Harmony modules
2018-01-13 15:25:41 +01:00
Florent Cailhol
7dd41b55c6
Replace deprecated Tapable#apply by Plugin#apply
2017-12-20 11:53:56 +01:00
Florent Cailhol
08ddad2e10
Replace NormalModuleFactory#plugin() calls
2017-12-14 14:42:49 +01:00
Florent Cailhol
36c690d37f
Use tapable instead of 'plugin'
2017-12-08 14:23:31 +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
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
Joe Haddad
fa47a39107
Add strictExportPresence option
2017-02-22 21:06:43 -05:00
Shubheksha Jalan
4e2c8a1d6e
refactor(ES6): upgrade HarmonyModulesPlugin to ES6
2017-01-22 00:32:48 +05:30
Fernando Montoya
e6d7c064f2
Fixes #4060 . Rename class HarmonyCompatiblilityDependency to HarmonyCompatibilityDependency
2017-01-19 13:43:42 -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
Tobias Koppers
9380bd4c12
Bugfix/disable module in harmony ( #3755 )
...
* moved format location into separate file
allow dependencies to report errors too
* NullDependencies do not change the hash
* dependencies can opt-out from `__webpack_require__` param
* apply module syntax plugins earlier
* emit errors if using AMD or CommonJS syntax in harmony modules
2017-01-09 10:11:34 -06:00
Tobias Koppers
2375680e40
add __esModule for harmony modules which are used from non-harmony
2016-12-07 16:27:24 +01:00
Tobias Koppers
ec262a4007
refactoring: moved parser instancation into NormalModuleFactory
...
breaking change: compiler.parser must no longer be used. Use this instead:
``` js
compiler.plugin("compilation", function(compilation, params) {
params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
parser.plugin(/* ... */);
});
});
```
required for #2978
2016-09-15 00:22:10 +02: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
2245c4acca
Promise based chunk loading API
...
don't flag entry module with `0` id anymore
use extra argument in chunk instead
this allows to require entry points
2015-06-13 11:45:28 +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