Code Monkey home page Code Monkey logo

update-copyright's Introduction

update-copyright NPM version NPM monthly downloads NPM total downloads Linux Build Status

Update a copyright statement with the current year. Also makes minor corrections.

Install

Install with npm:

$ npm install --save update-copyright

Usage

copyright(string, options);

Pass a string with a copyright statement to update, and it will be parsed and updated.

var copyright = require('update-copyright');

copyright('Copyright (c) 2015, Jon Schlinkert.');
//=> 'Copyright (c) 2015-2016, Jon Schlinkert.'

copyright('Copyright (c) 2012, 2015, Jon Schlinkert.');
//=> 'Copyright (c) 2012, 2015-2016, Jon Schlinkert.'

The current year is updated/appended to existing years. The rest of the information will stay the same unless new information is passed.

Lazy mode

If you're too lazy to pass anything at all, that's okay! You get a free copyright statement with the current year, using data from package.json!

copyright();
//=> 'Copyright (c) 2016, Jon Schlinkert.'

Optionally fills in author

Example

If the author is missing it will be filled in with the author from package.json.

copyright('Copyright (c) 2014.');
//=> 'Copyright (c) 2014-2015, Jon Schlinkert.'

Fixes Misspellings

It will use the author from package.json if a misspelling seems obvious (according to its Levenshtein distance):

copyright('Copyright (c) 2014, Jon Shlinert');
//=> 'Copyright (c) 2014, 2016, Jon Schlinkert.'

See the tests for more examples.

Options

A template is used to create the new copyright statement, and the options object is merged with the context that is passed to the template.

context

  1. The (context) object is populated with data from the parsed (old) copyright statement
  2. The object is then updated with the current year, author from package.json, and any other data you pass on the options.

Custom context

This is what the context object looks like. To override anything on the context just pass the property and value on the options:

{ year: '2015',
  prefix: 'Copyright',
  symbol: '(c)',
  template: '<%= prefix %><%= symbol ? (" " + symbol + " ") : "" %><%= years %>, <%= authors %>.',
  statement: 'Copyright (c) 2015, Jon Schlinkert',
  dateRange: '2014',
  latest: '2014',
  author: 'Jon Schlinkert' }

Example

Pass any custom data (as shown above) on the options:

copyright('Copyright (c) 2015.', {author: 'Foo Bar'});
//=> 'Copyright (c) 2015-2016, Foo Bar.'

About

Related projects

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Contributors

Commits Contributor
38 jonschlinkert
1 david-w-millar

Building docs

(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the MIT License.


This file was generated by verb-generate-readme, v0.6.0, on June 26, 2017.

update-copyright's People

Contributors

david-w-millar avatar jonschlinkert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

update-copyright's Issues

year range

@tunnckoCore, remember the comment you made about copyright year ranges? I can't remember where that was, but I have an idea for how to improve the logic for determining copyright dates.

As a reminder of what I'm referring to... when the license for project X has something like the following:

Copyright (c) 2014 Jon Schlinkert

It will currently be updated to:

Copyright (c) 2014, 2017 Jon Schlinkert

Technically, this is correct, since you are only supposed to list years in which modifications were made, and update-copyright doesn't know whether or not I worked on project X during any other years that aren't mentioned in the license.

Solution

What if we add an option to fill in additional years? Then, in the update updater, we can actually parse the years from the git history and provide those on the options...

Thoughts?

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.