Commit Graph

173 Commits

Author SHA1 Message Date
EugeneHlushko 2aab060f26 Refactor: indexOf >< checks to includes 2018-01-11 18:58:39 +02:00
Tobias Koppers 74a8c45ea1 add getContext/FileTimestamps to watcher
get timestamps on invalidate

fixes #5970
2018-01-03 13:01:27 +01:00
Florent Cailhol 9669c9e013 Use Parser#hooks instead of Tapable#plugin 2017-12-21 09:08:10 +01:00
Florent Cailhol 7dd41b55c6 Replace deprecated Tapable#apply by Plugin#apply 2017-12-20 11:53:56 +01:00
Florent Cailhol 08ddad2e10 Replace NormalModuleFactory#plugin() calls 2017-12-14 14:42:49 +01:00
Florent Cailhol f737b26260 Remove some plugin calls 2017-12-14 14:42:49 +01:00
Tobias Koppers 91e6692362 extract exports from wasm module
mangle used exports
fix esm flag
2017-12-14 13:05:03 +01:00
Tobias Koppers 86786811e4
Merge pull request #6085 from webpack/refactor/static-template
make all methods on Template static
2017-12-08 17:59:15 +01:00
Florent Cailhol 36c690d37f Use tapable instead of 'plugin' 2017-12-08 14:23:31 +01:00
Tobias Koppers 16ee68b5f9 make all methods on Template static 2017-12-07 09:49:50 +01:00
Tobias Koppers 56328a7cab upgrate tapable in Templates 2017-11-28 18:43:01 +01:00
Tobias Koppers 5e39ec46ee Allow to override resolve configuration 2017-11-18 08:12:35 +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 6bd937d768 make things consitent 2017-09-22 14:07:28 +02:00
Tobias Koppers f6a0d51e6b Merge branch 'master' into use-set-in-chunks 2017-07-18 09:32:53 +02:00
Tobias Koppers e72c3b22c8 missing dependencies could be files too 2017-07-15 10:27:01 +02:00
Tim Sebastian 7972859640 refactor chunk.chunks usage to check for chunk existance 2017-06-24 11:39:46 +10: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
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 a2af69056a Remove old stuff 2015-03-05 21:48:16 +01:00
Tobias Koppers d2b1bca5d9 Remove compatibly mode for node.Buffer
#729
2015-03-05 21:46:54 +01:00
Tobias Koppers 5ca01e92f4 test case for resolving node buildin libs
webpack/webpack#747
2015-02-04 23:22:28 +01:00
Tobias Koppers 7da31b2990 change `node.Buffer` in a way that is backward-compatible
#709
2015-01-21 20:25:25 +01:00
Tobias Koppers a979874cd0 updated deps, minor changes 2015-01-17 23:43:25 +01:00
Tobias Koppers adfcfce15f watching of missing files, fixed #668
store missing files from errors for missingDependencies
make the new watching plugins default
added OldWatchingPlugin
2015-01-17 21:55:44 +01:00
Johannes Ewald 5a2f35e51a Add setImmediate and clearImmediate as global function
clearImmediate has no own option as it is directly connected with setImmediate
2015-01-06 18:20:45 +01:00
Johannes Ewald 562fe2d507 Change case of option node.buffer to node.Buffer 2015-01-06 18:17:47 +01:00
Tobias Koppers d5dc904a15 fixed incomplete hash bug 2014-11-03 08:02:02 +01:00
Tobias Koppers e12bc992af include [chunkhash] tests again
added support for [chunkhash] with target node
2014-11-02 12:48:15 +01:00
Jason Anderson c84bd70b76 Fixes issue with hash length and loading external chunks
If the length option on a hash was being used for a file path template
(e.g. '[hash:8].js'), the file would be outputted with the correct name,
but the reference inside require.ensure would not work, because the length
truncation would operate on more than just the hash, and would truncate
some of the characters added to pad the hash value.

Fix is to implement the `hashWithLength` function where this is a problem.
This doesn't feel like a proper solution, as it adds some redundancies
in a few places, but it's only in the chunk loading blocks that this matters,
so it's small in scope.
2014-10-28 11:51:18 +01:00
Jason Anderson f371945a29 Add TemplatedPathPlugin 2014-09-11 15:31:08 +02:00
Tobias Koppers bf70c88399 throw on missing node.js module
fixes #411
2014-08-21 14:43:34 +02:00
Kurt Harriger bdae82a290 Replace ad-hoc identifier cleansing with helper function
Generalized identifier cleansing to replace invalid (and unicode)
characters with underscores to ensure a valid function name.

Applied function in other places functions were generated based on
libarary name.
2014-08-04 08:25:33 -06:00
Tobias Koppers 03c87c11a4 support [name] in chunkFilename
fixes #358
2014-07-17 01:52:41 +02:00
Tobias Koppers 572ebfcd51 use correct (relative) url to source map 2014-07-16 20:57:10 +02:00
Tobias Koppers d80cdcefac Code Quality 2014-06-24 18:53:32 +02:00
Tobias Koppers 5264f69ddf refactored HotChunkUpdateTemplate to plugin interface 2014-06-03 00:14:46 +02:00
Tobias Koppers a0394a061b refactored ChunkTemplate with plugin interface 2014-06-02 23:40:50 +02:00
Tobias Koppers 3247725ba3 refactored MainTemplate to plugin interface 2014-06-02 21:23:53 +02:00
Tobias Koppers bea08dc1a2 added node-webkit target (experimental)
added option to provide no target
added defaults for node-webkit
allow browsertests to run in node-webkit
2014-04-09 09:12:04 +02:00
Tobias Koppers 3364a26967 upgrade node browser replacements 2014-03-18 22:34:35 +01:00
Tobias Koppers 9a3e3443fa use externals plugin for node target 2014-03-05 19:56:53 +01:00
Tobias Koppers 0fea43b4cb rename generated require to __webpack_require__
fixes #141
fixes RubenVerborgh/N3.js#18
2014-03-03 14:56:17 +01:00
Tobias Koppers 81203a3a1c added node.js HMR,
fixed #137: exports correct require properties on hotRequire too
added more test combinations
2013-12-17 00:56:43 +01:00
Tobias Koppers 9b4c5d5fc1 fixed onError 2013-12-16 00:54:56 +01:00
Tobias Koppers b0f5575c57 added async chunk loading for node.js build 2013-12-15 23:08:11 +01:00
Tobias Koppers 8851427ea2 use chunk ids in entry chunks too
this fixes a unnecessary download in mutli-entry compilations
2013-12-11 08:41:43 +01:00
Tobias Koppers e4bbcc53a5 wait at least to the next second #122 2013-11-26 16:19:06 +01:00
Tobias Koppers cff436e829 global should work in strict mode to #102 2013-10-01 10:17:04 +02:00
Tobias Koppers 7b3d01892f global is not this #102 2013-10-01 10:11:56 +02:00
Tobias Koppers c30f16f439 added experimental deduplication support #47 2013-06-12 16:16:06 +02:00