Site-kit-wp: Missing translator comments for strings containing placeholders

Created on 8 Nov 2019  Β·  9Comments  Β·  Source: google/site-kit-wp

Bug Description

There are quite a few strings without associated translator comments.
Also, there is one string without numbered placeholders.

Ideally, there should be zero such warnings.

Warning: The string "Data error in %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:1)
Warning: The string "%s Gathering Data" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:2)
Warning: The string "%s data is not yet available, please check back later." contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:3)
Warning: The string "Number of new users to visit your page over %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:5)
Warning: The string "Number of sessions users had on your website over %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:5)
Warning: The string "%s activation" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:6)
Warning: The string "%s module needs to be configured" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:7)
Warning: The string "An existing analytics tag was found on your site with the id %s. If later on you decide to replace this tag, Site Kit can place the new tag for you. Make sure you remove the old tag first." contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Audience overview for the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Top content over the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Top acquisition sources over the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Search Traffic Summary for %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Overview for the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Top search queries over the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:11)
Warning: The string "Setup Analytics to gain access to %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "Set up %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "By disconnecting the %s module from Site Kit, you will no longer have access to:" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "%s is connected" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "%s is not connected" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "Disconnect %s from Site Kit" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "See full details in %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "Disconnect %s from Site Kit?" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "these active modules depend on %s and will also be disconnected: " contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "%d result found, use up and down arrow keys to navigate." contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/externals/components.js:21)
Warning: The string "Color code: %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/externals/components.js:21)
Warning: The string "Color: %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/externals/components.js:21)
Warning: The string "%1$s (%2$s of %3$s)" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/externals/components.js:21)
Warning: Multiple placeholders should be ordered. (assets/js/chunk-googlesitekit-setup-wizard.js:3)
Warning: The string "Enable %s to start setup" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/commons.js:1)
Warning: The string "Congrats on completing the setup for %s!" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/commons.js:1)
Warning: The string "%d notification" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/commons.js:1)

Steps to reproduce

  1. Run php -d memory_limit=512M "$(which wp)" i18n make-pot dist --ignore-domain google-site-kit.pot
  2. See warnings

Additional Context

  • Plugin Version: 1.0.2 / current develop

_Do not alter or remove anything below. The following sections will be managed by moderators only._

Acceptance criteria

  • There should be no translation strings that need translator comments but don't have them.
  • Following the fixes, the PR for this should make this ESLint rule cause an error instead of just a warning, so that we ensure this remains correct in the future.

Implementation Brief

  • Upgrade @wordpress/eslint-plugin to ^5.0.1
  • Merge this configuration for the new text domain rule in .eslintrc.json into the rules object:
    json { "@wordpress/i18n-text-domain": ["error", { "allowedTextDomain": "google-site-kit" }] }
  • Run npm run lint:js
  • Fix all linting errors

Changelog entry

  • Add missing translator comments to ease plugin localization for contributors.
Good First Issue P2 Bug

Most helpful comment

@tofumatt FYI version 5.0.1 of the @wordpress/eslint-plugin is now avaialble πŸŽ‰

The i18n ruleset is already included in the currently used @wordpress/eslint-plugin/recommended-with-formatting ruleset, so there shouldn't be much to do besides updating the package (and fixing issues).

One thing:

The @wordpress/i18n-text-domain rules one needs a config like so:

{
    "@wordpress/i18n-text-domain": ["error", {
        "allowedTextDomain":  "google-site-kit"
    }]
}

All 9 comments

FYI I am working on this in https://github.com/WordPress/gutenberg/pull/20574 so these issues can be caught automatically.

Try as I might, I can't get wp i18n make-pot dist --ignore-domain google-site-kit.pot to run using https://10up.github.io/wp-local-docker-docs/. I get this trace:

Fatal error: Uncaught Error: Maximum function nesting level of '256' reached, aborting! in phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Scanner.php on line 981

Error: Maximum function nesting level of '256' reached, aborting! in phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Scanner.php on line 981

