+{"$schema":"http://json-schema.org/draft-07/schema","title":"JSON schema for NPM package.json files","definitions":{"person":{"type":["object","string"],"required":["name"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"}}},"dependency":{"type":"object","additionalProperties":{"type":"string"}},"scriptsInstallAfter":{"type":"string"},"scriptsPublishAfter":{"type":"string"},"scriptsRestart":{"type":"string"},"scriptsStart":{"type":"string"},"scriptsStop":{"type":"string"},"scriptsTest":{"type":"string"},"scriptsUninstallBefore":{"type":"string"},"scriptsVersionBefore":{"type":"string"},"packageExportsEntryPath":{"type":["string","null"],"pattern":"^\\./"},"packageExportsEntryObject":{"type":"object","properties":{"require":{"$ref":"#/definitions/packageExportsEntryOrFallback"},"import":{"$ref":"#/definitions/packageExportsEntryOrFallback"},"node":{"$ref":"#/definitions/packageExportsEntryOrFallback"},"default":{"$ref":"#/definitions/packageExportsEntryOrFallback"}},"patternProperties":{"^(?![\\.0-9]).":{"$ref":"#/definitions/packageExportsEntryOrFallback"}},"additionalProperties":false},"packageExportsEntry":{"oneOf":[{"$ref":"#/definitions/packageExportsEntryPath"},{"$ref":"#/definitions/packageExportsEntryObject"}]},"packageExportsFallback":{"type":"array","items":{"$ref":"#/definitions/packageExportsEntry"}},"packageExportsEntryOrFallback":{"oneOf":[{"$ref":"#/definitions/packageExportsEntry"},{"$ref":"#/definitions/packageExportsFallback"}]},"fundingUrl":{"type":"string","format":"uri"},"fundingWay":{"type":"object","properties":{"url":{"$ref":"#/definitions/fundingUrl"},"type":{"type":"string"}},"additionalProperties":false,"minProperties":2}},"type":"object","patternProperties":{"^_":{"tsType":"any"}},"properties":{"name":{"type":"string","maxLength":214,"minLength":1,"pattern":"^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$"},"version":{"type":"string"},"description":{"type":"string"},"keywords":{"type":"array","items":{"type":"string"}},"homepage":{"type":"string"},"bugs":{"type":["object","string"],"properties":{"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"}}},"license":{"type":"string"},"licenses":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"author":{"$ref":"#/definitions/person"},"contributors":{"type":"array","items":{"$ref":"#/definitions/person"}},"maintainers":{"type":"array","items":{"$ref":"#/definitions/person"}},"files":{"type":"array","items":{"type":"string"}},"main":{"type":"string"},"exports":{"oneOf":[{"$ref":"#/definitions/packageExportsEntryPath"},{"type":"object","properties":{".":{"$ref":"#/definitions/packageExportsEntryOrFallback"}},"patternProperties":{"^\\./.+":{"$ref":"#/definitions/packageExportsEntryOrFallback"}},"additionalProperties":false},{"$ref":"#/definitions/packageExportsEntryObject"},{"$ref":"#/definitions/packageExportsFallback"}]},"bin":{"type":["string","object"],"additionalProperties":{"type":"string"}},"type":{"type":"string","enum":["commonjs","module"],"default":"commonjs"},"types":{"type":"string"},"typings":{"type":"string"},"typesVersions":{"type":"object","additionalProperties":{"type":"object","properties":{"*":{"type":"array","items":{"type":"string","pattern":"^[^*]*(?:\\*[^*]*)?$"}}},"patternProperties":{"^[^*]+$":{"type":"array","items":{"type":"string"}},"^[^*]*\\*[^*]*$":{"type":"array","items":{"type":"string","pattern":"^[^*]*(?:\\*[^*]*)?$"}}},"additionalProperties":false}},"man":{"type":["array","string"],"items":{"type":"string"}},"directories":{"type":"object","properties":{"bin":{"type":"string"},"doc":{"type":"string"},"example":{"type":"string"},"lib":{"type":"string"},"man":{"type":"string"},"test":{"type":"string"}}},"repository":{"type":["object","string"],"properties":{"type":{"type":"string"},"url":{"type":"string"},"directory":{"type":"string"}}},"funding":{"oneOf":[{"$ref":"#/definitions/fundingUrl"},{"$ref":"#/definitions/fundingWay"},{"type":"array","items":{"oneOf":[{"$ref":"#/definitions/fundingUrl"},{"$ref":"#/definitions/fundingWay"}]},"minItems":1,"uniqueItems":true}]},"scripts":{"type":"object","properties":{"lint":{"type":"string"},"prepublish":{"type":"string"},"prepare":{"type":"string"},"prepublishOnly":{"type":"string"},"prepack":{"type":"string"},"postpack":{"type":"string"},"publish":{"type":"string"},"postpublish":{"$ref":"#/definitions/scriptsPublishAfter"},"preinstall":{"type":"string"},"install":{"$ref":"#/definitions/scriptsInstallAfter"},"postinstall":{"$ref":"#/definitions/scriptsInstallAfter"},"preuninstall":{"$ref":"#/definitions/scriptsUninstallBefore"},"uninstall":{"$ref":"#/definitions/scriptsUninstallBefore"},"postuninstall":{"type":"string"},"preversion":{"$ref":"#/definitions/scriptsVersionBefore"},"version":{"$ref":"#/definitions/scriptsVersionBefore"},"postversion":{"type":"string"},"pretest":{"$ref":"#/definitions/scriptsTest"},"test":{"$ref":"#/definitions/scriptsTest"},"posttest":{"$ref":"#/definitions/scriptsTest"},"prestop":{"$ref":"#/definitions/scriptsStop"},"stop":{"$ref":"#/definitions/scriptsStop"},"poststop":{"$ref":"#/definitions/scriptsStop"},"prestart":{"$ref":"#/definitions/scriptsStart"},"start":{"$ref":"#/definitions/scriptsStart"},"poststart":{"$ref":"#/definitions/scriptsStart"},"prerestart":{"$ref":"#/definitions/scriptsRestart"},"restart":{"$ref":"#/definitions/scriptsRestart"},"postrestart":{"$ref":"#/definitions/scriptsRestart"},"serve":{"type":"string"}},"additionalProperties":{"type":"string","tsType":"string | undefined"}},"config":{"type":"object","additionalProperties":true},"dependencies":{"$ref":"#/definitions/dependency"},"devDependencies":{"$ref":"#/definitions/dependency"},"optionalDependencies":{"$ref":"#/definitions/dependency"},"peerDependencies":{"$ref":"#/definitions/dependency"},"peerDependenciesMeta":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true,"properties":{"optional":{"type":"boolean"}}}},"bundledDependencies":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"boolean"}]},"bundleDependencies":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"boolean"}]},"resolutions":{"type":"object"},"packageManager":{"type":"string","pattern":"(npm|pnpm|yarn)@\\d+\\.\\d+\\.\\d+(-.+)?"},"engines":{"type":"object","properties":{"node":{"type":"string"}},"additionalProperties":{"type":"string"}},"engineStrict":{"type":"boolean"},"os":{"type":"array","items":{"type":"string"}},"cpu":{"type":"array","items":{"type":"string"}},"preferGlobal":{"type":"boolean"},"private":{"oneOf":[{"type":"boolean"},{"enum":["false","true"]}]},"publishConfig":{"type":"object","properties":{"access":{"type":"string","enum":["public","restricted"]},"tag":{"type":"string"},"registry":{"type":"string","format":"uri"}},"additionalProperties":true},"dist":{"type":"object","properties":{"shasum":{"type":"string"},"tarball":{"type":"string"}}},"readme":{"type":"string"},"module":{"type":"string"},"esnext":{"type":["string","object"],"properties":{"main":{"type":"string"},"browser":{"type":"string"}},"additionalProperties":{"type":"string"}},"workspaces":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"object","properties":{"packages":{"type":"array","items":{"type":"string"}},"nohoist":{"type":"array","items":{"type":"string"}}}}]},"jspm":{"$ref":"#"}},"anyOf":[{"type":"object","not":{"required":["bundledDependencies","bundleDependencies"]}},{"type":"object","not":{"required":["bundleDependencies"]},"required":["bundledDependencies"]},{"type":"object","not":{"required":["bundledDependencies"]},"required":["bundleDependencies"]}]}
0 commit comments