Commit Graph

196 Commits

Author SHA1 Message Date
Florent Cailhol 10490c947d Remove unused methods 2018-01-04 13:55:26 +01:00
Florent Cailhol 5e616ec8de Make enter calls static 2018-01-03 22:53:37 +01:00
Florent Cailhol 71f5abf7ae Remove forEach closures to reduce GC 2018-01-03 22:44:17 +01:00
Tobias Koppers 8a38c4bd34 add support for empty catch clause
fixes #6220
2018-01-01 10:49:19 +01:00
Tobias Koppers 8a79c213e7 fix support for patterns in for in/of statements
add test case
2018-01-01 10:48:56 +01:00
Florent Cailhol 48b412453c Make walk/prewalk calls static 2017-12-31 18:09:26 +01:00
Florent Cailhol 9669c9e013 Use Parser#hooks instead of Tapable#plugin 2017-12-21 09:08:10 +01:00
Cody Ogden f5b57f4764 Extract TrackingSet class from the Parser.js module.
@TheLarkInn suggested this class be extracted from this file during the live stream tonight. A similar class was removed and placed in the  directory.
- Created
2017-12-20 01:37:49 -06:00
Tobias Koppers 758f1eb464 Merge branch 'master' into next 2017-12-12 14:45:09 +01:00
Florent Cailhol da08376fd9 Evaluate bitwise and exponential operations 2017-12-05 17:16:45 +01:00
Tobias Koppers 85951d33be Merge branch 'master' into next 2017-12-05 09:03:45 +01:00
Nikhil Gaba 5ab6972634 Improve Parser to recognize 'new Foo(...)' type expressions 2017-12-01 16:43:39 -08:00
Tobias Koppers dffedccc75 reduce memory usage 2017-11-29 12:08:52 +01:00
Tobias Koppers c10da6c285 upgrade tapable from Parser 2017-11-28 10:25:48 +01:00
Tobias Koppers 5a4f0aca67 change imports of tapable to old version
prepare to migrate to new tapable version
2017-11-27 20:56:42 +01:00
Tobias Koppers 75f68a2635 fixes linting, remove not needed context arguments 2017-11-08 20:49:41 +01:00
Tobias Koppers f7c2f8e470 Update code style to arrow functions 2017-11-08 11:56:01 +01:00
Tobias Koppers 9e42dd6c4a allow to pass AST directly to webpack 2017-11-03 11:12:45 +01:00
Tobias Koppers 6a6cd57b26 Merge branch 'next' into import-context-filter 2017-10-16 13:55:54 +02:00
Landon Crapo bc6c1be90c refactoring filter to include and other requested changes 2017-10-13 15:41:44 -06:00
Tobias Koppers 65dfc15807 Merge branch 'master' into next
# Conflicts:
#	test/statsCases/external/expected.txt
2017-09-22 19:52:31 +02:00
Logan Smyth 087b85a3b1 Support evaluating .concat on strings. 2017-09-14 16:12:43 -07:00
Logan Smyth 9f2639a9bb Fix incorrect nesting of template literal eval plugins. 2017-09-14 10:02:34 -07:00
Tobias Koppers 66385458a6 use marker objects to support any value in StackedSetMap 2017-08-11 16:38:17 +02:00
Tobias Koppers 25805470c1 move StackedSetMap into separate file 2017-08-11 12:30:33 +02:00
Tobias Koppers 25b73bbcf6 bugfixes and test fixes 2017-08-11 12:28:04 +02:00
Tobias Koppers 2d9252c838 use more performant plugin methods 2017-08-11 12:28:04 +02:00
Tobias Koppers d9e01d4a5f use more efficient data structures
Parser.definitions and Parser.renames are using Maps now
2017-08-11 12:23:58 +02:00
Adam Thomann 15f4894ebe Convert bind(this) to arrow functions 2017-08-11 01:52:25 -04:00
Tobias Koppers 991b360c90 fix useless-escape linting issues 2017-07-24 11:54:06 +02:00
Tobias Koppers b9adfaaf76 rewrite code which uses unshift to push 2017-07-18 20:46:59 +02:00
Zhibin Liu 12a1352661 [Parser] rename `this` in `.call(this)` 2017-07-12 00:12:15 +08:00
Tobias Koppers 9ff3c7a6f6 Merge pull request #5076 from ljqx/parser-support-rename-this-for-iife
[Parser] Support rename this's property for IIFE
2017-07-01 17:44:31 +02:00
Remi Liu cc2df2f978 add test 2017-06-23 11:03:34 +08:00
Tobias Koppers 8e4c8423b5 accept truthy/falsy value for not
fix #5100
2017-06-20 15:58:24 +02:00
Remi Liu 9bff9ac107 [Parser] Support rename this's property for IIFE 2017-06-16 19:40:53 +08:00
Tobias Koppers d967a4623c add `module.strictThisContextOnImports` option
to allow spec-comforming behavior this context on
called imported harmony functions
2017-05-21 09:23:35 +02:00
Tobias Koppers 4a25a17bb6 improvements from review 2017-05-21 09:15:42 +02:00
Tobias Koppers cd6d08685b fix missing pattern walk 2017-05-21 08:16:32 +02:00
Tobias Koppers 231a6383e2 fix parsing issue with patterns 2017-05-21 08:10:22 +02:00
Tobias Koppers 272c105f5c support destructing on assignment
fixes #4870
2017-05-21 08:10:13 +02:00
Tobias Koppers 619cf318ec prewalk a function declaration
fixes #4709
2017-04-14 15:23:27 +02:00
Tobias Koppers e78745221e Merge pull request #4700 from webpack/bug/future-var-declaration
add parser prewalking to capture scope
2017-04-13 15:23:48 +02:00
Tobias Koppers 52f2daf89f add test cases and fix a bug 2017-04-13 14:52:49 +02:00
Tobias Koppers 3afe67d6fb add parser prewalking to capture scope
fixes #4608
2017-04-13 09:05:29 +02:00
Tobias Koppers ba3688a4ed fixes misstake while es6 refactoring, add support for other variable declarations 2017-04-12 11:21:40 +02:00
Tobias Koppers fbd0911961 Merge branch 'master' into feature/import-chunk-name 2017-04-10 13:53:16 +02:00
Tobias Koppers 22d3f8b96c remove duplicate newline 2017-04-10 12:45:17 +02:00
Tobias Koppers 51369d4e24 Merge branch 'refactor-parser' into refactor-parser-2
# Conflicts:
#	lib/Parser.js
2017-04-10 12:24:00 +02:00
Sergey Melyukov 90f345a7a8 ES6-ify of Parser 2017-04-10 11:59:28 +02:00
Tim Sebastian 99c3129f5e refactor parser to be a class 2017-04-10 11:56:00 +02:00
Tobias Koppers 180f5e541c refactor to simpler way of extracting options from comments 2017-04-10 11:36:39 +02:00
Marijn Haverbeke ab96bddbcc Upgrade to Acorn 5.0.0 2017-03-28 14:18:59 +02:00
Tobias Koppers 21aa837eb2 walk variable patterns for parsed stuff
fixes #4357
2017-02-23 23:06:05 +01:00
Tobias Koppers f91cb927be Merge pull request #4075 from webpack/feature/optimize_parse_for_each_to_loop
feat(parser) optimize parse for each to loop
2017-02-15 15:02:28 +01:00
Sean Larkin cf459052b4 fix semantic error 2017-01-27 11:17:27 -06:00
Tom910 588976d5e9 Deleting cache length size to loop 2017-01-24 22:39:38 +03:00
Sean Larkin 05fbec8eb2 feat(benchmark): add benchmarkCase for AST 2017-01-24 10:20:20 -06:00
Tom910 48866368cb Refactoring and optimize Parse.js 2017-01-23 21:51:59 +03:00
Sean Larkin 91b3b4608c
fix lint error 2017-01-21 12:12:54 -06:00
Sean Larkin 5e99e78ebb
converted additional forEach statements 2017-01-21 11:47:43 -06:00
Sean Larkin ab36859df7
feat(parser): increase parse optimization by switching forEach to for 2017-01-21 11:36:14 -06:00
Tobias Koppers a44694aa4e hoist exports declarations too
fixes #3972
2017-01-16 15:45:15 +01:00
Tobias Koppers 8e69a80847 code linting 2017-01-11 12:29:01 +01:00
Tobias Koppers 6ae2b07012 make harmony order stable 2017-01-09 00:50:32 +01: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
Tobias Koppers da29d21ae4 performance improvements
breaking change: Module has now a "unbuild" method that must work correctly
2016-12-14 16:22:16 +01:00
Tobias Koppers 73acc3b8af beautify missing files 2016-12-06 19:40:10 +01:00
Tobias Koppers 11eefd5841 added import(), fixes #3098 2016-12-03 11:50:44 +01:00
Diogo Franco (Kovensky) c1766122c0 Add descriptions for valid JSDoc 2016-11-21 23:38:56 +09:00
Diogo Franco (Kovensky) de44175cdd Refactor Parser additions 2016-11-21 08:37:22 +09:00
Diogo Franco (Kovensky) ebd6af2cdb Support basic template string simplification 2016-11-21 08:37:22 +09:00
Diogo Franco (Kovensky) 268f6b9bcf Pretend template is a string if it resolves to a constant 2016-11-21 08:37:22 +09:00
Diogo Franco (Kovensky) 5be77b3b33 Inline the TemplateElement evaluations 2016-11-21 08:37:22 +09:00
Diogo Franco (Kovensky) da5c735b56 Add implementation 2016-11-21 08:37:22 +09:00
Tobias Koppers aefe8d67a3 support desctruction for variable declaration
fixes #3273
2016-11-14 00:23:50 +01:00
zhaoshengjun 67b2f59ce5 chore(): Refactor code and fix test filter 2016-11-09 22:20:12 +10:00
zhaoshengjun 3ca9718ec4 add testing file 2016-11-09 13:31:21 +10:00
zhaoshengjun 4eff59777e fix(defaultAssign): fix default argument assignment(#3252) 2016-11-09 11:25:18 +10:00
Diogo Franco (Kovensky) 996a4b660b Fix issue #3238 2016-11-08 10:40:34 +09:00
Diogo Franco (Kovensky) fc8b1d348d Add async/await support to Parser 2016-10-31 10:48:33 +09:00
Tobias Koppers 25cab58eb3 fixed some standard linting issues 2016-09-20 00:19:39 +02:00
Bazyli Brzóska fe0c8cafb3 Keep the parsed comments along with the AST (#2905)
When plugging into the 'program' hook of the Parser, comments are preserved and passed as the second parameter, after the AST. 
This allows external plugins to make use of the comments contained within the files without re-parsing each file.
2016-09-08 20:52:53 +02:00
Tobias Koppers 78307a937f allow to display used exports
support Tree Shaking with import *
fixes #2713
2016-06-29 01:17:59 +02:00
Tobias Koppers cf00a1a22d rewrite cases where js beautify and eslint disagree on formatting 2016-06-20 21:46:27 +02:00
Simen Bekkhus b1bdd6989f Use eslint's indent rule 2016-06-20 08:21:00 +02:00
Tobias Koppers f6efe19d06 added support for default arguments
fixes #2622
2016-06-16 01:05:17 +02:00
Tobias Koppers 64972f2f2d hoist imports
fixes #2528
2016-06-16 01:05:17 +02:00
Tobias Koppers f4ba0d0f0a support for importing into object shothand
fixed #2522
2016-06-04 15:22:47 +02:00
Tobias Koppers 2edd1ad5eb support exporting classes
fixed #2523
2016-06-04 15:06:10 +02:00
Tobias Koppers f18d736a17 warn for errors while evaluating but ignore them 2016-06-04 14:19:55 +02:00
Tobias Koppers 7af71d4a69 allow a['b'] instead of a.b
fixed #2228
2016-06-04 12:06:10 +02:00
Tobias Koppers 4f74648d56 also try to parse the module as script
this should allow with() in a weird module
2016-02-13 10:53:31 +01:00
Tobias Koppers f5f4d2b791 Performance 2016-01-20 21:41:42 +01:00
Kenny Tran eebc5ceaf6 Fix no-redeclare in code 2016-01-18 18:57:42 -08:00
Tobias Koppers 91621a7c4b hoist exports, more efficent for immutable declarations 2015-10-31 14:43:44 +01:00
Tobias Koppers 0c110b4ac7 added es6 stuff to the parser
fixes #1490
2015-10-21 18:14:47 +02:00
Tobias Koppers 7cbd78c1da Merge branch 'master' into webpack-2
Conflicts:
	.travis.yml
	bin/config-optimist.js
	test/statsCases/define-plugin/expected.txt
2015-09-19 20:11:48 +02:00
Ahmet Katrancı 8ff6cb5fed Report constructor correctly when inheriting from Tapable 2015-08-18 12:35:57 +01: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