Commit Graph

418 Commits

Author SHA1 Message Date
Tobias Koppers a962d2cedd add __webpack_module__ and __webpack_module_id__ to the api 2022-01-31 11:06:30 +01:00
Nick Schonning a19d7991c3
chore: update cSpell globs and fix typos 2021-12-12 16:57:14 -05:00
Ivan Kopeykin a3fff1a4c8 evaluate undefined to type undefined 2021-11-25 22:41:27 +03:00
Ivan Kopeykin 58edd1aebb fix evaluating tagged template 2021-11-24 21:22:59 +03:00
Tobias Koppers 610d435660 fix #14662 2021-11-05 17:24:25 +01:00
Tobias Koppers 4eb402b54c fix #14610 2021-11-02 11:03:15 +01:00
Ivan Kopeykin 15393ca459 more complex test case 2021-09-20 15:54:09 +03:00
Ivan Kopeykin 7148a0af22 fix test case 2021-09-16 14:35:39 +03:00
Ivan Kopeykin 18ed9cb34b fix logic expression evaluation 2021-09-16 13:15:01 +03:00
Tobias Koppers 720aa43bd3 handle hashbangs in javascript files
fixes https://github.com/vercel/next.js/issues/27806
2021-08-10 11:34:06 +02:00
Tobias Koppers 6dbfb93f8a Merge branch 'master' into dependabot/npm_and_yarn/jest-27.0.4 2021-06-28 11:38:29 +02:00
Tobias Koppers 15408018cb partially fix test cases 2021-06-24 10:05:37 +02:00
Tobias Koppers 9d123b1b53 fix createLazyTestEnv for new jest major version 2021-06-22 09:39:17 +02:00
Tobias Koppers 4cf272b824 add workaround for broken eslint-scope package regarding class field support 2021-05-19 16:21:54 +02:00
Tobias Koppers 87c0d1cd94 Merge branch 'master' into johnnyreilly/master 2021-05-07 18:07:23 +02:00
Tobias Koppers 2bcf0c2980 fix test cases for node 16 2021-04-28 16:10:45 +02:00
Tobias Koppers 94facd387d add support for class fields 2021-04-27 10:28:13 +02:00
Tobias Koppers 4e70b37579 test typings and fix type problems in loaders in the test suite 2021-04-22 21:48:47 +02:00
Tobias Koppers 1ff55df486 fixes #12769 2021-02-24 12:54:17 +01:00
Tobias Koppers 0c4e157196 fix incorrect parsing of define functions
fix invalid code when using declaring local modules and arrow functions are supported
2021-02-11 11:18:40 +01:00
Tobias Koppers 56a4224048 run tests on node 15
fix test case
2021-02-07 20:22:23 +01:00
Tobias Koppers 223d72245d fix test case to not use whole namespace object 2021-02-07 17:22:42 +01:00
Tobias Koppers f85f0d5baf
Merge pull request #12452 from webpack/bugfix/12044 2021-01-21 09:13:55 +01:00
Tobias Koppers 65d3c38094 workaround for terser bug 2021-01-20 20:24:16 +01:00
Tobias Koppers f976ddd6e1 update test cases for css-loader update 2021-01-19 17:24:37 +01:00
Ivan Kopeykin 9fadec4dc1 fix: walk iife function expression params 2021-01-19 13:35:50 +01:00
Tobias Koppers 6d64eb0eae add side effects to avoid optimization 2021-01-15 16:44:25 +01:00
Tobias Koppers 7438a7b79f
Merge branch 'master' into webpack-is-included 2021-01-15 14:21:07 +01:00
Tobias Koppers a7c0448e42
Merge pull request #12311 from sarimarton/patch-1 2021-01-15 14:16:04 +01:00
Tobias Koppers 21ca681cd9 add test case 2021-01-14 13:42:34 +01:00
Tobias Koppers ae15a701a4 fix handling of MetaProperty
fixes #12339
2021-01-05 21:26:28 +01:00
Ivan Kopeykin ad0f9efa07 add test with return statement 2020-11-26 00:59:18 +03:00
Tobias Koppers dbea79cf8a improve code and test case 2020-11-25 22:48:11 +01:00
Ivan Kopeykin f000854cee fix: check statements in path for asi safe 2020-11-25 22:48:10 +01:00
Huáng Jùnliàng 92f9991647 add supportsLogicalAssignment 2020-09-30 08:49:05 -04:00
Huáng Jùnliàng aea7ce053d feat: add logical assignment support 2020-09-30 08:49:05 -04:00
Tobias Koppers 145d392143 fixes parsing of 'this' in arrow iife
yarnpkg/berry#1832
2020-09-15 13:46:10 +02:00
Tobias Koppers 7e85649492 improve target options
infer target properties from different targets and fill defaults from that

