Need help with is-progressive?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sindresorhus
193 Stars 8 Forks MIT License 29 Commits 0 Opened issues

Description

Check if JPEG images are progressive

Services available

!
?

Need anything else?

Contributors list

# 216
exec
test-fr...
nextjs
messeng...
24 commits
# 51,225
Go
IPFS
Less
nextjs
1 commit
# 162,603
PHP
synchro...
HTML
Git
1 commit
# 7,586
TypeScr...
vscode
exec
test-fr...
1 commit
# 5,527
TypeScr...
typescr...
iterm2
exec
1 commit
# 6,551
chalk
exec
vuejs2
sketch-...
1 commit

is-progressive

Check if JPEG images are progressive

Can be useful to make sure your images are progressive, which is important for performance:

Progressive JPEGs are better because they are faster. Appearing faster is being faster, and perceived speed is more important that actual speed. - Progressive JPEGs: a new best practice

The check is fast as it only reads a small part of the file.

Install

npm install is-progressive

Usage

import isProgressive from 'is-progressive';

console.log(await isProgressive.file('baseline.jpg')); //=> false

isProgressive.fileSync('progressive.jpg'); //=> true

// Check if a remote JPEG image is progressive without downloading the whole file
import https from 'https';
import isProgressive from 'is-progressive';

const url = 'https://raw.githubusercontent.com/sindresorhus/is-progressive/main/fixture/progressive.jpg';

https.get(url, async response => { console.log(await isProgressive.stream(response)); //=> true });

API

Prefer the file methods if you're dealing directly with files. Those methods are optimized to read in the least amount of bytes necessary to determine whether it's a progressive JPEG image.

.buffer(buffer)

Returns whether the

buffer
is a progressive JPEG image.
buffer

Type:

Buffer

The buffer of a JPEG image.

Must be at least

65535
bytes when the file is larger than that.

.stream(stream)

Returns a

Promise
indicating whether the file stream is a progressive JPEG image.
stream

Type:

stream.Readable

A data stream with a JPEG image.

.file(filePath)

Returns a

Promise
indicating whether the file at the
filePath
is a progressive JPEG image.
filePath

Type:

string

The file path to the image.

.fileSync(filePath)

Whether the the file at the

filePath
is a progressive JPEG.
filePath

Type:

string

The file path to the image.

Build-system integration

Don't use this with a build-system like Gulp/Grunt as you can easily make the images progressive with the

imagemin
(Gulp/Grunt-task)

progressive
option instead of just warning about it.

Related

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.