Call Stack:
    0.0105     389808   1. {main}() /usr/local/bin/wp:0
    0.0300    1015240   2. include('phar:///usr/local/bin/wp/php/boot-phar.php') /usr/local/bin/wp:4
    0.0302    1025920   3. include('phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/wp-cli.php') phar:///usr/local/bin/wp/php/boot-phar.php:11
    0.0304    1051160   4. WP_CLI\bootstrap() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/wp-cli.php:27
    0.2095    8836784   5. WP_CLI\Bootstrap\LaunchRunner->process() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/bootstrap.php:74
    0.2095    8836824   6. WP_CLI\Runner->start() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php:23
    0.2106    8836952   7. WP_CLI\Runner->do_early_invoke() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:1074
    0.2109    8838080   8. WP_CLI\Runner->run_command_and_exit() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:87
    0.2111    8838080   9. WP_CLI\Runner->run_command() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:394
    0.2113    8839256  10. WP_CLI\Dispatcher\Subcommand->invoke() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:371
    0.2290    9303312  11. call_user_func:{phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php:451}() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php:451
    0.2290    9303312  12. WP_CLI\Dispatcher\CommandFactory::WP_CLI\Dispatcher\{closure}() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php:451
    0.2290    9304384  13. call_user_func:{phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php:98}() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php:98
    0.2290    9304384  14. WP_CLI\I18n\MakePotCommand->__invoke() phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php:98
    0.2446    9358616  15. WP_CLI\I18n\MakePotCommand->extract_strings() phar:///usr/local/bin/wp/vendor/wp-cli/i18n-command/src/MakePotCommand.php:234
    0.4392    9833032  16. WP_CLI\I18n\JsCodeExtractor::fromDirectory() phar:///usr/local/bin/wp/vendor/wp-cli/i18n-command/src/MakePotCommand.php:576
    0.6360    9839376  17. WP_CLI\I18n\JsCodeExtractor::fromFile() phar:///usr/local/bin/wp/vendor/wp-cli/i18n-command/src/IterableCodeExtractor.php:88
    1.3575   11916528  18. WP_CLI\I18n\JsCodeExtractor::fromString() phar:///usr/local/bin/wp/vendor/wp-cli/i18n-command/src/IterableCodeExtractor.php:59
    1.3576   11917000  19. WP_CLI\I18n\JsFunctionsScanner->saveGettextFunctions() phar:///usr/local/bin/wp/vendor/wp-cli/i18n-command/src/JsCodeExtractor.php:34
    1.4297   38156608  20. Peast\Syntax\ES2019\Parser->parse() phar:///usr/local/bin/wp/vendor/wp-cli/i18n-command/src/JsFunctionsScanner.php:49
    1.4297   38156608  21. Peast\Syntax\ES2019\Parser->parseModuleItemList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:170
    1.4297   38156608  22. Peast\Syntax\ES2019\Parser->parseModuleItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:443
    1.4299   38156976  23. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1793
    1.4304   38157384  24. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    1.4306   38157384  25. Peast\Syntax\ES2019\Parser->parseExpressionStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:371
    1.4307   38157384  26. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:929
    1.4307   38158176  27. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.4307   38158184  28. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.4307   38158184  29. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    1.4307   38158560  30. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    1.4307   38158568  31. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    1.4308   38158568  32. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    1.4308   38158568  33. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    1.4309   38158568  34. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    1.4313   38158472  35. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:129
    1.4313   38158472  36. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    1.4313   38158472  37. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    1.8883   38767200  38. Peast\Syntax\ES2019\Parser->parseArguments() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2940
    1.8885   38766928  39. Peast\Syntax\ES2019\Parser->parseArgumentList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3080
    1.8887   38767296  40. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:72
    1.8887   38768088  41. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8887   38768096  42. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8891   38768464  43. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    1.8891   38768464  44. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    1.8891   38768464  45. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    1.8891   38768464  46. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    1.8891   38768464  47. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    1.8891   38768464  48. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    1.8892   38768464  49. Peast\Syntax\ES2019\Parser->parseArrayLiteral() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3186
    1.8898   38768880  50. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3048
    1.8898   38769672  51. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8898   38769680  52. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8900   38770048  53. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    1.8900   38770048  54. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    1.8900   38770048  55. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    1.8900   38770048  56. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    1.8900   38770048  57. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    1.8901   38770048  58. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    1.8902   38770048  59. Peast\Syntax\ES2019\Parser->parseFunctionOrGeneratorExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3190
    1.8926   38773880  60. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2018/Parser.php:226
    1.8926   38774672  61. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8926   38774680  62. Peast\Syntax\ES2019\Parser->parseFunctionBody() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8926   38774680  63. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1462
    1.8926   38775472  64. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8926   38775488  65. Peast\Syntax\ES2019\Parser->parseStatementList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8938   38779408  66. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:311
    1.8943   38779816  67. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    1.8945   38779816  68. Peast\Syntax\ES2019\Parser->parseExpressionStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:371
    1.8945   38779816  69. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:929
    1.8946   38780608  70. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8946   38780616  71. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8946   38780616  72. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    1.8946   38780992  73. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    1.8946   38781000  74. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    1.8950   38781000  75. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    1.8950   38781000  76. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    1.8950   38781000  77. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    1.8950   38781000  78. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    1.8950   38781000  79. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    1.8950   38781000  80. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    1.8953   38781000  81. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3207
    1.8953   38781792  82. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8953   38781800  83. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8953   38781800  84. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    1.8953   38782176  85. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    1.8953   38782184  86. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    1.8955   38782552  87. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    1.8955   38782552  88. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    1.8955   38782552  89. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    1.8955   38782552  90. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    1.8955   38782552  91. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    1.8955   38782552  92. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    1.8956   38782552  93. Peast\Syntax\ES2019\Parser->parseFunctionOrGeneratorExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3190
    1.8967   38784112  94. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2018/Parser.php:226
    1.8967   38784904  95. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8967   38784912  96. Peast\Syntax\ES2019\Parser->parseFunctionBody() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8967   38784912  97. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1462
    1.8968   38785704  98. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    1.8968   38785720  99. Peast\Syntax\ES2019\Parser->parseStatementList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    2.4682   39525280 100. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:311
    2.4687   39526048 101. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    2.4687   39526048 102. Peast\Syntax\ES2019\Parser->parseVariableStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:347
    2.4688   39526048 103. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1679
    2.4688   39526840 104. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    2.4688   39526848 105. Peast\Syntax\ES2019\Parser->parseVariableDeclarationList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    2.4688   39526848 106. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1702
    3.3013   40774376 107. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3013   40774384 108. Peast\Syntax\ES2019\Parser->parseVariableDeclaration() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3018   40775712 109. Peast\Syntax\ES2019\Parser->parseInitializer() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1717
    3.3021   40775808 110. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2573
    3.3028   40776584 111. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3028   40776584 112. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3028   40776584 113. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3028   40776584 114. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3028   40776584 115. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3029   40776584 116. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    3.3030   40776584 117. Peast\Syntax\ES2019\Parser->parseFunctionOrGeneratorExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3190
    3.3042   40778048 118. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2018/Parser.php:226
    3.3042   40778840 119. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3042   40778848 120. Peast\Syntax\ES2019\Parser->parseFunctionBody() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3042   40778848 121. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1462
    3.3042   40779640 122. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3042   40779656 123. Peast\Syntax\ES2019\Parser->parseStatementList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3079   40788712 124. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:311
    3.3085   40789480 125. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    3.3086   40789480 126. Peast\Syntax\ES2019\Parser->parseReturnStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:359
    3.3088   40789720 127. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:677
    3.3088   40790512 128. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3088   40790520 129. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3088   40790520 130. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    3.3088   40790896 131. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3088   40790904 132. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3091   40791272 133. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3091   40791272 134. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3091   40791272 135. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3091   40791272 136. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3091   40791272 137. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3106   40795616 138. Peast\Syntax\ES2019\Parser->parseArguments() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2940
    3.3106   40795344 139. Peast\Syntax\ES2019\Parser->parseArgumentList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3080
    3.3107   40795712 140. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:72
    3.3108   40796504 141. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3108   40796512 142. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3117   40796920 143. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3117   40796920 144. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3117   40796920 145. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3117   40796920 146. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3117   40796920 147. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3118   40796920 148. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    3.3121   40796824 149. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3207
    3.3121   40797616 150. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3121   40797624 151. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3121   40797624 152. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    3.3121   40798000 153. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3121   40798008 154. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3123   40798376 155. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3123   40798376 156. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3123   40798376 157. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3123   40798376 158. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3123   40798376 159. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3124   40798376 160. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    3.3124   40798376 161. Peast\Syntax\ES2019\Parser->parseFunctionOrGeneratorExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3190
    3.3136   40799936 162. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2018/Parser.php:226
    3.3136   40800728 163. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3136   40800736 164. Peast\Syntax\ES2019\Parser->parseFunctionBody() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3136   40800736 165. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1462
    3.3136   40801528 166. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3136   40801544 167. Peast\Syntax\ES2019\Parser->parseStatementList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3138   40801944 168. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:311
    3.3141   40802312 169. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    3.3142   40802312 170. Peast\Syntax\ES2019\Parser->parseBreakableStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:353
    3.3142   40802312 171. Peast\Syntax\ES2019\Parser->parseIterationStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:405
    3.3146   40802776 172. Peast\Syntax\ES2019\Parser->parseForNotVarLetConstStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2018/Parser.php:396
    3.3167   40804344 173. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1210
    3.3167   40804344 174. Peast\Syntax\ES2019\Parser->parseBreakableStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:353
    3.3168   40804344 175. Peast\Syntax\ES2019\Parser->parseSwitchStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:407
    3.3209   40809960 176. Peast\Syntax\ES2019\Parser->parseCaseBlock() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:796
    3.3212   40809960 177. Peast\Syntax\ES2019\Parser->parseCaseClauses() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:820
    3.3567   40861024 178. Peast\Syntax\ES2019\Parser->parseCaseClause() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:856
    3.3578   40862240 179. Peast\Syntax\ES2019\Parser->parseStatementList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:880
    3.3753   40894984 180. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:311
    3.3756   40895352 181. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    3.3757   40895352 182. Peast\Syntax\ES2019\Parser->parseReturnStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:359
    3.3758   40895592 183. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:677
    3.3758   40896384 184. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3758   40896392 185. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3758   40896392 186. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    3.3785   40901064 187. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3785   40901072 188. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3790   40901808 189. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3790   40901808 190. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3790   40901808 191. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3790   40901808 192. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3790   40901808 193. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3806   40906056 194. Peast\Syntax\ES2019\Parser->parseArguments() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2940
    3.3807   40905784 195. Peast\Syntax\ES2019\Parser->parseArgumentList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3080
    3.3809   40906184 196. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:72
    3.3809   40906976 197. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3810   40906984 198. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3813   40907352 199. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3813   40907352 200. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3813   40907352 201. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3813   40907352 202. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3813   40907352 203. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3885   40919560 204. Peast\Syntax\ES2019\Parser->parseArguments() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2940
    3.3886   40919288 205. Peast\Syntax\ES2019\Parser->parseArgumentList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3080
    3.3889   40919656 206. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:72
    3.3889   40920448 207. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3889   40920456 208. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3896   40920864 209. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3896   40920864 210. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3896   40920864 211. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3896   40920864 212. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3896   40920864 213. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3896   40920864 214. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    3.3898   40920768 215. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3207
    3.3899   40921560 216. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3899   40921568 217. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3899   40921568 218. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    3.3899   40921944 219. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3899   40921952 220. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3901   40922320 221. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3901   40922320 222. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3901   40922320 223. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3902   40922320 224. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3902   40922320 225. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3902   40922320 226. Peast\Syntax\ES2019\Parser->parsePrimaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2897
    3.3903   40922320 227. Peast\Syntax\ES2019\Parser->parseFunctionOrGeneratorExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3190
    3.3914   40923880 228. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2018/Parser.php:226
    3.3914   40924672 229. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3914   40924680 230. Peast\Syntax\ES2019\Parser->parseFunctionBody() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3914   40924680 231. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:1462
    3.3914   40925472 232. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3914   40925488 233. Peast\Syntax\ES2019\Parser->parseStatementList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3916   40925888 234. Peast\Syntax\ES2019\Parser->parseStatementListItem() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:311
    3.3919   40926256 235. Peast\Syntax\ES2019\Parser->parseStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:332
    3.3922   40926256 236. Peast\Syntax\ES2019\Parser->parseReturnStatement() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:359
    3.3923   40926496 237. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:677
    3.3923   40927288 238. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3923   40927296 239. Peast\Syntax\ES2019\Parser->parseExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3923   40927296 240. Peast\Syntax\ES2019\Parser->charSeparatedListOf() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2661
    3.3923   40927672 241. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3923   40927680 242. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:330
    3.3926   40928048 243. Peast\Syntax\ES2019\Parser->parseConditionalExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2685
    3.3926   40928048 244. Peast\Syntax\ES2019\Parser->parseLogicalBinaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2723
    3.3926   40928048 245. Peast\Syntax\ES2019\Parser->parseUnaryExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2761
    3.3926   40928048 246. Peast\Syntax\ES2019\Parser->parsePostfixExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:126
    3.3926   40928048 247. Peast\Syntax\ES2019\Parser->parseLeftHandSideExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2845
    3.3936   40930832 248. Peast\Syntax\ES2019\Parser->parseArguments() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2940
    3.3936   40930560 249. Peast\Syntax\ES2019\Parser->parseArgumentList() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:3080
    3.3938   40930928 250. Peast\Syntax\ES2019\Parser->isolateContext() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:72
    3.3938   40931720 251. call_user_func_array:{phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192}() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3938   40931728 252. Peast\Syntax\ES2019\Parser->parseAssignmentExpression() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Parser.php:192
    3.3938   40931728 253. Peast\Syntax\ES2019\Parser->parseArrowFunction() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2015/Parser.php:2681
    3.3938   40931728 254. Peast\Syntax\ES2019\Scanner->getState() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/ES2017/Parser.php:478
    3.3938   40931728 255. Peast\Syntax\ES2019\Scanner->getNextToken() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Scanner.php:432
    3.3938   40931728 256. Peast\Syntax\ES2019\Scanner->getToken() phar:///usr/local/bin/wp/vendor/mck89/peast/lib/Peast/Syntax/Scanner.php:690

