Commit Graph

345 Commits

Author SHA1 Message Date
DraggonFantasy 251885756e Fix formatting 2020-08-26 00:37:45 +03:00
DraggonFantasy 88b1b17425 Fix "ModuleNotFound 'module'" error
Related to #6497
2020-08-25 23:16:50 +03:00
Tobias Koppers 0a6f2bf401 expose missing target plugins 2020-08-19 23:17:33 +02:00
Ivan Kopeykin 8cf511dc94 Merge branch 'master' into chore/todos-to-defined-types 2020-08-06 22:48:20 +03:00
Tobias Koppers 305dab3ae1 improve and fix backtracing to root folder from nested directories 2020-08-04 09:36:49 +02:00
Ivan Kopeykin 4fc44a3398 add more types 2020-08-02 23:47:54 +03:00
Tobias Koppers 8948263db8 avoid using getChunkModuleMaps as it doesn't support different modules per runtime 2020-07-28 17:16:32 +02:00
Tobias Koppers 6c425546df Avoid using real watchers in MultiWatching test case
add watchFileSystem to MultiCompiler and typings
2020-07-08 11:17:00 +02:00
Tobias Koppers 9f28e37969 allow runtimeChunk with node targets
also fixes a incorrect relative path
2020-06-29 11:46:16 +02:00
Mohsen Azimi 042b4ee7d4 Use @ts-expext-error 2020-05-12 14:34:29 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00
Tobias Koppers 2d95f1b8d7 refactor HMR javascript part to reduce duplication
add invalidate to HMR API
2020-04-15 11:12:33 +02:00
Tobias Koppers 2350d09680 move chunk filename template logic into reusable function 2020-01-16 15:40:44 +01:00
Yury Michurin 553638dcd1 Use chunkGraph API directly 2019-12-19 12:13:42 +02:00
Yury Michurin bd07e67a6a Fix quote 2019-12-19 12:03:49 +02:00
Yury Michurin 8b9fea3790 Set contentHashType to javascript 2019-12-19 12:03:49 +02:00
Yury Michurin 19eb1a99ed Fix issues raised in CR 2019-12-19 12:03:47 +02:00
Yury Michurin f9bd2e20bc Make inner folder entrypoints able to require common chunks 2019-12-19 12:03:45 +02:00
Sergey Melyukov f212d3c30e pr comments 2019-12-03 18:11:46 +03:00
Sergey Melyukov 6b59d113a4 optimize webpack runtime size 2019-12-02 17:59:37 +03:00
Tobias Koppers b65f82e965 upgrade watchpack 2019-11-15 13:53:55 +01:00
Tobias Koppers 2f1a0176b3 rename filesModified -> modifiedFiles
avoid creating additional arrays by allowing Iterable on WatchFileSystem interface
2019-11-15 13:49:15 +01:00
Tobias Koppers a877cd51d1 add presentational dependencies which are cheaper, but allow only templating 2019-10-30 07:49:20 +01:00
Tobias Koppers 6fbbca7756 fix typo 2019-10-29 10:04:18 +01:00
evilebottnawi 8198ffb3e6 refactor: code 2019-10-22 00:14:05 +02:00
Tobias Koppers ecbcdf527f apply chunk template modifications only to non-runtime chunks 2019-10-09 15:55:21 +02: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 53f68c9e7b update deprecated usage of chunk and main templates 2019-10-08 23:46:33 +02:00
Tobias Koppers e507392094 add output.ecmaVersion options to set emitted code style
fix a bug with prefetching initial chunks
InitFragments have get[End]Content methods which get a sourceContext
RuntimeModules have implicit chunk and compilation
changed default to `output.ecmaVersion: 2015`
2019-08-26 21:32:29 +02:00
Tobias Koppers ab0ab1bdd1 Merge tag 'v4.39.1' into next
4.39.1
2019-08-05 13:32:25 +02:00
Tobias Koppers b73d35bbee Merge tag 'v4.39.0' into next
4.39.0
2019-08-05 13:12:09 +02:00
Tobias Koppers 8006117bae make status logging 1 char shorter 2019-08-02 09:45:26 +02:00
Tobias Koppers 0b0e9e9608 fix Progress and Stats Tests for colors and output 2019-08-01 14:04:24 +02:00
Tobias Koppers 8f0a443e6c Colored console for node environment
Status report in logger
ProgressPlugins uses logger
2019-08-01 13:51:18 +02:00
Tobias Koppers c17dfde7a8 Merge tag 'v4.37.0' into next
4.37.0
2019-07-24 10:51:04 +02:00
Tobias Koppers d532c4f24f allow to configure the infrastructure logger
rename includeDebugLogging to loggingDebug
rename logToConsole to createConsoleLogger
2019-07-22 09:22:36 +02:00
Tobias Koppers 955d5689a9 remove experimental from module type name
since there is the `experiments` config now
2019-07-15 15:03:29 +02:00
Tobias Koppers c94073b31c update enhanced-resolve 2019-07-05 00:45:41 +02:00
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +02:00
Tobias Koppers 6db94536ad Merge tag 'v4.34.0' into next
4.34.0
2019-06-13 10:51:12 +02:00
Tobias Koppers e9c0d068dd refactor filesystem interfaces
add Compiler.intermediateFileSystem
avoid using `path` and `fs` module when possible
move `join`, `mkdirp` and `dirname` into utils
join and dirname is optional in FileSystem interface
remove mkdirp from Filesystem interface
2019-06-11 17:32:58 +02:00
Tobias Koppers de61023616 add side-by-side wasm support based on async modules
type: "webassembly/async-experimental"
remove i64 importing limitation since it will have BigInt integration eventually
update wasm example
2019-06-04 23:28:56 +02:00
Tobias Koppers b5e4c1f52c
Merge pull request #9169 from webpack/feature/no-js-chunks
don't emit and load JS files for chunks without JS modules
2019-05-22 14:13:51 +02:00
Tobias Koppers c5f94f3b6a don't emit and load JS files for chunks without JS modules
allow custom module types in rules
allow configCases to access stats
2019-05-22 13:12:15 +02:00
Tobias Koppers 2be9ca9431 rename incorrectly named file 2019-05-22 13:11:48 +02:00
Tobias Koppers 4492c30ac4 Update watching system to report more timing info to webpack
Add snapshotting feature to FileSystemInfo for better performance
2019-01-09 14:42:54 +01:00
Tobias Koppers 31f2e6d1f7 watch missing items as files not as directories 2019-01-08 15:14:36 +01:00
Steven Hargrove b9f52dcb4d hoist option logic, reduce code paths in handler 2019-01-04 12:40:17 -05:00
Tobias Koppers f446bf8a9b add ability to load dependent chunks for non-web targets
This allows to use `splitChunks` for initial chunks in i. e. node and webworker targets
2018-12-29 12:48:59 +01:00
Tobias Koppers 1374757006 remove ModuleReason
remove HotUpdateChunkTemplate
move compareLocations into comparators
re-enable NodeSourcePlugin for `.mjs`
2018-12-20 16:38:26 +01:00
Tobias Koppers 1b402bcae1 Merge tag 'v4.28.0' into next
4.28.0
2018-12-19 14:05:17 +01:00
Isiah Meadows 18d7396835 Remove a broken hook 2018-12-17 01:23:03 -05:00
Florent Cailhol 3c50dba922 Remove global buildin 2018-12-07 08:59:41 +01:00
Florent Cailhol 002128c288 Do not polyfill node bindings by default 2018-12-07 08:58:26 +01:00
Tobias Koppers 5c7d6d2db6 change ensureHandlers from array to object 2018-11-29 16:23:36 +01:00
Tobias Koppers 8066eaf299 put runtime modules into separate place in chunks
don't include them in modules array/object
better stats output for runtime moduels
2018-11-29 16:23:31 +01:00
Tobias Koppers 9d91861592 Refactor HMR for runtime modules
fixed a few HMR bugs
allow other module types for HMR
made HMR more flexible
2018-11-29 16:22:29 +01:00
Tobias Koppers fa0ec849bd replace renderCurrentHash with RuntimeGlobals.getFullHash 2018-11-29 16:19:22 +01:00
Tobias Koppers f753f92c28 ensureChunk to RuntimeModule
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Tobias Koppers 2857ad3ee4 runtime module for getChunkFilename 2018-11-29 16:15:26 +01:00
Florent Cailhol 8a10ea3c92 Type 'apply' method of plugins 2018-11-12 14:26:31 +01:00
Tobias Koppers eb28697419 move magic property names on __webpack_require__ into RuntimeGlobals file 2018-11-05 15:28:34 +01:00
Tobias Koppers 4f813e28a9 remove customizability of __webpack_require__ function name 2018-11-05 13:13:05 +01:00
Tobias Koppers 31e189fcde Merge tag 'v4.24.0' into next
4.24.0
2018-11-02 18:02:39 +01:00
Florent Cailhol 2a440fe925 Update development tools 2018-11-02 11:04:02 +01:00
Tobias Koppers d9a0d3a139 Merge tag 'v4.23.0' into next
4.23.0
2018-10-24 20:10:30 +02:00
Lex Alexander 2cdf04e14b feat(Compiler): Add file removal tracking in watch-run
-Closes 5072.
2018-10-18 15:58:58 -07:00
Tobias Koppers 19d60ba0cd Merge tag 'v4.19.1' into next
4.19.1
2018-09-18 10:13:54 +02:00
Tobias Koppers 97ed999aad Merge tag 'v4.19.0' into next
4.19.0

