{"id":37024090,"url":"https://github.com/react-bootstrap/react-prop-types","last_synced_at":"2026-01-14T02:54:28.020Z","repository":{"id":33169111,"uuid":"36810151","full_name":"react-bootstrap/react-prop-types","owner":"react-bootstrap","description":"Additional PropTypes for React","archived":true,"fork":false,"pushed_at":"2017-05-24T14:23:45.000Z","size":55,"stargazers_count":51,"open_issues_count":0,"forks_count":14,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-08-20T20:02:22.746Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/react-bootstrap.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-03T14:46:45.000Z","updated_at":"2023-10-25T00:19:50.000Z","dependencies_parsed_at":"2022-08-17T21:15:22.399Z","dependency_job_id":null,"html_url":"https://github.com/react-bootstrap/react-prop-types","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/react-bootstrap/react-prop-types","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-bootstrap%2Freact-prop-types","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-bootstrap%2Freact-prop-types/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-bootstrap%2Freact-prop-types/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-bootstrap%2Freact-prop-types/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/react-bootstrap","download_url":"https://codeload.github.com/react-bootstrap/react-prop-types/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-bootstrap%2Freact-prop-types/sbom","scorecard":{"id":765297,"data":{"date":"2025-08-11","repo":{"name":"github.com/react-bootstrap/react-prop-types","commit":"2e79fa714540a0bfba4fd482eea30370230d7e2c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":3,"reason":"Found 7/20 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T00:36:23.171Z","repository_id":33169111,"created_at":"2025-08-23T00:36:23.171Z","updated_at":"2025-08-23T00:36:23.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-14T02:54:27.410Z","updated_at":"2026-01-14T02:54:28.012Z","avatar_url":"https://github.com/react-bootstrap.png","language":"JavaScript","readme":"\n# DEPRECATED!!!!!!\n# USE https://github.com/react-bootstrap/prop-types-extra\n\n(it's the same thing)\n\n# react-prop-types [![Travis][build-badge]][build] [![npm][npm-badge]][npm]\n\nAdditional [PropTypes](https://facebook.github.io/react/docs/reusable-components.html#prop-validation) for [React](https://facebook.github.io/react/).\n\n## Usage\n\n```js\nimport elementType from 'react-prop-types/lib/elementType';\n// or\nimport { elementType } from 'react-prop-types';\n\nconst propTypes = {\n  someProp: elementType,\n};\n```\n\nIf you want to minimize bundle size, import only the validators you use via:\n\n```js\nimport elementType from 'react-prop-types/lib/elementType'\n```\n\n## Guide\n\n### Installation\n\n```sh\n$ npm i -S react\n$ npm i -S react-prop-types\n```\n\n### [`all(...validators)`](/src/all.js)\n\nThis validator checks that all of the provided validators pass.\n\n```js\nconst propTypes = {\n  vertical:  React.PropTypes.bool.isRequired,\n\n  block: all(\n    React.PropTypes.bool.isRequired,\n    ({ block, vertical }) =\u003e (\n      block \u0026\u0026 !vertical ?\n        new Error('`block` requires `vertical` to be set to have any effect') :\n        null\n    ),\n  ),\n};\n```\n\nThe provided validators will be validated in order, stopping on the first failure. The combined validator will succeed only if all provided validators succeed.\n\nAs in the example, this can be used to make a type assertion along with additional semantic assertions.\n\n### [`componentOrElement`](/src/componentOrElement.js)\n\nChecks that the value is a `ReactComponent` or a `DOMElement`.\n\n```js\nconst propTypes = {\n  container: componentOrElement,\n  requiredContainer: componentOrElement.isRequired,\n};\n```\n\nThis ensures that the value is of the right type to pass to `ReactDOM.findDOMNode()`, for cases where you need a DOM node.\n\n### [`deprecated(validator, reason)`](/src/deprecated.js)\n\nThis validator will log a deprecation warning if the value is present.\n\n```js\nconst propTypes = {\n  collapsable: deprecated(React.PropTypes.bool, 'Use `collapsible` instead.'),\n};\n```\n\nIf the `collapsable` prop above is specified, this validator will log the warning:\n\n\u003eThe prop \\`collapsable\\` of \\`MyComponent\\` is deprecated. Use \\`collapsible\\` instead.\n\nThis validator warns instead of failing on invalid values, and will still call the underlying validator if the deprecated value is present.\n\nThis validator will only warn once on each deprecation. To clear the cache of warned messages, such as for clearing state between test cases intended to fail on deprecation warnings, call `deprecated._resetWarned()`.\n\n### [`elementType`](/src/elementType.js)\n\nChecks that the value is a React element type. This can be either a string (for DOM elements) or a `ReactClass` (for composite components).\n\n```js\nconst propTypes = {\n  Component: elementType.isRequired,\n};\n```\n\nThis ensures that the value of is the right type for creating a `ReactElement`, such as with `\u003cComponent {...props} /\u003e`.\n\n### [`isRequiredForA11y(validator)`](/src/isRequiredForA11y.js)\n\nThis validator checks that the value required for accessibility are present.\n\n```js\nconst propTypes = {\n  id: isRequiredForA11y(React.PropTypes.string),\n};\n```\n\nIf the `id` prop above is not specified, the validator will fail with:\n\n\u003eThe prop \\`id\\` is required to make \\`MyComponent\\` accessible for users of assistive technologies such as screen readers.\n\n[build-badge]: https://img.shields.io/travis/react-bootstrap/react-prop-types/master.svg\n[build]: https://travis-ci.org/react-bootstrap/react-prop-types\n\n[npm-badge]: https://img.shields.io/npm/v/react-prop-types.svg\n[npm]: https://www.npmjs.org/package/react-prop-types\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freact-bootstrap%2Freact-prop-types","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freact-bootstrap%2Freact-prop-types","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freact-bootstrap%2Freact-prop-types/lists"}