Source code
Revision control
Copy as Markdown
Other Tools
Node Package Names
==================
This linter verifies that ``package.json`` files don't include a ``name``
property, unless we are publishing them.
For ``package.json`` files that are only used for defining dependencies or
commands, we should not include a ``name`` property, as that can cause confusion
as to if the package is published or not.
Fixing Node Package Names Errors
--------------------------------
* If the directory/package is an imported third party package, it should be added
to :searchfox:`ThirdPartyPaths.txt <tools/rewriting/ThirdPartyPaths.txt>`.
* If the directory/package is not going to be published, remove the ``name`` and
``version`` properties.
* If the directory/package is going to be published:
* The name must include the ``@mozilla/`` scope.
* It must be published under the Mozilla organisation on npmjs.com before landing.
* Once the package has been published initially, it may be added as an exclusion
in :searchfox:`node-package-names.yml <tools/lint/node-package-names.yml>`.
Run Locally
-----------
This mozlint linter can be run using mach:
.. parsed-literal::
$ mach lint --linter node-package-names <file paths>
Configuration
-------------
This linter is enabled on most of the whole code base.
Sources
-------
* :searchfox:`Configuration (YAML) <tools/lint/node-package-names.yml>`
* :searchfox:`Source <tools/lint/node-package-names/__init__.py>`