* Separate context for renderBoostrap and hooks
* Remove ModuleTemplate from MainTemplate.bootstrap hook
2018-09-15 13:10:58 +02:00
OJ Kwon 2df7b0c1cf
fix(nodemaintemplate): resolve async chunk path platform agnostic 2018-09-14 11:22:08 -07:00
Tobias Koppers 13b2cdd5ae hash content of bootstrap code
instead of trying to calculate it
from inputs

fixes #8027
fixes #7984
2018-09-13 23:25:26 +02:00
Florent Cailhol f75027475b Move HMR hotBoostrap hook 2018-09-07 14:14:10 +02:00
Tobias Koppers 6d5310fbd6 allow multiple entryModules per chunk
allow to specify ChunkGroup to depend on
move entry modules into ChunkGraph
2018-08-15 11:51:16 +02:00
Tobias Koppers 3cf01999b5 add ChunkGraph
move chunk modules and module chunks into the ChunkGraph
remove outdated unit tests
2018-08-14 15:32:13 +02:00
Tobias Koppers 11e127d162 pass moduleGraph along with multiple methods 2018-08-02 17:54:42 +02:00
Tobias Koppers ec1329a7d4 make libIdent required
add types
2018-08-02 16:29:20 +02:00
Tobias Koppers c9eb4c8e01 Merge tag 'v4.16.4' into next
4.16.4
2018-08-02 16:00:39 +02:00
Florent Cailhol 20406a4295 Update ESLint 2018-07-31 11:43:07 +02:00
Tobias Koppers 691a5b24b7 simplify addExpression 2018-07-30 22:39:30 +02:00
Florent Cailhol a19a0ebaa6 Refactor ProvidedDependency to avoid duplication 2018-07-30 22:38:28 +02:00
Florent Cailhol c545a02ba6 Convert NodeStuffPlugin 2018-07-30 22:37:34 +02:00
Florent Cailhol 9b7d9eb96f Fix review comments 2018-07-30 22:36:06 +02:00
Florent Cailhol f6a5053fb2 Add a way to inject provided modules 2018-07-30 22:35:52 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Tobias Koppers 2b14ddc984 Merge tag 'v4.16.0' into next
4.16.0
2018-07-11 11:13:47 +02:00
Tobias Koppers 559cf94edb Simplify imports 2018-07-09 15:09:00 +02:00
Tobias Koppers 0a06f19fd8 Merge tag 'v4.15.0' into next
4.15.0
2018-07-04 22:19:50 +02:00
Florent Cailhol 5bc6b8d50e Rename ParserHelpers into JavascriptParserHelpers 2018-07-03 14:08:43 +02:00
Florent Cailhol 6097c5f993 Destructure parser helpers 2018-07-03 14:08:43 +02:00
Tobias Koppers ad8f496745 arrow functions, remove or improve eslint-disable comments 2018-06-27 13:48:13 +02:00
Tobias Koppers 8e3be48da4 allow to disable wasm import mangle
disable it by default (temporary)
2018-06-05 23:49:02 +02:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Tobias Koppers 4702ee9016 Use compile/compileStreaming when importObject is a Promise 2018-04-30 08:35:06 +02:00
Tobias Koppers b72e363f03 formatting for output code, nitpicks 2018-04-28 09:57:21 +02:00
Tobias Koppers 9156be961d rename and move BaseWasmMainTemplatePlugin
align usage with other plugins
2018-04-27 19:02:02 +02:00
Tobias Koppers 82a71be1dc Cleanup, refactoring, types 2018-04-27 18:53:07 +02:00
Tobias Koppers f876564b84 Merge branch 'master' into feat-rewrite-wasm
# Conflicts:
#	test/statsCases/aggressive-splitting-entry/expected.txt
#	test/statsCases/aggressive-splitting-on-demand/expected.txt
#	test/statsCases/chunks-development/expected.txt
#	test/statsCases/chunks/expected.txt
#	test/statsCases/import-context-filter/expected.txt
#	test/statsCases/import-weak/expected.txt
#	test/statsCases/limit-chunk-count-plugin/expected.txt
#	test/statsCases/module-assets/expected.txt
#	test/statsCases/named-chunks-plugin-async/expected.txt
#	test/statsCases/optimize-chunks/expected.txt
#	test/statsCases/preset-detailed/expected.txt
#	test/statsCases/preset-normal/expected.txt
#	test/statsCases/preset-verbose/expected.txt
#	test/statsCases/scope-hoisting-bailouts/expected.txt
#	test/statsCases/scope-hoisting-multi/expected.txt
#	yarn.lock
2018-04-27 15:39:12 +02:00
Mohsen Azimi 42698d61e2
wat? 2018-04-08 10:26:04 -07:00
Mohsen Azimi 2ba7596eac
Pass file name as part of options hash to vm.runInThisContext 2018-04-08 09:47:30 -07:00
Sven SAULEAU 6f5560c5d5
Merge remote-tracking branch 'upstream/master' into feat-rewrite-wasm 2018-03-29 13:53:46 +02:00
Sven SAULEAU ee6b5d434c
style: fix indentation 2018-03-29 13:40:27 +02:00
Sven SAULEAU 0476eb4499
Merge branch 'master' into feat-rewrite-wasm 2018-03-29 12:35:48 +02:00
Florent Cailhol f1092ad516 Update prettier toolchain 2018-03-26 16:56:10 +02:00
Tobias Koppers 296542ed79 add [contenthash] support 2018-03-24 12:08:36 +01:00
Florent Cailhol 3983803d30 Destructure 'require' to improve readability 2018-03-22 12:05:58 +01:00
Sven SAULEAU 405fea6719
refactor: move specific stuff out of the base method 2018-03-14 19:05:05 +01:00
Fernando Montoya 10ffa3ebfb Merge branch 'master' into feat-rewrite-wasm 2018-03-14 18:50:33 +01:00
Sven SAULEAU c2f1c4f123
refactor: use base plugin for web and node 2018-03-14 16:13:03 +01:00
Sven SAULEAU 856695a1fd
refactor: use web wasm plugin for node 2018-03-14 15:02:09 +01:00
Florent Cailhol f9e7a17666 Escape module names 2018-03-06 09:24:07 +01:00
Josh Soref 581069bb56 spelling: uncaught 2018-02-26 02:50:05 +00:00
Josh Soref b39266121a spelling: assembly 2018-02-26 02:25:03 +00:00
Tobias Koppers f32bd41c52 fix linting 2018-02-25 02:15:37 +01:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Tobias Koppers edd8daf1d7 Merge branch 'master' into next
# Conflicts:
#	lib/optimize/ConcatenatedModule.js
#	package.json
#	yarn.lock
2018-02-09 17:04:33 +01:00
Anna Henningsen e4375f8833
Avoid relying on Node’s internals
`process.binding()` is not a public API, and should
not be used.

