![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
dir-uploader
Advanced tools
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
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
It is dependent on the following node modules
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
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
You can use it using a commandline or inside another JS file as an import.
From Command line you can either
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)'
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
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
npm install
.cd tests/testapp
and run npm install
to install testApp dependencies.npm i -g mocha
node tests/testapp/server.js
(tested on node v13).mocha tests/runTests.js
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.
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.
You can contact any of us if you run into any issues
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.
FAQs
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
We found that dir-uploader demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.