{"record":{"id":"0f1cca5e962e1590","repo":"yarnpkg/yarn","slug":"manifestnameillegalchars","errorCode":null,"errorMessage":"manifestNameIllegalChars","messagePattern":"manifestNameIllegalChars","errorType":"validation","errorClass":"MessageError","httpStatus":null,"severity":"error","filePath":"src/util/normalize-manifest/validate.js","lineNumber":67,"sourceCode":"      }\n    }\n  }\n\n  // validate name\n  const {name} = info;\n  if (typeof name === 'string') {\n    if (isRoot && isBuiltinModule(name)) {\n      warn(reporter.lang('manifestBuiltinModule', name));\n    }\n\n    // cannot start with a dot\n    if (name[0] === '.') {\n      throw new MessageError(reporter.lang('manifestNameDot'));\n    }\n\n    // cannot contain the following characters\n    if (!isValidPackageName(name)) {\n      throw new MessageError(reporter.lang('manifestNameIllegalChars'));\n    }\n\n    // cannot equal node_modules or favicon.ico\n    const lower = name.toLowerCase();\n    if (lower === 'node_modules' || lower === 'favicon.ico') {\n      throw new MessageError(reporter.lang('manifestNameBlacklisted'));\n    }\n  }\n\n  // validate license\n  if (isRoot && !info.private) {\n    if (typeof info.license === 'string') {\n      const license = info.license.replace(/\\*$/g, '');\n      if (!isValidLicense(license)) {\n        warn(reporter.lang('manifestLicenseInvalid'));\n      }\n    } else {\n      warn(reporter.lang('manifestLicenseNone'));","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/yarnpkg/yarn/blob/c2dda503f3759b5be5f0e24ecd9cf5c97a540147/src/util/normalize-manifest/validate.js#L49-L85","documentation":"Error \"manifestNameIllegalChars\" thrown in yarnpkg/yarn.","triggerScenarios":"A manifest name contains illegal URL or filesystem characters during normalization validation in src/util/normalize-manifest/validate.js.","commonSituations":"Occurs when package.json 'name' contains characters such as spaces, uppercase in some registries, or symbols disallowed by npm naming rules.","solutions":["Remove the illegal characters from the package name. npm names may only contain lowercase letters, numbers, hyphens, underscores, and dots (no leading dot), plus an optional @scope/ prefix. Edit the name field in package.json."],"exampleFix":"\"name\": \"My Package!\" -> \"my-package\"","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c2dda503f3759b5be5f0e24ecd9cf5c97a540147","analyzedAt":"2026-08-13T04:17:06.305Z","schemaVersion":2},"datasetVersion":"2026-08-13T09:17:06.757Z"}