custom targets can now be created via `target: false` and a plugin (similar to the other options)

add stubs from universal chunk/wasm loading and module chunk format

add externalsPresets.electron and externalsPresets.electronRenderer

node.__file/dirname: "eval-only"
2020-09-10 11:42:09 +02:00
Tobias Koppers be021e00f4 add grouping of modules 2020-09-01 18:31:22 +02:00
Ivan Kopeykin 35c56e67ae refactor how asi handled
- add asiSafeExpression helper for JavascriptParser
- use asiSafe flag in DefinePlugin
- try to use (...) instead of Object()
2020-08-28 19:46:56 +03:00
Ivan Kopeykin 1556341c13 fix #11310 2020-08-27 12:59:28 +02:00
Tobias Koppers 65710679fb
Merge pull request #11299 from webpack/feature/evaluate-new-regexp
feat: evaluate new RegExp
2020-08-24 18:27:22 +02:00
Daniel Abrao d9219f281d Remove last unused comment 2020-08-20 13:29:06 -03:00
Daniel Abrao 57bb2dd397 Adjust test cases to pass production tests 2020-08-20 13:28:58 -03:00
Daniel Abrao 2c76f0ac7d Replace `var` with `let` to increase code consistency 2020-08-20 12:47:55 -03:00
Daniel Abrao a65979d028 Remove unused comments 2020-08-20 12:45:10 -03:00
Daniel Abrao 54e8068b87 Add generator test cases 2020-08-20 12:44:40 -03:00
Ivan Kopeykin eb48bb2c61 check that RegExp is not redefined 2020-08-15 12:35:04 +03:00
Ivan Kopeykin ba1f278417 use bitmask in isValidRegExpFlags, add unit test for it 2020-08-15 12:26:50 +03:00
Tobias Koppers 62ccae1abd build errors should be errors even for optional modules
optional modules should only treat "not found" errors as warnings

