New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

package-writer

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

package-writer - npm Package Compare versions

Comparing version 0.0.2 to 0.1.0

test/package1/css/file1.css

58

index.js
var combine = require( "stream-combiner" );
var path = require( "path" );
var fs = require( "fs" );
var resolve = require( "resolve" );
var async = require( "async" );
var mkdirp = require( "mkdirp" );
module.exports = function( packageJSON, assets, outputDir ) {
module.exports = function( packageJSON, assets, outputDir, callback ) {
var outputStreams = {};

@@ -10,27 +13,48 @@

Object.keys( assets ).forEach( function( assetType ) {
assets[ assetType ].forEach( function( file ) {
var transforms = packageJSON.cartero[ assetType + "Transform" ] || [];
async.each( Object.keys( assets ), function( assetType, callback ) {
var transforms = packageJSON.cartero[ assetType + "Transform" ] || [];
async.each( assets[ assetType ], function( file, callback ) {
var outputStream = fs.createReadStream( file );
if( transforms.length !== 0 ) {
outputStream = outputStream.pipe( combine.apply( null, transforms.map( function( t ) {
return require( t )( file );
} ) ) );
}
async.map( transforms, function( t, callback ) {
resolve( t, { basedir : packageJSON.path }, function( err, res ) {
if( err )
return callback( err );
console.log( res );
callback( null, require( res ) );
} );
}, function( err, results ) {
if( err )
return callback( err );
outputStreams[ file ] = outputStream;
var outputFile = path.join( outputDir, path.relative( packageJSON.path, file ) );
var outputFile = path.join( outputDir, path.relative( packageJSON.path, file ) );
if( assetType === "style" ) {
outputFile = renameFileExtension( outputFile, ".css" );
}
mkdirp( path.dirname( outputFile ), function( err ) {
if( err )
return callback( err );
outputStream.pipe( fs.createWriteStream( outputFile ) );
if( results.length !== 0 )
outputStream = outputStream.pipe( combine.apply( null, results.map( function( t ) {
return t( file );
} ) ) );
if( assetType === "style" ) {
outputFile = renameFileExtension( outputFile, ".css" );
}
outputStream.pipe( fs.createWriteStream( outputFile ) );
outputStreams[ file ] = outputStream;
callback();
} );
} );
}, function( err ) {
callback( err );
} );
}, function( err ) {
return callback( err, outputStreams );
} );
return outputStreams;
};

@@ -37,0 +61,0 @@

{
"name": "package-writer",
"version": "0.0.2",
"version": "0.1.0",
"description": "",

@@ -12,4 +12,7 @@ "main": "index.js",

"dependencies": {
"stream-combiner": "0.0.4"
"stream-combiner": "0.0.4",
"resolve": "~0.6.1",
"async": "~0.2.10",
"mkdirp": "~0.3.5"
}
}
var packageWriter = require( "package-writer" );
//var rimraf = require( "rimraf" );
var path = require( "path" );
var fs = require( "fs" );
var packageJSON = {
path : "/Users/olegseletsky/git/rotundasoftware/package-writer/test/package1",
path : path.join( __dirname, "package1" ),
cartero : {

@@ -11,9 +14,20 @@ styleTransform : [ "dummy-transform" ]

var assets = {
style : [ "/Users/olegseletsky/git/rotundasoftware/package-writer/test/package1/file1.css" ]
style : [ path.join( __dirname, "package1/css/file1.css" ) ]
};
var outputDir = "/Users/olegseletsky/git/rotundasoftware/package-writer/test/static";
var outputDir = path.join( __dirname, "static" );
var outputStreams = packageWriter( packageJSON, assets, outputDir );
// rimraf( outputDir, function( err ) {
// var outputStreams = packageWriter( packageJSON, assets, outputDir );
// if( fs.exists)
// } )
console.log( outputStreams );
packageWriter( packageJSON, assets, outputDir, function( err, outputStreams ) {
if( err )
return console.log( err );
console.log( outputStreams );
} );
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc