
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.
@asset-pipe/css-writer
Advanced tools
A module that takes any number of css file entry points and packages them together with meta data before providing them as a readable stream.
Given any number of css file paths, for each file path, this module will:
The module provides a readable stream of the resulting objects.
{
// Unique id for entry. Created by hashing together name, version and file
id: '4f32a8e1c6cf6e5885241f3ea5fee583560b2dfde38b21ec3f9781c91d58f42e',
// 'name' from nearest package.json file found by working up from the css file's directory
name: 'my-module-1',
// 'version' from nearest package.json file found by working up from the css file's directory
version: '1.0.1',
// path to file on disk relative to nearest package.json file found by working up from the css file's directory
file: 'my-module-1/main.css',
// bundled css content with any @import statements inlined
content: '/* ... */'
}
npm install asset-pipe-css-writer
const CssWriter = require('@asset-pipe/css-writer');
Either pass a path to a single css file:
const writer = new CssWriter('/path/to/css/file.css');
Or pass an array of paths to css files:
const writer = new CssWriter([
'/path/to/css/file1.css',
'/path/to/css/file2.css',
]);
The writer is an event emitter, which has a method called bundle
, which
returns a readable stream in object mode so in order to access the data you may
register a data handler and listen for objects to be passed to the handler:
writer.bundle().on('data', data => {
// { id, name, version, file, content }
});
You might also pipe the writer into a writeable or transform stream (with input in object mode):
const { Writeable } = require('stream');
const consumer = new Writeable({
objectMode: true,
write(chunk, encoding, callback) {
// chunk will be an object of the shape: { id, name, version, file, content }
console.log(chunk);
callback();
},
});
writer.bundle().pipe(consumer);
If you want to create a single file output, send true
as the second argument
when creating the Writer
.
const writer = new CssWriter(
['/path/to/css/file1.css', '/path/to/css/file2.css'],
true,
);
writer.bundle().on('data', data => {
// the two files bundled together as a single CSS
});
FAQs
CSS asset feed writer
The npm package @asset-pipe/css-writer receives a total of 1 weekly downloads. As such, @asset-pipe/css-writer popularity was classified as not popular.
We found that @asset-pipe/css-writer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 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.