Commit Graph

303 Commits

Author SHA1 Message Date
Sam Seay 4b345402ce
Fix one last case of not skipping hooks when cloning in code analyzer (#36912)
Fix one last case of not skipping hooks when cloning.
2023-02-22 20:50:45 +13:00
Sam Seay 13b09da2cf
Add post checkout pnpm install to git hooks (#36731)
* Add post checkout pnpm install to help devs, disable hooks on pre push.
* Disable hooks in all simpleGit instances where checkout is run.
2023-02-21 08:42:44 +13:00
Leif Singer d0a2b582fe
Consolidate eslint versions (#36700)
* pin eslint in .syncpackrc

run `pnpm run sync-dependencies` to ensure pinned version is used across projects, then run `pnpm install` to update `pnpm-lock.yaml`

* add changelog files

ran `pnpm run --no-bail --filter='[HEAD^1]' changelog add --significance=patch --type=dev --entry='Update eslint to 8.32.0 across the monorepo.'`

* re-run `pnpm install` to fix what broke while merging
2023-02-02 23:25:04 +13:00
jonathansadowski f8d8a42fd7
Add PR links to release post template output, and allow blog ID to be specified. (#36026)
* Update release template to be editable

* Correct issues in README

* Update to allow edits; refactor auth

* Update templates to add PR link

* Remove commented test code

* Update tools/code-analyzer/src/lib/scan-changes.ts

Co-authored-by: Sam Seay <samueljseay@gmail.com>

* Address typescript issues; prettier

* Resolve more typescript issues

Co-authored-by: Sam Seay <samueljseay@gmail.com>
2023-01-23 08:31:59 -06:00
Sam Seay d181008ac4
Fix TS issues and lint the release post tool by running `tsc` (#36412) 2023-01-18 18:43:22 +13:00
Sam Seay 141a0bd6b4
Fix release post template syntax errors and add prettierignore (#36411)
Fix some template issues, add prettierignore to disable prettier on ejs files.
2023-01-18 18:43:00 +13:00
Willington Vega 6377314b1b
Remove deprecated usage of `${var}` syntax in strings (#36439)
* issue-35763/fix-php-8.2-deprecation-warnings

* Declare $mockable_functions property

* Declare $mockable_classes property

* Fix deprecated usage of ${var} in strings

* Add changelog file

* Avoid using interpolation to create SQL statement

We could ignore the PHPCS error. However, ignoring the error leaves
PHPCS unable to detect future changes that may introduce unsafe
interpolation.

I think the more verbose approach is the safest approach in this
case.

* Ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared

There doesn't seem to be a way to use a variable name for the name of the table without
triggering a PHPCS error.

* Avoid interpolated passing interpolated variables to __()

* End inline comments with a full-stop
2023-01-17 10:47:00 +08:00
Sam Seay df3687a79f
Fix a bug where changes were added to the change map via callback (#35966) 2022-12-15 11:55:52 +13:00
Sam Seay 3cc47d245d
Allow use of pathspecs to limit the scope of generating a diff in Code Analyzer (#35925) 2022-12-13 10:22:13 +13:00
Sam Seay dedbf7b492
Migrate uses of ::set-output in code-analyzer to setOutput. (#35895)
* Migrate uses of ::set-output to setOutput.
2022-12-12 19:41:00 +13:00
Chi-Hsuan Huang 1fbe5d330d
Add @babel/plugin-proposal-class-properties to run storybook (#35867)
* Add @babel/plugin-proposal-class-properties to run storybook

* Add @babel/plugin-proposal-class-properties to webpack config and remove storybook env from babel config

* Add changelog
2022-12-07 22:26:02 +08:00
Paul Sealock 18b1b0d535
WP-Env: await stopWPEnv so Docker containers can close (#35634)
await stopWPEnv
2022-11-21 12:37:25 +13:00
Roy Ho 20bb576fb6
Restore previously installed pnpm version (#35389) 2022-10-31 12:29:43 -07:00
Roy Ho f10f740958
Fix release post not parsing certain versions correctly (#35363) 2022-10-28 05:42:46 -07:00
Roy Ho 8d73a03f97
Add line number reference links to release posts for hooks (#35354) 2022-10-27 11:03:19 -07:00
jonathansadowski c6eab3b4b2
Fix the match pattern for the version bump tool (#34982)
* Update pattern in version bump tool to use two digits

* Update README for version bump for pnpm7 parameter order
2022-10-17 13:48:56 -05:00
Sam Seay 9b9abd1eae
Replace outdated readme examples of using pnpm (#35064) 2022-10-14 16:14:45 +13:00
Sam Seay 55b49cb50a
Fix and consolidate linting across the monorepo (#35012) 2022-10-12 15:05:01 +13:00
Sam Seay aec442139f
Update pnpm once again to fix issues with auto-install-peers (#35007) 2022-10-10 16:59:51 +13:00
Paul Sealock c87f5ce79b
Storybook: Add react and react-dom dependencies (#34950)
add react and react-dom
2022-10-07 15:18:10 +13:00
Roy Ho 3c8ca2887e
Remove CLI cherry pick tool in favor of CI workflow (#34954) 2022-10-05 20:20:04 -07:00
Sam Seay 59e0c80f3c
Update the pnpm constraint to 7.12.2+ now auto-install is fixed. (#34872) 2022-10-03 10:52:42 +13:00
Joshua T Flowers 3fd736c72f
Update plugins installer component to TS, Fix TS bugs and Syncpack TypeScript (#34787) 2022-09-30 10:59:07 +13:00
Roy Ho b00e7ee445
Update PNPM commands in documentation post PNPM 7 update (#34853) 2022-09-27 13:55:31 -07:00
Sam Seay c0fe3ec18f
Fix pnpm version to 7.11.0 in engines and in CI (#34773) 2022-09-27 11:30:52 +13:00
Sam Seay 8af6b7bff0
Fix TS errors in monorepo-merge (#34772) 2022-09-23 11:17:18 +12:00
Joshua T Flowers f39d8b6b39
Improve experimental select control accessibility (#34510)
* Use downshift built in methods to handle selection of items

* Fix menu styling

* Fix removal a11y announcement

* Don't show menu without results

* Fix async example a11y

* Add changelog entry

* Deselect item in state on remove

* Fix formatting issues

* Update lock file

* Update lock file after pnpm7

* Skip lib check breaking oclif build in package-release

* Rebase again and fix up lock file

* Skip lib check in monorepo-merge

* Fix the lock

* Ignore lint

Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Jonathan Sadowski <sadowski@automattic.com>
2022-09-20 14:29:27 -07:00
Paul Sealock 0b62bf85bd
Storybook: Fix after update to PNPM 7 broke build (#34724)
* Add package.json to storybook

* use @woocommerce/storybook name
2022-09-20 12:39:31 +12:00
Sam Seay 04b74c1053
Upgrade to pnpm 7 (#34661)
* Remove -- -- from scripts that fixed issue in pnpm 6, fix a couple TS issues in sep packages
* Minor fixes to analyzer scripts and doco based on pnpm 7
* Add dompurify types to data package to avoid TS errors
* Remove pnpx in favor of pnpm exec
* Modify the code analyzer to respect pnpm version if present.
* Update instructions for running recursive lint, add comments to explain
2022-09-16 09:21:42 +12:00
Paul Sealock e3ca9364a4
Version bump: Add README and Logger (#34636) 2022-09-13 06:28:37 +12:00
Sam Seay 614d98ff60
Extract the scanning functionality from code-analyzer, move common code into a separate package (#34600)
Also add contributor command and auto tagging to release-post-generator (#34608)
2022-09-11 09:55:53 +12:00
Paul Sealock fa2e7f7e96
Version Bump: Add CLI utility (#34555) 2022-09-08 19:48:01 +12:00
Sam Seay 4ca9c5225d
Port the release generator from Woorelease extensions to tools (#34496) 2022-09-06 15:51:28 +12:00
Christopher Allford 6457348a97
Validate React Admin Changelog Files (#34520)
This maps the changelog command of the React Admin in order to ensure that they're validated and able to be added.
2022-09-05 13:02:00 -07:00
Sam Seay 7f5f47247c
Code-analyzer: Perform build between checkouts to avoid failures (#34438)
Fixes #34196
2022-08-25 11:50:31 +12:00
Sam Seay 41a276c49b
Pass the version argument explicitly to code-analyzer, introduce a new command that determines latest major/minor (#34404)
This also adds a new command `major_minor` that contains some of the old logic of `getPluginData` to determine the latest major/minor version of WooCommerce
2022-08-22 16:29:59 +12:00
Sam Seay c10d34742b
Ensure that schema and DB changes are reported to the changes JSON file, fix reporting bugs(#34238) 2022-08-11 10:49:20 +12:00
Sam Seay 5becf47d60
Simplify turbo commands (#34055)
* Change package json commands and turbo repo config to allow for greatly simplifying running turbo
* Remove require-turbo script which was causing caching issues
* Colorize CI output from scripts
* Add missing changelog script to extend-cart-checkout-block
2022-08-05 12:03:17 +12:00
Paul Sealock 0ac969f584
Cherry-Pick Tool: Fix stderr output (#34132)
* formatting

* log stdout
2022-08-03 06:54:41 +12:00
Paul Sealock c91312bf26
Packages Release: Add manual workflow (#33922) 2022-07-22 12:08:11 +12:00
Sam Seay ecd17484bb
Generate a JSON file with changes from code-analyzer (#33955) 2022-07-21 19:37:59 +12:00
Sam Seay fa5c2430ac
Migrate the analyzer's DB scan to the tmp repo clone approach (#33919)
Now the entire `code-analyzer` process operates on a temporary clone.
2022-07-18 16:10:04 +12:00
Roy Ho 4fcbcb1a48
Revise condition logic to prevent spawning a child process unnecessarily (#33917) 2022-07-15 13:35:54 -07:00
Roy Ho 2774ef2c1b
Add cherry pick tool (#33870)
* Add cherry pick tool

* Add githubremoteurl environment

* Add readme
2022-07-14 07:36:15 -07:00
Sam Seay 5157bcf934
Use simple-git to produce diffs in the code analyzer (#33837)
In code-analyzer, clone the repo locally in a tmp folder and perform git operations on the copy instead of local files.
2022-07-14 15:39:38 +12:00
Paul Sealock 293de77552
Package Release: Handle invalid releases (#33798) 2022-07-14 14:03:37 +12:00
Paul Sealock 62b91768fb
JS Package Release: Fix NPM link (#33800) 2022-07-13 15:04:14 +12:00
AnnaMag 9853bd8991
Tooling: update the changelog addition command. (#33628)
Update changelog addition command.
2022-07-11 12:03:03 +02:00
Paul Sealock 7fad8728ce
Package Release: Add release script (#33743) 2022-07-08 08:47:13 +12:00
Paul Sealock 7229b65bc9
Changelogger: Fix PHPCS violations (#33664) 2022-07-07 08:54:48 +12:00
Paul Sealock a2b6b9bd2d
Analyzer: Fix regex to handle multiple changes in a single file (#33651) 2022-07-01 07:12:34 +12:00
Paul Sealock eb223038f6
Prepare Script: Fix failure on only comment changelog entries (#33668) 2022-07-01 07:10:43 +12:00
Paul Sealock 23c7046df0
Changelogger: Fix JS package epilogues (#33645) 2022-06-30 08:09:46 +12:00
Paul Sealock f20d109164
Release JS Packages: Execute script from GH Action (#33614) 2022-06-29 13:41:43 +12:00
jonathansadowski d48a0b2d90
Add helper tool for making sure build, lint, and test are run through Turborepo (#33573)
* Add helper tool for making sure build, lint, and test are run through Turborepo

* Update node version for require-turbo
2022-06-28 13:17:05 -05:00
Paul Sealock 6dd78f0f62
Package release script: Prepare packages (#33515) 2022-06-23 12:09:43 +12:00
Paul Sealock c617c70d46
Analyzer: Remove check for hook without description (#33528)
Remove check for hook without description
2022-06-22 17:00:33 +12:00
Paul Sealock 189c17cbcf
Changelogger Formatter: Parse previous significance (#33527) 2022-06-22 07:25:08 +12:00
Paul Sealock bdc4886acc
Analyzer: Surface hook descriptions (#33396) 2022-06-17 11:47:24 +12:00
jonathansadowski 626a409e83
Release automation: generate changelog during code freeze (#33046)
* Update code freeze script to generate changelog PRs

* Add changelog file

Co-authored-by: jonathan <jonathan@jonathans-MacBook-Pro.local>
2022-06-16 14:44:07 -05:00
Paul Sealock b79e54eb09
Update JS packages changelogs (#33412) 2022-06-16 10:06:31 +12:00
jonathansadowski 1fe5137152
Update changelogger validation to work with turborepo (#33388)
* Update changelogger validation to work with turborepo

* Update file_get_contents call to include base_path
2022-06-10 15:23:14 -05:00
Paul Sealock 7fcba06a62
Analyzer CLI: Allow commit hashes for comparisons (#33356) 2022-06-10 10:31:39 +12:00
Christopher Allford b7931409f2
Migrate From Nx to Turborepo (#33079)
This replaces all `nx` commands with `turbo` commands and removes Nx from the repository. All of the `project.json` files have been removed and any commands that broke with Turborepo have been adjusted.
2022-06-09 14:40:07 -07:00
Paul Sealock c3fd7134cc
Analyzer: Turn on comments for database changes (#33224) 2022-06-09 09:25:49 +12:00
Chi-Hsuan Huang 5db5c8b110
Add tour kit component (#33229)
* Add tour-kit component

* Add @types/wordpress__viewport to @woocommerce/components devDeps

* Add tour-kit README.md

* Add primaryButtonText option to tour kit step meta

* Add changelog

* Remove unneeded style import

* Set position and z-index style for tour-kit

* Add disable primary button feature for tour kit

* Export TourKitTypes

* Update style-build config for @automattic/* packages

* Add @automattic/* deps for components

* Ignore fs in webpack.config.js

* Update tour-kit stories

* Add tour-kit tests

* Update tour-kit README.md

* Update tour-kit types

* Update webpack.config.js

* Update style.scss

* Add auto focus feature

* Update type doc
2022-06-08 17:16:31 +08:00
Paul Sealock be15a35038
Analyzer CLI: Add other schemas to scan (#33220)
* Add schema

* update to new filepath

* test

* Revert "test"

This reverts commit d05a731a46.

* remove unused import

* add products and orders scanning

* escape slashes

* save

* save

* save

* test

* save

* save

* better descriptions

* moar tests

* Revert "moar tests"

This reverts commit ad552db45b.

* remove test

* better doc blocks

* check port first

* stop wp-env after operation is done

* remove ProductAttributesLookup
2022-06-08 15:11:55 +12:00
Chi-Hsuan Huang b28d0c2254
Add missing dependencies & include @wordpress/components style for storybook (#33225)
* Add url-loader & copy-webpack-plugin to root package.json for storybook commands

* Update storybook config to include @wordpress/components style
2022-05-30 15:20:08 +08:00
Paul Sealock 37905dd178
Analyzer CLI: Add Database scanning (#33084) 2022-05-27 07:52:39 +12:00
Paul Sealock 4bfecbf42a
Declare create-extension script dependencies (#33169) 2022-05-26 09:07:19 +12:00
Paul Sealock 5de604e490
Add schema (#33095) 2022-05-20 11:08:51 +12:00
Paul Sealock 373ad382b5
Analyzer CLI: Refactor main file (#33081) 2022-05-20 10:02:40 +12:00
Claudio Sanches 2f4f8277bf
CLI tool and GH workflow to highlight PR changes (#32063) 2022-05-17 13:47:17 +12:00
Christopher Allford 37ad4c5a70 Converted Spaces To Tabs In JSON
Since we almost universally use tabs instead
of spaces, this commit replaces all of the spaces
with tabs in various JSON files across the monorepo.
2022-05-10 13:31:01 -07:00
Paul Sealock 635e3f6449
PR Template: Remove suggestion to use affected for changelogs (#32890)
* Remove suggestion to use affected for changelogs

* Update message in changelogger validation
2022-05-11 07:49:23 +12:00
Christopher Allford fc56455e47 Fixed Monorepo Merge Build
By default, TypeScript looks for type roots in
parent node_modules directories. We can't
do this because there are React types
that cause errors. This commit explicitly
defines the type roots for the package to avoid
that behavior.
2022-05-06 13:06:22 -07:00
Paul Sealock 6100df9a04
Storybook: Move code to `tools/` (#32729) 2022-04-28 09:54:54 +12:00
Paul Sealock e70b75cf81
Update `create-extension` to work in monorepo context (#32514)
* Update create-wc-extension to work in monorepo context

* update lock file
2022-04-26 08:51:35 +12:00
jonathansadowski 90a545b013
Merge pull request #32450 from woocommerce/add/changelogger-validation
Add changelogger validation.
2022-04-05 14:11:33 -05:00
Jonathan Sadowski b997f18dd8 Add newline to EOF 2022-04-01 13:12:16 -05:00
Jonathan Sadowski b244db0e44 Update arguments parsing to use getopt, and add path option 2022-04-01 12:43:18 -05:00
RJChow 6f23a5ae68 Introduce codemod for changing i18n text domain 2022-04-01 11:41:32 +08:00
Jonathan Sadowski 2c4e373192 Fix github action and correct error in detecting change file 2022-03-31 21:53:12 -05:00
Jonathan Sadowski 843d981198 Adapt check-changelogger-use from Jetpack for usage in WooCommerce monorepo 2022-03-31 20:42:54 -05:00
Christopher Allford 9287018d86 Expanded Issue Transfer Error Messaging
Rather than discarding the error message when
the issue transfer fails, we should give it in the
console so that the user can correct it.
2022-03-18 11:24:27 -07:00
Christopher Allford a55dfeed34 Implemented Issue Transfer
This commit adds the remaining functionality to
transfer issues between repositories.
2022-03-17 14:51:58 -07:00
Christopher Allford 275f080e66 Refactored Transfer Issue Command
This commit cleans up the command now that I'm
generally happy with the implementation. It should
be much easier to follow now, as well as follow
GitHub's GraphQL best-practices around sanitation.
2022-03-17 13:36:10 -07:00
Christopher Allford 59fe574947 Added Better Action Handling To Merge Command
This commit cleans up some of the action stop
handling in the merge command. I was adding
this handling to the issue transfer command and
saw the same mistakes made here.
2022-03-17 13:35:30 -07:00
Christopher Allford 1519eeac81 Added Label Flag
This commit adds a flag that enables the command to check
for labels that should be added to the issues after they
are transferred into the monorepo.
2022-03-16 23:29:17 -07:00
Christopher Allford 831a895db3 Applied Linting 2022-03-16 23:05:50 -07:00
Christopher Allford 57ab538668 Added Issue Transfer Command Skeleton
This commit adds the skeleton for an issue transfer command.
Almost all of the functionality is implemented, but it is missing
the actual transfer of issues. I'm nervous about testing this, so
I'm going to implement the rest of the functionality first.
2022-03-16 22:53:30 -07:00
Christopher Allford 8bb027279a Addressed PR Feedback 2022-02-28 09:43:16 -08:00
Christopher Allford cd9aad9a3d Added Merge Command
This adds a command that is able to merge any
repository into the monorepo.
2022-02-28 09:43:16 -08:00
Christopher Allford ed77233fb4 Added monorepo-merge Tool Scaffolding
This contains the basic framework for our new `monorepo-merge`
command. The goal will be for this command to handle the heavy lifting
for merging repositories with full history. It will (ideally) bring any
plugin or package into the repository in a ready-to-use state.
2022-02-28 09:43:02 -08:00
Paul Sealock eb453cce20
Add NX commands for Jetpack Changelogger (#31166) 2021-12-15 14:14:17 +13:00
Roy Ho 9e744e4029
Merge pull request #31312 from woocommerce/fix/formatter
Fix PHP Fatal error in Changelogger Formatter class
2021-11-29 07:28:34 -08:00
Claudio Sanches a8060e34d3 Fixed global namespace of DateTime and DateTimeZone
Fixes a PHP Fatal error:

```
PHP Fatal error:  Uncaught Error: Class 'Automattic\WooCommerce\MonorepoTools\Changelogger\DateTime' not found in /var/www/woo/wp-content/plugins/woocommerce/tools/changelogger/Formatter.php:143
```
2021-11-26 13:25:43 -03:00
Claudio Sanches 16b35ae2ab Removed leftovers from some debugging 2021-11-26 13:23:52 -03:00
Paul Sealock 31bda7a765 use significance instead of definition 2021-11-16 15:16:20 +13:00
Christopher Allford c91dda177d
Fix E2E Tests (#31205)
* Removed Changlogger Autoload

* Changed Jetpack Changelogger Formatter Loading

Rather than using the Composer autoload, we should use the
changelogger's "filename" option to point directly at the file.
This keeps the file out of the autoloads, since it's possible that
plugins or packages may be symlinked and break the relative
path to the plugin.
2021-11-16 15:01:50 +13:00
Paul Sealock ea14125d03 change reference to monorepo 2021-11-11 17:23:47 +13:00
Paul Sealock a5abab9ab0 Add Jetpack Changelogger 2021-11-11 16:28:10 +13:00
Paul Sealock ef015f740f git mv a few folders 2021-10-19 10:35:45 +13:00