Giter Club home page Giter Club logo

node-file-builder's Introduction

node-file-builder

A file builder ripped from the insides of PrePros

Why?

Concatenate files with prepend and append directives embedded in the files as is possible in PrePros and CodeKit. This tool was made to serve the needs of grunt-codekit, but is published in the hopes that it meets the needs of other souls out there.

Getting started

var builder = require('file-builder')
            , fileOptions = {
                input: 'starting-point.js',
                customOutput: '../results/output.js'
            }
            , projectOptions = { path: '.' };

builder.javascript(fileOptions, projectOptions, callback);

Assuming we are working with the files in the test/fixtures directory you will end up with test/results/output.js

API notes

We are just working directly with the innards of Prepros, so if you want to know about all the different overrides you can look into the config module of PrePros.

Javascript

Appending

Use single line comments with @codekit-append or @prepros-append
Example: // @codekit-append 'myfile.js'

Prepending

See Appending - substitute keywords for @codekit-prepend, @prepros-prepend

API

javascript(fileOptions, projectOptions, callback)

  • fileOptions.input (compulsory) name of input file
  • fileOptions.config.customOutput Filename of specific outputfile
  • fileOptions.config.uglify
  • fileOptions.config.sourcemaps
  • fileOptions.config.mangle
  • projectOptions.path (compulsory) must be set to .
  • callback if the first argument is non-null, an error has occurred. Second argument is name of the input file

Ruby, SASS, ...

We are embedding the core of PrePros, so one could do a lot more, but the goal for the first version was to expose the javascript functionality. Feel free to push a PR.

Notes

There are some more newlines than what one might expect, but this is how Prepros does this, and so any issues with that should be filed in the Prepros project.

About

The actual file concatenation logic has been ripped from the insides of PrePros, so thanks to Subash Pratakh for releasing those parts under the MIT license.

Problems? Pull requests?

File an issue if there are problems. Pull requests are very welcome.

node-file-builder's People

Contributors

fatso83 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.