Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create block: Use Block API version 2 #26098

Merged
merged 6 commits into from
Dec 9, 2020
Merged

Create block: Use Block API version 2 #26098

merged 6 commits into from
Dec 9, 2020

Conversation

ellatrix
Copy link
Member

@ellatrix ellatrix commented Oct 14, 2020

Description

See #25642. Ideally all new blocks should use API version 2.

How has this been tested?

Screenshots

Types of changes

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@ellatrix ellatrix requested review from gziolo and mkaz as code owners October 14, 2020 10:34
@github-actions
Copy link

github-actions bot commented Oct 14, 2020

Size Change: 0 B

Total Size: 1.2 MB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.8 kB 0 B
build/api-fetch/index.js 3.42 kB 0 B
build/autop/index.js 2.84 kB 0 B
build/blob/index.js 664 B 0 B
build/block-directory/index.js 8.71 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/index.js 133 kB 0 B
build/block-editor/style-rtl.css 11.3 kB 0 B
build/block-editor/style.css 11.3 kB 0 B
build/block-library/editor-rtl.css 8.96 kB 0 B
build/block-library/editor.css 8.96 kB 0 B
build/block-library/index.js 148 kB 0 B
build/block-library/style-rtl.css 8.23 kB 0 B
build/block-library/style.css 8.23 kB 0 B
build/block-library/theme-rtl.css 792 B 0 B
build/block-library/theme.css 793 B 0 B
build/block-serialization-default-parser/index.js 1.87 kB 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 172 kB 0 B
build/components/style-rtl.css 15.3 kB 0 B
build/components/style.css 15.3 kB 0 B
build/compose/index.js 9.95 kB 0 B
build/core-data/index.js 14.8 kB 0 B
build/data-controls/index.js 827 B 0 B
build/data/index.js 8.8 kB 0 B
build/date/index.js 11.2 kB 0 B
build/deprecated/index.js 768 B 0 B
build/dom-ready/index.js 571 B 0 B
build/dom/index.js 4.92 kB 0 B
build/edit-navigation/index.js 11.2 kB 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.45 kB 0 B
build/edit-post/style.css 6.44 kB 0 B
build/edit-site/index.js 23.5 kB 0 B
build/edit-site/style-rtl.css 3.86 kB 0 B
build/edit-site/style.css 3.86 kB 0 B
build/edit-widgets/index.js 26.4 kB 0 B
build/edit-widgets/style-rtl.css 3.13 kB 0 B
build/edit-widgets/style.css 3.13 kB 0 B
build/editor/editor-styles-rtl.css 476 B 0 B
build/editor/editor-styles.css 478 B 0 B
build/editor/index.js 43.3 kB 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.85 kB 0 B
build/element/index.js 4.62 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 6.86 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 2.27 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 3.57 kB 0 B
build/is-shallow-equal/index.js 698 B 0 B
build/keyboard-shortcuts/index.js 2.54 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.1 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.32 kB 0 B
build/notices/index.js 1.81 kB 0 B
build/nux/index.js 3.42 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.43 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/reusable-blocks/index.js 2.92 kB 0 B
build/rich-text/index.js 13.4 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/shortcode/index.js 1.69 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.05 kB 0 B
build/viewport/index.js 1.86 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@gziolo gziolo added the [Tool] Create Block /packages/create-block label Oct 15, 2020
Copy link
Member

@gziolo gziolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we land it before WordPress 5.6 is out? Is useBlockProps already part of WordPress core?

We had a similar dilemma with new block categories that we couldn't include before 5.5 was out because it would fail block registration. Here it might fail a block if the Gutenberg plugin isn't installed.

@ellatrix
Copy link
Member Author

@gziolo useBlockProps should be in core and is the same as apiVersion: 2. Ideally all new blocks should use it and old block should upgrade.

@gziolo
Copy link
Member

gziolo commented Oct 15, 2020

@gziolo useBlockProps should be in core and is the same as apiVersion: 2. Ideally all new blocks should use it and old block should upgrade.

Based on the date of exposing the API #25642, I don't think it's available as of today for a wider audience when you consider no Gutenberg plugin installed scenario.

So my point is, that we need to wait with changes to the tool until WP 5.6 is out.

@gziolo
Copy link
Member

gziolo commented Nov 8, 2020

Now that we only backport bug fixes to wp/trunk branch, it should be fine to land this PR.

Copy link
Member

@gziolo gziolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will need readme.txt.mustache templates to set the minimum version of WordPress to 5.6, plus leave a note in the changelog file to make people aware of this new restriction.

@gziolo gziolo force-pushed the try/create-block-api-2 branch from 5f9a912 to 33c4643 Compare November 23, 2020 16:31
Copy link
Member

@gziolo gziolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I applied several changes to have this PR ready to merge just after WordPress 5.6 is out.

@ellatrix, can you double-check if the proposed changes make sense?

apiVersion is now configurable for 3rd party templates that were added recently.

I tested with:

npx wp-create-block my-esnext-block
npx wp-create-block my-es5-block -t es5

@gziolo gziolo added the [Type] New API New API to be used by plugin developers or package users. label Nov 23, 2020
@gziolo gziolo changed the title Create block script: use API v2 Create block: Use Block API version 2 Nov 23, 2020
@gziolo
Copy link
Member

gziolo commented Dec 9, 2020

It's time to get it merged 🎉

@gziolo gziolo merged commit c043d0f into master Dec 9, 2020
@gziolo gziolo deleted the try/create-block-api-2 branch December 9, 2020 16:58
@github-actions github-actions bot added this to the Gutenberg 9.6 milestone Dec 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Tool] Create Block /packages/create-block [Type] New API New API to be used by plugin developers or package users.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants