80 Commits
Author SHA1 Message Date
Geoff TaylorandGitHub 088d337ef5 fix: address WordPress.org plugin review (rename + prefixing + headers) (#1019)
* fix: address WordPress.org plugin review feedback

- Prefix the session transaction queue transient with the plugin's
  graphql_woocommerce_ namespace instead of the generic "woo_" word, to
  avoid collisions (Plugin Directory: prefix data storage).
- Declare the WooCommerce dependency via the "Requires Plugins: woocommerce"
  plugin header.
- Bump README.txt "Tested up to" to 7.0.
- Ship composer.json in the distributed plugin (drop it, and composer.lock,
  from composer archive excludes) so the build is reproducible/reviewable.

* chore: rename plugin to "GraphQL for eCommerce" for trademark compliance

The WordPress.org plugin review flagged the display name/slug for beginning
with the "WPGraphQL" trademark (and the "WooGraphQL" portmanteau of the
WooCommerce mark), which can imply official affiliation.

- Display name (plugin header + readme title) -> "GraphQL for eCommerce".
- Slug/text domain -> "graphql-for-ecommerce" (header, all i18n string
  literals, and the PHPCS WordPress.WP.I18n text_domain config).
- Update user-facing notices/errors that named the old plugin.

"WooGraphQL" remains the project's informal nickname (repo, docs, community),
just not in the WordPress.org directory's official name/slug. Internal file
names and GitHub URLs are unchanged.

* fix: keep test-only dev deps out of the committed composer.json

The committed manifest mirrors develop (lint/stan dev deps only); CI adds the
test suite deps at runtime via `composer installTestEnv`. A previous commit
captured the installTestEnv-modified composer.json, desyncing it from
composer.lock and breaking `composer install` in CI.

* chore: regenerate composer.lock (refresh dev dependencies)

Regenerate the lock from the manifest so it is in sync (fixes the CI
`composer install` failure) and refresh dependencies in the process —
firebase/php-jwt v7.0.4 -> v7.1.0 plus 11 others, with vendor-prefixed
re-strauss'd to match. Full wpunit suite passes against the updated deps
(305 tests, 835 assertions).

* chore: rename text domain in createdVia/attribution strings from #1018

#1018 (createdVia + order attribution) merged into develop after the rename
commit was authored, so its new i18n strings still used the old
'wp-graphql-woocommerce' text domain. Update them to 'graphql-for-ecommerce'
to match the rename.
2026-06-30 10:16:21 -04:00
Geoff TaylorandGitHub f63dbb75e8 Improve i18n compatibility for WPML, Polylang, and non-latin characters (#994)
* fix: improve i18n compatibility for WPML, Polylang, and non-latin character support

- Add Label::get_safe_enum_name() utility with optional transliteration
  for non-latin tax class/attribute/taxonomy names (#637, #409)
- Add "Transliterate non-latin characters" admin setting
- Replace get_page_by_path() with WP_Query for product slug resolution
  so WPML/Polylang can hook into the standard query pipeline (#403, #368)
- Split product connections: `products` (toType: Product) and
  `productsWithVariations` (toType: ProductUnion) so i18n plugins can
  register language where args on the standard type name (#811, #952)
- Add ProductTypesWithVariationsEnum for the ProductUnion connection
- Add i18n compatibility tests

* chore: Linter compliances met
2026-03-24 20:42:15 -04:00
01991ad873 Fix/recursive interface definitions (#934)
* fix: recursive interface definitions for Product, etc.

* devops: CI & Linter compliances met

* devops: lint-code.yml updated

---------

Co-authored-by: Geoff Taylor <geoff@axistaylor.com>
2025-05-01 14:46:55 -04:00
962410d265 fix: add model classes to type configs to better support query analyzer ID tracking (#874)
* - remove several fields that are already registered by core when the post type is mapped to the schema

* devops: Tests updated and coupon "salt" restored

* chore: Linter & PHPStan compliance met

* chore: Linter & PHPStan compliance met

* devops: "self" replaced with "static" in cli tests

* chore: fix cleanup after rebasing

---------

Co-authored-by: Geoff Taylor <geoff@axistaylor.com>
2024-08-06 18:54:18 -04:00
Geoff TaylorandGitHub d9d968ac91 fix: product connection resolution refactored to better work with the ProductQuery class (#880)
* fix: product connection resolution refactored to better work with the ProductQuery class

* chore: Linter and PHPStan compliance met

* devops: New product connection tests implemented and passing

* fix: products connection pricing filters fixed

* devops: CartTransactionQueueCest skipped until failing PHP version removed from CI matrix
2024-08-06 18:07:37 -04:00
Geoff TaylorandGitHub f1d96bead4 collectionStats query fully implemented (#849)
* fix: WPGraphQL v1.24.x support added

* fix: WPGraphQL v1.24.x support added

* chore: Linter and PHPStan compliance met

* chore: composer.json fixed

* fix: Unnecessary type check restored

* chore: Linter and PHPStan compliance met

* devops: CollectionStatsQueryTest patched
2024-05-16 21:27:54 -04:00
Geoff TaylorandGitHub 8ba35cd50f Fix: WPGraphQL v1.24.x support implemented (#850)
* fix: WPGraphQL v1.24.x support added + WC 3.6 support

* chore: Linter and PHPStan compliance met

* devops: CI config updated

* devops: docker config updated.

* devops: Docker configs updated.
2024-05-07 16:50:42 -04:00
Geoff TaylorandGitHub ca5dac0abd fix: currency input field fixed for createOrder mutation (#829) 2023-12-27 11:28:24 -05:00
Dovid LevineandGitHub e96236696f chore: bump deps to meet actual requirements and lint for WPCS 3.0 (#816)
* chore: bump min versions to actual and update deps

* chore: fix multiple empty lines at EOF

* chore: preincrement when standalone (phpcs)

* fix: use `printf` instead of `echo sprintf` [phpcs]

* chore: avoid lonely `if()` in `else{}` [phpcs]

* chore: avoid reserved keywords as param names [phpcs]

* chore: remove unused callback params [phpcs]

* chore: remove more unused callback params [phpcs]

* chore: apply lints to tests

* chore: update ruleset for PHPCS 3.0

* texts: restore $last_request_headers
2023-11-30 08:41:32 -05:00
Geoffrey K TaylorandGitHub 6b0c798f91 feat: collectionStats query added (#785)
* feat: collectionStats query added

* fix: `collectionStats` query completed and tested.

* chore: Linter and PHPStan compliance met

* chore: ProductTaxonomy values fixed.

* chore: CollectionStatsQueryTest tweaked for CI
2023-09-23 03:50:17 -04:00
Geoffrey K TaylorandGitHub c526a5b527 feat: ProductWithAttributes and ProductVariation interfaces added (#803)
* feat: ProductWithAttributes and ProductVariation interfaces added

* chore: Unused files removed
2023-09-15 21:03:55 -04:00
Geoffrey K TaylorandGitHub 481c12c7f9 feat: Several product interfaces added. (#801) 2023-09-15 00:21:00 -04:00
Geoffrey K TaylorandGitHub 87d7a7b1a9 fix: ProductVariation type made to inherit the Product interface. (#788)
* devops: WP theme during e2e locked to TwentyTwentyOne

* fix: "Product Connection Resolver" restored

* chore: Linter/PHPStan compliance met

* devops: CustomerProceedsToCheckoutCept updated.

* chore: Linter compliance met
2023-08-22 17:14:39 -04:00
4ef46acd15 chore: setup PHPStan (#746)
* chore: setup PHPStan

* chore: General code cleanup for PHPStan

* chore: PHPStan to level 2

* chore: PHPStan to level 2

* fix: Syntax error fixed.

* devops: PHPStan level 2 reached.

* devops: PHPStan level 3 passed

* devops: PHPStan level 4 passed

* chore: fix bad typehints from jwt-auth [phpstan]

* chore: simplify conditional logic in WC_Terms::register_connections()

* chore: add stubs for WP type properties.

* fix: check for valid WC_Order_Item before caching order.

* chore: lint

* devops: PHPStan level 6 passed.

* chore: Linter compliance met.

* chore: simplify logic and check for valid term.

* fix: ensure valid types (partial)

* chore: [phpcs] allow inline type annotations

* devops: PHPStan level 8 reached.

* devops: More stability fixes.

* fix: general bugfixes and improvements

* devops: Code Quality GA script added.

* devops: Linter compliance met & 2 "phpstan-ignore" statements set.

* devops: PHPStan config and CI script fixed.

* fix: "cartItem" query resolution refactored

* devops: GA scripts updated.

* chore: Simple copy changes

---------

Co-authored-by: Geoff Taylor <geoff@axistaylor.com>
2023-06-13 16:17:02 -04:00
Geoffrey K TaylorandGitHub de8cad3a81 fix: Fixed all product connection filtering regressions (#704)
* fix: Fixed all product connection filtering regressions

* chore: WPCS compliance met

* fix: Unsupport syntax refactored
2023-02-02 16:47:19 -05:00
Geoffrey K TaylorandGitHub 9073793e86 chore: WPGraphQL v1.9.x connection resolver support added and autoloader removed. (#647)
* chore: WPGraphQL v1.9x + WP Bedrock support added.

* chore: lint compliance met.

* chore: composer/installers added back to allow-plugins
2022-08-26 14:53:36 -04:00
Geoffrey K TaylorandGitHub 6dbdcb5ae8 fix: Product Attribute naming conventions changed (#603)
* fix: Product Attribute naming conventions changed

* devops: dev dependencies updated

* devops: dev dependencies updated

* devops: dev dependencies updated

* devops: Dockerfile updated

* devops: dev dependencies updated

* devops: dev dependencies updated

* devops: dev dependencies updated

* devops: Dockerfile updated

* chore: Docker composer configurations updated

* chore: Coding standards met.
2022-02-04 15:00:44 -05:00
Geoffrey K TaylorandGitHub 1d52337bcd Product and order connections queryClass set. (#550)
* fix: Product and order connections use respective queryclasses.

* fix: include + exclude product connection where args fixed and tested

* chore: docker-compose.yml restored
2021-10-22 19:30:16 -04:00
Geoffrey K TaylorandGitHub f59872ae89 Coupon mutations added. (#510)
* Coupon mutations implemented and tested
* Vendor files no longer versioned and package workflow implemented
2021-07-05 13:51:52 -04:00
Geoff Taylor 9e31f47e51 Cart item connection pagination refactored. 2021-06-12 22:06:44 -04:00
Geoff Taylor 8215901e93 Order connections refactored. 2021-06-03 21:37:09 -04:00
Geoffrey K TaylorandGitHub 2d45d6db51 Merge pull request #497 from kidunot89/feature/coupon-connection-upgrade
"Coupon_Connection_Resolver" deprecated.
2021-05-30 14:57:13 -04:00
Geoff Taylor da2cbdf484 "Coupon_Connection_Resolver" deprecated. 2021-05-19 19:45:02 -04:00
Geoff Taylor 41be17c16f Product connections now resolved thru "PostObjectConnectionResolver" class. "Product_Connection_Resolver" class deprecated. 2021-05-15 17:56:16 -04:00
Geoff Taylor db095015b1 Version numbers and Repo templates updated. 2021-02-26 21:12:52 -05:00
Geoff Taylor 888ac9696d autoloader files rebuilt 2021-02-26 19:21:39 -05:00
Geoff Taylor 1e38166668 CartMutationsTest updated. 2021-02-26 10:24:52 -05:00
Geoff TaylorandGeoff Taylor 56b9f7ddca WPGraphQLTestCase class replaced with same class from "wp-graphql/wp-graphql-testcase" package 2021-02-26 10:24:08 -05:00
Geoffrey K TaylorandGeoff Taylor 89045998ef Syntax error fixed 2021-02-26 10:22:42 -05:00
Geoff TaylorandGeoff Taylor 34a925a442 "ProductQueriesTest" test refactored to extend the "WooGraphQLTestCase" class 2021-02-26 10:10:23 -05:00
Geoff TaylorandGeoff Taylor f47bee2b5f Docker/Codeception configuration heavily refactored.. 2021-01-22 11:34:09 -05:00
Geoff Taylor 885736b970 Minor bugs in tests resolved. 2020-10-14 20:33:55 -04:00
Geoff Taylor 86a7ef1bdf final cleanups in code. 2020-10-13 15:01:44 -04:00
Geoff Taylor 449d3b1674 "typeId" fields replaced by "databaseId". 2020-09-16 16:32:14 -04:00
Geoff Taylor f221571458 Grouped product and product variation connection tests refactored. 2020-09-03 16:53:42 -04:00
Geoff Taylor 664bacf429 Heavy refactor of productconnection "resolve" functions. 2020-08-07 10:35:21 -04:00
Geoff Taylor fe91fc5290 Product gallery image test added. 2020-08-07 10:35:21 -04:00
Geoff Taylor 65c7fc875f ProductQueriesTest updated. 2020-08-06 16:25:50 -04:00
Geoff Taylor b98b1ae6ac Some unit tests updated. 2020-06-19 18:44:21 -04:00
Geoff Taylor c6a1ca4b2d "attachment" node type replaced with "post" 2020-06-01 21:53:24 -04:00
Geoff Taylor f5f3de1de8 Deprecated "By" queries removed. More connection resolver cleanup. 2020-03-27 12:18:06 -04:00
Geoff Taylor f14a9478d0 wc-db-loader created 2020-03-20 23:12:04 -04:00
Geoff Taylor 43d529f78f "idType" implemented. 2020-01-24 23:40:50 -05:00
Geoff Taylor b57ec1c34a "DownloadableItem" type and connection implemented. 2020-01-22 03:07:39 -05:00
Geoff Taylor c1239d0863 "ProductAttribute" re-designed. 2020-01-15 20:24:38 -05:00
Geoff Taylor dc3d741af7 tests updated. 2019-12-04 13:18:33 -05:00
Geoff Taylor 1b84ab80e7 taxonomy connection registration refactored 2019-11-28 12:56:27 -05:00
Geoff Taylor 46661913dd Product "link" fixed. 2019-11-13 21:06:01 -05:00
Geoff Taylor 369fb7aa22 testing updated. 2019-11-13 18:53:31 -05:00
Geoff Taylor d7f16c99a1 "link" field added to "Product" interface. 2019-11-04 22:49:03 -05:00