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

dir-uploader

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dir-uploader

An uploader module to upload all files in a directory or to upload files of a type. It sends a multipart request to the endpoint with all files attached to it

  • 1.1.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

dloader(dir-uploader: A single or multi directory uploader using a REST Multipart request)

NPM Quality Gate Status js-standard-style

Description: This is a npm module to upload all files in a directory or to upload files of a specific type to a rest end point using multipart request. If you just pass in a file instead of directory then it will just upload the given file. If there are multiple files in a directory it sends one multipart request attaching all the files to it. Please see the configuration section for the option details

  • Technology stack: This is a npm module written in Vanilla JS.
  • Status: This is the first functional version of this module. We are planning to add a change log starting from the next version

Dependencies

It is dependent on the following node modules

  • "form-data": To create multipart request object
  • "node-fetch": To send REST request
  • "colors": For colorful output messages in terminal

Installation

One way is to keep dir-uploader as a dependency in your package.json pointing to its current repo

npm install dir-uploader --save-dev

To update to the latest version

npm update dir-uploader 

Configuration

The following are the configurable options using command npm run send-data

url: The URL of REST end point where we post the files

result-path: the folder or file that need to be posted

metadata-file: meta data file that need to be posted

export-file-type: file type you want uploaded or true for all files in directory

delete-files: do we want to delete folder files after successfully sending the files

Usage

You can use it using a commandline or inside another JS file as an import.

Single Directory Upload

From Command line you can either

  • create and use send-data npm task
  • or directly call export function sendData

Using send-data npm task:

package.json script line would look like this

"send-data": "node -e 'require(\"dir-uploader\").sendData()'"

At command prompt:

npm run send-data -- url='http://localhost:9456/resultmultipartupload' result-path='_test-reports/e2e-test-results/browser-based-results_2020-01-15T17_04' metadata-file='_test-reports/e2e-test-results/browser-based-results_2020-01-15T17_04/metadata.json' export-file-type=xml delete-files=false

Using js exported function sendData:

node -e 'require("./dir-uploader").sendData("http://localhost:3020/post","tests/e2e/sample-exports/browser-based-results","tests/e2e/sample-exports/test.json",false,true)'

Multiple Directory Upload

Similarly you can also upload multiple directory using a command like

node -e 'require("./dir-uploader").sendMultiFolderData("http://localhost:3020/post","tests/e2e/sample-exports/browser-based-results",'metadata.json', false, 'xml', 'tests')'

You can also see an example of how to use module with single and multiple file upload options in the tests folder "runTests.js" file. These are e2e tests for this module. You can run them using the instructions given in the below section

How to test the software

This module includes a tests folder that contains a simple node test app, unit tests and end to end(e2e) tests. The tests runner is mocha (https://mochajs.org/). To run the tests

  1. Firstly, install all the dependencies by npm install.
  2. Go into testapp dir cd tests/testapp and run npm install to install testApp dependencies.
  3. It is easier to run when you install mocha as a global dependency npm i -g mocha
  4. Start the node test app node tests/testapp/server.js (tested on node v13).
  5. Run the tests mocha tests/runTests.js

Logging

This module includes logging using the winston node js plugin. If you need to lower the logging level from error for any reason you can change the logging level inside the dir-uploader.js file.

Known issues

We are actively using this module as a component in our Continuous Integration Cycle and we don't have any open issue. Please contact us if you run into any issues.

Contact / Getting help

You can contact any of us if you run into any issues

License

MIT License

Credits and references

We needed this module to export our test results to a rest end point so we wrote it. We have tried to make it general with the configurable options as possible. Please let us know if you have any suggestions. We thank you to "Philips Health Solutions" in general to give us opportunity to write this plugin.

Keywords

FAQs

Package last updated on 23 Jun 2020

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