Commit Graph

374 Commits

Author SHA1 Message Date
Manish Menaria 8c284a5074
[Product Collection] Add unique ID attribute (#43314)
* Add unique ID attribute to Product Collection block

In this update, we introduced a unique identifier for each instance of the Product Collection block. This change involves several key modifications:

1. **Block JSON Update**: Added a new `id` attribute in `block.json` to store the unique identifier for each block instance.

2. **Product Collection Content Update**: In `product-collection-content.tsx`, we utilized the `uuid` library to generate a unique ID. This is done in a `useEffect` hook, ensuring that each block instance receives a distinct ID upon initialization.

3. **Type Definitions**: The `ProductCollectionAttributes` interface in `types.ts` was updated to include the new `id` attribute, aligning with our enhanced data structure.

4. **Package Dependencies**: To support this feature, `@types/uuid` and `uuid` were added to `package.json`, ensuring we have the necessary tools for ID generation.

This enhancement is pivotal for uniquely identifying each Product Collection block, paving the way for more robust and individualized block handling in the future.

* Rename uniqueId to id

* Add lock file

* Add 'id' context to product collection and template

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Merge trunk with 42861-introduce-a-unique-identifier-for-each-product-collection-block

* Regenerate the lockfile

* Remove autogenerated change in plugins/woocommerce/package.json

* Regenerate lock file

* Rerun CI actions

* Delete pnpm-lock.yaml file & regenerate it using pnpm install command

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 15:30:57 +05:30
Christopher Allford 95bc1189e5
Update `wireit` & Optimize Builds (#43595)
This bumps the version to 0.14.3 so that we can take advantage of some
upstream improvements. It also makes some changes to the way our
builds and watches work to minimize the number of unnecessary
Node processes involved in the execution.
2024-01-15 14:06:55 -08:00
Christopher Allford 758df4854d
Use `ci-jobs` Utility For `ci.yml` Matrix (#43532)
This adds support for using the `pnpm utils ci-jobs` command in our `ci.yml` file. One of the bigger benefits to this change too is that we're now distributing a bundled version of the utils tool. This lets us run it without actually having to install the repo and will let us speed up any workflows that currently do.
2024-01-12 20:32:14 -08:00
Luigi Teschio ac43fb2426
fix ESLint configuration regarding import path aliases (#43421)
* fix ESLint configuration regarding import path aliases

* Add changefile(s) from automation for the following project(s): woocommerce

* fix eslint configuration

* update eslint-import-resolver-typescript version

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-11 16:40:38 +01:00
Matt Sherman 4114f989e5
Implement useLayoutTemplate hook (#43347)
* Add @wordpress/core-data dependency

* Update lock file

* Implement useLayoutTemplate

* Changelog

* Allow layoutTemplateId param to be undefined

* Only enable useEntityRecord when layoutTemplateId is set

* Workaround for query made when layoutTemplateID is not set

* Use getEntityConfig instead of getEntity

* Update comment with core-data version

* Add doc for useLayoutTemplate
2024-01-09 15:42:20 -05:00
Nathan Silveira d2636f55f8
Add HOC to hide inventory collapsible block when nothing is inside it (#43228)
* Add expression-evaluation package

* Export useEvaluationContext

* Add HOC to hide collapsible block when nothing is inside it

* Add changelog

* Create a separate place for WP hooks and move existing hook to it

* Reintroduce line deleted automatically

* Refactor to useSelect
2024-01-05 15:01:12 -03:00
Matt Sherman 9ba256235a
Fix @woocommerce/block-templates changes not being picked up on build (#43328) 2024-01-05 11:44:25 -05:00
Thomas Shellberg cf52b42e26
Add React Testing Library to the Woo AI plugin. (#42993)
* Add React Testing Library and the simplest of tests to verify tests can be run successfully.
2023-12-21 12:25:08 +01:00
Riad Benguella 68617e8ef1 Performance: Add a tool and a CI workflow to compare performance between PR and trunk and track metrics on trunk 2023-12-14 10:48:15 +01:00
Riad Benguella 36c259a2a1 Performance: Bootstrap metrics tracking 2023-12-14 09:52:01 +01:00
Christopher Allford e46d6bd207
Fixed `watch:build` Race Conditions (#42802)
There's currently a bug with `wireit` that makes the watch crash.
Swiching over to `nodemon` until that is resolved will
keep that from happening.
2023-12-13 18:25:16 -08:00
Jonathan Lane 7692fa5430
Fix flaky tests, failures from Blocks merge (#41815)
* Clean up created pages and posts

* Move tax tests so that they run last

* Improve locators

* Changelog

* Improve locators

* Improve locator on heading

* Change assertions to look for alert text

* Change assertion to look for text

* Update locators

* Update locator

* Update alternate elements

* Specify first order amount

* Update locator

* Changelog

* Increase reliability of checkout test

* Update a few locators

* Remove .slice()

* Add some console output to checkout test

* Make command palette tests Mac-compatible

* Added update for why download test flaky

* Improvements to checkout tax tests

* Add changelog

* Assert on range of prices

* Improve the regex for matching the price

* Changelog

* Clean up locator

* Unskip analytics tests

* Remove logging statements

* Update variations selector

* Remove comment

* Fix disable block tests

* Remove skipped legacy coupon page test

* Account for multiple products in test

* Cleaned up some console.logs

* Added specificity to locator

* Better price parsing

* Fix cart block shipping test

* Fix syntax error

* Update Playwright, fix logic error

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2023-12-12 07:56:56 -08:00
Christopher Allford e718975963
Fixed WooCommerce Docs Build Errors (#42000) 2023-12-10 22:39:00 -08:00
Christopher Allford 05d398c8d3 Fixed Blocks CSS Linting 2023-12-10 14:11:32 -08:00
Christopher Allford ad488417a1 Updated Lock File 2023-12-10 13:31:55 -08:00
Christopher Allford e580d27afd Added Missing Block Dependencies 2023-12-10 12:24:20 -08:00
Christopher Allford 215e665eec Lock File Update 2023-12-09 23:46:33 -08:00
Christopher Allford a8fd8fafa5 Applied Linting Fixes 2023-12-09 23:32:45 -08:00
Christopher Allford dc5aa18f35 Wireit Added: `@woocommerce/block-library` 2023-12-09 22:35:11 -08:00
Christopher Allford 84ead6de63 Updated Lock File 2023-12-09 22:05:43 -08:00
Christopher Allford 403e2919ee Merge branch 'trunk' into refactor/task-infrastructure 2023-12-09 21:51:43 -08:00
Christopher Allford 0514069d7b Added Missing Blocks Dependencies 2023-12-09 18:14:26 -08:00
Christopher Allford a08fdf8698 Updated Lock File 2023-12-09 15:57:05 -08:00
Christopher Allford d443e92f23 Renamed Shortcode Assets "Classic" 2023-12-09 15:37:13 -08:00
Christopher Allford 4d0cde4b4b Lock File Update 2023-12-09 15:35:55 -08:00
Christopher Allford c4ef29c942 Lock File Update 2023-12-09 14:40:25 -08:00
Christopher Allford d244662669 Synchronized Dependencies 2023-12-09 14:40:16 -08:00
Christopher Allford 5053ad81ad Lock File Update 2023-12-09 14:36:42 -08:00
Christopher Allford 674cd4051a Lock File Update
This takes the lock file from `trunk` and runs an install on it. This
should remove any accidental dependency
changes caused by the PR.
2023-12-09 14:36:31 -08:00
Christopher Allford 2d7ff7a22e Lock file update 2023-12-09 14:31:09 -08:00
Christopher Allford 5200c2e97f Change Asset Build Outputs
Wireit doesn't allow us to have build outputs in a directory outside
of the package. We can get around this by having a build step in
WooCommerce that copies the files from the output directories.
2023-12-09 14:27:30 -08:00
Christopher Allford d015950e86 Wireit Dependencies Set 2023-12-09 14:24:51 -08:00
Christopher Allford 5f606e4d8e Added Missing Core Plugin Dependencies 2023-12-09 13:23:32 -08:00
Christopher Allford df32d8e967 Added `wireit` Dependency
We're adding this to _every_ package since they have their own
configuration and scripts to run. This also keeps them
isolated so that they can operate independently.
2023-12-09 13:11:15 -08:00
Christopher Allford 6c8207541a Resolved Type Errors 2023-12-09 12:08:16 -08:00
Christopher Allford b26488c8bb Builds Now Functional 2023-12-09 08:15:27 -08:00
Christopher Allford fbb38a973a Fixed Product Editor Type Errors 2023-12-09 07:54:20 -08:00
Christopher Allford 3a88cc739a Updated Dependencies 2023-12-09 07:12:20 -08:00
Christopher Allford 3a6e4abae8 Lock File Update 2023-12-09 05:21:05 -08:00
Damián Suárez 0a513661c1 update deps 2023-12-07 19:35:05 -03:00
Damián Suárez 9fed1e67ff update deps 2023-12-06 17:38:10 -03:00
Damián Suárez 5a9fcf1ef9 udpate deps 2023-12-06 17:38:09 -03:00
Christopher Allford 8c6b414fe0
Revert "Refactoring Task Infrastructure" (#41928)
Revert "Refactored Task Infrastructure (#41202)"

This reverts commit 96a973b9fa.
2023-12-06 11:36:12 -08:00
Christopher Allford d6a3ba9ba9
Revert "Renamed `@woocommerce/shortcode-assets`" (#41927)
Revert "Renamed `@woocommerce/shortcode-assets` (#41922)"

This reverts commit d0fa93d470.
2023-12-06 11:35:53 -08:00
Christopher Allford d0fa93d470
Renamed `@woocommerce/shortcode-assets` (#41922) 2023-12-06 10:13:25 -08:00
Christopher Allford 96a973b9fa
Refactored Task Infrastructure (#41202)
* Fixed NPM packages with invalid names.
* Renamed plugin packages.
* Standardized package NPM scripts.
* Replaced Turborepo with Wireit.
2023-12-06 09:32:32 -08:00
Christopher Allford 88969742f2
Regenerate PNPM Lock File & Fix Errors (#41830) 2023-12-05 00:36:30 -08:00
Nathan Schneider 1e3b7425dc Remove unused @wordpress/scripts dependency 2023-12-04 16:17:28 -03:00
Christopher Allford c6b74ddafa
Revert "Resolve PNPM Lock File Errors" (#41828)
Revert "Resolve PNPM Lock File Errors (#41800)"

This reverts commit 2550558a13.
2023-11-30 14:55:35 -08:00
Christopher Allford 2550558a13
Resolve PNPM Lock File Errors (#41800)
This makes the lock file constraints more specific to prevent the
backward incompatible types from WordPress types using the caret
constraint.
2023-11-30 09:33:34 -08:00