Giter VIP home page Giter VIP logo

layout-shift-gif's Introduction

Mandatory introduction

I make useful things, useless things, and things to make you smile.

Support my web experiments

Help support my projects and sponsor me on GitHub Sponsors.

If my fun web experiments brighten your day, my tools save your bacon, or you simply want to say thanks for the work that goes into SEOslides.page, TAPEFEAR, or any of my other projects consider supporting me and helping to fund more.

Horseman 🐴👀

https://gethorseman.app/

As a thank for you sponsoring me you'll get instant early bird access (for as long as you remain a sponsor) to Horseman, your endlessly configurable crawling companion; now with GPT integration.

layout-shift-gif's People

Contributors

adamread avatar workeffortwaste avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

layout-shift-gif's Issues

Output the whole page

Is there a way I could output the whole page to the gif. I have pages that are very tall: multiple screens

Installs fine but cannot run (Macbook M1)

I figure this is related to having an M1, any ideas?

╭─ericjohnson@ej-mba-m1 ~
╰─$ npm install -g layout-shift-gif

added 126 packages, and audited 127 packages in 15s

11 packages are looking for funding
run npm fund for details

found 0 vulnerabilities
╭─ericjohnson@ej-mba-m1 ~
╰─$ layout-shift-gif --url https://blacklivesmatter.com/ --device mobile --output layout-shift.gif
TimeoutError: Timed out after 10000 ms while trying to connect to the browser! Only Chrome at revision r869685 is guaranteed to work.
at Timeout.onTimeout (/opt/homebrew/lib/node_modules/layout-shift-gif/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:205:20)

An option to bypass Error: net::ERR_CERT_AUTHORITY_INVALID

Hi =)
Is there a change you could add a way to use a localhost with https? Of course, the main problem about this is that I always have to add an exception when I navigate through a visual browser, pero using this project as a npm program through the terminal throws an error about my website's certificate.

Btw, excellent project!

Include Readme and explanation of colors/border styles

While using the tool, I am presented with information about the CLS on the page via colored rectangles (I have seen green and orange) that animate by either popping into the gif or having their border-style change (from solid to dashed or vice versa).

What do the different colors and border styles indicate?

Cookie prompts / pop-up windows

It'd be great if you try to close the cookie prompts / pop-up windows (or being able to specify which element to click). E.g.:

image

Add output to a text file with full css paths to affected divs.

For analyzing which divs specifically are affected it would be helpful if a full css selector to the div that has changed could be included in the output.

Something like body > div > div.foobar > div > span:nth-child(10)
It makes finding the affected elements much easier.

TypeError: Cannot read properties of undefined (reading 'Nexus 5X')

Hi Thanks for adding apple silicon support, I tried it again and i get this issue:

╭─ericjohnson@ej-mba-m1 ~
╰─$ layout-shift-gif --url https://blacklivesmatter.com/ --device mobile --output layout-shift.gif                           1 ↵
file:///opt/homebrew/lib/node_modules/layout-shift-gif/layout-shift-gif.js:59
const phone = devices['Nexus 5X']
                     ^

TypeError: Cannot read properties of undefined (reading 'Nexus 5X')
    at file:///opt/homebrew/lib/node_modules/layout-shift-gif/layout-shift-gif.js:59:22
    at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
    at async loadESM (node:internal/process/esm_loader:88:5)
    at async handleMainPromise (node:internal/modules/run_main:61:12)

Node.js v17.4.0

Steps to reproduce:

  1. Run npm install -g layout-shift-gif
  2. Run layout-shift-gif --url https://blacklivesmatter.com/ --device mobile --output layout-shift.gif
  3. The error above occurs.

Use puppeteer-core to make CLI ux better

Love the idea of your package and CLI api ❤️.

I suggest to use puppeteer-core to prevent user from waiting of chrome downloading each time when package was used via npx. Waiting for 132.4 Mb each launch hurts UX a bit 😅.

We can use find_chrome.js script to get executablePath of local chrome instance or it'll download it's latest revision.

I can prepare PR, if you don't mind, do you?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.