Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
asset-pipe-css-reader
Advanced tools
A module that takes any number of css feed streams (provided by asset-pipe sinks) and bundles them into a readable stream of css content.
This is an internal module intended for use by other modules in the asset-pipe project.
Given any number of css feed streams, the reader will:
The following is an example of a feed file: (Something like /path/to/feeds/feed-a.json)
[
{
// Unique id for entry. Created by hashing together name, version and file
id: '4f32a8e1c6cf6e5885241f3ea5fee583560b2dfde38b21ec3f9781c91d58f42e',
name: 'my-module-1',
version: '1.0.1',
file: 'my-module-1/main.css',
// bundled css content with any @import statements inlined
content: '/* ... */'
}
]
npm install asset-pipe-css-reader
const CssReader = require('asset-pipe-css-reader')
Either pass a single stream created by an asset-pipe sink:
const sink = new SinkFs({
path: '/path/to/css/feeds'
});
const feedStream = sink.reader('feed-a.json');
const reader = new CssReader(feedStream)
Or pass an array of streams:
const sink = new SinkFs({
path: '/path/to/css/feeds'
});
const feedStream1 = sink.reader('feed-a.json');
const feedStream2 = sink.reader('feed-b.json');
const reader = new CssReader([feedStream1, feedStream2])
You should wait for the reader to become ready by listening for the pipeline ready
event.
The reader is a readable stream so in order to access the data you may register a data handler and listen for chunks to be passed to the handler:
reader.on('pipeline ready', () => {
reader.on('data', data => {
// ..
})
})
You might also pipe the reader into a writeable or transform stream:
const { writeFile } = require('fs')
const consumer = writeFile('/path/to/save/file')
reader.on('pipeline ready', () => {
reader.pipe(consumer)
})
Constructor takes a single stream or array of streams. Streams should be produced with an asset-pipe sink such as:
Examples
new CssReader(stream)
new CssReader([stream, ...stream])
Returns: Readable Stream
Event produced whenever an underlying feed stream successfully reads its feed file from disk
cssReader.on('file found', file => {})
Param: file
, name of the file given to the feed stream to read from
Event produced whenever an underlying feed stream is unable to read its feed file from disk
cssReader.on('file not found', file => {})
Param: file
, name of the file given to the feed stream to read from
Event produced once all feed file streams have been successfully merged into a pipeline
cssReader.on('pipeline ready', () => {})
Event that emits chunks of CSS content to a consumer
cssReader.on('data', chunk => {})
Param: chunk
, a piece of CSS text
Event produced whenever any of the various stages of the pipeline emit errors
cssReader.on('error', err => {})
Param: err
, Error forwarded from merged streams or otherwise emitted from the pipeline
The contribution process is as follows:
npm test
. This will also check to ensure that 100% code coverage is maintained. If not you may need to add additional tests.git commit
or, if you are not familiar with sematic commit messages, please run npm run cm
and follow the prompts instead which will help you write a correct semantic commit message.FAQs
CSS asset feed reader
The npm package asset-pipe-css-reader receives a total of 168 weekly downloads. As such, asset-pipe-css-reader popularity was classified as not popular.
We found that asset-pipe-css-reader 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
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.