question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RFC: Lighthouse Subpackage Proposal (report UI and tracehouse)

See original GitHub issue

EDIT: Updated June 2020 with the elements of this that we no longer need styled with strikethrough.

Summary

Long-term goals:

  • Ensure package-like parts of Lighthouse are easy to maintain, develop, and consume.
  • Facilitate the improvement of report UI components to handle use cases outside of the core report and a more app-like experience remains embeddable.

Long-term Proposal:

  • Structure files/folders in a psuedo-lerna packages/* style with core, cli, report, viewer, tracehouse, logger to establish logical delineations between packages.
  • Publish lighthouse-logger from packages/logger and publish tracehouse from packages/tracehouse, continue to publish the root as lighthouse initially.
  • Eventually publish subpackages of core, cli, and report.
  • Other package-like things (dependency graph, sd validation, manifest parser, etc) are first organized in a folder under packages/core/lib before being promoted to a folder in packages/ if demand exists.

Short-term goals:

  • Share report UI elements with lighthouse-ci MVP.
  • Regularly publish tracehouse as its own package.

Short-term Proposal:

  • Break apart the monolithic templates.html and report-styles.css into reusable web components that could be require’d in lighthouse-ci.
  • Augment those web components to support diff-modes where applicable.
  • Do the file/folder restructuring above and publish a minimal API from packages/tracehouse.

Short-term Hackier Alternatives:

  • Fork just the necessary report UI components in the lighthouse-ci repo, copy/paste certain styles for consistency.
  • Publish tracehouse straight from lighthouse-core/lib/tracehouse. It’s dependencyless and I mean how frequently do we update that logic anyhow.

To be honest, given our timeframe constraints and lack of clarity on where the report UI components might go, I think I prefer the hackier alternatives, but the long-term vision of doing things the right way does get me all warm and fuzzy, so feedback welcome! 😃

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:16 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
patrickhulcecommented, Sep 29, 2020

Ah yes @adrianaixba I’m slowly working on this for tracehouse ( #11034 #11253 ), I’ll update 😃

1reaction
adrianaixbacommented, Sep 29, 2020

@patrickhulce is this proposal still pending? 👀

Read more comments on GitHub >

github_iconTop Results From Across the Web

No results found

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found