fixes #9161
2020-08-14 20:03:48 +02:00
Tobias Koppers 3cf8299602 add test case for conflicting named with namespace reexport
and fix problem
2020-08-13 10:59:56 +02:00
Tobias Koppers 163e7674a0 track the target binding of harmony reexports
display target binding in module info header
check conflicting star exports (fixes #7562) when statically known
2020-08-11 20:13:01 +02:00
Ivan Kopeykin 8c6860e6c7 increase coverage 2020-08-09 22:50:38 +03:00
Ivan Kopeykin 9d36bd46b3 feat: evaluate new RegExp 2020-08-09 22:17:19 +03:00
Tobias Koppers 537c6f228c
Merge pull request #11292 from webpack/fix/issue-11283
fix(#11283) bug with switch case
2020-08-08 11:06:01 +02:00
Ivan Kopeykin 8e480b8720 use one block scope for switch 2020-08-08 11:13:38 +03:00
Tobias Koppers 792ce1d6a6
Merge pull request #11221 from webpack/feature/optional-chaining
Feature/optional chaining
2020-08-07 19:24:01 +02:00
Tobias Koppers c43ef6f997 terser support more stuff so no need to ignore these test cases 2020-08-07 15:02:37 +02:00
Tobias Koppers 1eacb07c95 improve optional chaining handling 2020-08-07 14:45:25 +02:00
Ivan Kopeykin 70c0b28d00 add tests, refactor how optional chaining handles 2020-08-07 14:44:54 +02:00
Ivan Kopeykin 18ae4d16d8 add evaluation to optional chaining 2020-08-07 14:43:40 +02:00
Ivan Kopeykin 42cb86bfdc fix(#11283): define extra scope for switch-case 2020-08-07 00:56:35 +03:00
Ivan Kopeykin 5e313d933d Merge remote-tracking branch 'upstream/feature/nullish-coalescing' into feature/nullish-coalescing 2020-07-22 16:40:09 +03:00
Tobias Koppers cdacc2f5af
restore accidentally prettified test case 2020-07-22 15:38:20 +02:00
Ivan Kopeykin df9ac3a9e7 respect side effects for if statement 2020-07-22 14:21:42 +03:00
Ivan Kopeykin ac0b340fb2 fix tests, filter nullish test cases 2020-07-22 13:44:48 +03:00
Tobias Koppers c8aff62228 improve handling of side effects with evaluation 2020-07-21 13:00:25 +02:00
Tobias Koppers 13b417f27d fix module.hot evaluation test case 2020-07-21 10:44:31 +02:00
Tobias Koppers bc1c5a8f23 refactor evaluation logic 2020-07-21 10:30:12 +02:00
Tobias Koppers 5876cf6210 improvements, test support check fix 2020-07-21 10:30:11 +02:00
Ivan Kopeykin 5ec7dfd6ac refactor equality comparison, support nullish coalescing in ConstPlugin
- add handleStrictEqualityComparison callback
- add handleAbstractEqualityComparison callback
- rework evaluateIdentifier interface
- add tests
2020-07-21 10:30:10 +02:00
Ivan Kopeykin 3ecc87889c add nullish coalescing support 2020-07-21 10:30:08 +02:00
Tobias Koppers 454bee59e6 disable used exports optimization in development to prevent unexpected changes to module 2020-07-09 08:46:43 +02:00
Tobias Koppers e8ed3d8d3b
Merge pull request #11117 from vankop/add-export-as-from
add export * as namespace from "module"
2020-07-06 22:31:07 +02:00
Ivan Kopeykin da98e09d13 add more tests 2020-07-04 14:36:17 +03:00
Ivan Kopeykin 407cdd5eb4 fix usedExports issue 2020-07-04 13:24:16 +03:00
Tobias Koppers 7442a211b9 add support for resource fragments 2020-07-03 17:03:15 +02:00
Ivan Kopeykin 85715ba2c9 add export * as namespace from "module" 2020-07-03 13:12:58 +03:00
Tobias Koppers 44a5050b07 fix that using `module` in a ESM causes exports deopt 2020-05-19 02:07:26 +02:00
Tobias Koppers ba83554d60 keep function declarations when using export default
fixes #10870
2020-05-12 22:49:33 +02:00
Ivan Kopeykin 0a3b0c63d4 ignore error/warning when module does not exists 2020-04-14 02:05:02 +03:00
Ivan Kopeykin 2d451a57b2 feat: new dependency __webpack_is_included__ 2020-04-12 03:04:41 +03:00
Tobias Koppers 0af9ac5dee Merge tag 'v4.41.6'
4.41.6
2020-02-11 13:17:11 +01:00
Tobias Koppers 614ea541a5 only retrigger flagging exports in dependencies when exports really changed
export * does no longer incorrectly provided exports which are already provided by something else

fixes #10332
2020-02-05 09:16:24 +01:00
Tobias Koppers 4e926c7a58 enabled optimization.innerGraph and optimization.usedExports by default 2020-01-30 14:36:44 +01:00
Tobias Koppers b53a128513 provide better error message when a export name was not found 2020-01-15 22:44:06 +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 90c2392b29 fix bug where importing variables with special free names is broken 2019-10-30 13:06:53 +01:00
Tobias Koppers 46fec5e252 emit a warning when require.include is used 2019-10-22 10:17:34 +02:00
Tobias Koppers 0137172d0d set wrapped inner expression in concat parsing 2019-10-14 20:24:11 +02:00
Tobias Koppers ab169893a1 refactor Parser to allow variable tagging
use variable tagging in harmony pluging (instead of magic renaming)
Parser no longer calls hooks.expression for x in `x = ...`, hooks.pattern is called instead
remove rootName argument from hooks.expressionMemberChain and hooks.callMemberChain
2019-09-03 14:17:46 +02:00
Tobias Koppers 0bce5fd8d5 detect ASI and generate more efficient code when no semicolon need to be inserted 2019-08-22 23:03:38 +02:00
Tobias Koppers fb13b76b34 add `__webpack_exports_info__` API to allow export introspection
improve usage/provide information for nested exports

improve tests for deep exports
2019-08-22 16:59:37 +02:00
Tobias Koppers 51e2aa05b1 Merge tag 'v4.35.3' into next
4.35.3
2019-07-08 16:57:12 +02:00
Daan Roet b56c3ecf1c feat: update acorn for dynamic import 2019-07-05 13:24:39 +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 e04b1a52a0 handle block scopes correctly
fixes #9253
fixes #9183
2019-06-13 00:41:42 +02:00
Tobias Koppers ba77df23dd add warnings for non-default json module imports
unify linking error generation
2019-06-12 14:33:49 +02:00
Tobias Koppers 979e6e40a8 fix edgecase with script this context 2019-05-29 21:59:09 +02:00
Tobias Koppers 43bc7a306e Refactor to track nested exports
Harmony dependencies track access to nested properties
Flag nested exports
2019-05-29 11:55:00 +02:00