Pwa-studio: [bug]: RootComponents can't have // commented code in their files

Created on 11 Mar 2020  路  5Comments  路  Source: magento/pwa-studio

Describe the bug
Leaving code comments in RootComponents/Category/category.js prevents webpack from running after a restart

To reproduce
Steps to reproduce the behavior:

  1. Start watcher with yarn run watch:venia
  2. Go to packages/venia-ui/lib/RootComponents/Category/category.js
  3. comment out
    if (totalPagesFromData === null) { return fullPageLoadingIndicator; } with this // comment style
  4. Note that it seems to compile normally without errors
  5. Now restart the watcher
  6. It should give you an error like below
    Screenshot 2020-03-11 at 11 36 45
  7. Now go ahead and remove the piece of code that we've just commented.
  8. Restart watcher and note it now work properly

Expected behavior
Run's without a problem when you comment code

Additional context
It seem sto happen when the code has an if() statement in the code that's been commented.
Now for the weirdest part: when you use multiline comments like /* */ the problem doesn't appear. So I think somewhere in the RootComponentsPlugin it somehow read's these comments

Please complete the following device information:

  • Device [e.g. iPhone6, PC, Mac, Pixel3]:
  • OS [e.g. iOS8.1, Windows 10]:
  • Browser [e.g. Chrome, Safari]:
  • Browser Version [e.g. 22]:
  • Magento Version:
  • PWA Studio Version:
  • NPM version npm -v:
  • Node Version node -v:


Please let us know what packages this bug is in regards to:

  • [ ] venia-concept
  • [ ] venia-ui
  • [x] pwa-buildpack
  • [ ] peregrine
  • [ ] pwa-devdocs
  • [ ] upward-js
  • [ ] upward-spec
  • [ ] create-pwa
P2 done S3 bug help wanted

Most helpful comment

@Jordaneisenburger I was just about to add some notes here.

We hit the same bug around April and again in September, and needed @zetlen to lend an eye to understand it. It's the directive parser for root components that trips up expecting (if I recall correctly) a single comment block only which contains the "type" information.

All 5 comments

@Jordaneisenburger I was just about to add some notes here.

We hit the same bug around April and again in September, and needed @zetlen to lend an eye to understand it. It's the directive parser for root components that trips up expecting (if I recall correctly) a single comment block only which contains the "type" information.

Created in Jira backlog for grooming/prioritization

Marked as P3S3 given available workaround (@zetlen)

@Jordaneisenburger can you confirm if this has been fixed in 8.0.0? Let's close if needed. Thanks!

Looks like it's fixed, I'll close for now.

Was this page helpful?
0 / 5 - 0 ratings