flipfile
v0.0.13
Published
file helpers for reading, writing, deleting, checking types & existence, extracting metadata, walking, globbing, and more.
Downloads
46
Maintainers
Readme
🙃📒 flipfile
file helpers for reading, writing, deleting, checking types & existence, extracting metadata, walking, globbing, and more.
📦 usage
yarn add flipfile
npm i flipfile --save
const flipfile = require('flipfile')
🌐 api (everything is synchronous)
- getFileAndPath
(file: stringPath) => {file: string, dir: string}
- getDirectories
(src: string, blacklist: Array<string>) => array<string>
- isDir
(file: stringPath) => boolean
- isFile
(file: stringPath) => boolean
- isRel
(file: stringPath) => boolean
- isFile
(file: stringPath) => boolean
- read
(dir: stringPath) => string
- write
(file: stringPath, contents: string) => void
writes to folder, uses mkdir if it does not exist - exists
(file: stringPath) => boolean
- fileName
(file: stringPath) => string
- isFileOrDir
(file: stringPath) => bool
- walk
(dir: stringPath, {recursive: true}) => Array<string | Array<Array<string>>
- mkdirp
- node-path-extras exports
size
everything in #api is exported in the main entry point, so it can be used as
const {exists, isFile} = require('flipfile')
const file = './index.js'
if (exists(file)) console.log(read(file))
or as modular imports for fastest / smallest access
const isRel = require('flipfile/isRel')
const write = require('flipfile/write')
const file = './src'
if (isRel(file)) write(file, 'eh')
convenience
additionally there are 3 files not exported in the index
- they can be used by requiring them by name,
- or if you prefer destructuring, from
flipfile/all
- exports everything in #api alongside these additional ones
- exports a flattened
path
module
- glob
require('flipfile/glob')
- extra
require('flipfile/extra')
- @NOTE: everything in
extra
is exported flat as well
- promise
require('flipfile/glob')
- @NOTE:
- fs-promise is not a dependency, so it will check if it's installed and if not, export is an empty object
- glob-fs got 💩 depreciated in favor of node-glob
const {
extra, // fs-extra module
promise, // fs-promise or empty object
exists, // flipfile.exists
copySync, // flat export from fs-extra
glob, // glob-fs
fs, // real 'fs'
resolve, // flat export from path
join, // flat export from path
} = require('flipfile/all')
const out = resolve(__dirname, './out')
const src = resolve(__dirname, './src')
if (exists(src)) {
glob(src).forEach(fileOrDir => {
copySync(fileOrDir, join(out, fileOrDir))
})
}
📝 TODO:
⛓ chain:
const flipfile = require('flipfile')
flipfile
.file('./file')
.isRel()
.exists()
.write('contents')
.del()
.exists()