--- repo root ---
/workspace/wp-calypso

--- top files ---
total 964
drwxr-sr-x   14 openhands openhands   4096 Apr 28 17:17 .
drwxrwsr-x    6 root      openhands   4096 Apr 28 17:17 ..
-rw-r--r--    1 openhands openhands   1706 Apr 28 17:17 .babelrc.js
drwxr-sr-x    2 openhands openhands   4096 Apr 28 17:17 .circleci
-rw-r--r--    1 openhands openhands    500 Apr 28 17:17 .dockerignore
-rw-r--r--    1 openhands openhands    344 Apr 28 17:17 .editorconfig
-rw-r--r--    1 openhands openhands    356 Apr 28 17:17 .eslines.json
-rw-r--r--    1 openhands openhands    120 Apr 28 17:17 .eslintignore
-rw-r--r--    1 openhands openhands   2318 Apr 28 17:17 .eslintrc.js
drwxr-sr-x    8 openhands openhands   4096 Apr 28 17:17 .git
-rw-r--r--    1 openhands openhands     27 Apr 28 17:17 .gitattributes
drwxr-sr-x    2 openhands openhands   4096 Apr 28 17:17 .github
-rw-r--r--    1 openhands openhands    751 Apr 28 17:17 .gitignore
-rw-r--r--    1 openhands openhands     39 Apr 28 17:17 .npmrc
-rw-r--r--    1 openhands openhands      8 Apr 28 17:17 .nvmrc
-rw-r--r--    1 openhands openhands     17 Apr 28 17:17 .prettierignore
-rw-r--r--    1 openhands openhands     73 Apr 28 17:17 .rtlcssrc
-rw-r--r--    1 openhands openhands   2169 Apr 28 17:17 .stylelintrc
-rw-r--r--    1 openhands openhands   2510 Apr 28 17:17 CODE-OF-CONDUCT.md
-rw-r--r--    1 openhands openhands  75497 Apr 28 17:17 CREDITS.md
-rw-r--r--    1 openhands openhands   1892 Apr 28 17:17 Dockerfile
-rw-r--r--    1 openhands openhands  15174 Apr 28 17:17 LICENSE.md
-rw-r--r--    1 openhands openhands   3170 Apr 28 17:17 README.md
-rw-r--r--    1 openhands openhands    401 Apr 28 17:17 Vagrantfile
-rw-r--r--    1 openhands openhands    847 Apr 28 17:17 Vagrantfile-boot2docker
drwxr-sr-x    3 openhands openhands   4096 Apr 28 17:17 assets
drwxr-sr-x    5 openhands openhands   4096 Apr 28 17:17 bin
-rw-r--r--    1 openhands openhands      3 Apr 28 17:17 cached-requests.json
drwxr-sr-x   29 openhands openhands   4096 Apr 28 17:17 client
drwxr-sr-x    2 openhands openhands   4096 Apr 28 17:17 config
drwxr-sr-x    5 openhands openhands   4096 Apr 28 17:17 docs
-rw-r--r--    1 openhands openhands      0 Apr 28 17:17 env-config.sh
-rw-r--r--    1 openhands openhands   1606 Apr 28 17:17 greenkeeper.json
-rw-r--r--    1 openhands openhands   1559 Apr 28 17:17 index.js
-rw-r--r--    1 openhands openhands   3278 Apr 28 17:17 inline-imports.js
-rw-r--r--    1 openhands openhands    289 Apr 28 17:17 jsconfig.json
drwxr-sr-x 1546 openhands openhands  57344 Apr 28 17:17 node_modules
-rw-r--r--    1 openhands openhands 641293 Apr 28 17:17 npm-shrinkwrap.json
-rw-r--r--    1 openhands openhands  13871 Apr 28 17:17 package.json
-rw-r--r--    1 openhands openhands     97 Apr 28 17:17 postcss.config.json
drwxr-sr-x    6 openhands openhands   4096 Apr 28 17:17 public
drwxr-sr-x   15 openhands openhands   4096 Apr 28 17:17 server
drwxr-sr-x    7 openhands openhands   4096 Apr 28 17:17 test
-rw-r--r--    1 openhands openhands   8242 Apr 28 17:17 webpack.config.js
-rw-r--r--    1 openhands openhands   5154 Apr 28 17:17 webpack.config.node.js

--- package versions ---
v8.11.2
5.6.0

