StoDevX / AAO-React-Native

The St. Olaf community, now in pocket size.
GNU Affero General Public License v3.0
42 stars 16 forks source link

Collect licenses from our dependencies #524

Open hawkrives opened 7 years ago

hawkrives commented 7 years ago

We should collect and show a list of our dependencies' licenses.

hawkrives commented 7 years ago

I'm thinking it could be a name:licence-name mapping in a yaml file, that's then rendered at the bottom of License:

- react-native-alphabetlistview: MIT
hawkrives commented 7 years ago

Technically this should be a shipping-hold, but I'm… not that concerned over it? As long as we leave this issue open, one of us will eventually get around to it, and it's not like the app itself isn't open source.

Which isn't a good reason not to list the licenses, I get that, but I don't want to build the infrastructure before shipping freeze.

hawkrives commented 7 years ago

I'm going to look at using https://github.com/davglass/license-checker

hawkrives commented 7 years ago
$ license-checker --production --json | jq 'map_values(.licenses)' ```json { "AllAboutOlaf@2.0.1": "MIT*", "absolute-path@0.0.0": "MIT", "accepts@1.2.13": "MIT", "accepts@1.3.3": "MIT", "align-text@0.1.4": "MIT", "ansi-escapes@1.4.0": "MIT", "ansi-regex@2.0.0": "MIT", "ansi-styles@2.2.1": "MIT", "ansi@0.3.1": "MIT", "are-we-there-yet@1.1.2": "ISC", "array-differ@1.0.0": "MIT", "array-filter@0.0.1": "MIT", "array-map@0.0.0": "MIT", "array-reduce@0.0.0": "MIT", "array-union@1.0.2": "MIT", "array-uniq@1.0.3": "MIT", "arrify@1.0.1": "MIT", "art@0.10.1": "MIT", "asap@2.0.5": "MIT", "async@0.2.10": "MIT", "async@2.1.4": "MIT", "babel-code-frame@6.20.0": "MIT", "babel-core@6.21.0": "MIT", "babel-generator@6.21.0": "MIT", "babel-helper-builder-react-jsx@6.21.1": "MIT", "babel-helper-call-delegate@6.18.0": "MIT", "babel-helper-define-map@6.18.0": "MIT", "babel-helper-function-name@6.18.0": "MIT", "babel-helper-get-function-arity@6.18.0": "MIT", "babel-helper-hoist-variables@6.18.0": "MIT", "babel-helper-optimise-call-expression@6.18.0": "MIT", "babel-helper-regex@6.18.0": "MIT", "babel-helper-replace-supers@6.18.0": "MIT", "babel-helpers@6.16.0": "MIT", "babel-messages@6.8.0": "MIT", "babel-plugin-check-es2015-constants@6.8.0": "MIT", "babel-plugin-external-helpers@6.18.0": "MIT", "babel-plugin-react-transform@2.0.2": "MIT", "babel-plugin-syntax-async-functions@6.13.0": "MIT", "babel-plugin-syntax-class-properties@6.13.0": "MIT", "babel-plugin-syntax-flow@6.18.0": "MIT", "babel-plugin-syntax-jsx@6.18.0": "MIT", "babel-plugin-syntax-object-rest-spread@6.13.0": "MIT", "babel-plugin-syntax-trailing-function-commas@6.20.0": "MIT", "babel-plugin-transform-class-properties@6.19.0": "MIT", "babel-plugin-transform-es2015-arrow-functions@6.8.0": "MIT", "babel-plugin-transform-es2015-block-scoped-functions@6.8.0": "MIT", "babel-plugin-transform-es2015-block-scoping@6.21.0": "MIT", "babel-plugin-transform-es2015-classes@6.18.0": "MIT", "babel-plugin-transform-es2015-computed-properties@6.8.0": "MIT", "babel-plugin-transform-es2015-destructuring@6.19.0": "MIT", "babel-plugin-transform-es2015-for-of@6.18.0": "MIT", "babel-plugin-transform-es2015-function-name@6.9.0": "MIT", "babel-plugin-transform-es2015-literals@6.8.0": "MIT", "babel-plugin-transform-es2015-modules-commonjs@6.18.0": "MIT", "babel-plugin-transform-es2015-object-super@6.8.0": "MIT", "babel-plugin-transform-es2015-parameters@6.21.0": "MIT", "babel-plugin-transform-es2015-shorthand-properties@6.18.0": "MIT", "babel-plugin-transform-es2015-spread@6.8.0": "MIT", "babel-plugin-transform-es2015-sticky-regex@6.8.0": "MIT", "babel-plugin-transform-es2015-template-literals@6.8.0": "MIT", "babel-plugin-transform-es2015-unicode-regex@6.11.0": "MIT", "babel-plugin-transform-es3-member-expression-literals@6.8.0": "MIT", "babel-plugin-transform-es3-property-literals@6.8.0": "MIT", "babel-plugin-transform-flow-strip-types@6.21.0": "MIT", "babel-plugin-transform-object-assign@6.8.0": "MIT", "babel-plugin-transform-object-rest-spread@6.20.2": "MIT", "babel-plugin-transform-react-display-name@6.8.0": "MIT", "babel-plugin-transform-react-jsx-source@6.9.0": "MIT", "babel-plugin-transform-react-jsx@6.8.0": "MIT", "babel-plugin-transform-regenerator@6.21.0": "MIT", "babel-plugin-transform-strict-mode@6.18.0": "MIT", "babel-polyfill@6.20.0": "MIT", "babel-preset-es2015-node@6.1.1": "MIT", "babel-preset-fbjs@1.0.0": "BSD-3-Clause", "babel-preset-fbjs@2.1.0": "BSD-3-Clause", "babel-preset-react-native@1.9.1": "BSD-3-Clause", "babel-register@6.18.0": "MIT", "babel-runtime@6.20.0": "MIT", "babel-template@6.16.0": "MIT", "babel-traverse@6.21.0": "MIT", "babel-types@6.21.0": "MIT", "babylon@6.15.0": "MIT", "balanced-match@0.4.2": "MIT", "base64-js@0.0.8": "MIT", "base64-js@1.2.0": "MIT", "base64-url@1.2.1": "ISC", "base64-url@1.3.3": "ISC", "basic-auth-connect@1.0.0": "MIT", "basic-auth@1.0.4": "MIT", "batch@0.5.3": "MIT", "beeper@1.1.1": "MIT", "body-parser@1.13.3": "MIT", "boolbase@1.0.0": "ISC", "bplist-creator@0.0.4": "MIT", "bplist-parser@0.0.6": "MIT", "brace-expansion@1.1.6": "MIT", "bser@1.0.2": "Apache-2.0", "buffer-shims@1.0.0": "MIT", "buffer@4.9.1": "MIT", "buffer@5.0.2": "MIT", "builtin-modules@1.1.1": "MIT", "bytes@2.1.0": "MIT", "bytes@2.4.0": "MIT", "camelcase@1.2.1": "MIT", "camelcase@3.0.0": "MIT", "caseless@0.11.0": "Apache-2.0", "center-align@0.1.3": "MIT", "chalk@1.1.3": "MIT", "cli-cursor@1.0.2": "MIT", "cli-width@2.1.0": "ISC", "cliui@2.1.0": "ISC", "cliui@3.2.0": "ISC", "clone-stats@0.0.1": "MIT", "clone@1.0.2": "MIT", "code-point-at@1.1.0": "MIT", "commander@2.9.0": "MIT", "compressible@2.0.9": "MIT", "compression@1.5.2": "MIT", "concat-map@0.0.1": "MIT", "connect-timeout@1.6.2": "MIT", "connect@2.30.2": "MIT", "content-type@1.0.2": "MIT", "convert-source-map@1.3.0": "MIT", "cookie-parser@1.3.5": "MIT", "cookie-signature@1.0.6": "MIT", "cookie@0.1.3": "MIT", "core-js@1.2.7": "MIT", "core-js@2.4.1": "MIT", "core-util-is@1.0.2": "MIT", "crc@3.3.0": "MIT", "cross-spawn@3.0.1": "MIT", "csrf@3.0.4": "MIT", "css-select@1.2.0": "BSD-like", "css-what@2.1.0": "BSD-like", "csurf@1.8.3": "MIT", "dateformat@2.0.0": "MIT", "debug@2.2.0": "MIT", "debug@2.3.3": "MIT", "debug@2.6.0": "MIT", "decamelize@1.2.0": "MIT", "deep-diff@0.3.4": "MIT", "delay@1.3.1": "MIT", "delegates@1.0.0": "MIT", "denodeify@1.2.1": "MIT", "depd@1.0.1": "MIT", "depd@1.1.0": "MIT", "destroy@1.0.4": "MIT", "detect-indent@4.0.0": "MIT", "dom-serializer@0.1.0": "MIT", "dom-walk@0.1.1": "MIT", "domelementtype@1.1.3": "BSD*", "domelementtype@1.3.0": "BSD*", "domhandler@2.3.0": "BSD*", "domutils@1.5.1": "BSD*", "duplexer2@0.0.2": "BSD", "ee-first@1.1.1": "MIT", "emitter-component@1.1.1": "UNKNOWN", "encoding@0.1.12": "MIT", "entities@1.1.1": "BSD-like", "errno@0.1.4": "MIT", "error-ex@1.3.0": "MIT", "errorhandler@1.4.3": "MIT", "escape-html@1.0.2": "MIT", "escape-html@1.0.3": "MIT", "escape-string-regexp@1.0.5": "MIT", "esutils@2.0.2": "BSD", "etag@1.7.0": "MIT", "event-target-shim@1.1.1": "MIT", "events@1.1.1": "MIT", "exec-sh@0.2.0": "MIT", "exit-hook@1.1.1": "MIT", "express-session@1.11.3": "MIT", "fancy-log@1.3.0": "MIT", "fb-watchman@1.9.0": "Apache-2.0", "fbjs-scripts@0.7.1": "BSD-3-Clause", "fbjs@0.8.8": "BSD-3-Clause", "figures@1.7.0": "MIT", "finalhandler@0.4.0": "MIT", "find-up@1.1.2": "MIT", "flux-standard-action@0.6.1": "MIT", "fresh@0.3.0": "MIT", "frisbee@1.1.7": "MIT", "fs-extra@0.26.7": "MIT", "fs.realpath@1.0.0": "ISC", "gauge@1.2.7": "ISC", "get-caller-file@1.0.2": "ISC", "glob@5.0.15": "ISC", "glob@7.1.1": "ISC", "global@4.3.1": "MIT", "globals@9.14.0": "MIT", "glogg@1.0.0": "MIT", "graceful-fs@4.1.11": "ISC", "graceful-readlink@1.0.1": "MIT", "gulp-util@3.0.8": "MIT", "gulplog@1.0.0": "MIT", "has-ansi@2.0.0": "MIT", "has-gulplog@0.1.0": "MIT", "has-unicode@2.0.1": "ISC", "hoek@2.16.3": "BSD-3-Clause", "hoist-non-react-statics@1.2.0": "BSD", "home-or-tmp@2.0.0": "MIT", "hosted-git-info@2.1.5": "ISC", "html-entities@1.2.0": "MIT", "htmlparser2@3.9.2": "MIT", "http-errors@1.3.1": "MIT", "iconv-lite@0.4.11": "MIT", "iconv-lite@0.4.13": "MIT", "iconv-lite@0.4.15": "MIT", "ieee754@1.1.8": "BSD-3-Clause", "image-size@0.3.5": "MIT", "immutable@3.7.6": "BSD-3-Clause", "imurmurhash@0.1.4": "MIT", "inflight@1.0.6": "ISC", "inherits@2.0.3": "ISC", "inquirer@0.12.0": "MIT", "invariant@2.2.2": "BSD-3-Clause", "invert-kv@1.0.0": "MIT", "is-arrayish@0.2.1": "MIT", "is-buffer@1.1.4": "MIT", "is-builtin-module@1.0.0": "MIT", "is-finite@1.0.2": "MIT", "is-fullwidth-code-point@1.0.0": "MIT", "is-stream@1.1.0": "MIT", "is-utf8@0.2.1": "MIT", "isarray@0.0.1": "MIT", "isarray@1.0.0": "MIT", "isemail@1.2.0": "BSD-2-Clause", "isexe@1.1.2": "ISC", "isomorphic-fetch@2.2.1": "MIT", "jest-haste-map@17.0.3": "BSD-3-Clause", "joi@6.10.1": "BSD-3-Clause", "js-tokens@2.0.0": "MIT", "jsesc@0.5.0": "MIT", "jsesc@1.3.0": "MIT", "json-stable-stringify@1.0.1": "MIT", "json5@0.4.0": "MIT", "json5@0.5.1": "MIT", "jsonfile@2.4.0": "MIT", "jsonify@0.0.0": "Public Domain", "kind-of@3.1.0": "MIT", "klaw@1.3.1": "MIT", "lazy-cache@1.0.4": "MIT", "lcid@1.0.0": "MIT", "load-json-file@1.1.0": "MIT", "lodash-es@4.17.4": "MIT", "lodash._basecopy@3.0.1": "MIT", "lodash._basefor@3.0.3": "MIT", "lodash._basetostring@3.0.1": "MIT", "lodash._basevalues@3.0.0": "MIT", "lodash._getnative@3.9.1": "MIT", "lodash._isiterateecall@3.0.9": "MIT", "lodash._reescape@3.0.0": "MIT", "lodash._reevaluate@3.0.0": "MIT", "lodash._reinterpolate@3.0.0": "MIT", "lodash._root@3.0.1": "MIT", "lodash.escape@3.2.0": "MIT", "lodash.isarguments@3.1.0": "MIT", "lodash.isarray@3.0.4": "MIT", "lodash.isplainobject@3.2.0": "MIT", "lodash.keys@3.1.2": "MIT", "lodash.keysin@3.0.8": "MIT", "lodash.pad@4.5.1": "MIT", "lodash.padend@4.6.1": "MIT", "lodash.padstart@4.6.1": "MIT", "lodash.restparam@3.6.1": "MIT", "lodash.template@3.6.2": "MIT", "lodash.templatesettings@3.1.1": "MIT", "lodash@3.10.1": "MIT", "lodash@4.17.4": "MIT", "longest@1.0.1": "MIT", "loose-envify@1.3.0": "MIT", "lru-cache@4.0.2": "ISC", "makeerror@1.0.11": "BSD-3-Clause", "media-typer@0.3.0": "MIT", "merge@1.2.0": "MIT", "method-override@2.3.7": "MIT", "methods@1.1.2": "MIT", "mime-db@1.23.0": "MIT", "mime-db@1.25.0": "MIT", "mime-types@2.1.11": "MIT", "mime-types@2.1.13": "MIT", "mime@1.3.4": "MIT", "min-document@2.19.0": "MIT", "minimatch@3.0.3": "ISC", "minimist@0.0.10": "MIT", "minimist@0.0.8": "MIT", "minimist@1.2.0": "MIT", "mkdirp@0.5.1": "MIT", "moment-timezone@0.5.11": "MIT", "moment@2.17.1": "MIT", "morgan@1.6.1": "MIT", "ms@0.7.1": "MIT*", "ms@0.7.2": "MIT", "multimatch@2.1.0": "MIT", "multiparty@3.3.2": "MIT", "multipipe@0.1.2": "MIT", "mute-stream@0.0.5": "ISC", "negotiator@0.5.3": "MIT", "negotiator@0.6.1": "MIT", "node-fetch@1.6.3": "MIT", "node-int64@0.4.0": "MIT", "node-uuid@1.4.7": "MIT", "normalize-package-data@2.3.5": "BSD-2-Clause", "npmlog@2.0.4": "ISC", "nth-check@1.0.1": "BSD", "number-is-nan@1.0.1": "MIT", "object-assign@3.0.0": "MIT", "object-assign@4.1.0": "MIT", "on-finished@2.3.0": "MIT", "on-headers@1.0.1": "MIT", "once@1.4.0": "ISC", "onetime@1.1.0": "MIT", "opn@3.0.3": "MIT", "optimist@0.6.1": "MIT/X11", "options@0.0.6": "MIT*", "os-homedir@1.0.2": "MIT", "os-locale@1.4.0": "MIT", "os-tmpdir@1.0.2": "MIT", "parse-json@2.2.0": "MIT", "parseurl@1.3.1": "MIT", "path-exists@2.1.0": "MIT", "path-is-absolute@1.0.1": "MIT", "path-type@1.1.0": "MIT", "pause@0.1.0": "MIT", "pegjs@0.9.0": "MIT", "pify@2.3.0": "MIT", "pinkie-promise@2.0.1": "MIT", "pinkie@2.0.4": "MIT", "plist@1.2.0": "MIT", "private@0.1.6": "MIT", "process-nextick-args@1.0.7": "MIT", "process@0.5.2": "MIT*", "progress@1.1.8": "MIT*", "promise@7.1.1": "MIT", "prr@0.0.0": "MIT", "pseudomap@1.0.2": "ISC", "qs@4.0.0": "BSD-3-Clause", "qs@6.3.0": "BSD-3-Clause", "querystring@0.2.0": "MIT", "random-bytes@1.0.0": "MIT", "range-parser@1.0.3": "MIT", "raw-body@2.1.7": "MIT", "react-addons-shallow-compare@15.4.2": "BSD-3-Clause", "react-clone-referenced-element@1.0.1": "MIT", "react-deep-force-update@1.0.1": "MIT", "react-native-alphabetlistview@0.2.0": "MIT", "react-native-button@1.7.1": "MIT", "react-native-communications@2.1.4": "MIT", "react-native-cookies@2.0.0": "MIT", "react-native-device-info@0.9.7": "MIT", "react-native-google-analytics-bridge@4.0.2": "MIT", "react-native-keychain@0.3.2": "MIT", "react-native-onesignal@1.2.3": "MIT", "react-native-parallax-view@2.0.6": "MIT", "react-native-scrollable-mixin@1.0.1": "MIT", "react-native-sortable-list@0.0.2": "MIT", "react-native-tab-view@0.0.48": "MIT", "react-native-tableview-simple@0.15.3": "MIT", "react-native-vector-icons@3.0.0": "MIT", "react-native@0.39.2": "BSD-3-Clause", "react-proxy@1.1.8": "MIT", "react-redux@5.0.2": "MIT", "react-timer-mixin@0.13.3": "BSD-3-Clause", "react-transform-hmr@1.0.4": "MIT", "react@15.4.2": "BSD-3-Clause", "read-pkg-up@1.0.1": "MIT", "read-pkg@1.1.0": "MIT", "readable-stream@1.1.14": "MIT", "readable-stream@2.2.2": "MIT", "readline2@1.0.1": "MIT", "rebound@0.0.13": "BSD", "redux-logger@2.7.4": "MIT", "redux-promise@0.5.3": "MIT", "redux-thunk@2.1.0": "MIT", "redux@3.6.0": "MIT", "regenerate@1.3.2": "MIT", "regenerator-runtime@0.10.1": "MIT", "regenerator-runtime@0.9.6": "MIT", "regenerator-transform@0.9.8": "BSD", "regexpu-core@2.0.0": "MIT", "regjsgen@0.2.0": "MIT", "regjsparser@0.1.5": "BSD", "repeat-string@1.6.1": "MIT", "repeating@2.0.1": "MIT", "replace-ext@0.0.1": "MIT", "require-directory@2.1.1": "MIT", "require-main-filename@1.0.1": "ISC", "response-time@2.3.2": "MIT", "restore-cursor@1.0.1": "MIT", "right-align@0.1.3": "MIT", "rimraf@2.2.8": "MIT", "rimraf@2.5.4": "ISC", "rndm@1.2.0": "MIT", "run-async@0.1.0": "MIT", "rx-lite@3.1.2": "Apache License, Version 2.0", "sane@1.4.1": "MIT", "sax@1.1.6": "ISC", "sax@1.2.1": "ISC", "semver@5.3.0": "ISC", "send@0.13.2": "MIT", "serve-favicon@2.3.2": "MIT", "serve-index@1.7.3": "MIT", "serve-static@1.10.3": "MIT", "set-blocking@2.0.0": "ISC", "setimmediate@1.0.5": "MIT", "shell-quote@1.6.1": "MIT", "simple-plist@0.1.4": "MIT", "slash@1.0.0": "MIT", "slide@1.1.6": "ISC", "source-map-support@0.4.8": "MIT", "source-map@0.5.6": "BSD-3-Clause", "sparkles@1.0.0": "MIT", "spdx-correct@1.0.2": "Apache-2.0", "spdx-expression-parse@1.0.4": "(MIT AND CC-BY-3.0)", "spdx-license-ids@1.2.2": "Unlicense", "stacktrace-parser@0.1.4": "MIT", "statuses@1.2.1": "MIT", "statuses@1.3.1": "MIT", "stream-buffers@0.2.6": "UNKNOWN", "stream-counter@0.2.0": "BSD", "stream@0.0.2": "MIT", "string-width@1.0.2": "MIT", "string_decoder@0.10.31": "MIT", "strip-ansi@3.0.1": "MIT", "strip-bom@2.0.0": "MIT", "supports-color@2.0.0": "MIT", "symbol-observable@1.0.4": "MIT", "temp@0.8.3": "MIT", "throat@3.0.0": "MIT", "through2@2.0.3": "MIT", "through@2.3.8": "MIT", "time-stamp@1.0.1": "MIT", "timers@0.1.1": "MIT", "titlecase@1.1.2": "MIT", "tmpl@1.0.4": "BSD-3-Clause", "to-fast-properties@1.0.2": "MIT", "topo@1.1.0": "BSD-3-Clause", "tsscmp@1.0.5": "MIT", "type-is@1.6.14": "MIT", "ua-parser-js@0.7.12": "(GPL-2.0 OR MIT)", "uglify-js@2.7.5": "BSD-2-Clause", "uglify-to-browserify@1.0.2": "MIT", "uid-safe@2.0.0": "MIT", "uid-safe@2.1.3": "MIT", "ultron@1.0.2": "MIT", "unpipe@1.0.0": "MIT", "util-deprecate@1.0.2": "MIT", "utils-merge@1.0.0": "MIT", "validate-npm-package-license@3.0.1": "Apache-2.0", "vary@1.0.1": "MIT", "vary@1.1.0": "MIT", "vhost@3.0.2": "MIT", "vinyl@0.5.3": "MIT", "walker@1.0.7": "Apache-2.0", "watch@0.10.0": "Apache*", "whatwg-fetch@1.1.1": "MIT", "whatwg-fetch@2.0.1": "MIT", "which-module@1.0.0": "ISC", "which@1.2.12": "ISC", "window-size@0.1.0": "MIT", "wordwrap@0.0.2": "MIT/X11", "wordwrap@0.0.3": "MIT", "wordwrap@1.0.0": "MIT", "worker-farm@1.3.1": "MIT", "wrap-ansi@2.1.0": "MIT", "wrappy@1.0.2": "ISC", "write-file-atomic@1.3.1": "ISC", "ws@1.1.1": "MIT", "xcode@0.8.9": "MIT*", "xml2js@0.4.17": "MIT", "xmlbuilder@4.0.0": "MIT", "xmlbuilder@4.2.1": "MIT", "xmldoc@0.4.0": "MIT", "xmldom@0.1.27": "LGPL", "xtend@4.0.1": "MIT", "y18n@3.2.1": "ISC", "yallist@2.0.0": "ISC", "yargs-parser@4.2.1": "ISC", "yargs@3.10.0": "MIT", "yargs@6.6.0": "MIT" } ```
hawkrives commented 7 years ago

Or we could use dependencyci: https://dependencyci.com/github/sindresorhus/xo/builds/42

hawkrives commented 7 years ago

DependencyCI looks really cool: https://dependencyci.com/github/StoDevX/AAO-React-Native/builds/1

elijahverdoorn commented 7 years ago

Nice find, @hawkrives!

drewvolz commented 7 years ago

Neat. Looks like a big time saver

hawkrives commented 7 years ago

Slack's dependency page: https://slack.com/libs/ios

hawkrives commented 6 years ago

I'd like this to be automated, and to probably automatically add itself to the bottom of the Credits or Legal views.

We'll think about this more in the future.

drewvolz commented 6 years ago

I’d be happy with automation. I want to suggest a Legal tab which would contain privacy policy, legal, and credits as rows within a view pushes from a Legal row.

This is attempting to copy the way that Apple does it.

hawkrives commented 6 years ago

Meh. We already have the list items top-level; I don't particularly feel a need to make a screen with just three table cells.

We can discuss the interface more when the plumbing is done?

drewvolz commented 6 years ago

Yeah. I’m not too concerned on the implementation.

hawkrives commented 6 years ago

@rye / @drewvolz: Do we want to collect every dependency in our tree, or only our direct dependencies?

rye commented 6 years ago

What would you prefer, @hawkrives? I think just our direct, level-1 dependencies would be sufficient

hawkrives commented 6 years ago

I also think that's fine.