From 69a42ba0829146e3072f71be33e857a242a8c044 Mon Sep 17 00:00:00 2001 From: Harry Sarson Date: Fri, 13 Mar 2020 20:33:17 +0000 Subject: [PATCH 1/5] remove contributors from package.json in favour of AUTHORS The contributors section of our package.json is _very_ long and manually updating can (?) be a pain. I took a leaf out of nodejs's book and copied their update-authors script [1]. [1]: https://github.com/nodejs/node/blob/master/tools/update-authors.js --- .mailmap | 23 +++++++ AUTHORS | 136 ++++++++++++++++++++++++++++++++++++++++ package.json | 101 +---------------------------- tools/update-authors.js | 98 +++++++++++++++++++++++++++++ 4 files changed, 259 insertions(+), 99 deletions(-) create mode 100644 .mailmap create mode 100644 AUTHORS create mode 100644 tools/update-authors.js diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000000..d8672f7892 --- /dev/null +++ b/.mailmap @@ -0,0 +1,23 @@ +Bartosz Leoniak +Benjamin Lucas +Eric Mansfield +Finn Pauls +Gary Passero +Harsh Gupta +Karl Lew +Horatiu Lazu +Michael M. +Oleg +Pat Grasso +Saket Saurabh +Sathish Kumar Subramani +Slava Ganzin +Stu Blair +Harry Sarson H.D. Sarson + +Timothy Lee +Tóth Róbert +Todd Morse + +Rogelio J. Baucells rjbaucells + diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000000..056fde8371 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,136 @@ +# Authors ordered by first contribution. + +Jos de Jong +Bart Kiers +Bryan Cuccioli +Zak Zibrat +Jim Garrison +Sebastien Piquemal +Guillermo Indalecio +Waldir Pimenta +Elijah Insua +Marcus André +Daniel Levin +hama_du +Finn Pauls +Matt Traynham +Fabrice Colas +Rogelio J. Baucells +Niels Heisterkamp +Mitchel Kelonye +Pavel Panchekha +Owen Versteeg +Andy Pan +Ryan Seys +Favian Contreras +Kenan Yildirim +Pete Corey +Max Bruckner +Ole Kröger +J. Harshbarger +James Herdman +Nick Foti +Devan Patel +Devan Patel +Kunal Vyas +Liam Newman +Alex Edgcomb +Ganga Christopher +Ubuntu +Sergey Romanov +Eric Mansfield +Veaceslav Grimalschi +Holman Gao +Robert Eisele +Tomek Wiszniewski +Ben Nelson +devdevdata222 +David Simons <12e.david@gmail.com> +john marinelli +paulmasson +Keunhong Park +Brett Jurgens +oyvindjam +Harsh Gupta +Stu Blair +Priidik Vaikla +Mathias Polligkeit +Horatiu Lazu +Thomas Brierley +Ekin Koc +Pat Grasso +Adam Butler +Timothy Lee +woylie +Harry Sarson +Sebastian Ruhleder +Maxired (Maxence Dalmais) +Adam Kelly +Troy Alford +Todd Morse +Dzmitry Litskalau +Max Kramer +Slava Ganzin +Gulfaraz Yasin +Tóth Róbert +Victor +viclai +PJ Hampton +Alexander Beyn +Vincent Lee +Karl Lew +mocking +Michael M. +Ivan Vergiliev +paulobuchsbaum +jeffreyshen19 +Oleg +Joel Hoover +Harry Sarson +denisx +Clément P +jean-emmanuel +pokeball99 +Robin Wieruch +Dakota Blair +Henrique Ferrolho +Jack Schmidt +Daniel Ruf +Saket Saurabh +Gary Passero +Chris Chudzicki +Daniel Kostro +Ben Weinshel +Honeybar +Amin Abdul Manaf +Harry Sarson +Paulo Buchsbaum <30529574+paulobuchsbaum@users.noreply.github.com> +Jason Shin +Mathias Rasmussen +Sathish Kumar Subramani +dkenul +Gold Holk <85619andy@gmail.com> +Benjamin Lucas +Albert Emil +Maximilian +Rian McGuire +Jack Mason <42824992+jackcmason@users.noreply.github.com> +SzechuanSage +sam-19 +Chris Hadgis +Jackie Han +Kevin J +Vlad Levitskiy +Tom MacWright +0xflotus <0xflotus@gmail.com> +Waseem Yusuf +Tanmay +Clinton Curry +Arthur Guiot +Bartosz Leoniak +Veeloxfire <58116051+Veeloxfire@users.noreply.github.com> +Arkajit Mandal +David Bramwell <13053834+dbramwell@users.noreply.github.com> +Cameron Tacklind + +# Generated by tools/update-authors.js diff --git a/package.json b/package.json index 58c9e5488a..f9b7779e39 100644 --- a/package.json +++ b/package.json @@ -3,104 +3,6 @@ "version": "6.6.1", "description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.", "author": "Jos de Jong (https://github.com/josdejong)", - "contributors": [ - "Adam Kelly (https://github.com/adamisntdead)", - "Albert Emil (https://github.com/AlbertEmil)", - "Alexander Beyn (https://github.com/AlexanderBeyn)", - "Andy Pan (https://github.com/andy0130tw)", - "Arkajit Mandal (https://github.com/arkajitmandal)", - "Arthur Guiot (https://github.com/arguiot)", - "Bart Kiers (https://github.com/bkiers)", - "Bartosz Leoniak (https://github.com/kmdrGroch)", - "Ben Weinshel (https://github.com/weinshel)", - "Benjamin Lucas (https://github.com/bnlcas)", - "Brett Jurgens (https://github.com/brettjurgens)", - "Bryan Cuccioli (https://github.com/bcuccioli)", - "Cameron Tacklind (https://github.com/cinderblock)", - "Chris Chudzicki (https://github.com/ChristopherChudzicki)", - "Chris Hadgis (https://github.com/SzechuanSage)", - "Clinton Curry (https://github.com/clintonc)", - "Dakota Blair (https://github.com/dakotablair)", - "David Bramwell (https://github.com/dbramwell)", - "Daniel Kostro (https://github.com/stropitek)", - "Daniel Levin (https://github.com/daniel-levin)", - "David Simons (https://github.com/SwamWithTurtles)", - "denisx (https://github.com/denisx)", - "dkenul (https://github.com/dkenul)", - "Devan Patel (https://github.com/devanp92)", - "devdevdata222 (https://github.com/devdevdata222)", - "Dzmitry Litskalau (https://github.com/litmit)", - "Ekin Koc (https://github.com/eknkc)", - "Elijah Insua (https://github.com/tmpvar)", - "Eric Mansfield (https://github.com/ericman314)", - "Fabrice Colas (https://github.com/fabricecolas)", - "Favian Contreras (https://github.com/BigFav)", - "Finn Pauls (https://github.com/finnp)", - "Ganga Christopher (https://github.com/gangachris)", - "Gary Passero (https://github.com/gap777)", - "Gold Holk (https://github.com/GHolk)", - "Harry Sarson (https://github.com/HarrySarson)", - "Holman Gao (https://github.com/golmansax)", - "Honybar (https://github.com/honeybar)", - "Guillermo Indalecio Fernández (https://github.com/guillermobox)", - "Gulfaraz (https://github.com/gulfaraz)", - "hamadu (https://github.com/hamadu)", - "Harsh Gupta (https://github.com/hgupta9)", - "Henrique Ferrolho (https://github.com/ferrolho)", - "Huseyn Guliyev (https://github.com/husayt)", - "Ivan Vergiliev (IvanVergiliev)", - "jean-emmanuel (https://github.com/jean-emmanuel)", - "Jack Schmidt (https://github.com/jackschmidt)", - "Jackie Han (https://github.com/hanguokai)", - "Jason Shin (https://github.com/JasonShin)", - "Jim Garrison (https://github.com/garrison)", - "Joel Hoover (https://github.com/joelhoover)", - "Karl Lew (https://github.com/firepick1)", - "Kenan Yildirim (https://github.com/KenanY)", - "Keunhong Park (https://github.com/void42)", - "Keunhong Park (https://github.com/kevjin)", - "Kevin J (https://github.com/kv-kunalvyas)", - "Marcus Andre (https://github.com/marcusandre)", - "Horatiu Lazu (https://github.com/MathBunny)", - "Mathias Polligkeit (https://github.com/woylie)", - "Mathias Rasmussen (https://github.com/mathiasvr)", - "Max Bruckner (https://github.com/FSMaxB)", - "Maxence Dalmais (https://github.com/maxired)", - "Michael M. (https://github.com/Schnark)", - "Mitchel Kelonye (https://github.com/kelonye)", - "mtraynham (https://github.com/mtraynham)", - "Niels Heisterkamp (https://github.com/nheisterkamp)", - "Oleg (https://github.com/ovk)", - "Owen Versteeg (https://github.com/owenversteeg)", - "Pavel Panchekha (https://github.com/pavpanchekha)", - "Pat Grasso (https://github.com/patgrasso)", - "Paulo Buchsbaum (https://github.com/paulobuchsbaum)", - "Pete Corey (https://github.com/pcorey)", - "PJ Hampton (https://github.com/pjhampton )", - "Retsam (https://github.com/Retsam)", - "Rian McGuire (https://github.com/rianmcguire)", - "Robert Eisele (https://github.com/infusion)", - "Rogelio J. Baucells (https://github.com/rjbaucells)", - "Ryan Seys (https://github.com/ryanseys)", - "Saket Saurabh (https://github.com/ssaket)", - "Sathish Kumar Subramani (https://github.com/Sathish-kumar-Subramani )", - "Sebastien Piquemal (https://github.com/sebpiq)", - "Sebastian Ruhleder (https://github.com/ruhleder)", - "Sergey Romanov (https://github.com/saromanov)", - "Slava Ganzin (https://github.com/slavaGanzin)", - "Stu Blair (https://github.com/stu-blair)", - "Tanmay (https://github.com/maytanthegeek)", - "Thomas Brierley (https://github.com/ThomasBrierley)", - "Timothy Lee (https://github.com/tetslee)", - "Tom MacWright (https://github.com/tmcw)", - "Tóth Róbert (https://github.com/Nekomajin42)", - "Todd Morse (https://github.com/morsecodist)", - "Veeloxfire (https://github.com/Veeloxfire)", - "Vlad Levitskiy (https://github.com/mcvladthegoat)", - "Waldir Pimenta (https://github.com/waldyrious)", - "Waseem Yusuf (https://github.com/waseemyusuf)", - "Zach Zibrat (https://github.com/palimpsests)" - ], "homepage": "https://mathjs.org", "repository": { "type": "git", @@ -211,7 +113,8 @@ "test:browserstack": "karma start test/browser-test-config/browserstack-karma.js", "coverage": "nyc --reporter=lcov --reporter=text-summary mocha test/unit-tests --recursive --require @babel/register && echo \"\nDetailed coverage report is available at ./coverage/lcov-report/index.html\"", "prepublishOnly": "npm run test:all && npm run lint", - "prepare": "npm run build" + "prepare": "npm run build", + "update-authors": "node ./tools/update-authors.js" }, "bin": { "mathjs": "./bin/cli.js" diff --git a/tools/update-authors.js b/tools/update-authors.js new file mode 100644 index 0000000000..8108d83b5e --- /dev/null +++ b/tools/update-authors.js @@ -0,0 +1,98 @@ +#!/usr/bin/env node + +// Attribution: +// This file is based on https://github.com/nodejs/node/blob/master/tools/update-authors.js. +// It is licensed according to https://github.com/nodejs/node/blob/master/LICENSE + +// Usage: tools/update-author.js [--dry] +// Passing --dry will redirect output to stdout rather than write to 'AUTHORS'. + +'use strict'; +const { spawn } = require('child_process'); +const path = require('path'); +const fs = require('fs'); +const readline = require('readline'); + +class CaseIndifferentMap { + _map = new Map(); + + get(key) { return this._map.get(key.toLowerCase()); } + set(key, value) { return this._map.set(key.toLowerCase(), value); } +} + +const log = spawn( + 'git', + // Inspect author name/email and body. + ['log', '--reverse', '--format=Author: %aN <%aE>\n%b'], { + stdio: ['inherit', 'pipe', 'inherit'] + }); +const rl = readline.createInterface({ input: log.stdout }); + +let output; +if (process.argv.includes('--dry')) + output = process.stdout; +else + output = fs.createWriteStream('AUTHORS'); + +output.write('# Authors ordered by first contribution.\n\n'); + +const mailmap = new CaseIndifferentMap(); +{ + const lines = fs.readFileSync(path.resolve(__dirname, '../', '.mailmap'), + { encoding: 'utf8' }).split('\n'); + for (let line of lines) { + line = line.trim(); + if (line.startsWith('#') || line === '') continue; + + let match; + // Replaced Name + if (match = line.match(/^([^<]+)\s+(<[^>]+>)$/)) { + mailmap.set(match[2], { author: match[1] }); + // + } else if (match = line.match(/^<([^>]+)>\s+(<[^>]+>)$/)) { + mailmap.set(match[2], { email: match[1] }); + // Replaced Name + } else if (match = line.match(/^([^<]+)\s+(<[^>]+>)\s+(<[^>]+>)$/)) { + mailmap.set(match[3], { + author: match[1], email: match[2] + }); + // Replaced Name Original Name + } else if (match = + line.match(/^([^<]+)\s+(<[^>]+>)\s+([^<]+)\s+(<[^>]+>)$/)) { + mailmap.set(match[3] + '\0' + match[4], { + author: match[1], email: match[2] + }); + } else { + console.warn('Unknown .mailmap format:', line); + } + } +} + +const seen = new Set(); + +// Support regular git author metadata, as well as `Author:` and +// `Co-authored-by:` in the message body. Both have been used in the past +// to indicate multiple authors per commit, with the latter standardized +// by GitHub now. +const authorRe = + /(^Author:|^Co-authored-by:)\s+(?[^<]+)\s+(?<[^>]+>)/i; +rl.on('line', (line) => { + const match = line.match(authorRe); + if (!match) return; + + let { author, email } = match.groups; + + if (seen.has(email) || + /@chromium\.org/.test(email) || + /greenkeeper\[bot\]/.test(email) || + email === '') { + return; + } + + seen.add(email); + output.write(`${author} ${email}\n`); +}); + +rl.on('close', () => { + output.end('\n# Generated by tools/update-authors.js\n'); +}); From 317988b33ef55308334b385a4d0d5af756e8cb04 Mon Sep 17 00:00:00 2001 From: Harry Sarson Date: Fri, 13 Mar 2020 21:12:54 +0000 Subject: [PATCH 2/5] remove some of my many emails --- .mailmap | 2 ++ AUTHORS | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index d8672f7892..14b53b3525 100644 --- a/.mailmap +++ b/.mailmap @@ -15,6 +15,8 @@ Slava Ganzin Stu Blair Harry Sarson H.D. Sarson + + Timothy Lee Tóth Róbert Todd Morse diff --git a/AUTHORS b/AUTHORS index 056fde8371..6a663ce7f1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -86,7 +86,6 @@ paulobuchsbaum jeffreyshen19 Oleg Joel Hoover -Harry Sarson denisx Clément P jean-emmanuel From fcfbe676d2f04b30f2c1a2c8718a208f254f866d Mon Sep 17 00:00:00 2001 From: Harry Sarson Date: Fri, 13 Mar 2020 22:55:56 +0000 Subject: [PATCH 3/5] add a couple more mail mappings --- .mailmap | 5 ++++- AUTHORS | 5 +---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.mailmap b/.mailmap index 14b53b3525..c05798b969 100644 --- a/.mailmap +++ b/.mailmap @@ -16,10 +16,13 @@ Stu Blair Harry Sarson H.D. Sarson - + Timothy Lee Tóth Róbert Todd Morse Rogelio J. Baucells rjbaucells + <30529574+paulobuchsbaum@users.noreply.github.com> +Paulo Buchsbaum + diff --git a/AUTHORS b/AUTHORS index 6a663ce7f1..14cdcf78b7 100644 --- a/AUTHORS +++ b/AUTHORS @@ -31,7 +31,6 @@ J. Harshbarger James Herdman Nick Foti Devan Patel -Devan Patel Kunal Vyas Liam Newman Alex Edgcomb @@ -82,7 +81,7 @@ Karl Lew mocking Michael M. Ivan Vergiliev -paulobuchsbaum +Paulo Buchsbaum jeffreyshen19 Oleg Joel Hoover @@ -102,8 +101,6 @@ Daniel Kostro Ben Weinshel Honeybar Amin Abdul Manaf -Harry Sarson -Paulo Buchsbaum <30529574+paulobuchsbaum@users.noreply.github.com> Jason Shin Mathias Rasmussen Sathish Kumar Subramani From 9a3bf7c5bce6be1cbfdeff7f0eea150152aa1d85 Mon Sep 17 00:00:00 2001 From: Harry Sarson Date: Fri, 13 Mar 2020 23:10:23 +0000 Subject: [PATCH 4/5] get lint passing --- tools/update-authors.js | 103 +++++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 48 deletions(-) diff --git a/tools/update-authors.js b/tools/update-authors.js index 8108d83b5e..17dac727cd 100644 --- a/tools/update-authors.js +++ b/tools/update-authors.js @@ -1,23 +1,25 @@ #!/usr/bin/env node -// Attribution: +// Attribution: // This file is based on https://github.com/nodejs/node/blob/master/tools/update-authors.js. // It is licensed according to https://github.com/nodejs/node/blob/master/LICENSE // Usage: tools/update-author.js [--dry] // Passing --dry will redirect output to stdout rather than write to 'AUTHORS'. -'use strict'; -const { spawn } = require('child_process'); -const path = require('path'); -const fs = require('fs'); -const readline = require('readline'); +'use strict' +const { spawn } = require('child_process') +const path = require('path') +const fs = require('fs') +const readline = require('readline') class CaseIndifferentMap { - _map = new Map(); + constructor () { + this._map = new Map() + } - get(key) { return this._map.get(key.toLowerCase()); } - set(key, value) { return this._map.set(key.toLowerCase(), value); } + get (key) { return this._map.get(key.toLowerCase()) } + set (key, value) { return this._map.set(key.toLowerCase(), value) } } const log = spawn( @@ -25,74 +27,79 @@ const log = spawn( // Inspect author name/email and body. ['log', '--reverse', '--format=Author: %aN <%aE>\n%b'], { stdio: ['inherit', 'pipe', 'inherit'] - }); -const rl = readline.createInterface({ input: log.stdout }); + }) +const rl = readline.createInterface({ input: log.stdout }) -let output; -if (process.argv.includes('--dry')) - output = process.stdout; -else - output = fs.createWriteStream('AUTHORS'); +let output +if (process.argv.includes('--dry')) { output = process.stdout } else { output = fs.createWriteStream('AUTHORS') } -output.write('# Authors ordered by first contribution.\n\n'); +output.write('# Authors ordered by first contribution.\n\n') -const mailmap = new CaseIndifferentMap(); +const mailmap = new CaseIndifferentMap() { const lines = fs.readFileSync(path.resolve(__dirname, '../', '.mailmap'), - { encoding: 'utf8' }).split('\n'); + { encoding: 'utf8' }).split('\n') for (let line of lines) { - line = line.trim(); - if (line.startsWith('#') || line === '') continue; + line = line.trim() + if (line.startsWith('#') || line === '') continue - let match; // Replaced Name - if (match = line.match(/^([^<]+)\s+(<[^>]+>)$/)) { - mailmap.set(match[2], { author: match[1] }); + const match1 = line.match(/^([^<]+)\s+(<[^>]+>)$/) + if (match1) { + mailmap.set(match1[2], { author: match1[1] }) + continue + } // - } else if (match = line.match(/^<([^>]+)>\s+(<[^>]+>)$/)) { - mailmap.set(match[2], { email: match[1] }); + const match2 = line.match(/^<([^>]+)>\s+(<[^>]+>)$/) + if (match2) { + mailmap.set(match2[2], { email: match2[1] }) + continue + } // Replaced Name - } else if (match = line.match(/^([^<]+)\s+(<[^>]+>)\s+(<[^>]+>)$/)) { - mailmap.set(match[3], { - author: match[1], email: match[2] - }); + const match3 = line.match(/^([^<]+)\s+(<[^>]+>)\s+(<[^>]+>)$/) + if (match3) { + mailmap.set(match3[3], { + author: match3[1], email: match3[2] + }) + continue + } // Replaced Name Original Name - } else if (match = - line.match(/^([^<]+)\s+(<[^>]+>)\s+([^<]+)\s+(<[^>]+>)$/)) { - mailmap.set(match[3] + '\0' + match[4], { - author: match[1], email: match[2] - }); - } else { - console.warn('Unknown .mailmap format:', line); + const match4 = line.match(/^([^<]+)\s+(<[^>]+>)\s+([^<]+)\s+(<[^>]+>)$/) + if (match4) { + mailmap.set(match4[3] + '\0' + match4[4], { + author: match4[1], email: match4[2] + }) + continue } + console.warn('Unknown .mailmap format:', line) } } -const seen = new Set(); +const seen = new Set() // Support regular git author metadata, as well as `Author:` and // `Co-authored-by:` in the message body. Both have been used in the past // to indicate multiple authors per commit, with the latter standardized // by GitHub now. const authorRe = - /(^Author:|^Co-authored-by:)\s+(?[^<]+)\s+(?<[^>]+>)/i; + /(^Author:|^Co-authored-by:)\s+(?[^<]+)\s+(?<[^>]+>)/i rl.on('line', (line) => { - const match = line.match(authorRe); - if (!match) return; + const match = line.match(authorRe) + if (!match) return - let { author, email } = match.groups; + const { author, email } = match.groups if (seen.has(email) || /@chromium\.org/.test(email) || /greenkeeper\[bot\]/.test(email) || email === '') { - return; + return } - seen.add(email); - output.write(`${author} ${email}\n`); -}); + seen.add(email) + output.write(`${author} ${email}\n`) +}) rl.on('close', () => { - output.end('\n# Generated by tools/update-authors.js\n'); -}); + output.end('\n# Generated by tools/update-authors.js\n') +}) From b2172a3107bb9123e6aa05d92829c48a53ad0b93 Mon Sep 17 00:00:00 2001 From: Harry Sarson Date: Sat, 14 Mar 2020 12:23:47 +0000 Subject: [PATCH 5/5] add instruction to update-authors --- misc/how_to_publish.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/misc/how_to_publish.md b/misc/how_to_publish.md index 048aaaa3aa..050a1f86ce 100644 --- a/misc/how_to_publish.md +++ b/misc/how_to_publish.md @@ -16,6 +16,13 @@ Update the date and version number in the file `HISTORY.md`. Verify whether all changes in the new version are described. +## Update authors + +Run: + + npm run update-authors + + ## Build and test Build the distribution files in folders `dist` and `lib`, and test everything by running: