Commit Graph

117 Commits

Author SHA1 Message Date
Tobias Koppers 0232674f9c Initial runtime module work 2018-11-29 16:03:32 +01:00
Tobias Koppers 31e189fcde Merge tag 'v4.24.0' into next
4.24.0
2018-11-02 18:02:39 +01:00
Tobias Koppers 7dc8e519f9
pass { module } instead of module
Co-Authored-By: FranckFreiburger <FranckFreiburger@users.noreply.github.com>
2018-10-31 09:21:03 +01:00
Franck Freiburger 2b0025af35
add module argument to DefinePlugin.runtimeValue functions
PR #6793 added the ability for DefinePlugin to use function that return values.
This PR just add the ability to these functions to access the module being parsed (see #8301).
eg.
```
  webpack.DefinePlugin.runtimeValue(module => module.resource ....)
```
2018-10-30 16:11:33 +01:00
Sergey Melyukov dae811b083 DefinePlugin: reevaluate runtime values on watch mode when fileDependecies is true
closes #7717
2018-10-24 22:35:08 +03:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Tobias Koppers 249e7d56bb fix merge issue 2018-07-17 11:32:15 +02:00
Tobias Koppers 86ff1a4642 Merge tag 'v4.16.1' into next
4.16.1
2018-07-16 10:30:31 +02:00
Mohsen Azimi c3c4494a83 cr 2018-07-12 18:06:21 -07:00
Tobias Koppers f0ae54d478 Merge tag 'v4.13.0' into next
4.13.0
2018-07-04 22:08:31 +02:00
Mohsen Azimi 0ffb70cf37 Merge branch 'type-DefinePlugin' of github.com:mohsen1/webpack into type-DefinePlugin 2018-07-03 16:49:54 -07:00
Mohsen Azimi 3f8e97100d Merge branch 'master' of git://github.com/webpack/webpack into type-DefinePlugin 2018-07-03 16:46:51 -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
Tobias Koppers 8420c73378 Merge branch 'master' into define-functions
# Conflicts:
#	lib/DefinePlugin.js
#	test/WatchTestCases.test.js
#	test/statsCases/define-plugin/expected.txt
2018-06-28 12:05:00 +02:00
Mohsen Azimi 6759c51f1e Do the todos 2018-06-22 14:17:55 -07:00
Mohsen Azimi 0874383dcb Fix lint 2018-06-09 19:37:09 -07:00
Mohsen Azimi c91eff8f9a Merge branch 'master' of github.com:webpack/webpack into type-DefinePlugin 2018-06-09 19:30:05 -07:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Mohsen Azimi 800e0de25b Add typing for DefinePlugin 2018-05-20 00:32:59 -07:00
Ron Korving cc3fa59645 [DefinePlugin] Add ability to use function return values
This adds the following API to DefinePlugin:

new webpack.DefinePlugin({
	BUILT_AT: webpack.DefinePlugin.runtimeValue(() => Date.now(), [fileDep, ...])
})
2018-04-30 11:30:13 +02:00
Florent Cailhol f1092ad516 Update prettier toolchain 2018-03-26 16:56:10 +02:00
Josh Soref b923fff8eb spelling: typeof 2018-02-26 02:49:41 +00:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Florent Cailhol 9669c9e013 Use Parser#hooks instead of Tapable#plugin 2017-12-21 09:08:10 +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
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 302289ce24 Merge branch 'master' into next 2017-06-02 16:28:22 +02:00
Tobias Koppers 27cc834a49 evaluate some identifiers to truthy values
fixes #4596
2017-06-02 13:24:47 +02:00
Tobias Koppers 6b31b4e085 don't use __webpack_require__.i in DefinePlugin 2017-05-21 20:16:09 +02:00
Tim Sebastian fae5bec936 add some comments to clarify why this is important here 2017-02-06 22:51:26 +11:00
Tim Sebastian 8159e844ea readd "circuit breaker" for endless recurse calls in Defineplugin 2017-02-06 21:41:49 +11:00
Tim Sebastian 6e7ad248cf Revert "this is never true, is that intended? @sokra"
This reverts commit c3abf8f5cc.
2017-02-06 21:40:35 +11:00
Tim Sebastian c3abf8f5cc this is never true, is that intended? @sokra 2017-02-05 12:20:23 +11:00
Tim Sebastian bb5184bf49 use const where applicable in DefinePlugin 2017-02-05 10:22:33 +11:00
Tobias Koppers 1ff8d69835 Merge pull request #3846 from timse/extract-to-parser-helpers-extended
Extract to parser helpers extended
2017-01-27 08:32:14 +01:00
Tobias Koppers 3b6ef1a7ab use __webpack_require__.i to escape brakets 2017-01-26 00:17:31 +01:00
Tim Sebastian 5240430321 apply split methods to their usages 2017-01-21 13:51:35 +11:00
Tim Sebastian 58e7a2f30b add simple returnTrue helper, less function definitions 2017-01-21 13:51:35 +11:00
Tim Sebastian 965b7261fa move more ConstDependencies to `toConstantDependency` 2017-01-21 13:51:35 +11:00
kagawagao 14e9664c46 fix DefinePlugin stringifyObj bug 2017-01-18 21:39:26 +08: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
Neehar Venugopal 7d1774666a refactor(es6): Update DefinePlugin to es2015 (#3632)
* convert DefinePlugin to es2015
2016-12-30 10:34:29 -06:00
Tobias Koppers ec262a4007 refactoring: moved parser instancation into NormalModuleFactory
breaking change: compiler.parser must no longer be used. Use this instead:

``` js
compiler.plugin("compilation", function(compilation, params) {
  params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
    parser.plugin(/* ... */);
  });
});
```

required for #2978
2016-09-15 00:22:10 +02:00
Tobias Koppers 431a4c791c Merge branch 'master' into webpack-2
Conflicts:
	hot/dev-server.js
	hot/only-dev-server.js
	hot/poll.js
	hot/signal.js
	lib/ChunkTemplate.js
	lib/HotModuleReplacement.runtime.js
	lib/HotModuleReplacementPlugin.js
	lib/JsonpMainTemplatePlugin.js
	lib/MainTemplate.js
	lib/NormalModule.js
	lib/Parser.js
	lib/RecordIdsPlugin.js
	lib/WebpackOptionsApply.js
	lib/dependencies/RequireEnsureDependency.js
	lib/node/OldNodeWatchFileSystem.js
	lib/optimize/OccurrenceOrderPlugin.js
	package.json
2015-07-17 09:30:37 +02:00
Tobias Koppers f7d799adb4 rebeautify without spacing after keyword 2015-07-16 00:19:23 +02:00
Avi Haiat 0a340f2b1a feat(app): Beautify all lib files 2015-07-13 01:20:09 +03:00
Tobias Koppers f4b9d5f57a Merge branch 'master' into webpack-2
Conflicts:
	lib/Compilation.js
	lib/Compiler.js
	lib/DefinePlugin.js
	lib/HotModuleReplacementPlugin.js
	lib/Parser.js
	lib/node/NodeSourcePlugin.js
	lib/node/OldNodeWatchFileSystem.js
	package.json
2015-04-27 20:22:13 +02:00
Tobias Koppers cebd3b9722 added linting 2015-04-23 23:55:50 +02:00
Tobias Koppers 3092982afc fixed test cases with updated DefinePlugin 2015-04-14 23:16:09 +02:00
Tobias Koppers 2f3e0aea72 remove (...) from DefinePlugin.
#729
2015-03-05 21:49:22 +01:00
Tobias Koppers 3d153efe27 better handling of nested vars in Define and Provide
fixes #812
2015-02-28 00:26:44 +01:00
Tobias Koppers 9a64224c26 support `null` in DefinePlugin 2015-02-23 22:57:10 +01:00
Tobias Koppers 196db0743d allow undefined, RegExp and objects in DefinePlugin
merged #807 and #791
2015-02-21 13:20:57 +01:00
Tobias Koppers d94706ed02 DefinePlugin bug fix for deep nested objects 2014-11-12 13:33:18 +01:00
Tobias Koppers ca46619b5f renaming is off by default and only enabled for defined expressions
fixes #336
2014-07-02 21:34:29 +02:00
Tobias Koppers a70f91499a Allow mixing different webpack versions 2014-06-18 10:59:54 +02:00
Tobias Koppers 1cf64f2676 added typeof support for the DefinePlugin
#282
2014-05-26 12:48:16 +02:00
Tobias Koppers 5e7dfc52cc experimental renaming support 2014-01-31 14:09:08 +01:00
jhnns e4d7eccfb9 fix an error where webpack crashed when a variable passed to `DEFINE`-option was undefined 2013-10-14 15:30:39 +02:00
Tobias Koppers 1aa80aa48b allow objects in `define` option #100 2013-09-24 15:07:55 +02:00
Tobias Koppers 01c2f45bf5 changed define option to be more C-like #99
values are code fragments now.
2013-09-24 14:49:39 +02:00
Tobias Koppers a37948d114 added options.define, evaluate conditionals, fixes #99 2013-09-13 11:17:57 +02:00