git ssb

16+

cel / patchfoo



Tree: 4b24a492a3a2728092f4f0e746cdf18f590d1b3e

Files: 4b24a492a3a2728092f4f0e746cdf18f590d1b3e / licenses.js

9025 bytesRaw
1var fs = require('fs')
2
3// Supplement or fix what license-checker finds for copyright notices.
4// If the author(s) claimed copyright, note it here and put a commit id to show it. Otherwise just put their names and years based on examining the source and commit log.
5var copyrightOverrides = {
6 '@types/node@14.14.8': 'Copyright (c) Microsoft Corporation.',
7 '@types/rdf-js@4.0.0': 'Copyright (c) Microsoft Corporation.',
8 'binary@0.3.0': '2010-2012 James Halliday and contributors',
9 'bl@1.2.2': 'Copyright (c) 2013-2016 bl contributors.',
10 'buffer-alloc-unsafe@1.1.0': 'Copyright (c) 2016, 2018 Linus Unnebäck',
11 'buffer-alloc@1.2.0': 'Copyright (c) 2016, 2018 Linus Unnebäck',
12 'buffer-fill@1.0.0': 'Copyright (c) 2016, 2018 Linus Unnebäck',
13 'buffers@0.1.1': '2011-2012 James Halliday and contributors',
14 'chainsaw@0.1.0': 'Copyright 2010 James Halliday (mail@substack.net)',
15 'colors@1.2.1': 'Original Library - Copyright (c) Marak Squires. Additional Functionality - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)',
16 'concat-map@0.0.1': '2012, 2014 James Halliday',
17 'ed2curve@0.1.4': '2014,2016 Dmitry Chestnykh',
18 'emoji-named-characters@1.0.2': '© 2013 Henrik Joreteg, 2014 Luke Karrys, and contributors',
19 'generate-function@2.0.0': 'Copyright (c) 2014 Mathias Buus', // af11020b5280972156c46876d9779c0e448fdfcb
20 'get-caller-file@1.0.2': 'Copyright 2018 Stefan Penner',
21 'git-packidx-parser@1.0.0': 'Copyright 2013 Chris Dickinson',
22 'human-time@0.0.1': '2014, 2015, 2018 Dave Eddy',
23 'indexof@0.0.1': '2012 tjholowaychuk',
24 'invert-kv@1.0.0': 'Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)',
25 'is-my-ip-valid@1.0.0': 'Copyright (c) 2018 Linus Unnebäck', // 5a9a18540278a8fb0e51543dd79bb407dbe187a0
26 'kvset@1.0.0': 'Copyright (c) 2016 Charles Lehner', // 66301173fca366fcd05224d0d23678b51c2ed9f6
27 'minimist@0.0.8': '2013-2014 James Halliday and contributors',
28 'minimist@1.2.5': '2013-2015 James Halliday and contributors',
29 'multicb@1.2.2': 'Copyright (c) 2018 Paul Frazee', // a3798da7e8843cc3036ecd7c08ac0056c842ee4c
30 'multiserver-scopes@1.0.0': '2018 Jan Bölsche',
31 'nan@2.14.1': 'Copyright (c) 2018 NAN contributors',
32 'natives@1.1.3': 'Copyright 2018 Isaac Z. Schlueter',
33 'node-polyglot@1.0.0': '©2012-2014 Airbnb, Inc.', // 4722ccd67f7ac5d72f4f45604b52ad27f51d0402
34 'process-nextick-args@2.0.0': 'Copyright (c) 2015 Calvin Metcalf',
35 'pull-block-filter@1.0.0': 'Copyright (c) 2016 Charles Lehner', // 5b01c795e220af444c3e1be42616693803cde4d8
36 'pull-catch@1.0.0': '2016, 2019 Nick Thomas',
37 'pull-git-packidx-parser@1.0.0': '© 2013 Chris Dickinson, 2016 Charles Lehner',
38 'pull-hyperscript@0.2.2': '© 2016 mix irving, Matt McKegg, cel',
39 'pull-identify-filetype@1.1.0': '2015 Paul Frazee',
40 'railroad-diagrams@1.0.0': '2012-2015 Tab Atkins Jr. (and others)',
41 'readable-stream@1.0.34': 'Copyright Joyent, Inc. and other Node contributors.',
42 'readable-stream@1.1.14': 'Copyright Joyent, Inc. and other Node contributors.',
43 'readable-stream@2.3.6': 'Copyright Joyent, Inc. and other Node contributors. All rights reserved.',
44 'sparqljs@3.2.0': 'Copyright ©2014 Ruben Verborgh',
45 'spdx-correct@3.0.0': '2015-2018 Kyle E. Mitchell and contributors',
46 'spdx-exceptions@2.1.0': 'Copyright © 2010-2015 Linux Foundation and its Contributors',
47 'spdx-license-ids@3.0.0': '2014-2018 Shinnosuke Watanabe and contributors',
48 'ssb-caps@1.1.0': '2015, 2019 Dominic Tarr, Andre Medeiros',
49 'ssb-client@4.9.0': 'Copyright 2015-2020 Paul Frazee and Dominic Tarr, and contributors',
50 'ssb-keys@7.2.2': '2014-2015 Paul Frazee, 2014-2020 Dominic Tarr and contributors',
51 'ssb-msg-schemas@6.3.0': '2015-2016 Paul Frazee. 2015,2017 Dominic Tarr. 2017 mix irving. 2016-2019 other contributors',
52 'ssb-msgs@5.2.0': '2014-2015 Paul Frazee. 2015 Dominic Tarr',
53 'ssb-npm-registry@1.10.2': 'Copyright (C) 2017-2019 Secure Scuttlebutt Consortium',
54 'ssb-web-resolver@1.1.2': '2018 Stephen Whitmore',
55 'string_decoder@1.1.1': 'Copyright Node.js contributors. All rights reserved.',
56 'tweetnacl-auth@0.3.1': '2014-2016 Dmitry Chestnykh',
57 'tweetnacl@0.14.5': '2014-2016 Dmitry Chestnykh',
58 'tweetnacl@1.0.3': '2014-2020 Dmitry Chestnykh',
59 'validate-npm-package-license@3.0.4': '2017-2018, 2020 Kyle E. Mitchell and contributors',
60 'patchfoo@1.6.0': 'Copyright (C) 2017-2020 Secure Scuttlebutt Consortium',
61 'rc@1.2.8': 'Copyright (c) 2011 Dominic Tarr',
62}
63
64var licenseOverrides = {
65 'buffers@0.1.1': 'MIT',
66 'chainsaw@0.1.0': 'MIT',
67 'ed2curve@0.1.4': 'Unlicense',
68 'lrucache@1.0.3': 'MIT',
69 'multicb@1.2.2': 'MIT',
70 'options@0.0.6': 'MIT',
71 'sha.js@2.4.5': '(MIT AND BSD-3-Clause)',
72 'indexof@0.0.1': 'MIT',
73 'traverse@0.3.9': 'MIT',
74 'ssb-npm-registry@1.10.2': 'AGPL-3.0-or-later'
75}
76
77var licenseFilenameOverrides = {
78 Unlicense: __dirname + '/node_modules/tweetnacl/LICENSE',
79 'AGPL-3.0-or-later': __dirname + '/node_modules/ssb-npm-registry/LICENSE',
80 'MIT': __dirname + '/node_modules/sodium-native/LICENSE',
81 'CC-BY-3.0': __dirname + '/vendor/cc-by-3.0.txt',
82}
83
84var formLicenses = {
85 '(MIT AND BSD-3-Clause)': true,
86 'BSD-2-Clause': true,
87 'BSD-3-Clause': true,
88 ISC: true,
89 MIT: true
90}
91
92var licenseTextOverrides = {
93 FSFAP: `Copying and distribution of this file, with or without modification,
94are permitted in any medium without royalty provided the copyright
95notice and this notice are preserved. This file is offered as-is,
96without any warranty.`,
97 'CC0-1.0': `Creative Commons - CC0 1.0 Universal
98Source: http://creativecommons.org/publicdomain/zero/1.0/`,
99 Fair: `Usage of the works is permitted provided that this instrument is
100retained with the works, so that any entity that uses the works is
101notified of this instrument.
102
103DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.`,
104 'CC0-1.0': `Creative Commons - CC0 1.0 Universal
105Source: http://creativecommons.org/publicdomain/zero/1.0/`,
106 '(MIT AND Zlib)': `- MIT - all files, except \`/lib/zlib\` folder
107- ZLIB - \`/lib/zlib\` content
108
109zlib license:
110
111(C) 1995-2013 Jean-loup Gailly and Mark Adler
112(C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
113
114This software is provided 'as-is', without any express or implied
115warranty. In no event will the authors be held liable for any damages
116arising from the use of this software.
117
118Permission is granted to anyone to use this software for any purpose,
119including commercial applications, and to alter it and redistribute it
120freely, subject to the following restrictions:
121
1221. The origin of this software must not be misrepresented; you must not
123 claim that you wrote the original software. If you use this software
124 in a product, an acknowledgment in the product documentation would be
125 appreciated but is not required.
1262. Altered source versions must be plainly marked as such, and must not be
127 misrepresented as being the original software.
1283. This notice may not be removed or altered from any source distribution.`
129}
130
131function return$1($0, $1) {
132 return $1
133}
134
135var checker = require('license-checker')
136
137checker.init({
138 start: __dirname,
139 production: true,
140 customFormat: {
141 licenses: null,
142 publisher: null,
143 copyright: null,
144 licenseFile: null
145 }
146}, function (err, packages) {
147 if (err) throw err
148
149 var licenses = {}
150 var licensesFilenames = {}
151 var licenseNames = []
152 for (var nameVersion in packages) {
153 var pkg = packages[nameVersion]
154 pkg.nameVersion = nameVersion
155 var license = licenseOverrides[nameVersion] || pkg.licenses
156 var licenseInfo = licenses[license] || (licenses[license] = {pkgs: []})
157 licenseInfo.pkgs.push(pkg)
158 if (!(license in licensesFilenames)) {
159 licensesFilenames[license] = pkg.licenseFile
160 licenseNames.push(license)
161 }
162 }
163 try {
164 var ssbPkgPkgPkg = require('./node_modules/ssb-pkg/package.json')
165 licenses.MIT.pkgs.push({
166 copyright: 'Copyright (c) 2016 Zeit, Inc., 2020 Charles Lehner',
167 nameVersion: 'ssb-pkg@' + ssbPkgPkgPkg.version
168 })
169 } catch(e) {}
170
171 process.stdout.write('Licenses for software packages included in patchfoo binary release\n\n')
172 for (var license in licenses) {
173 var pkgs = licenses[license].pkgs
174 var licenseText = licenseTextOverrides[license]
175 if (!licenseText) {
176 var licenseFilename = licenseFilenameOverrides[license]
177 || licensesFilenames[license]
178 licenseText = fs.readFileSync(licenseFilename, 'utf8')
179 .replace(/\s*$/, '')
180 if (formLicenses[license]) licenseText = licenseText
181 .replace(/(^|\n)\s*(Copyright |©)[^\n]*\n*/, return$1)
182 }
183 process.stdout.write('- ' + license + '\n\n' +
184 pkgs.map(function (pkg) {
185 return ' - ' + pkg.nameVersion + ' ' + (
186 copyrightOverrides[pkg.nameVersion] || pkg.copyright
187 )
188 }).join('\n')
189 .replace(/&lt;/g, '<')
190 .replace(/&gt;/g, '>') + '\n\n' +
191 licenseText.replace(/^/gm, ' ')
192 + '\n\n')
193 }
194
195 fs.createReadStream('/home/cel/src/patchfoo/node-v12.18.1-license.txt').pipe(process.stdout)
196
197})
198

Built with git-ssb-web