Commit Graph

117 Commits

Author SHA1 Message Date
Ivan Kopeykin d3086f3979 add warning on unsupported environment
in case of async/await check that environment support async functions
2022-04-04 12:46:24 +03:00
Asriel Yu 96da766002
Merge branch 'webpack:main' into fix-callback-err-type-should-include-null 2022-01-14 20:07:21 +08:00
Tobias Koppers 2f2991a967 Merge branch 'main' into support-cjs-static-named-exports 2022-01-10 14:38:57 +01:00
Tobias Koppers 102014bf54 fix target expression
fix externals

add test case
2022-01-10 14:33:34 +01:00
Asriel Yu 136b723023 fix callback err type should include null 2021-12-24 20:27:31 +08:00
Tobias Koppers f37ce4e741 avoid hoisting css externals 2021-12-17 18:24:41 +01:00
Tobias Koppers b9c6691ff5 bugfixes, external assets 2021-12-03 16:23:09 +01:00
Tobias Koppers 3c9801a549 add support for external css 2021-12-03 08:47:21 +01:00
Ivan Kopeykin edeaa6eb82 use "safe" global object 2021-11-23 20:40:03 +03:00
Tobias Koppers 1ad5234555
Merge pull request #14381 from webpack/cache/externals 2021-10-04 09:56:21 +02:00
Tobias Koppers 7135727cba avoid unneccessary separators and arrays 2021-10-04 09:29:09 +02:00
Tobias Koppers a0a5f28510 allow ExternalModules to be unsafe cached 2021-10-01 16:27:20 +02:00
shfshanyue 92f84dcac0 chore: merge multi hash.update 2021-09-26 08:51:53 +08:00
Tobias Koppers 4a8bf4c084 allow to configure all hash functions used
fix default hash function for HttpUriPlugin to sha512
2021-09-23 14:55:13 +02:00
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