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: Make it easier to provide most popular CLI options #21751

Merged
merged 2 commits into from
Apr 27, 2020

Conversation

gziolo
Copy link
Member

@gziolo gziolo commented Apr 21, 2020

Description

Add more CLI options: --namespace, --title, --description and --category. The goal is to make it easier to override default values used for block scaffolding. Full specification:

--namespace <value>         internal namespace for the block name
--title <value>             display title for the block
--short-description <value> short description for the block
--category <name>           category name for the block

There are more prompts than that but I picked those which are the most important. We probably could support all of them. I'm happy to tackle that in the follow-up PR.

How has this been tested?

ES5 template + quick mode:

npx wp-create-block todo-list --template es5 --namespace gziolo --title "To-do List" --short-description "To-do list description" --category widgets

Screen Shot 2020-04-24 at 10 32 40

ESNext template + interactive mode where provided options are skipped:

npx wp-create-block --namespace gziolo --title "To-do List" --short-description "To-do list description" --category widgets

Screen Shot 2020-04-24 at 10 33 37

npx wp-create-block --help

Screen Shot 2020-04-24 at 10 36 25

Types of changes

New feature (non-breaking change which adds functionality).

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.

@gziolo gziolo added [Type] Enhancement A suggestion for improvement. [Package] Create Block /packages/create-block labels Apr 21, 2020
@gziolo gziolo self-assigned this Apr 21, 2020
@github-actions
Copy link

github-actions bot commented Apr 21, 2020

Size Change: 0 B

Total Size: 835 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 4.08 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.24 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 761 B 0 B
build/block-editor/index.js 106 kB 0 B
build/block-editor/style-rtl.css 10.2 kB 0 B
build/block-editor/style.css 10.2 kB 0 B
build/block-library/editor-rtl.css 7.05 kB 0 B
build/block-library/editor.css 7.05 kB 0 B
build/block-library/index.js 112 kB 0 B
build/block-library/style-rtl.css 7.14 kB 0 B
build/block-library/style.css 7.14 kB 0 B
build/block-library/theme-rtl.css 683 B 0 B
build/block-library/theme.css 685 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 198 kB 0 B
build/components/style-rtl.css 16.9 kB 0 B
build/components/style.css 16.9 kB 0 B
build/compose/index.js 6.66 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.43 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 569 B 0 B
build/dom/index.js 3.1 kB 0 B
build/edit-navigation/index.js 3.54 kB 0 B
build/edit-navigation/style-rtl.css 485 B 0 B
build/edit-navigation/style.css 485 B 0 B
build/edit-post/index.js 27.7 kB 0 B
build/edit-post/style-rtl.css 12.3 kB 0 B
build/edit-post/style.css 12.3 kB 0 B
build/edit-site/index.js 11 kB 0 B
build/edit-site/style-rtl.css 5.26 kB 0 B
build/edit-site/style.css 5.25 kB 0 B
build/edit-widgets/index.js 8.33 kB 0 B
build/edit-widgets/style-rtl.css 5 kB 0 B
build/edit-widgets/style.css 5 kB 0 B
build/editor/editor-styles-rtl.css 428 B 0 B
build/editor/editor-styles.css 431 B 0 B
build/editor/index.js 43.3 kB 0 B
build/editor/style-rtl.css 3.27 kB 0 B
build/editor/style.css 3.27 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.32 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 711 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.12 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 5.29 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.67 kB 0 B
build/primitives/index.js 1.49 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.8 kB 0 B
build/server-side-render/index.js 2.67 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.02 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@gziolo gziolo force-pushed the update/create-block-cli-options branch from 6dafe2c to b83e8fa Compare April 24, 2020 08:39
@gziolo gziolo requested a review from aduth April 24, 2020 08:39
@gziolo gziolo marked this pull request as ready for review April 24, 2020 08:39
@gziolo gziolo force-pushed the update/create-block-cli-options branch from b83e8fa to 3ad8ede Compare April 24, 2020 08:41
@gziolo gziolo requested a review from youknowriad April 24, 2020 08:45
packages/create-block/lib/index.js Outdated Show resolved Hide resolved
@gziolo gziolo force-pushed the update/create-block-cli-options branch from 3ad8ede to 92440d5 Compare April 26, 2020 06:22
Props to @aduth for suggestions that helped to improve the code.
@gziolo gziolo force-pushed the update/create-block-cli-options branch from ac5fdf2 to 934bed4 Compare April 26, 2020 06:28
@gziolo
Copy link
Member Author

gziolo commented Apr 26, 2020

It turned out that --description option resolves to a function when not provided so I decided to rename it to --short-description to avoid unexpected behavior with how commander works. I assume that using CLI prompts will be the usual way to provide it so I don't think we need to worry too much that it's too long to type.

@gziolo
Copy link
Member Author

gziolo commented Apr 27, 2020

https://travis-ci.com/github/WordPress/gutenberg/jobs/323443103 fails because of
npm i or npm run docs:build, but I can't reproduce it locally.

@gziolo gziolo merged commit 4fdf91e into master Apr 27, 2020
@gziolo gziolo deleted the update/create-block-cli-options branch April 27, 2020 07:55
@github-actions github-actions bot added this to the Gutenberg 8.0 milestone Apr 27, 2020
marecar3 pushed a commit that referenced this pull request Apr 27, 2020
)

* Create Block: Make it possible to provide most popular options as CLI options

* Improve handling for options passed from CLI
Props to @aduth for suggestions that helped to improve the code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Create Block /packages/create-block [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants