@sketchmine/node-helpers
This package is a collection of Node.js specific helpers.
Dependency graph
List of Helpers
- bytesToSize Displays bytes in a human readable format.
-
copyFile Copies file from one destination to another destination (
async
). -
createDir Creates a folder (
sync
). -
delFolder Deletes a folder recursively (
sync
). - displayHelp Logs a CLI help page to the console.
-
executeCommand Executes a command on the spawned shell (
async
). -
isFile Checks if the string is a file (
sync
). - Logger Custom Logger for the library with different logging spaces.
-
readDirRecursively Lists all children of a directory recursively, (
sync
). -
readFile Implementation of readFile (
async
). -
writeFile Safely writes content to file. Can create one directory to store file (
async
). -
writeJson Safely writes Object or string as JSON file (
async
). -
zipToBuffer Get a Promised Array of File buffers from zip (
async
).
Building the package
To build the package Rollup.js is used as a module bundler. The configuration can be found in the rollup.config.js
file and is orchestrated by the Yarn package manager.
The package bundle is formatted as commonjs and is meant to be consumed only by Node.js applications.
The build can be started with the following two commands:
-
yarn build
for building the package. -
yarn dev
for building and watching the sources of the package.
Linting
The source code of this package will be linted by our CI environment. To ensure a coding standard and quality, use the configured linter tslint. This package extends from the tslint-config-airbnb
and the linting configuration extends from the root tslint.json
.
Run yarn lint
to execute the linter.
Testing the package
To ensure that the helpers are working, write tests and put them in a properly named file.
Note: All tests based on this package should be wrapped in a describe
element with the prefix: [node-helpers] › ...
like the following:
// import statements
describe('[node-helpers] › ${description of the functionality that should be tested}', () => {
// your tests should be placed here
});
The Jest framework has been selected for tests.
Run yarn test
to run all tests specified for the helpers. Run yarn test -f filename.test
to execute only tests that match the provided RegExp for the filename.