Tobias Koppers
4e8a621bfa
fix null module externals
2021-09-03 13:47:09 +02:00
Tobias Koppers
3f7d80d823
fix concatenation of module externals
...
#2933
2021-07-06 14:07:45 +02:00
Tobias Koppers
7f35d28bb8
fix #13667
2021-07-02 06:53:30 +02:00
Tobias Koppers
a1f0d23dcc
add `node-commonjs` external type to use `createRequire` for commonjs externals
...
for `module` externals, fallback to `import()` when not in module mode
2021-06-25 11:22:55 +02:00
Tobias Koppers
629f9f031c
add support for module externals and automatic externals
2021-06-24 16:44:14 +02:00
Tobias Koppers
15408018cb
partially fix test cases
2021-06-24 10:05:37 +02:00
Tobias Koppers
9f3950e571
add support for libraries combined with iife: false
...
fix missing runtime requirement for system.js context
fix inlining of modules when conflicting symbols are defined on top-level
2021-02-11 11:19:24 +01:00
Tobias Koppers
11a7cac537
add useSimpleSourceMap flag to enable/disable OriginalSource for generated code
...
pass reduced options object to Source.map() function
2020-10-26 16:33:38 +01:00
Tobias Koppers
7e88ff6b6c
keep iife flag for backward-compat
2020-10-20 17:38:29 +02:00
Jarda Snajdr
18c369bdfd
Make external modules of type 'this' work with module concatenation
...
Changes how the object lookup is wrapped in an IIFE to avoid hiding the
left side of the assignment inside a function.
Forces the external module of type `this` to be in non-strict mode --
that's the only mode where the `this` lookup has any meaningful behavior.
Fixes #11724 .
2020-10-17 20:27:40 +02:00
Tobias Koppers
9af66ff9af
revert to registering the namespace export because we need to know this early
2020-09-15 12:36:16 +02:00
Tobias Koppers
39e1a7e4c7
move magic names to constants in ConcatenationScope
...
improve types
2020-09-15 12:36:06 +02:00
Tobias Koppers
9af1d7526b
refactor module concatenation to address discovered bugs/edge cases
2020-09-15 12:36:02 +02:00
Tobias Koppers
2c00413b26
rename supportsAsyncImport -> supportsDynamicImport
2020-09-11 23:13:10 +02:00
Tobias Koppers
f73778fc36
avoid check for import() in environment when import has been polyfilled
2020-09-11 23:11:04 +02:00
Tobias Koppers
48010fb955
replace output.ecmaVersion with output.environment and more detailed flags
2020-09-10 11:12:28 +02:00
chenxsan
2865155a67
fix lint
2020-08-11 20:51:44 +08:00
chenxsan
94e47d5721
fix ExternalModule bug
2020-08-11 20:42:32 +08:00
Tobias Koppers
e16bdfda6c
refactor used exports analysis, hashing, code generation, optimizations
...
to keep track of runtimes, used exports depending on runtime
modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
2020-07-27 22:40:44 +02:00
Tobias Koppers
5068909499
Avoid tracking/printing detailed usage info for modules without exportsType
...
Make ContextModule a static default exporting module
fix provided exports info for ExternalModule
2020-07-08 11:07:03 +02:00
Tobias Koppers
3df380e2d7
add script external
...
change defaults of ModuleFederationPlugin to var library and script remoteType
allow using empty entry in config
2020-06-04 03:18:07 +02:00
Tobias Koppers
a66290a15f
add support for async externals
...
add `promise` external
add `import` external (uses import())
add `output.importFunctionName` option to change the `import()` function name
allow for inline external type when using arrays
fix some typings
fix namespace object behavior when using system external and accessing nested property
fix interop behavior for async dynamic modules
2020-05-19 17:25:43 +02:00
Tobias Koppers
952bc11510
fixes typing in ModuleGraph
2020-05-12 14:34:26 +02:00
Mohsen Azimi
1e0ad4ccd2
Upgrade to TypeScript 3.9
2020-05-12 14:34:24 +02:00
Tobias Koppers
b4993f1ccc
Merge pull request #10503 from joeldenning/system-esmodule
...
Fix externals interop within SystemLibraryPlugin.
2020-03-10 15:38:38 +01:00
Nitin Kumar
285529a643
chore: fix typos across the project
2020-03-10 07:29:46 +05:30
Tobias Koppers
c94aea82cc
enable export mangling for system.js externals
...
add __esModule flag only when needed
2020-03-05 14:07:55 +01:00
Tobias Koppers
f1dd328779
refactor library system
2020-02-26 17:35:52 +01:00
Tobias Koppers
e5b51235d7
add externalsType option
...
fix a few edge cases in ExternalModule
2020-02-26 17:22:42 +01:00
Tobias Koppers
6477ca56f8
Split options defaulting in normalization and defaults
...
Apply defaults after plugins are applied to allow plugins to feature their own defaults.
This allows to make preset plugins.
2020-02-17 19:12:54 +01:00
Tobias Koppers
522d80f33b
allocate less for empty Sets for runtime requirements and file/context/missingDependencies
2020-01-29 21:46:14 +01:00
Tobias Koppers
b90f3e14a1
upgrade webpack-sources
...
make source maps and source names context independent
add enhanced-resolve declarations
add types to Module.build
fix tooling for import order to support import renaming
add support for concatenated modules in eval source maps
2019-11-12 08:59:08 +01:00
Tobias Koppers
ddc3dae0e6
refactor Module.source() and Module.getRuntimeRequirements() into Module.codeGeneration
...
add code generation phase to Compilation
add `output.iife` options to remove iife wrapper
add `experiments.outputModule` which enabled `output.module`
add `output.module` which sets defaults to `output.iife: false`, `output.libraryTarget: "module"`, `output.jsonpScriptType: "module"`, `terserOptions.module: true`
add `output.module` example
improve runtime requirements needed by ConcatenatedModule
add entry inlining, which inlines entry module code into runtime scope (only when safe)
make whole bundle strict when all modules are strict
2019-10-08 23:59:48 +02:00
Tobias Koppers
b80174a069
Improve backward-compat for various things
...
to enable mini-css-extract-plugin
2019-09-26 22:06:54 +02:00
Tobias Koppers
1d72a05fed
Merge tag 'v4.36.0' into next
...
4.36.0
2019-07-17 16:02:33 +02:00
Tobias Koppers
0505e177f1
add more types and fix/remove TODOs
...
change Chunk.files to Set
remove checkContext from IgnorePlugin
remove external flag from ExternalModule
2019-06-14 10:45:56 +02:00
Tobias Koppers
0c39719729
avoid zero sized modules as they lead to problems
2019-05-13 12:29:29 +02:00
Tobias Koppers
b66143f706
Merge tag 'v4.30.0' into next
...
4.30.0
2019-05-09 21:34:28 +02:00
Joel Denning
97d58d31c0
Adding support for output libraryTarget 'system'. Resolves #8833 .
...
Tests, prettier
Self review
Add comments to System tests.
Adding typescript definition
Guy Bedford's feedback
Self review
Improving code coverage
2019-03-17 08:46:17 -07:00
Tobias Koppers
cc34ea42b0
add type argument to Module.size
...
add getSize to Generator
2018-12-05 20:18:59 +01:00
Tobias Koppers
7c37a6a972
handle runtime requirements
2018-11-29 16:07:17 +01:00
Tobias Koppers
318da93ce2
make Raw and ExternalModule serializable
2018-10-18 16:02:45 +02:00
Tobias Koppers
518104b3fb
Merge tag 'v4.21.0' into next
...
4.21.0
2018-10-17 20:38:00 +02:00
Tobias Koppers
7bc5c98171
Merge branch 'master' into marcusdarmstrong-external-module-fix
2018-10-17 16:13:55 +02:00
Tobias Koppers
4eab41bd5f
refactor Module.needBuild to be async
2018-09-27 11:20:54 +02:00
Eemeli Aro
b624d167a5
Add "amd-require" libraryTarget, resulting in a require() wrapper
2018-09-26 21:46:16 +03:00
Tobias Koppers
19d60ba0cd
Merge tag 'v4.19.1' into next
...
4.19.1
2018-09-18 10:13:54 +02:00
Tobias Koppers
f0271d93c6
fix ExternalModule and test case
2018-09-18 09:10:14 +02:00
Tobias Koppers
5b4cbb5ee0
add queues to Compilation
...
remove Semaphore and use AsyncQueue instead
deprecate Module.needRebuild, add Module.needBuild
remove Module.unbuild
add Module.invalidateBuild
2018-09-12 13:17:03 +02:00
Tobias Koppers
bad9d8a271
move Module.id into ChunkGraph
...
remove disconnect and unseal from Module
2018-08-28 15:08:52 +02:00