--- search visible error/category/product clues ---
client/me/notification-settings/comment-settings/index.jsx:46:                          translate( 'There was a problem saving your changes. Please, try again.' )
client/me/notification-settings/wpcom-settings/index.jsx:66:                            this.props.translate( 'There was a problem saving your changes. Please, try again.' )
client/me/notification-settings/main.jsx:47:                            this.props.translate( 'There was a problem saving your changes. Please, try again.' )
client/me/purchases/confirm-cancel-domain/index.jsx:127:                                                        'Unable to cancel your purchase. Please try again later or contact support.'
client/me/purchases/cancel-purchase/button.jsx:233:                                                     'Please try again later or contact support.',
client/me/purchases/cancel-privacy-protection/index.jsx:167:                                    { translate( 'Please try again later or {{a}}contact support.{{/a}}', {
client/me/security-2fa-backup-codes/index.jsx:52:                                       'Unable to obtain backup codes.  Please try again later.'
client/me/security-2fa-setup-backup-codes/index.jsx:43:                                 'Unable to obtain backup codes.  Please try again later.'
client/me/profile-links/index.jsx:78:           return translate( 'An unexpected error occurred. Please try again later.' );
client/me/security-2fa-code-prompt/index.jsx:108:                                       'Unable to request a code via SMS right now. Please try again after one minute.'
client/me/security-2fa-code-prompt/index.jsx:137:                               lastError: this.props.translate( 'An unexpected error occurred. Please try again later.' ),
client/me/security-2fa-code-prompt/index.jsx:142:                               lastError: this.props.translate( 'You entered an invalid code. Please try again.' ),
client/me/form-base/index.js:89:                                                notices.error( this.props.translate( 'There was a problem saving your changes.' ) );
client/me/help/help-unverified-warning/index.jsx:49:                                    return this.props.translate( "There's been an error. Please try again later." );
client/me/reauth-required/index.jsx:165:                                text={ this.props.translate( 'You entered an invalid code. Please try again.' ) }
client/me/security-2fa-enable/index.jsx:92:                                     'Unable to request a code via SMS right now. Please try again after one minute.'
client/me/security-2fa-enable/index.jsx:126:                                    'Unable to obtain authorization application setup information. Please try again later.'
client/me/security-2fa-enable/index.jsx:162:                            lastError: this.props.translate( 'An unexpected error occurred. Please try again later.' ),
client/me/security-2fa-enable/index.jsx:167:                            lastError: this.props.translate( 'You entered an invalid code. Please try again.' ),
client/me/security-2fa-sms-settings/index.jsx:160:                      errorMessage = this.props.translate( 'An unknown error occurred. Please try again later.' );
client/me/security-2fa-backup-codes-prompt/index.jsx:70:                                        'Unable to validate codes right now. Please try again later.'
client/me/security-2fa-backup-codes-prompt/index.jsx:78:                                lastError: this.props.translate( 'You entered an invalid code. Please try again.' ),
client/me/account-password/index.jsx:118:                                               translate( 'There was a problem saving your password. Please, try again.' )
client/blocks/reader-import-button/index.jsx:88:                        'Whoops, something went wrong. %(message)s Please try again.',
client/blocks/eligibility-warnings/hold-list.jsx:81:                            'We are setting up a security certificate for your domain now. Please try again in a few minutes.'
client/blocks/inline-help/contextual-help.js:388:                       description: 'Learn how to manage categories, date format, content types, and more.',
client/blocks/inline-help/contextual-help.js:391:                       link: 'http://en.support.wordpress.com/posts/categories-vs-tags/',
client/blocks/inline-help/contextual-help.js:394:                       description: 'Learn the differences between categories and tags.',
client/extensions/wp-super-cache/components/preload/index.jsx:223:                                                              <span>{ translate( 'Preload tags, categories and other taxonomies.' ) }</span>
client/extensions/wp-super-cache/components/wrap-settings-form.jsx:58:                                          this.props.translate( 'There was a problem saving your changes. Please try again.' ),
client/extensions/wp-super-cache/components/wrap-settings-form.jsx:110:                                 translate( 'There was a problem deleting the cache. Please try again.' ),
client/extensions/wp-super-cache/state/stats/actions.js:52:                                             translate( 'There was a problem regenerating the stats. Please try again.' ),
client/extensions/wp-super-cache/state/stats/actions.js:95:                                             translate( 'There was a problem deleting the cached file. Please try again.' ),
client/extensions/wp-super-cache/state/settings/actions.js:142:                                                 'There was a problem restoring the default configuration. Please try again.'
client/extensions/wp-super-cache/state/plugins/actions.js:106:                                          translate( 'There was a problem toggling plugin activation. Please try again.' ),
client/extensions/wp-super-cache/state/cache/actions.js:62:                                     errorNotice( translate( 'There was a problem testing the cache. Please try again.' ), {
client/extensions/wp-super-cache/state/cache/actions.js:141:                                    errorNotice( translate( 'There was a problem preloading the cache. Please try again.' ), {
client/extensions/wp-super-cache/state/cache/actions.js:184:                                            translate( 'There was a problem cancelling the preload. Please try again.' ),
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:120:                                        <FormSection name="categories">
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:126:                                                                onClick={ handleSubmit( this.save( 'categories' ) ) }
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:134:                                                                        text={ translate( 'Enable listing categories' ) }
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:138:                                                                                'This lets users select from a list of categories when submitting a ' +
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:139:                                                                                        'job. Note: an admin has to create categories before site users can select them.'
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:161:                                                                                'Determines the logic used to display jobs when selecting multiple categories.'
client/extensions/wp-job-manager/components/settings/job-listings/index.jsx:172:                                                                                { translate( 'Jobs will be shown if within ALL selected categories' ) }
client/extensions/wp-job-manager/state/data-layer/settings/test/index.js:54:    categories: {
client/extensions/wp-job-manager/state/data-layer/settings/test/index.js:219:                   errorNotice( translate( 'There was a problem saving your changes. Please try again.' ), {
client/extensions/wp-job-manager/state/data-layer/settings/utils.js:7:  job_manager_enable_categories,
client/extensions/wp-job-manager/state/data-layer/settings/utils.js:42: categories: {
client/extensions/wp-job-manager/state/data-layer/settings/utils.js:44:         enableCategories: job_manager_enable_categories,
client/extensions/wp-job-manager/state/data-layer/settings/utils.js:101:        job_manager_enable_categories: enableCategories,
client/extensions/wp-job-manager/state/data-layer/settings/index.js:78:         errorNotice( translate( 'There was a problem saving your changes. Please try again.' ), {
client/extensions/wp-job-manager/state/data-layer/setup/test/index.js:106:                                      errorNotice( translate( 'There was a problem creating the page(s). Please try again.' ), {
client/extensions/wp-job-manager/state/data-layer/setup/index.js:63:            errorNotice( translate( 'There was a problem creating the page(s). Please try again.' ), {
client/extensions/wp-job-manager/state/settings/schema.js:10:           job_manager_enable_categories: { type: 'boolean' },
client/extensions/woocommerce/app/promotions/promotion-create.js:22:import { fetchProductCategories } from 'woocommerce/state/sites/product-categories/actions';
client/extensions/woocommerce/app/promotions/save-error-message.js:7:                           'There was a problem saving the %(promotion)s promotion. A coupon with this code already exists.',
client/extensions/woocommerce/app/promotions/save-error-message.js:14:                          'There was a problem saving the %(promotion)s promotion. Please try again.',
client/extensions/woocommerce/app/promotions/fields/promotion-applies-to-field/applies-to-filtered-list.js:20:import { getAllProductCategories } from 'woocommerce/state/sites/product-categories/selectors';
client/extensions/woocommerce/app/promotions/promotion-header.js:48:    const saveLabel = existing ? translate( 'Update' ) : translate( 'Save & Publish' );
client/extensions/woocommerce/app/promotions/promotion-update.js:27:import { fetchProductCategories } from 'woocommerce/state/sites/product-categories/actions';
client/extensions/woocommerce/app/promotions/promotion-update.js:129:                                   translate( 'There was a problem deleting the promotion. Please try again.' )
client/extensions/woocommerce/app/store-stats/listview.js:28:   categories: topCategories,
client/extensions/woocommerce/app/store-stats/controller.js:22:         type: [ 'orders', 'products', 'categories', 'coupons' ],
client/extensions/woocommerce/app/store-stats/controller.js:60:         case 'categories':
client/extensions/woocommerce/app/store-stats/controller.js:61:                 tracksEvent = 'calypso_woocommerce_stats_categories_page';
client/extensions/woocommerce/app/store-stats/constants.js:60:  basePath: '/store/stats/categories',
client/extensions/woocommerce/app/store-stats/constants.js:67:  empty: translate( 'No categories found' ),
client/extensions/woocommerce/app/settings/email/email-settings/index.js:159:                                   translate( 'There was a problem saving the email settings. Please try again.' )
client/extensions/woocommerce/app/settings/email/mailchimp/mailchimp_dashboard.js:134:                                  translate( 'There was a problem saving MailChimp settings. Please try again.' )
client/extensions/woocommerce/app/settings/taxes/taxes-wcs.js:119:                              translate( 'There was a problem saving your changes. Please try again.' )
client/extensions/wooco<response clipped><NOTE>Due to the max output limit, only part of the full response has been shown to you.</NOTE>s:45:import { getProductCategoriesWithLocalEdits } from 'woocommerce/state/ui/product-categories/selectors';
client/extensions/woocommerce/app/products/product-form-details-card.js:138:                                                    <FormLabel htmlFor="name">{ __( 'Product name' ) }</FormLabel>
client/extensions/woocommerce/app/products/products-list-row.js:23:             product.categories &&
client/extensions/woocommerce/app/products/products-list-row.js:24:             product.categories.map( function( category ) {
client/extensions/woocommerce/app/products/products-list-row.js:29:             <div className="products__list-categories">
client/extensions/woocommerce/app/products/products-list-row.js:63:             categories: PropTypes.array,
client/extensions/woocommerce/app/products/product-header.js:70:        const saveLabel = existing ? translate( 'Update' ) : translate( 'Save & Publish' );
client/extensions/woocommerce/app/products/product-form.scss:273:.products__categories-card {
client/extensions/woocommerce/app/products/index.js:96:                                 <NavItem path={ getLink( '/store/products/categories/:site/', site ) }>
client/extensions/woocommerce/app/product-categories/header.js:64:              <a href={ getLink( '/store/products/categories/:site/', site ) }>
client/extensions/woocommerce/app/product-categories/create.js:24:} from 'woocommerce/state/ui/product-categories/actions';
client/extensions/woocommerce/app/product-categories/create.js:25:import { createProductCategory } from 'woocommerce/state/sites/product-categories/actions';
client/extensions/woocommerce/app/product-categories/create.js:30:} from 'woocommerce/state/ui/product-categories/selectors';
client/extensions/woocommerce/app/product-categories/create.js:97:                      page.redirect( getLink( '/store/products/categories/:site', site ) );
client/extensions/woocommerce/app/product-categories/utils.js:10:                       return translate( 'There was a problem saving your category. Please try again.' );
client/extensions/woocommerce/app/product-categories/style.scss:2:.product-categories__list-placeholder {
client/extensions/woocommerce/app/product-categories/style.scss:8:.product-categories__list-container {
client/extensions/woocommerce/app/product-categories/style.scss:13:.product-categories__list-item {
client/extensions/woocommerce/app/product-categories/style.scss:17:.product-categories__list-item-card.card.is-compact {
client/extensions/woocommerce/app/product-categories/style.scss:21:.accessible-focus & .product-categories__list-item-card:focus {
client/extensions/woocommerce/app/product-categories/style.scss:25:.product-categories__list-item-wrapper {
client/extensions/woocommerce/app/product-categories/style.scss:29:     .product-categories__list-item-info {
client/extensions/woocommerce/app/product-categories/style.scss:39:     .product-categories__list-item-description {
client/extensions/woocommerce/app/product-categories/style.scss:57:.product-categories__list-nested {
client/extensions/woocommerce/app/product-categories/style.scss:61:.product-categories__form {
client/extensions/woocommerce/app/product-categories/style.scss:73:.product-categories__form-info-fields {
client/extensions/woocommerce/app/product-categories/style.scss:81:.product-categories__form-name-description {
client/extensions/woocommerce/app/product-categories/style.scss:85:.product_categories__list-wrapper {
client/extensions/woocommerce/app/product-categories/style.scss:91:.product-categories__form-image-wrapper {
client/extensions/woocommerce/app/product-categories/style.scss:120:    .product-categories__form-image {
client/extensions/woocommerce/app/product-categories/style.scss:146:    .product-categories__form-image.preview figure::after {
client/extensions/woocommerce/app/product-categories/style.scss:154:    .product-categories__form-image.preview img {
client/extensions/woocommerce/app/product-categories/style.scss:165:    .product-categories__form-image-remove {
client/extensions/woocommerce/app/product-categories/style.scss:182:    .product-categories__form-image-remove-icon.gridicon {
client/extensions/woocommerce/app/product-categories/update.js:25:} from 'woocommerce/state/sites/product-categories/actions';
client/extensions/woocommerce/app/product-categories/update.js:30:} from 'woocommerce/state/ui/product-categories/actions';
client/extensions/woocommerce/app/product-categories/update.js:34:} from 'woocommerce/state/ui/product-categories/selectors';
client/extensions/woocommerce/app/product-categories/update.js:123:                                     page.redirect( getLink( '/store/products/categories/:site/', site ) );
client/extensions/woocommerce/app/product-categories/update.js:133:                                     translate( 'There was a problem deleting %(name)s. Please try again.', {
client/extensions/woocommerce/app/product-categories/update.js:147:                     page.redirect( getLink( '/store/products/categories/:site', site ) );
client/extensions/woocommerce/app/product-categories/list.js:23:} from 'woocommerce/state/sites/product-categories/selectors';
client/extensions/woocommerce/app/product-categories/list.js:26:import { DEFAULT_QUERY } from 'woocommerce/state/sites/product-categories/utils';
client/extensions/woocommerce/app/product-categories/list.js:28:import { fetchProductCategories } from 'woocommerce/state/sites/product-categories/actions';
client/extensions/woocommerce/app/product-categories/list.js:39:                this.catIds = map( this.props.categories, 'id' );
client/extensions/woocommerce/app/product-categories/list.js:43:                if ( newProps.categories !== this.props.categories ) {
client/extensions/woocommerce/app/product-categories/list.js:44:                        this.catIds = map( newProps.categories, 'id' );
client/extensions/woocommerce/app/product-categories/list.js:49:                const { categories } = this.props;
client/extensions/woocommerce/app/product-categories/list.js:50:                return filter( categories, { parent: id } );
client/extensions/woocommerce/app/product-categories/list.js:77:                if ( this.props.categories ) {
client/extensions/woocommerce/app/product-categories/list.js:78:                        return this.props.categories[ index ];
client/extensions/woocommerce/app/product-categories/list.js:85:                // if item has a parent and it is in current props.categories, do not render
client/extensions/woocommerce/app/product-categories/list.js:95:                        <div key={ 'product-category-' + itemId } className="product-categories__list-item">
client/extensions/woocommerce/app/product-categories/list.js:96:                                <CompactCard key={ itemId } className="product-categories__list-item-card" href={ link }>
client/extensions/woocommerce/app/product-categories/list.js:97:                                        <div className="product-categories__list-item-wrapper">
client/extensions/woocommerce/app/product-categories/list.js:98:                                                <div className="product-categories__list-thumb">
client/extensions/woocommerce/app/product-categories/list.js:101:                                               <span className="product-categories__list-item-info">
client/extensions/woocommerce/app/product-categories/list.js:102:                                                       <span className="product-categories__list-item-name">{ item.name }</span>
client/extensions/woocommerce/app/product-categories/list.js:104:                                                       <span className="product-categories__list-item-description">{ description }</span>
client/extensions/woocommerce/app/product-categories/list.js:109:                                       <div className="product-categories__list-nested">
client/extensions/woocommerce/app/product-categories/list.js:127:               const { loading, categories, lastPage, searchQuery } = this.props;
client/extensions/woocommerce/app/product-categories/list.js:132:                                               items={ categories }
client/extensions/woocommerce/app/product-categories/list.js:156:                               message = translate( 'No product categories found for {{query /}}.', {
client/extensions/woocommerce/app/product-categories/list.js:163:                               <EmptyContent title={ translate( 'No product categories found.' ) } line={ message } />
client/extensions/woocommerce/app/product-categories/list.js:167:               const classes = classNames( 'product-categories__list', className );
client/extensions/woocommerce/app/product-categories/list.js:170:                       <div className="product-categories__list-container">
client/extensions/woocommerce/app/product-categories/list.js:173:                                               <div className="product-categories__list-placeholder" />
client/extensions/woocommerce/app/product-categories/list.js:191:       const categories = query.search
client/extensions/woocommerce/app/product-categories/list.js:199:               categories,
client/extensions/woocommerce/app/product-categories/index.js:17:import { fetchProductCategories } from 'woocommerce/state/sites/product-categories/actions';
client/extensions/woocommerce/app/product-categories/index.js:23:import ProductCategoriesList from 'woocommerce/app/product-categories/list';
client/extensions/woocommerce/app/product-categories/index.js:92:               const classes = classNames( 'product_categories__list-wrapper', className );
client/extensions/woocommerce/app/product-categories/index.js:95:               const categoriesLabel = translate( 'Categories' );
client/extensions/woocommerce/app/product-categories/index.js:102:                                              <span>{ categoriesLabel }</span>,
client/extensions/woocommerce/app/product-categories/index.js:109:                              <SectionNav selectedText={ categoriesLabel }>
client/extensions/woocommerce/app/product-categories/index.js:110:                                      <NavTabs label={ translate( 'Products' ) } selectedText={ categoriesLabel }>
client/extensions/woocommerce/app/product-categories/index.js:112:                                              <NavItem path={ getLink( '/store/products/categories/:site/', site ) } selected>
client/extensions/woocommerce/app/product-categories/index.js:113:                                                      { categoriesLabel }
client/extensions/woocommerce/app/product-categories/index.js:121:                                              placeholder={ translate( 'Search categories…' ) }
client/extensions/woocommerce/app/product-categories/form.js:190:               const classes = classNames( 'product-categories__form-image', {
client/extensions/woocommerce/app/product-categories/form.js:200:                               className="product-categories__form-image-remove"
client/extensions/woocommerce/app/product-categories/form.js:202:                               <Gridicon icon="cross" size={ 24 } className="product-categories__form-image-remove-icon" />
client/extensions/woocommerce/app/product-categories/form.js:225:                       <div className={ classNames( 'product-categories__form', 'is-placeholder', className ) }>
client/extensions/woocommerce/app/product-categories/form.js:247:                       <div className={ classNames( 'product-categories__form', this.props.className ) }>
client/extensions/woocommerce/app/product-categories/form.js:249:                                       <div className="product-categories__form-info-fields">
client/extensions/woocommerce/app/product-categories/form.js:250:                                               <div className="product-categories__form-image-wrapper">{ this.renderImage() }</div>
client/extensions/woocommerce/app/product-categories/form.js:251:                                               <div className="product-categories__form-name-description">
client/extensions/woocommerce/app/product-categories/form.js:292:                                                                                       emptyMessage={ translate( 'No categories found.' ) }
client/extensions/woocommerce/store-sidebar/index.js:119:                       '/store/products/categories' + siteSuffix,
client/extensions/woocommerce/style.scss:22:    @import 'app/product-categories/style';
client/extensions/woocommerce/components/store-address/index.js:103:                                    translate( 'There was a problem saving the store address. Please try again.' )
client/extensions/woocommerce/state/sites/promotions/test/fixtures/products.js:10:      categories: [ { id: 22, name: 'products' } ],
client/extensions/woocommerce/state/sites/promotions/test/fixtures/products.js:20:      categories: [ { id: 23, name: 'other' } ],
client/extensions/woocommerce/state/sites/promotions/test/fixtures/coupons.js:29:       product_categories: [ 22 ],
client/extensions/woocommerce/state/sites/promotions/test/helpers.js:251:                       expect( couponData.product_categories ).to.equal( promotion.appliesTo.productCategoryIds );
client/extensions/woocommerce/state/sites/promotions/README.md:45:The `appliesTo` object for a promotion is a complex object which describes what all the promotion can be applied to. At this point, exluded products or categories are not supported.
client/extensions/woocommerce/state/sites/promotions/helpers.js:157:            product_categories: productCategoryIds,
client/extensions/woocommerce/state/sites/promotions/helpers.js:163:    const { product_ids, product_categories } = coupon;
client/extensions/woocommerce/state/sites/promotions/helpers.js:173:    if ( product_categories && product_categories.length ) {
client/extensions/woocommerce/state/sites/promotions/helpers.js:174:            appliesTo.productCategoryIds = product_categories;
client/extensions/woocommerce/state/sites/promotions/helpers.js:215:            for ( const category of product.categories ) {
client/extensions/woocommerce/state/sites/README.md:26:- [productCategories](product-categories/README.md)
client/extensions/woocommerce/state/sites/products/test/fixtures/product.js:68: categories: [],
client/extensions/woocommerce/state/sites/products/test/fixtures/products.js:69:                categories: [],
client/extensions/woocommerce/state/sites/products/test/fixtures/products.js:143:               categories: [],
client/extensions/woocommerce/state/sites/reducer.js:14:import productCategories from './product-categories/reducer';
client/extensions/woocommerce/state/sites/product-categories/test/fixtures/categories.js:7:const categories = [
client/extensions/woocommerce/state/sites/product-categories/test/fixtures/categories.js:30:            1: categories[ 0 ],
[The command completed with exit code 0.]
[Current working directory: /workspace/wp-calypso]
[Python interpreter: /usr/bin/python]
[Command finished with exit code 0]