
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
JS library to convert images into Brickadia save files (.brs). Compatible with both Web Worker and browser environments (Node.js support coming soon!)
(JS version of img2brs by mraware)
Try it at https://banhathome.com/img2brs/
$ yarn add img2brs
import img2brs, { BRICKS, MATERIALS } from 'img2brs';
async function processImage() {
const fileInput = document.getElementById('imageInput');
const file = fileInput.files[0];
const image = await createImageBitmap(file);
const options = {
brick: 'PB_DefaultBrick',
material: 'BMC_Plastic',
size: [2, 2, 6],
simpleDirection: 'vertical',
description: 'My Custom Pixel Art',
};
// Convert and get blob
const brsBlob = img2brs(image, options);
// Auto-download for user
const url = URL.createObjectURL(result);
const link = document.createElement('a');
link.href = url;
link.download = 'somefile.brs';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);
}
In Next.js 12+/Webpack 5+
// my-web-worker.js
import img2brs from 'img2brs';
self.onmessage = async function(e) {
const { image, options } = e.data;
try {
const result = img2brs(image, options);
self.postMessage({
type: 'success',
result: result
});
} catch (error) {
self.postMessage({
type: 'error',
error: error.message || error.toString()
});
}
};
// MyComponent.jsx
import React, { useRef } from 'react';
export default function MyComponent() {
const workerRef = useRef(null);
workerRef.current = new Worker(
new URL('./img2brs-worker.js', import.meta.url)
);
// ...
async function onClick() {
const image = await createImageBitmap(file); // file = user uploaded file via HTML input
workerRef.current.postMessage({
image,
options,
});
}
}
img2brs(image, options)
Parameter | Type | Required | Description |
---|---|---|---|
image | ImageBitmap | Yes | Input image to convert |
options | Object | Yes | Configuration options for the conversion process |
Property | Type | Required | Description | Example |
---|---|---|---|---|
brick | String | Yes | The type of brick to use from the BRICKS enum/constants See: Supported Bricks | 'PB_DefaultBrick' |
material | String | Yes | The material type to apply to bricks from the MATERIALS enum/constants See: Supported Materials | 'BMC_Plastic' |
size | [Number, Number, Number] | Yes | The dimensions of each brick as [width, depth, height] | [2, 2, 6] |
simpleDirection | String | No | Orientation of the brick placement Values: "vertical" or "horizontal" | 'vertical' |
description | String | No | Description for the save file | 'It is Dawson!' |
Type | Description |
---|---|
Blob | A Blob object containing the .brs file data that can be saved or downloaded |
The BRICKS
constant is a named export containing all supported brick types:
import { BRICKS } from 'img2brs';
// BRICKS is an array of supported brick types
PB_DefaultBrick
PB_DefaultTile
PB_DefaultSideWedge
PB_DefaultSideWedgeTile
PB_DefaultWedge
PB_DefaultMicroBrick
PB_DefaultMicroWedge
The MATERIALS
constant is a named export containing all supported material types:
import { MATERIALS } from 'img2brs';
// MATERIALS is an array of supported material types
BMC_Plastic
BMC_Glow
BMC_Metallic
BMC_Hologram
FAQs
Converts images to Brickadia save files (.brs)
The npm package img2brs receives a total of 10 weekly downloads. As such, img2brs popularity was classified as not popular.
We found that img2brs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.