probe-image-size
caniuse
probe-image-size | caniuse | |
---|---|---|
2 | 389 | |
957 | 5,503 | |
0.3% | - | |
0.0 | 9.5 | |
11 months ago | 5 days ago | |
JavaScript | JavaScript | |
MIT License | Creative Commons Attribution 4.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
probe-image-size
-
Issues With Using 'http.get()' Which Resulted In 'BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.' Error
import React, { useState } from "react"; const url = require("url"); const http = require("http"); const sizeOf = require("image-size"); function Upload() { const [photoName, setPhotoName] = useState(""); const [photoLink, setPhotoLink] = useState(""); const [submittedData, setSubmittedData] = useState([]); const [errors, setErrors] = useState([]); function handlePhotoNameChange(event) { console.log("handlePhotoNameChange"); setPhotoName(event.target.value); } function handlePhotoLinkChange(event) { console.log("handlePhotoLinkChange"); setPhotoLink(event.target.value); } function handleSubmit(event) { event.preventDefault(); if (photoName.length > 0) { // TODO: // Use 'probe-image-size' library to determine width and height of the image the user passed in // Then, add a 'width' and 'height' key value to the 'formData' variable so that the // values are then added back to 'db.json' accordingly: // https://github.com/nodeca/probe-image-size const options = url.parse(photoLink); // 'http.get()' request so that I can obtain the image itself: http.get(options, function (response) { const chunks = []; response .on("data", function (chunk) { chunks.push(chunk); }) .on("end", function () { const buffer = Buffer.concat(chunks); console.log(sizeOf(buffer)); }); }); const formData = { photoName: photoName, photoLink: photoLink }; const dataArray = [...submittedData, formData]; setSubmittedData(dataArray); setPhotoName(""); setPhotoLink(""); setErrors([]); console.log("handleSubmit() called"); console.log("dataArray (before fetch() call): ", dataArray); fetch("http://localhost:3000/photos", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ dataArray: dataArray, }), }) .then((response) => response.json()) .then((response) => { console.log("response (from fetch request): ", response); }); } else { setErrors(["Name of photo is required!"]); } } const listOfSubmissions = submittedData.map((data, index) => { return ( {data.photoName} {data.photoLink} ); }); return ( Upload Image To Board Name: Link: Upload {errors.length > 0 ? errors.map((error, index) => ( {error} )) : null} Recent Submissions Below: {listOfSubmissions} ); } export default Upload;
-
Lazy loading images, so easy you won’t believe it (a native strategy)
Again, there are multiple ways to get dimensions and your development pipeline might just provide this information by default. In case it doesn't, we have found a nice and small npm package called probe-image-size. It allows for 'probing' an image locally or remotely.
caniuse
-
CSS Text Box Trim
Safari is the only browser that doesn't support extending HTML element
https://caniuse.com/?search=Custom%20Elements
-
JavaScript is not single-threaded
You forgot to mention (Web)Workers. This is explicit creation, management, and communication with additional threads within JavaScript. What's more, they've been around in JavaScript longer than the V8 engine has even existed!
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers...
https://caniuse.com/?search=webworkers
- Show HN: Render audio to HTML canvas using WebGPU
-
Tree-shaking, the horticulturally misguided algorithm
Do you happen to know where can I check out the cutoff version for each browser? https://caniuse.com/?search=wasm doesn't have it (or other things like WasmGC for that matter)
- Le saviez-vous ? :focus :focus-within :focus-visible
-
10 Websites Every Web Developer Should Bookmark
(https://caniuse.com/) A handy tool for checking the browser compatibility of HTML, CSS, and JavaScript features. Can I Use provides up-to-date support tables for various web technologies across different browsers.
-
SASS is dead? CSS vs SASS 2024
Caniuse
-
Free Resources Every Web Developer Should Know About
Can I Use (https://caniuse.com/)
-
Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness
> Is it though?
In my experience it's the buggiest browser out of the big three, and is often missing basic features like e.g.:
https://caniuse.com/?search=opus
Supported in Firefox for *12 years* now, in Chrome for 10, still no support in Safari.
They only "support" Opus audio in their special snowflake '.caf' container, which is super buggy and the last time I checked no open source program could even generate Opus '.caf' files that could be played by Safari on all Apple platforms. I ended up writing a custom converter which takes a standard '.opus' file and remuxes it on-the-fly (I only store '.opus' files on my server) into Safari-compatible '.caf' files, taking special care to massage it so that it avoids all of their demuxer/decoder bugs. You shouldn't have to do this to have cross-browser high quality audio!
-
Streaming HTML out of order without JavaScript
Well I'll be! In my mind I had this clear picture of Firefox implementing it.
It correct, it was only Chrome: https://caniuse.com/?search=html%20import
What are some alternatives?
sharp - High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
pica - Resize image in browser with high quality and high speed
caniemail - Can I email… Support tables for HTML and CSS in emails.
gm - GraphicsMagick for node
postcss-preset-env - Convert modern CSS into something browsers understand
lwip - Light Weight Image Processor for NodeJS
modern-css-reset - A bare-bones CSS reset for modern web development.
Korkut - Quick and simple image processing at the command line. :hammer:
modern-normalize - 🐒 Normalize browsers' default style
is-progressive - Check if JPEG images are progressive
Servo - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine