# 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 `. - 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 `. ## Run Locally This mozlint linter can be run using mach: ```{eval-rst} .. parsed-literal:: $ mach lint --linter node-package-names ``` ## Configuration This linter is enabled on most of the whole code base. ## Sources - {searchfox}`Configuration (YAML) ` - {searchfox}`Source `