Commit Graph

107 Commits

Author SHA1 Message Date
Anna Henningsen e4375f8833
Avoid relying on Node’s internals
`process.binding()` is not a public API, and should
not be used.

Luckily, Node recently introduced an API that does
exactly what Webpack needs:
https://nodejs.org/api/modules.html#modules_module_builtinmodules

So use that instead and keep the old path as a fallback.
2018-01-27 22:10:36 +01:00
Tobias Koppers e72c3b22c8 missing dependencies could be files too 2017-07-15 10:27:01 +02:00
Anatoliy Yastreb cd2f022d43 Refactor: remove unnecessary quote escaping 2017-06-20 10:05:55 +09:00
Anatoliy Yastreb 7f1d60d709 Refactor: string concatenation to template literals 2017-06-20 00:18:59 +09:00
Anatoliy Yastreb c84aa45e98 Refactor: bound functions to arrow functions 2017-06-19 17:46:42 +09:00
Anatoliy Yastreb aa833bf1b4 Refactor: ES6 lib/node/NodeMainTemplatePlugin.js #4099 2017-06-19 17:35:05 +09:00
Joel Chen 8fec262c8c Support turn off NodeSourcePlugin with false option 2017-06-02 23:04:23 -07:00
Orlando Wenzinger 5e1cedf93b replace let with const for variables with no reassignment 2017-05-06 22:16:50 +02:00
Orlando Wenzinger 6d75f833c7 ES6 refactor of NodeSourcePlugin 2017-05-06 20:41:26 +02:00
Tobias Koppers 263c5c9f40 close watchers correctly when closing watching 2017-03-15 15:50:05 +01:00
Tobias Koppers f84412cfb2 allow watcher to detect removals
fixes #4162
maybe fixes #4079
maybe fixes #1533
2017-03-15 15:50:05 +01:00
Tim Sebastian d056ba7d40 extract `buildExpression` to ParserHelpers.addParsedVariableToModule
rewrite affected modules
2017-02-25 00:26:07 +11:00
Will Mendes ee81ebf73c refactor(NodeOutputFileSystem): upgrade to ES6 2017-01-27 10:04:02 +11:00
Tobias Koppers 0f4d927803 rewrite to arrow functions 2017-01-25 23:39:32 +01:00
Will Mendes d9daaea001 refactor(NodeWatchFileSystem): upgrade to ES6 2017-01-24 23:21:42 +11:00
Will Mendes ff8bf5709b refactor(NodeTargetPlugin): upgrade to ES6 2017-01-11 23:09:19 +11: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
Shubheksha Jalan 5aa522d5be refactor(ES6): upgrade NodeHotUpdateChunkTemplatePlugin to ES6 (#3795) 2017-01-07 22:07:59 -06:00
Oleg Pimenov 6b2c35c533 refactor(plugins): upgrade to ES6 NodeChunkTemplatePlugin & NodeTemplatePlugin (#3792) 2017-01-07 10:06:08 -06:00
Shubheksha Jalan efc576c8b7 refactor(ES6): upgrade NodeEnvironmentPlugin to ES6 (#3796) 2017-01-05 23:02:52 -06:00
Sean Larkin aa8d01bf8d refactor(eslint): Added no-unsed-vars, env specific .eslintrc's for buildin & hot (#3636)
* refactor(eslint): Added no-unsed-vars, env specific .eslintrc's for buildin & hot

* This change allows for buildin to now be part of the lint test by addition of an extra .eslintrc file which extends existing but sets es6 to false
* Turned on no-unused-vars for eslint, and then removed all warnings from turning that feature on
* Was getting notified of errors in "quote" property in eslintrc, so changed to correct value from error to 2.

* beautify

* swap invalid eslint config val
2016-12-30 09:43:49 -06:00
Kees Kluskens 644e3a009b Upgrade eslint (#3626)
* Upgrade eslint

* Pin down eslint version

* Temporary fix for difference between js-beautify and eslint

js-beautify suddenly requires a space between `while` here,
but everywhere else we use it without space.

* Remove redundant rules (present in eslint:recommended)

* Add rules comparable to js-beautify rules to eslint

* Add some forgotten files

* Ugh, fix some differences between eslint and js-beautify the nuclear way

* Add back variables
2016-12-29 10:10:41 -06:00
Joe Bateson a8bb6cdb1c refactor(es6): Replace object-assign polyfill with native method (#3608) 2016-12-28 13:07:28 -06:00
Tobias Koppers f4ab7fc7e2 more performance improvements 2016-12-14 16:22:54 +01:00
Tobias Koppers 8da6f6c81a don't shim shims and update node-libs 2016-11-23 11:31:24 +01:00
Alan Zhang 2e62b1207d Prefix path with ./ 2016-11-12 22:19:57 +08:00
Alan Zhang d4b73ec846 Apply change to Buffer, setImmediate, clearImmediate too. 2016-11-12 01:58:50 +08:00
Alan Zhang f9502b6612 Replace '\' with '/' to make windows generate same path string as other platforms. 2016-11-12 01:42:00 +08:00
Alan Zhang 4d1d18575b Change absolute path returned by getPathToModule() to relative path to fix issue #2215 2016-11-11 03:56:13 +08:00
Markus Kramer 9c5c6df64f replaced calls to Object.assign with objectAssign to support node 0.12.x (#3080) 2016-09-30 09:24:05 -05:00
Tobias Koppers 78a2f699e2 beautify 2016-09-15 00:50:07 +02: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 afd11259b2 stricter linting and bug fixes 2016-09-15 00:22:10 +02:00
Tobias Koppers 1675a5a5ca new way to handle new ids, reuse old ids
adjusted HMR to handle id reusing
2016-07-18 00:41:26 +02:00
Tobias Koppers f5a5edd78d run purge before stats for cache #2003 2016-05-06 22:47:02 +02:00
Tobias Koppers 2ff9a247e2 better global support, even in strict mode 2016-05-06 11:36:36 +02:00
Tobias Koppers 902220a0ea smaller bundles by using module.e instead of module.exports
same for module.loaded and module.id
2016-02-13 13:11:34 +01:00
Tobias Koppers c838656e7f moved defaults for options.output into central place 2016-01-06 23:02:25 +01:00
Tobias Koppers 461c49ab66 updated partly to new enhanced-resolve API 2016-01-02 00:21:54 +01:00
Tobias Koppers ded70aef28 moves stuff from webpack-core to webpack-sources 2015-12-29 17:44:55 +01:00
Tobias Koppers b296e5a08c use options object for NodeTemplatePlugin 2015-11-20 08:38:15 +01:00
Tobias Koppers 7887d614b0 fixed test and comment 2015-07-25 15:37:48 +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
Avi Haiat daff7440a6 feat(app): Fix some obvious lint errors and warnings 2015-07-08 15:52:41 +03:00
Tobias Koppers 2245c4acca Promise based chunk loading API
don't flag entry module with `0` id anymore
use extra argument in chunk instead
this allows to require entry points
2015-06-13 11:45:28 +02:00
Tobias Koppers ff7848369a Merge branch 'master' into webpack-2
Conflicts:
	bin/webpack.js
	package.json
2015-05-10 20:41:04 +02:00
Tobias Koppers 18f3595cde allow to pass watch options
deprecate old API
2015-05-10 13:50:15 +02:00
Tobias Koppers 6c1eb49539 separated runtime code from compiler code
for better coverage data
2015-04-28 23:38:41 +02:00