Nonlinear Programming Methods

    bannerjs
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    bannerjs

    npm version NPM Download Coverage Status

    Add a banner to a string. Get one-line/multi-line comment banner based on package.json.

    Install

    Install with npm:

    npm install bannerjs --save

    One-line results in:

    /*! bannerjs v1.0.8 | MIT (c) 2016 kenny wang <wowohoo@qq.com> | https://github.com/jaywcjlove/bannerjs */

    Multi-line results in:

    /*!
     * bannerjs v1.0.0
     * Add a banner to a string. Get one-line/multi-line comment banner based on package.json.
     * 
     * Copyright (c) 2016 kenny wang <wowohoo@qq.com>
     * https://github.com/jaywcjlove/bannerjs
     *
     * Licensed under the MIT license.
     */

    Structure

    The following keys should be defined in package.json:

    {
      "name": "bannerjs",
      "version": "1.0.0",
      "description": "Add a banner to a string. Get one-line/multi-line comment banner based on package.json.",
      "license": "MIT",
      "author": {
        "name": "kenny wang"
      },
      "repository": {
        "type": "git",
        "url": "https://github.com/jaywcjlove/bannerjs.git"
      }
    }

    author value can be defined like object or simply string too.

    Use

    option

    • multibanner(option) Multi-line results
    • onebanner(option) One-line results
    var banner = require('bannerjs');
    bannerjs.multibanner({
      author:"banner.js",
      homepage:"http://....",
      name:"banner.js",
      license:"MIT",
      version:1.2.3,
      description:"description"
    })

    API

    import { PackageJson } from 'types-package-json';
    
    export declare function getPackage(rootPath?: string): PackageJson;
    export declare function onebanner(option?: PackageJson): string;
    export declare function multibanner(option?: PackageJson): string;

    Use in gulp

    • bannerjs.multibanner() Multi-line results
    • bannerjs.onebanner() One-line results
    var gulp = require('gulp');
    var banner = require('gulp-banner');
    var bannerjs = require('bannerjs');
    
    gulp.task('default', function() {
      gulp.src('./test.js')
        .pipe(banner(bannerjs.multibanner()))
        .pipe(gulp.dest('dist/'));
    });

    Use in Node

    var fs = require('fs');
    var banner = require('bannerjs');
    var uglify = require('uglify-js')
    
    var code = fs.readFileSync('src/test.js', 'utf-8')
    var minified = banner.onebanner() + '\n' + uglify.minify(code, {
      fromString: true,
      output: {
        ascii_only: true
      }
    }).code;
    
    fs.writeFileSync('src/test.js', minified);

    Use in Rollup

    import banner from 'bannerjs';
    
    // rollup.config.js
    export default {
      input: 'src/main.js',
      output: {
        file: 'bundle.js',
        format: 'cjs',
        banner: banner.multibanner()
      }
    };

    Command Line

    Usage: bannerjs
    
    Pipe Usage: bannerjs
    
    Options:
    
     -m --multi     Output multi-line results
     -o --one       Output one-line results

    You can easilly pipe unix commands together like:

    cat my-js.js | bannerjs -o | uglify-js > my-js.min.js

    Npm Script

    {
      "scripts":{
        "build:min": "cat my-js.js | uglifyjs | bannerjs -o > dist/my-js.min.js",
        "build:dist": "cat my-js.js | bannerjs -m | uglifyjs -b beautify=true --comments 'all' > dist/my-js.js "
      }
    }

    License

    MIT license

    Install

    npm i bannerjs

    DownloadsWeekly Downloads

    128

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    15.2 kB

    Total Files

    11

    Last publish

    Collaborators

    • wcjiang