File: node-package-names.rst

package info (click to toggle)
firefox 143.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,617,328 kB
  • sloc: cpp: 7,478,492; javascript: 6,417,157; ansic: 3,720,058; python: 1,396,372; xml: 627,523; asm: 438,677; java: 186,156; sh: 63,477; makefile: 19,171; objc: 13,059; perl: 12,983; yacc: 4,583; cs: 3,846; pascal: 3,405; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (43 lines) | stat: -rw-r--r-- 1,437 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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>`