Latest develop, recent WP version with all composer dependencies installed, etc.

So I was about to write an IB hereβ€”as the fix seems mostly straightforward: update our ESLint rules to use a new version with the fix mentioned and correct all failing lint warnings. But I think it would help if you could confirm these issues are still present, as I also saw no eslint warnings about translator comments running npm run lint:js.

@tofumatt disabling xdebug helps πŸ™‚

update our ESLint rules to use a new version with the fix mentioned and correct all failing lint warnings.

Correct.

But I think it would help if you could confirm these issues are still present, as I also saw no eslint warnings about translator comments running npm run lint:js.

Pretty sure they are still existent. Note that the new version of the ESLint plugin hasn't been published yet (likely happens this week). Once that is released, this becomes super easy.

Current WP-CLI output:

Warning: The string "%d notification" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:1)
Warning: The string "Data error in %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:1)
Warning: The string "%s Gathering Data" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:2)
Warning: The string "%s data is not yet available, please check back later." contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:3)
Warning: The string "Number of new users to visit your page over %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:5)
Warning: The string "Number of sessions users had on your website over %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:5)
Warning: The string "%s activation" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:6)
Warning: The string "%s module needs to be configured" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:7)
Warning: The string "An existing analytics tag was found on your site with the id %s. If later on you decide to replace this tag, Site Kit can place the new tag for you. Make sure you remove the old tag first." contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: The string "Audience overview for the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: The string "Top content over the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: The string "Top acquisition sources over the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: The string "Search Traffic Summary for %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: The string "Overview for the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: The string "Top search queries over the last %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/allmodules.js:12)
Warning: Multiple placeholders should be ordered. (assets/js/chunk-googlesitekit-setup-wizard-26fbf2869cb3fe82733c.js:3)
Warning: The string "Enable %s to start setup" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-activation.js:1)
Warning: The string "Congrats on completing the setup for %s!" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-activation.js:1)
Warning: The string "Setup Analytics to gain access to %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "Set up %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "By disconnecting the %s module from Site Kit, you will no longer have access to:" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "%s is connected" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "%s is not connected" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "Disconnect %s from Site Kit" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "See full details in %s" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "Disconnect %s from Site Kit?" contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)
Warning: The string "these active modules depend on %s and will also be disconnected: " contains placeholders but has no "translators:" comment to clarify their meaning. (assets/js/googlesitekit-settings.js:1)

So yes, still relevant.

Let's just wait for the ESLint plugin release to fix this πŸ™‚

Oops, sorry, I am quite rusty with PHP and the implications of XDebug. Thanks! πŸ˜…

Sounds good, thanks for the reply πŸ™‚. Once that's out we can revisit this, I like "easy" πŸ˜„ πŸ‘

@tofumatt FYI version 5.0.1 of the @wordpress/eslint-plugin is now avaialble πŸŽ‰

The i18n ruleset is already included in the currently used @wordpress/eslint-plugin/recommended-with-formatting ruleset, so there shouldn't be much to do besides updating the package (and fixing issues).

One thing:

The @wordpress/i18n-text-domain rules one needs a config like so:

{
    "@wordpress/i18n-text-domain": ["error", {
        "allowedTextDomain":  "google-site-kit"
    }]
}

IB βœ…

@aaemnnosttv Needs estimate.

Tested:

  • Running npm run lint:js does not produce any translator comment errors
  • Removing one triggered the following linting error Translation function with placeholders is missing preceding translator comment

QA βœ…

Was this page helpful?
0 / 5 - 0 ratings