All Projects β†’ Shopify β†’ Shopify Theme Inspector

Shopify / Shopify Theme Inspector

Licence: mit
A Chrome DevTools plugin that visualizes Shopify Liquid render profiling data so you can triage long-running code and reduce server response times!

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Shopify Theme Inspector

Craigstarter
An open source crowdfunding tool built on Shopify
Stars: ✭ 484 (+374.51%)
Mutual labels:  shopify, liquid
V8 Bailout Reasons
πŸ”§ A list of Crankshaft bailout reasons with examples
Stars: ✭ 861 (+744.12%)
Mutual labels:  performance, chrome
Wrp
Web Rendering Proxy: Use vintage, historical, legacy browsers on modern web
Stars: ✭ 503 (+393.14%)
Mutual labels:  chrome, chrome-devtools
Shopify Theme Lab
Shopify theme development environment using Liquid, Vue and Tailwind CSS πŸ§ͺ
Stars: ✭ 250 (+145.1%)
Mutual labels:  shopify, liquid
Slater Theme
Shopify Starter theme based on slate
Stars: ✭ 47 (-53.92%)
Mutual labels:  shopify, liquid
Lucid
A developer tool for engineers working with React and GraphQL.
Stars: ✭ 397 (+289.22%)
Mutual labels:  chrome, chrome-devtools
Shopify Lang
Multi-Language Shopify OnlineΒ Shop
Stars: ✭ 26 (-74.51%)
Mutual labels:  shopify, liquid
dry
Dry is a new template engine and language, and is a superset of Shopify's Liquid, with first-class support for advanced inheritance features, and more. From the creators of Enquirer, Assemble, Remarkable, and Micromatch.
Stars: ✭ 66 (-35.29%)
Mutual labels:  liquid, shopify
Jsx Lite
Write components once, run everywhere. Compiles to Vue, React, Solid, Angular, Svelte, and Liquid.
Stars: ✭ 1,015 (+895.1%)
Mutual labels:  shopify, liquid
Monomorphist
monomorphist - a JavaScript performance companion
Stars: ✭ 30 (-70.59%)
Mutual labels:  performance, chrome
vscode-liquid-snippets
Shopify Liquid Template Snippets
Stars: ✭ 22 (-78.43%)
Mutual labels:  liquid, shopify
Chrome Protocol Proxy
Chrome DevTools Protocol Proxy - intelligent proxy for debugging purposes
Stars: ✭ 94 (-7.84%)
Mutual labels:  chrome, chrome-devtools
liquidpy
A port of liquid template engine for python
Stars: ✭ 49 (-51.96%)
Mutual labels:  liquid, shopify
Pychrome
A Python Package for the Google Chrome Dev Protocol [threading base]
Stars: ✭ 469 (+359.8%)
Mutual labels:  chrome, chrome-devtools
gulp-shopify-theme
Shopify theme synchronisation during development
Stars: ✭ 26 (-74.51%)
Mutual labels:  liquid, shopify
Chromedp
A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.
Stars: ✭ 7,057 (+6818.63%)
Mutual labels:  chrome, chrome-devtools
shopify-wishlist
πŸ’™ A set of files used to implement a simple customer wishlist on a Shopify store
Stars: ✭ 115 (+12.75%)
Mutual labels:  liquid, shopify
bootstrap-shopify-theme
πŸ› A free Shopify Theme built with Bootstrap, BEM, Liquid, Sass, ESNext, Theme Tools, ... and Webpack.
Stars: ✭ 41 (-59.8%)
Mutual labels:  liquid, shopify
Language Liquid
Liquid language support for Atom.
Stars: ✭ 28 (-72.55%)
Mutual labels:  shopify, liquid
React Perftool
A browser developer tool extension, which will help you to inspect the performance of React Js components.
Stars: ✭ 90 (-11.76%)
Mutual labels:  performance, chrome-devtools

Shopify Theme Inspector for Chrome

Profile and debug Liquid template on your Shopify store.

Shopify themes are fast out of the box, but Liquid changes made afterwards can cause slowdowns. Shopify Theme Inspector for Chrome helps identify Liquid changes that are slowing your site down by providing a visualization of Liquid render profiling data, and giving you the means to triage the slowest parts of your Shopify theme.

Elements

Install

Visit the Chrome Web Store page and select Add to Chrome.

How to use

πŸ™‹β€β™€οΈ In order to proceed, you will need a Shopify single login account.

  1. Navigate to your Shopify store.
  2. Open Chrome DevTools.
  3. Navigate to the Shopify tab, located in the top group of tabs in Chrome DevTools.
  4. Click the ↻ (Load Profile) button to request and view your Liquid profile flamegraph.

Note: Development stores cannot generate a liquid profile. Shopify is working on this issue.

Share your Performance Wins!

We would love to learn how you use this tool and solve your Liquid rendering issues. Please share by making a comment here and/or tweet us about your win @shopifydevs.

Understanding the Liquid profile flame graph

Starting from the top of the stack, Page contains the total time the server spent to render the entire page.

The total time Page spent on rendering does not equal to time to first byte (TTFB). There will be some overhead due to the network.

Page total render time + network overhead = time to first byte

template:index is an example of top level liquid code that Page needs to resolve and render. You can learn more details about this section by clicking on the bar.

  • File - where this code is located in your themes files
  • Total Time - the time it took for server to render this code
  • Code snippet - the exact code that server resolved (The link will take you to Online Store Code Editor)
  • Line - the line number where the code exists

What to look for when debugging?

Too many sections

For each section, the server will take time to resolve and render. When there are too many sections, the server will take more time to resolve.

Too deep

Here are some possible reasons why a flame graph would result in this situation:

  • Too many conditionals
  • Nested loops
  • Nested includes
  • Combination of all of the above

Non-Visual Sections

These sections could be for:

  • Scripts
  • SEO
  • Analytics
  • … etc.

Evaluate whether these sections are necessary or refactor it so that it becomes more efficient.

FAQ

Can I profile any Shopify store I want?

No, you can only profile stores that are linked to your single login Shopify account. You can also profile stores that you have access as a Shopify partner collaborator that have themes access.

Shopify partner collaborator accounts will not be able to profile a development store. Shopify is working on this issue, however, there is no timeline on when it will be done.

I'm not seeing the Shopify tab in Chrome DevTools

The Shopify tab will only show when viewing a Shopify Online Store.

I received an error page which says "This page cannot be profiled."

If you see this error, it may be because of one of the following conditions:

  • Your account does not have access to the current store you are trying to profile.
  • You might be trying to profile a checkout page, which is not supported by this extension.
  • There was an unhandled error in the request, e.g. timeout, lost connection, etc.

If it was none of the errors above you can right click on Shopify DevTools , inspect page, and view console for error details.

Contributing

To learn more about how to contribute to this project check out the contributing documentation.

If you find a bug please open an issue.

If you would like to request a feature, check out the feature request documentation.

Shopify Employees

View the internal documentation for more details on internal usage, development, and publishing new releases.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].