JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q61016F

file helpers for reading, writing, deleting, checking types & existence, extracting metadata, walking, globbing, and more.

Package Exports

  • flipfile
  • flipfile/del
  • flipfile/exists
  • flipfile/extra
  • flipfile/getDirectories
  • flipfile/glob
  • flipfile/isRel
  • flipfile/read
  • flipfile/write

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (flipfile) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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