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

file-management

Package Overview
Dependencies
Maintainers
4
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

file-management

A simple lib to support file operations across projects

  • 1.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
increased by100%
Maintainers
4
Weekly downloads
 
Created
Source

file-management

Sonar Sonar Sonar Sonar Sonar Sonar

Library for easy file storage and management supporting upload, downloads and deletes

Description

It relies on an abstract concept of provider to do the work needed. The only concrete implementation, for now, is that of the S3 provider

Tests

TO run integration tests (test/integration dir) you must provide 'AWS_ACCESS_KEY_ID', AWS_SECRET_ACCESS_KEY and AWS_REGION env vars

Examples (S3):

Upload (uploads a file to storage)
const fileManagement = require('file-management');
const fs = require('fs');

const testFileName = '<your file name>';
const testLocation = 'dialonce-uploads/ci';

const manager = fileManagement.create('S3', {
      auth: {
        // AWS creds need to be provided
        AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
        AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
        AWS_REGION: process.env.AWS_REGION,
      },
      // s3 options as needed
      options: {}
    });

 const stream = fs.createReadStream('<path to your file>');
      return manager
      .uploadFile(testLocation, testFileName, stream)
      .then((result) => {
        console.log (result);
      })
      .catch(console.error);
Run cloudfront invalidation
const fileManagement = require('file-management');
const manager = fileManagement.create('S3', {
  auth: {
    // AWS creds need to be provided
    AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
    AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
    AWS_REGION: process.env.AWS_REGION,
  },
  // s3 options as needed
  options: {}
});

const invalidationPaths = ['/css/*', '/img/*']; // ['/*'] by default
const distributionId = '123ABC456EFG' || process.env.CLOUDFRONT_DISTRIBUTION_ID;

manager.invalidate(invalidationPaths, distributionId)
  .then((result) => {
    console.log(result);
  });
Download (Downloads a file from storage)
const fileManagement = require('file-management');
const fs = require('fs');

const testFileName = '<your file name>';
const testLocation = 'dialonce-uploads/ci'; // S3 Bucket

const manager = fileManagement.create('S3', {
      auth: {
        // AWS creds need to be provided
        AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
        AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
        AWS_REGION: process.env.AWS_REGION,
      },
      // s3 options as needed
      options: {}
    });

  const stream = fs.createWriteStream(testFileName);
       return manager
       .downloadFile(testLocation, testFileName, stream)
       .then(() => {
         if (!fs.existsSync(testFileName)) {
           throw new Error('File does not exist');
         } else {
           // all ok, file downloaded, delete it
           fs.unlinkSync(testFileName);
         }
       });
Delete (deletes a file on storage)
const fileManagement = require('file-management');

const testFileName = '<your file name>';
const testLocation = 'dialonce-uploads/ci'; // S3 Bucket

const manager = fileManagement.create('S3', {
      auth: {
        // AWS creds need to be provided
        AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
        AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
        AWS_REGION: process.env.AWS_REGION,
      },
      // s3 options as needed
      options: {}
    });

  manager
    .deleteFile(testLocation, testFileName)
    .then(() => {
      console.log('File deleted!');
    })
    .catch(console.error);

Keywords

FAQs

Package last updated on 19 Oct 2018

Did you know?

Socket

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.

Install

Related posts

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