Luckily, Node recently introduced an API that does
exactly what Webpack needs:
https://nodejs.org/api/modules.html#modules_module_builtinmodules

So use that instead and keep the old path as a fallback.
2018-01-27 22:10:36 +01:00
Tobias Koppers 7a1b357aad
Merge branch 'next' into for_of_loops 2018-01-24 09:01:31 +01:00
Florent Cailhol d4811b0d37 Use for-of loops instead of forEach 2018-01-23 22:53:18 +01:00
Evan Scott 1f29fa9b51 perf: refactor various timestamp caches into ES6 Maps
This change satisfies https://github.com/webpack/webpack/issues/6234
which desires to change the timestamp caches from plain objects to
the ES6 Map type to avoid deopts, since v8 expects things to be
added to Maps but objects are only fast if properties aren't added
dynamically after initial assignment.
2018-01-23 02:30:22 -05:00
Tobias Koppers ea609374f7 split Chunk.isInitial into isOnlyInitial and canBeInitial
remove includeInitial argument of getChunk(Module)Maps
2018-01-22 12:52:28 +01:00
Tobias Koppers 18ae73dad4 Refactor chunk graph
Chunks are now always in ChunkGroups
ChunkGroups have parents and children, Chunks no longer have this
AsyncDependenciesBlocks point to a ChunkGroup instead of a list of chunks
Entrypoint is now a ChunkGroup (extends from it)
move stuff graph modification methods into GraphHelpers
Change chunk id recording to source-based
Chunks have parents, siblings and children in Stats
rename AutomaticCommonsChunksPlugin to SplitChunksPlugin
add request property to origin (ChunkGroup)
remove moveToParent from AggressiveMergingPlugin
fix issues with AggressiveSplittingPlugin
remove CommonsChunkPlugin
add optimization.runtimeChunk (RuntimeChunkPlugin)
fix a filename bug for initial chunks
remove extract-text-webpack-plugin from test suite
add DebugHash to help debugging hash issues
fix issues with entry modules in different chunk as runtime
redo optimization.splitChunks options
Compilation.entrypoints is now a Map
Compilation.chunkGroups has been added
remove some unittests
update examples
update tests with CommonsChunkPlugin
2018-01-19 19:21:30 +01:00
Florent Cailhol 3fb63f94cc Deprecate System.import() parser plugin
- `system: undefined`: Warns if `System.import()` is used
- `system: true`: Disable warning
- `system: false`: Skip `System.import()` instrumentation
2018-01-18 11:34:02 +01:00
EugeneHlushko 2aab060f26 Refactor: indexOf >< checks to includes 2018-01-11 18:58:39 +02:00
Tobias Koppers 74a8c45ea1 add getContext/FileTimestamps to watcher
get timestamps on invalidate

