Commit Graph

22 Commits

Author SHA1 Message Date
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
evilebottnawi 8c19efb7fd chore(deps): update `schema-utils` 2020-10-05 21:58:54 +03:00
Tobias Koppers bd2106b512 implement module concatenation for json modules 2020-09-15 12:36:26 +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 a643278726 refactor exports info logic always represent exports object instead of namespace object
improve test case
2020-04-22 21:01:29 +02:00
Tobias Koppers 567ff7f026 Don't use JSON.parse when json is a string 2019-12-20 12:53:17 +01:00
Tobias Koppers 782e4535ac Refactor how exportsType work
add flagged exportsType for __esModule flagged
add getExportsType to merge strict with exportsType
move CommonJsStuffPlugin into CommonJsPlugin
split CommonJsPlugin into imports and exports part
enable minimal tree shaking for CommonJs imports and exports
2019-12-06 11:13:08 +01:00
Tobias Koppers ae261ed4c1 move default object redirect logic into separate meta property 2019-12-06 11:12:26 +01:00
Ivan Kopeykin 1b3c667fd7 run lint fix 2019-12-03 20:48:31 +03:00
Ivan Kopeykin faea05d195 fix: use memorize util instead of lazyRequire 2019-12-03 20:31:39 +03:00
Ivan Kopeykin 4598ea539b feat(util/lazyRequire): tool for loading CommonJS modules lazily 2019-12-02 18:37:55 +03:00
Tobias Koppers 7abd77d8d4 fix typings for parse option 2019-11-30 21:56:21 +01:00
Tobias Koppers fa9ec727ba strings are also valid json data
simplify code
remove incorrect test case
2019-11-30 21:56:17 +01:00
Sergey Melyukov fce234f6b9 Merge remote-tracking branch 'upstream/master' into custom-json-parser 2019-11-30 14:17:48 +03: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
Sergey Melyukov 39519c5187 remove a second parameter from Rule.parser.parse for Rule.type = 'json' 2019-11-29 22:26:12 +03:00
Sergey Melyukov e934792b2a support custom parser for json modules 2019-11-28 20:12:11 +03:00
Sergey Melyukov bdc61abf82 refactor: merge generators in asset modules 2019-11-26 15:42:37 +01:00
Tobias Koppers 5a01ed8121 rename exportsType named to default
exportsType default doesn't include named exports in strict esm
2019-11-20 12:43:53 +01:00
Tobias Koppers 84b6817f60 consistency and bugfixes for reexporting json 2019-11-05 10:39:12 +01:00
Tobias Koppers 14ee25cd0a add support for tree-shaking JSON modules 2019-11-05 10:37:59 +01:00
evilebottnawi 8198ffb3e6 refactor: code 2019-10-22 00:14:05 +02:00