Skip to content

Commit

Permalink
release: release version
Browse files Browse the repository at this point in the history
  • Loading branch information
mjeanroy committed Jan 14, 2019
1 parent 5e69f0e commit 1441012
Show file tree
Hide file tree
Showing 9 changed files with 904 additions and 1 deletion.
153 changes: 153 additions & 0 deletions dist/dependency.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
/**
* The MIT License (MIT)
*
* Copyright (c) 2016-2018 Mickael Jeanroy
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
'use strict';

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }

function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var _ = require('lodash');

var EOL = require('./eol.js');

var Person = require('./person.js');
/**
* Dependency structure.
*/


var Dependency =
/*#__PURE__*/
function () {
/**
* Create new dependency from package description.
*
* @param {Object} pkg Package description.
* @constructor
*/
function Dependency(pkg) {
_classCallCheck(this, Dependency);

var dependency = _.pick(pkg, ['name', 'author', 'contributors', 'maintainers', 'version', 'description', 'license', 'licenses', 'repository', 'homepage', 'private']); // Parse the author field to get an object.


if (dependency.author) {
dependency.author = new Person(dependency.author);
} // Parse the contributor array.


if (dependency.contributors) {
// Translate to an array if it is not already.
if (_.isString(dependency.contributors)) {
dependency.contributors = [dependency.contributors];
} // Parse each contributor to produce a single object for each person.


dependency.contributors = _.map(dependency.contributors, function (contributor) {
return new Person(contributor);
});
} // The `licenses` field is deprecated but may be used in some packages.
// Map it to a standard license field.


if (!dependency.license && dependency.licenses) {
// Map it to a valid license field.
// See: https://docs.npmjs.com/files/package.json#license
dependency.license = "(".concat(_.chain(dependency.licenses).map(function (license) {
return license.type || license;
}).join(' OR ').value(), ")"); // Remove it.

delete dependency.licenses;
}

_.extend(this, dependency);
}
/**
* Serialize dependency as a string.
*
* @param {string} prefix Optional prefix prepended to the output string.
* @param {suffix} suffix Optional suffix appended to the output string.
* @param {string} joiner Optional character used to join all the lines.
* @return {string} The dependency correctly formatted.
*/


_createClass(Dependency, [{
key: "text",
value: function text() {
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var suffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var joiner = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EOL;
var lines = [];
lines.push("".concat(prefix, "Name: ").concat(this.name).concat(suffix));
lines.push("".concat(prefix, "Version: ").concat(this.version).concat(suffix));
lines.push("".concat(prefix, "License: ").concat(this.license).concat(suffix));
lines.push("".concat(prefix, "Private: ").concat(this.private || false).concat(suffix));

if (this.description) {
lines.push("".concat(prefix, "Description: ").concat(this.description || false).concat(suffix));
}

if (this.repository) {
lines.push("".concat(prefix, "Repository: ").concat(this.repository.url).concat(suffix));
}

if (this.homepage) {
lines.push("".concat(prefix, "Homepage: ").concat(this.homepage).concat(suffix));
}

if (this.author) {
lines.push("".concat(prefix, "Author: ").concat(this.author.text()).concat(suffix));
}

if (this.contributors) {
lines.push("".concat(prefix, "Contributors:").concat(suffix));

var allContributors = _.chain(this.contributors).map(function (contributor) {
return contributor.text();
}).map(function (line) {
return "".concat(prefix, " ").concat(line).concat(suffix);
}).value();

lines.push.apply(lines, _toConsumableArray(allContributors));
}

return lines.join(joiner);
}
}]);

return Dependency;
}();

module.exports = Dependency;
26 changes: 26 additions & 0 deletions dist/eol.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* The MIT License (MIT)
*
* Copyright (c) 2016-2018 Mickael Jeanroy
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
'use strict';

module.exports = '\n';
39 changes: 39 additions & 0 deletions dist/generate-block-comment.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/**
* The MIT License (MIT)
*
* Copyright (c) 2016-2018 Mickael Jeanroy
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
'use strict';

var commenting = require('commenting');
/**
* Generate block comment from given text content.
*
* @param {string} text Text content.
* @return {string} Block comment.
*/


module.exports = function generateBlockComment(text) {
return commenting(text.trim(), {
extension: '.js'
});
};
101 changes: 101 additions & 0 deletions dist/index-rollup-legacy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/**
* The MIT License (MIT)
*
* Copyright (c) 2016-2018 Mickael Jeanroy
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
'use strict';

var _ = require('lodash');

var LicensePlugin = require('./license-plugin.js');

module.exports = function () {
var _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

var plugin = new LicensePlugin(_options);
return {
/**
* Name of the plugin, used automatically by rollup.
* @type {string}
*/
name: plugin.name,

/**
* Function called by rollup when a JS file is loaded: it is used to scan
* third-party dependencies.
*
* @param {string} id JS file path.
* @return {void}
*/
load: function load(id) {
plugin.scanDependency(id);
},

/**
* Function called by rollup to read global options: if source map parameter
* is truthy, enable it on the plugin.
*
* @param {object} opts Rollup options.
* @return {void}
*/
options: function options(opts) {
if (!opts) {
return;
}

if (_.has(_options, 'sourceMap') || _.has(_options, 'sourcemap')) {
// SourceMap has been set on the plugin itself.
return;
} // Rollup >= 0.48 replace `sourceMap` with `sourcemap`.
// If `sourcemap` is disabled globally, disable it on the plugin.


if (opts.sourceMap === false || opts.sourcemap === false) {
plugin.disableSourceMap();
}
},

/**
* Function called by rollup when the final bundle is generated: it is used
* to prepend the banner file on the generated bundle.
*
* @param {string} code Bundle content.
* @param {Object} outputOptions The options for this output.
* @return {void}
*/
transformBundle: function transformBundle(code) {
var outputOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var sourcemap = outputOptions.sourcemap !== false || outputOptions.sourceMap !== false;
return plugin.prependBanner(code, sourcemap);
},

/**
* Function called by rollup when the final bundle will be written on disk: it
* is used to generate a file containing a summary of all third-party dependencies
* with license information.
*
* @return {void}
*/
ongenerate: function ongenerate() {
plugin.exportThirdParties();
}
};
};
Loading

0 comments on commit 1441012

Please sign in to comment.