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

Interactivity API: Clarify some warning messages #61720

Merged
merged 1 commit into from
May 16, 2024

Conversation

DAreRodz
Copy link
Contributor

What?

Fixes some warning messages to make them more precise and explanatory.

Testing Instructions

  1. In the site editor, in a template with interactive blocks, add a Custom HTML block with the following content:
    <div
      data-wp-interactive="false"
      data-wp-invalid!!
      data-wp-context='{"text":"hi"}'
      data-wp-text="context.text"
    >Element with errors</div>
  2. Visit a page with that template.
  3. Ensure the following warning errors appear in the console:
    ⚠️ Found malformed directive name: data-wp-invalid!!.
    ⚠️ Namespace missing for "context.text". The value for that path won't be resolved.
@DAreRodz DAreRodz added [Type] Enhancement A suggestion for improvement. [Feature] Interactivity API API to add frontend interactivity to blocks. [Packages] Interactivity /packages/interactivity labels May 16, 2024
Copy link

github-actions bot commented May 16, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: DAreRodz <darerodz@git.wordpress.org>
Co-authored-by: michalczaplinski <czapla@git.wordpress.org>
Co-authored-by: cbravobernal <cbravobernal@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@@ -271,7 +271,7 @@ export const directive = (
const resolve = ( path: string, namespace: string ) => {
if ( ! namespace ) {
warn(
`The "namespace" cannot be "{}", "null" or an empty string. Path: ${ path }`
`Namespace missing for "${ path }". The value for that path won't be resolved.`
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The warning message is logged for any "falsy" value, so I guess just mentioning that the namespace is missing makes sense.

@@ -142,7 +142,7 @@ export function toVdom( root: Node ): Array< ComponentChild > {
( obj, [ name, ns, value ] ) => {
const directiveMatch = directiveParser.exec( name );
if ( directiveMatch === null ) {
warn( `Invalid directive: ${ name }.` );
warn( `Found malformed directive name: ${ name }.` );
Copy link
Contributor Author

Choose a reason for hiding this comment

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

"Invalid directive" could be ambiguous. Since we're validating the directive name here, I opted for a more explicit message.

Copy link
Contributor

@michalczaplinski michalczaplinski left a comment

Choose a reason for hiding this comment

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

Makes sense to me!

@cbravobernal cbravobernal merged commit 861437c into trunk May 16, 2024
73 checks passed
@cbravobernal cbravobernal deleted the update/iapi-clarify-warning-messages branch May 16, 2024 19:52
@github-actions github-actions bot added this to the Gutenberg 18.5 milestone May 16, 2024
bph pushed a commit to bph/gutenberg that referenced this pull request May 27, 2024
Co-authored-by: DAreRodz <darerodz@git.wordpress.org>
Co-authored-by: michalczaplinski <czapla@git.wordpress.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Interactivity API API to add frontend interactivity to blocks. [Packages] Interactivity /packages/interactivity [Type] Enhancement A suggestion for improvement.
3 participants