flipfile

0.0.13 • Public • Published

🙃📒 flipfile

NPM version MIT License fliphub flipfam

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()

Package Sidebar

Install

npm i flipfile

Weekly Downloads

16

Version

0.0.13

License

none

Last publish

Collaborators

  • aretecode