# File

File metadata object for use in [Fractal](https://github.com/frctl/fractal)

[![Build Status](https://img.shields.io/travis/frctl/file/master.svg?style=flat-square)](https://travis-ci.org/frctl/file)
[![NPM Version](https://img.shields.io/npm/v/@frctl/file.svg?style=flat-square)](https://www.npmjs.com/package/@frctl/file)

```js
const File = require('@frctl/file');

const file = new File({
  base: '/components',
  path: '/components/patterns/_04-button--large.hbs',
  contents: new Buffer('<button class="button button--large">{{ buttonText }}</button>')
});

console.log(file.stem); // '_04-button--large'
console.log(file.relative); // 'patterns/_04-button--large.hbs

const fromRealFile = File.from('/path/to/file.js', {base: '/path'}).then(file => {
  console.log(file.contents);
});

```

## Install

```
npm i @frctl/file --save
```

## Requirements

`@frctl/file` requires Node >= v6.0
