node-licenses.rst (1643B)
1 Node Licenses 2 ============= 3 4 This linter verifies that dependencies included by ``package.json`` files have 5 `accepted licenses <https://www.mozilla.org/en-US/MPL/license-policy/>`_. Mozilla 6 employees can also consult the 7 `Licensing & Contributor Agreements Runbook <https://mozilla-hub.atlassian.net/l/cp/bgfp6Be7>`_ 8 for more details. 9 10 **This linter currently only works for tools that are not incorporated into the 11 production code.** 12 13 Raised Node License Issues 14 -------------------------- 15 16 If the linter raises an issue with a license, the license should be checked against 17 the Runbook, and if necessary, consult with the Legal team to ensure it is 18 acceptable. 19 20 Dependencies with unaccepted licenses must not be committed into the 21 repository. If this linter fails it will cause your changes to be backed out. 22 23 New licenses that have been accepted by Legal may be added to the 24 ``accepted-test-licenses`` list in :searchfox:`node-licenses.yml <tools/lint/node-licenses.yml>`. 25 26 There is also a specific section in the configuration file ``known-packages`` where 27 a package may be specified if Legal has accepted the use of that package but is 28 not willing to allow the license generally. 29 30 Run Locally 31 ----------- 32 33 This mozlint linter can be run using mach: 34 35 .. parsed-literal:: 36 37 $ mach lint --linter node-licenses <file paths> 38 39 Configuration 40 ------------- 41 42 This linter is currently enabled on specific directories, as listed in the 43 :searchfox:`configuration file <tools/lint/node-licenses.yml>`. 44 45 Sources 46 ------- 47 48 * :searchfox:`Configuration (YAML) <tools/lint/node-licenses.yml>` 49 * :searchfox:`Source <tools/lint/node-licenses/__init__.py>`