
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
View and compare differences between two sets of images in a generated static site. It'll group changes by how changed they are and allow you to quickly view each set invidudually, side by side, or as a diff map between both.
View and compare differences between two sets of images in a generated static site. It'll group changes by how changed they are and allow you to quickly view each set invidudually, side by side, or as a diff map between both.
This tool is meant to be used as part of a larger visual regression toolchain, so you'll still need something that actually takes screenshots & compares them.
Let's say you have this json, it's a list of image urls, a friendly name for each, and the difference between them. It looks like this:
📄 /screenies.json
[
{
"srcset": {
"original": "https://i.imgur.com/do79zD3.jpg",
"current": "https://i.imgur.com/6INW6uB.jpg"
},
"name": "Landing page",
"diff": 0.862
},
{
"srcset": {
"original": "https://i.imgur.com/j0aYNKq.png",
"current": "https://i.imgur.com/ZXmcL9U.png"
},
"name": "User profile menu",
"diff": 0.9
},
{/*add as many as u want*/}
]
It's a simple pretty unopinionated data shape. Now, the same can't be said of all the possible ways to generate it, that's why bromide
only concerns itself with letting you visualize the changes, while delagating the heavy lifting to any toolkit of your choice.
In the same directory, you can run:
$ npx bromide --changes screenies.json --out site
...and if it all worked out, you should have a static site in your /site
folder where you can compare your set of differences neatly! You can see it locally by running npx serve ./out
.
There's not much use for this locally as you could just, like, open the files, but imagine if you then move that site to an S3 bucket and make it a post deploy hook. Magic!
bromide
takes an approach of embracing change. Instead of calling out visual regressions, it celebrates changes, it just puts them in front of you so you can check if they are desired.
Your project might have different requeriments, and that's okay! You can pass a third --thresholds
parameter with the path to a json of change groups you want the UI to display:
📄 /thresholds.json
[
{
"from": 0.75,
"singular": "has visual regressions",
"plural": "have visual regressions"
},
{
"from": 0.25,
"singular": "may have visual regressions",
"plural": "may have visual regressions"
},
{
"from": 0,
"singular": "looks the same",
"plural": "look the same"
}
]
$ npx bromide --changes screenies.json --thresholds thresholds.json --out site
FAQs
Unknown package
The npm package bromide receives a total of 0 weekly downloads. As such, bromide popularity was classified as not popular.
We found that bromide demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.