Skip to content

egoist/majo

Repository files navigation

majo

Art by でんでん COMIC1・こ 24b

NPM version NPM downloads CircleCI donate

Introduction

You can use majo to manipulate files like a pro, with a simple API whose core is only ≈ 150 SLOC.

Install

yarn add majo

Usage

const { majo } = require('majo')

const stream = majo()

// Given that you have js/app.js js/index.js
stream
  .source('js/**')
  .use(ignoreSomeFiles)
  .dest('dist')
  .then(() => {
    // Now you got filtered files
  })

function ignoreSomeFiles(stream) {
  for (const filename in stream.files) {
    const content = stream.fileContents(filename)
    // Remove it if content has specific string
    if (/some-string/.test(content)) {
      delete stream.files[filename]
    }
  }
}

Documentation

https://majo.egoist.sh

Used By

  • SAO: ⚔️ Futuristic scaffolding tool.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

majo © egoist, Released under the MIT License.
Authored and maintained by egoist with help from contributors (list).

egoist.moe · GitHub @egoist · Twitter @_egoistlily