fs-funcs v0.3.0
fs-funcs
A very limited subset of fs functions I use every day
Install
npm i fs-funcsPackage on npm
API
- exec-file
- exec
- exist
- first-bytes
- get-filesize
- is-directory
- is-file
- is-symlink
- mkdir
- read-json
- rm
- stat
- write-json
exec-file(file, args, options)
Execute the file
| Argument | Action |
|---|---|
| file | the executed file |
| args | the list of string arguments |
| options | optional options, default to { maxBuffer: 20971520 } |
args can be an Array or a String
The default maxBuffer is 20 Mo instead of 200 ko
result is an object with two properties { stdout, stderr }
The EOF chars \n or \r\n are removed from the returned strings stdout and stderr
const execfile = require('fs-funcs/exec-file')
execfile('echo', ['one', 'two']).then(result => {
// one two
console.log(result.stdout)
})
execfile('echo', 'abc def').then(result => {
// abc def
console.log(result.stdout)
})exec(command, options)
Execute the command
| Argument | Action |
|---|---|
| command | the executed command |
| options | optional options, default to { maxBuffer: 20971520 } |
The default maxBuffer is 20 Mo instead of 200 ko
result is an object with two properties { stdout, stderr }
The EOF chars \n or \r\n are removed from the returned strings stdout and stderr
const exec = require('fs-funcs/exec')
exec('echo one two').then(result => {
// one two
console.log(result.stdout)
})exist(path, nofollow)
Check if path exists
| Argument | Action |
|---|---|
| path | the tested path |
| nofollow | optional nofollow, default to false. If true, test the symlink and not is target |
const exist = require('fs-funcs/exist')
exist(__filename).then(result => {
// true
console.log(result)
})first-bytes(path, length)
Get a Buffer with the first bytes of a file
| Argument | Action |
|---|---|
| path | the file path |
| length | optional length, default to 15 |
const firstbytes = require('fs-funcs/first-bytes')
firstbytes('/path/to/file').then(result => {
// <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44>
console.log(result)
})get-filesize(path)
Get the size of a file
| Argument | Action |
|---|---|
| path | the file path |
const getfilesize = require('fs-funcs/get-filesize')
getfilesize('/path/to/file').then(result => {
// 54318
console.log(result)
})is-directory(path, nothrow)
Check if path is a directory
| Argument | Action |
|---|---|
| path | the tested path |
| nothrow | optional nothrow, default to false. If true, resolve to false instead of throw an error |
const isdirectory = require('fs-funcs/is-directory')
isdirectory('/path/to/directory').then(result => {
// true
console.log(result)
})
isdirectory('/path/to/file')
.then(result => {})
.catch(err => {
// "path" argument must target a directory
console.log(err.message)
})
isdirectory('/path/to/file', true).then(result => {
// false
console.log(result)
})is-file(path, nothrow)
Check if path is a file
| Argument | Action |
|---|---|
| path | the tested path |
| nothrow | optional nothrow, default to false. If true, resolve to false instead of throw an error |
const isfile = require('fs-funcs/is-file')
isfile('/path/to/file').then(result => {
// true
console.log(result)
})
isfile('/path/to/directory')
.then(result => {})
.catch(err => {
// "path" argument must target a file
console.log(err.message)
})
isfile('/path/to/directory', true).then(result => {
// false
console.log(result)
})is-symlink(path, nothrow)
Check if path is a symlink
| Argument | Action |
|---|---|
| path | the tested path |
| nothrow | optional nothrow, default to false. If true, resolve to false instead of throw an error |
const issymlink = require('fs-funcs/is-symlink')
issymlink('/path/to/symlink').then(result => {
// true
console.log(result)
})
issymlink('/path/to/file')
.then(result => {}).catch(err => {
// "path" argument must target a symlink
console.log(err.message)
})
issymlink('/path/to/file', true).then(result => {
// false
console.log(result)
})mkdir(path, pop)
Recursively mkdir
| Argument | Action |
|---|---|
| path | the created path |
| pop | optional pop, default to false. If true, remove the last part of the path |
const mkdir = require('fs-funcs/mkdir')
mkdir('/path/to/directory').then(result => {
// /path/to/directory
console.log(result)
})
mkdir('/path/to/file', true).then(result => {
// /path/to
console.log(result)
})read-json(path)
Read and serialize a JSON file
| Argument | Action |
|---|---|
| path | the file path |
const readjson = require('fs-funcs/read-json')
readjson('/path/to/json').then(result => {
// {a:123, b:"abc"}
console.log(result)
})rm(path)
Remove a path
| Argument | Action |
|---|---|
| path | the removed path |
const rm = require('fs-funcs/rm')
rm('/path/to/directory').then(result => {
// /path/to/directory
console.log(result)
})stat(path, nofollow)
Get some data about path
| Argument | Action |
|---|---|
| path | the tested path |
| nofollow | optional nofollow, default to false. If true, test the symlink and not is target |
The booleans readable, writable and executable are related to the user privileges
const stat = require('fs-funcs/stat')
stat('/path/to/file').then(result => {
/*
{
file: true,
directory: false,
symlink: false,
path: '/path/to/file',
dirname: '/path/to',
basename: 'file',
size: 123,
readable: true,
writable: true,
executable: false
}
*/
console.log(result)
})
stat('/path/to/directory').then(result => {
/*
{
file: false,
directory: true,
symlink: false,
path: '/path/to/directory',
dirname: '/path/to',
basename: 'directory',
size: 7,
readable: true,
writable: true,
executable: true
}
*/
console.log(result)
})write-json(path, data, minify)
Write a prettified JSON file. The directory tree is created if needed
| Argument | Action |
|---|---|
| path | the created path |
| data | the stringified data |
| minify | optional minify, default to false. If true, the JSON will not be beautified |
const writejson = require('fs-funcs/write-json')
writejson('/path/to/json', {a:123, b:"abc"}).then(result => {
// {a:123, b:"abc"}
console.log(result)
})License
MIT