fixes #5970
2018-01-03 13:01:27 +01:00
Florent Cailhol 9669c9e013 Use Parser#hooks instead of Tapable#plugin 2017-12-21 09:08:10 +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 f737b26260 Remove some plugin calls 2017-12-14 14:42:49 +01:00
Tobias Koppers 91e6692362 extract exports from wasm module
mangle used exports
fix esm flag
2017-12-14 13:05:03 +01:00
Tobias Koppers 86786811e4
Merge pull request #6085 from webpack/refactor/static-template
make all methods on Template static
2017-12-08 17:59:15 +01:00
Florent Cailhol 36c690d37f Use tapable instead of 'plugin' 2017-12-08 14:23:31 +01:00
Tobias Koppers 16ee68b5f9 make all methods on Template static 2017-12-07 09:49:50 +01:00
Tobias Koppers 56328a7cab upgrate tapable in Templates 2017-11-28 18:43:01 +01:00
Tobias Koppers 5e39ec46ee Allow to override resolve configuration 2017-11-18 08:12:35 +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 6bd937d768 make things consitent 2017-09-22 14:07:28 +02:00
Tobias Koppers f6a0d51e6b Merge branch 'master' into use-set-in-chunks 2017-07-18 09:32:53 +02:00
Tobias Koppers e72c3b22c8 missing dependencies could be files too 2017-07-15 10:27:01 +02:00
Tim Sebastian 7972859640 refactor chunk.chunks usage to check for chunk existance 2017-06-24 11:39:46 +10:00
Anatoliy Yastreb cd2f022d43 Refactor: remove unnecessary quote escaping 2017-06-20 10:05:55 +09:00
Anatoliy Yastreb 7f1d60d709 Refactor: string concatenation to template literals 2017-06-20 00:18:59 +09:00
Anatoliy Yastreb c84aa45e98 Refactor: bound functions to arrow functions 2017-06-19 17:46:42 +09:00
Anatoliy Yastreb aa833bf1b4 Refactor: ES6 lib/node/NodeMainTemplatePlugin.js #4099 2017-06-19 17:35:05 +09:00
Joel Chen 8fec262c8c Support turn off NodeSourcePlugin with false option 2017-06-02 23:04:23 -07:00
Orlando Wenzinger 5e1cedf93b replace let with const for variables with no reassignment 2017-05-06 22:16:50 +02:00
Orlando Wenzinger 6d75f833c7 ES6 refactor of NodeSourcePlugin 2017-05-06 20:41:26 +02:00
Tobias Koppers 263c5c9f40 close watchers correctly when closing watching 2017-03-15 15:50:05 +01:00
Tobias Koppers f84412cfb2 allow watcher to detect removals
fixes #4162
maybe fixes #4079
maybe fixes #1533
2017-03-15 15:50:05 +01:00
Tim Sebastian d056ba7d40 extract `buildExpression` to ParserHelpers.addParsedVariableToModule
rewrite affected modules
2017-02-25 00:26:07 +11:00