1. create-banner
Create a banner from a package.json file.
create-banner
Package: create-banner
Created by: fengyuanchen
Last modified: Wed, 27 Apr 2022 20:08:43 GMT
Version: 2.0.0
License: MIT
Downloads: 4,192
Repository: https://github.com/fengyuanchen/create-banner

Install

npm install create-banner
yarn add create-banner

create-banner

Build Status Coverage Status Downloads Version

Create a banner from a package.json file.

Main files

 /
├── index.js         (CommonJS, default)
├── index.esm.js     (ECMAScript Module)
└── index.d.ts       (TypeScript Declaration File)

Install

 npm install --save-dev create-banner

Usage

Syntax

 createBanner(options);
  • Arguments:
    • options (optional):
      • Type: Object
      • The options for creating banner.
  • Returns:
    • Type: string
    • Return the created banner.

Examples

 import createBanner from 'create-banner';

createBanner();
/*!
 * create-banner v1.0.0
 * https://github.com/fengyuanchen/create-banner
 *
 * Copyright 2018 Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2018-05-19T09:18:34.739Z
 */

createBanner({ case: 'camelCase', template: 'simple' });
/*!
 * createBanner v1.0.0
 * Copyright 2018 Chen Fengyuan
 * Released under the MIT license
 */

createBanner({ case: 'Title Case', template: 'inline' });
/*! Create Banner v1.0.0 | (c) 2018 Chen Fengyuan | MIT */

Options

case

  • Type: String
  • Default: ''
  • Options:
    • 'camel-case' (camelCase)
    • 'capital-case' (Capital Case)
    • 'constant-case' (CONSTANT_CASE)
    • 'dot-case' (dot.case)
    • 'header-case' (Header-Case)
    • 'no-case' (no-case)
    • 'param-case' (param-case)
    • 'pascal-case' (PascalCase)
    • 'path-case' (path/case)
    • 'sentence-case' (Sentence case)
    • 'snake-case' (snake_case)
    • All the case functions supported by the change-case package.

The case of the package name in the banner. Not to change the package name case by default.

data

  • Type: Object

  • Default:

     {
      date: new Date().toISOString(),
      year: new Date().getFullYear(),
    }
    

The extra data for creating banner, will be merged into package data.

 createBanner({
  data: {
    name: 'Library.js',
    year: '2018-present',
  },
});

pkg

  • Type: Object
  • Default: undefined

The package data for creating banner. If it is undefined, will read from the closest package.json file by default using the read-pkg-up package.

template

  • Type: String
  • Default: 'normal'
  • Options:
    • 'normal':

       /*!
       * @name v@version
       * @homepage
       *
       * Copyright @year @author.name
       * Released under the @license license
       *
       * Date: @date
       */
      
    • 'simple':

       /*!
       * @name v@version
       * Copyright @year @author.name
       * Released under the @license license
       */
      
    • 'inline':

       /*! @name v@version | (c) @year @author.name | @license */
      
    • Other values will be used directly as a custom template.

The template for creating banner. Property using a dot path is supported by the dot-prop package.

Example for custom template:

 createBanner({
  template: `/*!
 * @name v@version
 * @license (c) @author.name
 */
`,
});
/*!
 * create-banner v1.0.0
 * MIT (c) Chen Fengyuan
 */

Versioning

Maintained under the Semantic Versioning guidelines.

License

MIT © Chen Fengyuan

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code