Tobias Koppers
cee47dc867
Store cache dependencies inside of Snapshot to reduce cache size
2020-08-24 18:16:54 +02:00
Ivan Kopeykin
4fc44a3398
add more types
2020-08-02 23:47:54 +03:00
Tobias Koppers
ca369f23c5
do cache related tasks after calling handler in watching
...
improve progress output
2020-08-01 09:00:17 +02:00
Tobias Koppers
77cdce7393
remove unused methods, improve code coverage
2020-07-29 11:14:26 +02:00
Tobias Koppers
1265765141
polish, types
2020-07-27 22:41:04 +02: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
7dad1c1c30
refactor scheme handling into plugins
2020-07-03 17:01:02 +02:00
Ivan Kopeykin
d42d2b51df
check for Windows absolute url in URLAbsoluteSpecifier util
2020-06-29 12:24:44 +03:00
Ivan Kopeykin
89abab2631
add absolute url specifier support
2020-06-26 22:16:27 +03:00
goganchic
19609937c7
implement uri imports
2020-06-05 15:15:10 +03:00
Mohsen Azimi
042b4ee7d4
Use @ts-expext-error
2020-05-12 14:34:29 +02:00
Tobias Koppers
3b49828a18
report better error message when wasm experiment is not enabled
...
#10788
2020-04-28 20:22:50 +02:00
Nitin Kumar
285529a643
chore: fix typos across the project
2020-03-10 07:29:46 +05:30
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
87ad88174b
Merge pull request #10354 from jeffin143/minor-code-refactor
...
Minor code refactoring to use destructuring
2020-02-10 13:15:17 +01:00
jeffin143
a50f0d50e6
refactor: make use of destructuring
2020-02-08 03:08:53 +05:30
Tobias Koppers
ec5a744b30
Remove "error" and "ignore" from snapshots
2020-01-29 21:32:50 +01:00
jamesgeorge007
974d2495af
fix: typo
2020-01-19 13:31:37 +05:30
jamesgeorge007
5506161f5e
refactor: use startsWith
2020-01-19 13:29:39 +05:30
jamesgeorge007
357e707e2c
refactor: prefer destructuring approach
2020-01-19 13:28:22 +05:30
Tobias Koppers
d673e4179b
test errors message, allow custom names in schema
2020-01-17 12:17:53 +01:00
Tobias Koppers
f9846f1f91
improve code, remove unneeded old stuff
2020-01-16 14:48:52 +01:00
evilebottnawi
4e808cb613
feat: getOptions util for loader
2020-01-16 11:43:26 +01:00
Tobias Koppers
c80bae2959
faster cache access of contextify
2020-01-15 11:20:22 +01:00
Tobias Koppers
73978b1463
handle sourceRoot during source map contextify
2019-12-27 15:23:23 +01:00
Tobias Koppers
2f3da77d38
Introduce a Parser base class to improve Parser types
...
Parser.parse must be always sync
make JSON and WASM modules strict
fix inherit-types tooling to omit static methods
2019-11-30 01:36:28 +01:00
Tobias Koppers
bf6680ec0f
bugfixes, nitpicks
2019-11-26 21:24:41 +01:00
Tobias Koppers
317da38171
move data url condition to parser
...
avoid calling dataUrl function repeated
remove cache to avoid memory leak
include data url decision in module hash
refactor code for readablility
2019-11-26 15:43:58 +01:00
Sergey Melyukov
bdc61abf82
refactor: merge generators in asset modules
2019-11-26 15:42:37 +01:00
Tobias Koppers
1cd9ec58aa
track dependencies when calling resolve from loader
2019-11-25 22:10:47 +01:00
Tobias Koppers
a58717e379
types for NormalModule constructor
2019-11-20 12:43:57 +01:00
Tobias Koppers
55914b2e46
Generator.generate may return null
2019-11-20 12:43:56 +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
5abf55b1af
allocate presentationalDependencies array only when needed
2019-11-10 21:05:28 +01:00
Tobias Koppers
c5483fa7ab
allocate NormalModule._sourceSizes only when needed
2019-11-10 21:05:19 +01:00
Tobias Koppers
ed81ad0fa4
allocate warnings and errors arrays only when needed
2019-11-10 21:05:16 +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
ac9fca474a
avoid creating an object for performance reasons
2019-10-09 13:36:44 +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
e116d18544
Merge tag 'v4.40.3' into next
...
4.40.3
2019-09-25 23:51:38 +02:00
Daniel Playfair Cal
2aef0b615b
Memoize NormalModule.size()
2019-09-20 10:44:49 +10:00
Tobias Koppers
7bde43f47a
Merge tag 'v4.40.0' into next
...
4.40.0
2019-09-13 11:12:26 +02:00
Tobias Koppers
758269e814
add emit/updateAsset to Compilation
...
add asset info with
* immutable for long term cache-able asset
* size for the asset size in bytes
* development for devtools
* hotModuleReplacement for HMR assets
show asset info in stats
2019-09-11 14:43:42 +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
e877e0ec91
Modules don't carry buildDependencies, they add them directly to compilation
...
buildDependencies should not be stored/cached as they are only effective when really build
2019-08-13 18:05:26 +02:00
Tobias Koppers
856235d76f
track and config build dependencies
2019-08-12 23:07:41 +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
677ccd90ea
small fixes
2019-07-23 09:28:06 +02:00
Tobias Koppers
d849160d3f
add logging API
...
Plugins:
Compiler.getInfrastructureLogger(name)
Compilation.getLogger(name)
Loader:
this.getLogger([name])
API equal to console API with these methods:
error, warn, info, log, debug,
time, timeLog, timeEnd,
group, groupCollapsed, groupEnd,
profile, profileEnd,
clear
2019-07-18 17:13:40 +02:00
Tobias Koppers
cac462cba8
Merge pull request #8983 from hiroppy/feature/url
...
add experimental Url support
2019-07-17 23:32:15 +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
fb45e38fa4
rename url -> asset
...
remove experimental in favor of experiments.asset
2019-07-17 11:57:04 +02:00
Yuta Hiroto
8788add912
fix(TemplatedPathPlugin): keep compatibility with `.[ext]`
...
[ext] has `.` but file-loader is specified `[hash].[ext]` as default.
2019-07-17 11:46:37 +02:00
ikopeykin
27b1e17f5b
createHash typescript
2019-07-10 14:06:36 +03: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
6f25c3bdbd
Merge pull request #9150 from cacheflow/show-loaders-used-when-module-parsing-fails
...
feat(NormalModule/ModuleParseError): Show loaders used from config when module parsing fails
2019-06-04 23:24:21 +02:00
Tobias Koppers
45582c51e7
avoid loading from rule set, simplify
2019-06-03 17:00:50 +02:00
Lex Alexander
1c6e7a9344
feat(NormalModule/ModuleParseError): Show loaders used from config when module parsing fails
...
-Closes #9025
2019-05-29 14:11:49 -07:00
Tobias Koppers
db5a8a33d3
fix error handling on parse errors
2019-05-24 15:53:34 +02:00
Tobias Koppers
abc825d58f
Merge tag 'v4.32.0' into next
...
4.32.0
2019-05-20 14:46:31 +02:00
Tim Schaub
1a63d7bd0d
Default to production
...
Co-Authored-By: Tobias Koppers <tobias.koppers@googlemail.com>
2019-05-16 13:50:31 -06:00
Tim Schaub
290ab5d071
Allow loaders to access the mode
2019-05-16 10:18:16 -06:00
Tobias Koppers
0c39719729
avoid zero sized modules as they lead to problems
2019-05-13 12:29:29 +02:00
Florent Cailhol
b12f24d20c
Update hook types
2019-05-10 09:52:22 +02:00
Tobias Koppers
0e62bdb74a
add missing cache
2019-01-19 13:12:43 +01:00
Tobias Koppers
c5ad6df793
add own webpack-sources typings
2019-01-18 21:56:56 +01:00
Tobias Koppers
e4d1a45c8d
Use FileSystemInfo.createSnapshot for NormalModules too
2019-01-09 14:42:57 +01:00
Tobias Koppers
ca430a6715
hash defaults to undefined
...
provide other properties in buildInfo
2018-12-31 12:50:45 +01:00
Tobias Koppers
a3c166109e
move NormalModule._buildHash into buildInfo
2018-12-31 12:28:57 +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
cc34ea42b0
add type argument to Module.size
...
add getSize to Generator
2018-12-05 20:18:59 +01:00
Tobias Koppers
dff9278d6b
add Module.getSourceTypes
...
getSourceTypes declares all source types which can be generated
Remove shouldRender in favor of source type testing
2018-12-05 20:18:57 +01:00
Tobias Koppers
0ff1a4f8f8
Merge tag 'v4.27.0' into next
...
4.27.0
2018-12-04 11:02:26 +01:00
Tobias Koppers
162da1c509
add getResolve method to loader context
...
with allows to pass options
2018-12-03 12:42:28 +01:00
Tobias Koppers
7c37a6a972
handle runtime requirements
2018-11-29 16:07:17 +01:00
Tobias Koppers
2525c8b7aa
move runtime requirements storage into ChunkGraph
...
use info for function generation
for noParse default to module and exports requirements
2018-11-29 16:06:44 +01:00
Tobias Koppers
c1e89c0543
Runtime requirement support in NormalModule, Generators and DependencyTemplate
2018-11-29 16:06:12 +01:00
Tobias Koppers
0232674f9c
Initial runtime module work
2018-11-29 16:03:32 +01:00
Florent Cailhol
101b0ebb0f
Add typings for JSON parser & deps
2018-11-23 21:52:05 +01:00
Tobias Koppers
23b335d902
Merge branch 'next' into types/modules
2018-11-16 14:40:11 +01:00
Florent Cailhol
3766869c48
Move normalModuleLoader hook
2018-11-12 14:26:32 +01:00
Florent Cailhol
23bd3d7bd4
Add type guard for NormalModule
2018-11-12 14:26:32 +01:00
Florent Cailhol
caefde17ab
Remove devtoolLineToLine and lineToLine options
2018-11-12 14:26:31 +01:00
Florent Cailhol
8a10ea3c92
Type 'apply' method of plugins
2018-11-12 14:26:31 +01:00
Florent Cailhol
be8c6bbe71
Add types on module files
2018-11-07 14:03:25 +01:00
Tobias Koppers
4174521f9d
remove unnecessary module arguments from module attached errors
2018-10-29 22:18:08 +01:00
Tobias Koppers
6a8e201521
fixup WebpackErrors
2018-10-25 10:52:28 +02:00
Tobias Koppers
83866b0dac
use stable sorting for sorting dependencies
2018-10-23 11:32:32 +02:00
Tobias Koppers
a852828279
add persistent caching prototype
2018-10-17 21:25:39 +02:00
Tobias Koppers
7340fbb547
refactor Cache
...
add a new hookable Cache class
removed CachePlugin
add MemoryCachePlugin
refactor timestamps
create FileSystemInfo class
2018-09-27 13:20:19 +02:00
Tobias Koppers
4eab41bd5f
refactor Module.needBuild to be async
2018-09-27 11:20:54 +02:00
Tobias Koppers
554b417546
Modules are responsible for sorting of dependencies
2018-09-27 11:20:42 +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
239ce7fcd9
Use ChunkGraph instead of Compilation in updateHash
2018-08-24 12:02:42 +02:00
Tobias Koppers
670502fc81
Move AsyncDependenciesBlock.chunkGroup into ChunkGraph
2018-08-22 20:17:49 +02:00
Tobias Koppers
3aa2280498
move Module.hash and .renderedHash into ChunkGraph
2018-08-22 19:24:54 +02:00
Tobias Koppers
eb63cf80d6
move built flag into Compilation
2018-08-22 15:33:16 +02:00
Tobias Koppers
a6e1c0693c
add TODOs
2018-08-16 14:10:39 +02:00
Tobias Koppers
11e127d162
pass moduleGraph along with multiple methods
2018-08-02 17:54:42 +02:00