Tobias Koppers
a877cd51d1
add presentational dependencies which are cheaper, but allow only templating
2019-10-30 07:49:20 +01:00
Tobias Koppers
acff6ec992
move BasicEvaluatedExpression and JavascriptParserHelpers to javascript directory
2019-10-22 09:27:52 +02:00
Tobias Koppers
b2e7837288
replace Object.assign with object spread
2019-06-19 13:16:05 +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
14d95e30cb
Merge tag 'v4.32.1' into next
...
4.32.1
2019-05-22 13:36:26 +02:00
Tobias Koppers
5b08ab51c3
fixes #9156
...
node: false should not disable CommonJs features
2019-05-22 08:03:44 +02:00
Tobias Koppers
abc825d58f
Merge tag 'v4.32.0' into next
...
4.32.0
2019-05-20 14:46:31 +02:00
Alan Zhang
8fbcc5672f
don't evaluate `__dirname` and `__filename` when set to false
2019-04-29 02:41:54 +08:00
Alan Zhang
269efb9fd7
Never apply NodeStuffPlugin when "node" set to false
2019-04-24 10:40:51 +08:00
Alan Zhang
61dfa67d10
Turn off NodeStuffPlugin with when "node" configuration set to "false"
2019-04-23 12:16:28 +08:00
Steven Hargrove
a50fb84628
improve error report for cjs export in esm
2019-02-06 11:44:32 -05:00
Florent Cailhol
c148033fe9
Remove module.webpackPolyfill guard
2018-12-06 22:16:55 +01:00
Florent Cailhol
74e6346363
Replace module buildins by runtime modules
2018-12-06 22:16:31 +01:00
Tobias Koppers
7c37a6a972
handle runtime requirements
2018-11-29 16:07:17 +01:00
Tobias Koppers
0232674f9c
Initial runtime module work
2018-11-29 16:03:32 +01:00
Tobias Koppers
eb28697419
move magic property names on __webpack_require__ into RuntimeGlobals file
2018-11-05 15:28:34 +01:00
Florent Cailhol
d881bb4c8f
Add types to various plugins
2018-11-02 21:06:35 +01:00
Tobias Koppers
3618cc1b3c
remove originModule from Dependencies and add parent module to ModuleGraph
2018-08-07 14:20:53 +02:00
Tobias Koppers
8a996186a0
remove range from ModuleDecoratorDependency
2018-07-30 22:42:15 +02:00
Tobias Koppers
872839450f
move ModuleDecoratorDependency into a separate file
2018-07-30 22:40:31 +02:00
Tobias Koppers
35547246f9
Hoist require.resolve for performance reasons
2018-07-30 22:39:17 +02:00
Tobias Koppers
e79d4e002b
add stage to InitFragment
2018-07-30 22:39:04 +02:00
Florent Cailhol
c545a02ba6
Convert NodeStuffPlugin
2018-07-30 22:37:34 +02:00
Florent Cailhol
f6a5053fb2
Add a way to inject provided modules
2018-07-30 22:35:52 +02:00
Florent Cailhol
dcebd57aa4
Replace harmonyInit calls by InitFragments
2018-07-30 22:34:18 +02:00
Tobias Koppers
cf5f1d723c
format existing code
2018-07-30 21:29:21 +02:00
Tobias Koppers
66d3f319a6
Merge tag 'v4.16.2' into next
...
4.16.2
2018-07-23 12:19:16 +02:00
Abdulrahman Alkhelaifi
80c3e433c4
Handle module.require, require.main.require, and module.parent.require
...
- Resolve module.require dependencies
- Add require.main.require and module.parent.require as unsupported
2018-07-19 13:41:58 -07: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
Florent Cailhol
2a9452e51b
Add brackets for multiline if/for statements
2018-05-29 15:45:44 +02:00
Tobias Koppers
5238159d21
run prettier on existing code
2018-02-25 02:00:20 +01:00
Tobias Koppers
53a1d6c7b5
replace harmonyModule flag with exportsType 3-state
...
exportsType falsy: It's non-harmony module
exportsType "namespace": It's a harmony module, the exports is the namespace object
exportsType "default": It's a harmony module, the exports is the default exports, named exports are properties of the default export
2017-12-22 19:42:41 +01:00
Florent Cailhol
9669c9e013
Use Parser#hooks instead of Tapable#plugin
2017-12-21 09:08:10 +01:00
Florent Cailhol
31e0c406b7
Bail out concatenation if module uses module.id or module.loaded
2017-12-19 10:08:43 +01:00
Florent Cailhol
c8e60b4322
Update Parser helpers to be compatible with hooks
2017-12-15 17:08:49 +01:00
Florent Cailhol
08ddad2e10
Replace NormalModuleFactory#plugin() calls
2017-12-14 14:42:49 +01:00
Tobias Koppers
30c9dd05b0
remove `__webpack_require__` requirement from some ConstDependencies
...
fixes #5707
2017-12-13 11:14:00 +01:00
Tobias Koppers
ffb977fed4
refactor meta -> buildMeta, add factoryMeta
...
add compat layer to Module.meta
2017-12-12 16:57:50 +01:00
Florent Cailhol
36c690d37f
Use tapable instead of 'plugin'
2017-12-08 14:23:31 +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
27cc834a49
evaluate some identifiers to truthy values
...
fixes #4596
2017-06-02 13:24:47 +02:00
SendilKumar N
0d31e0b801
Refactor(ES6): NodeStuffPlugin
2017-04-04 10:12:52 +02:00
Tim Sebastian
82eec175af
convert more usages of BasicEvaluatedExpression with ParserHelpers
2017-01-21 13:51:35 +11:00
Tim Sebastian
965b7261fa
move more ConstDependencies to `toConstantDependency`
2017-01-21 13:51:35 +11:00
Tim Sebastian
afac22f058
introduce ParserHelper.evaluateToBoolean
...
convert all usages of new BasicEvaluatedExpression().setBoolean to ParserHelper.evaluateToBoolean
2017-01-21 13:41:19 +11:00
Tobias Koppers
a7a41848c7
remove error for CommonJs/AMD in ESM
...
there are too many weird modules
detect harmony modules before parsing
exports is now undefined in ESM
module.exports is now read-only in ESM and returns undefined
define is now undefined in ESM
#3917
2017-01-15 01:44:26 +01:00
timse
86c00207bd
Extract to parser helpers ( #3843 )
...
* rename ModuleParserHelpers to ParserHelpers
- rename module and file from ModuleParserHelpers to ParserHelpers
- change imports and usages
- rename addParsedVariable to addParsedVariableToModule to add module context again
* introduce setTypeof helper to ParserHelpers
* switch setTypeof in amdplugin - use ParsersHelpers instead
* switch setTypeof in CommonJsPlugin - use ParsersHelpers instead
* switch setTypeof in SystemPlugin - use ParsersHelpers instead
* add ParserHelpers.expressionIsUnsupported method
* use ParserHelpers.expressionIsUnsupported in SystemPlugin and NodeStuffPlugin
* refactor setTypeOf to more atomic helper methods
- reduces sideeffects as parser is called outside of helper
- allows better reuse
* use ParserHelper on more pieces in CommonJsPlugin making BasicEvaluatedExpression obsolete
* switch new BasicEvaluatedExpression().setString(<somestring>).setRange(expr.range) in dependencies to ParserHelpers
* switch other new BasicEvaluatedExpression().setString(<somestring>).setRange(expr.range) to ParserHelpers
* rename wrongly named function - name anonymous functions
2017-01-08 12:11:26 -06:00
Joe Bateson
a8bb6cdb1c
refactor(es6): Replace object-assign polyfill with native method ( #3608 )
2016-12-28 13:07:28 -06:00