{"id":46833986,"url":"https://github.com/erdigokce/turkey-map-react","last_synced_at":"2026-04-10T12:05:44.849Z","repository":{"id":40289344,"uuid":"258849626","full_name":"erdigokce/turkey-map-react","owner":"erdigokce","description":"An out-of-the-box city map of Turkey for React JS applications.","archived":false,"fork":false,"pushed_at":"2026-03-10T10:17:04.000Z","size":1133,"stargazers_count":76,"open_issues_count":2,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-10T17:19:06.157Z","etag":null,"topics":["react","turkey","turkey-cities","turkeymap"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/turkey-map-react","language":"TypeScript","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/erdigokce.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-25T18:48:09.000Z","updated_at":"2026-03-10T10:17:05.000Z","dependencies_parsed_at":"2024-10-28T03:24:22.169Z","dependency_job_id":"58047cfb-f1c6-40a3-ba99-b950f9fce981","html_url":"https://github.com/erdigokce/turkey-map-react","commit_stats":{"total_commits":35,"total_committers":4,"mean_commits":8.75,"dds":"0.22857142857142854","last_synced_commit":"0e6ec6c6dc151a853c06ba116051e3cc436a8fb5"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/erdigokce/turkey-map-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdigokce%2Fturkey-map-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdigokce%2Fturkey-map-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdigokce%2Fturkey-map-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdigokce%2Fturkey-map-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erdigokce","download_url":"https://codeload.github.com/erdigokce/turkey-map-react/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdigokce%2Fturkey-map-react/sbom","scorecard":{"id":379713,"data":{"date":"2025-08-11","repo":{"name":"github.com/erdigokce/turkey-map-react","commit":"f17a42ac6a694e705b102a702d57febad7562dfb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"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":"Code-Review","score":0,"reason":"Found 1/19 approved changesets -- score normalized to 0","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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/webpack.yml:1","Info: no jobLevel write permissions found"],"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/webpack.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/erdigokce/turkey-map-react/webpack.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/webpack.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/erdigokce/turkey-map-react/webpack.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/webpack.yml:27","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"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":"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":"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":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 13 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"}},{"name":"Vulnerabilities","score":6,"reason":"4 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T15:07:06.094Z","repository_id":40289344,"created_at":"2025-08-18T15:07:06.094Z","updated_at":"2025-08-18T15:07:06.094Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31641493,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["react","turkey","turkey-cities","turkeymap"],"created_at":"2026-03-10T11:04:36.629Z","updated_at":"2026-04-10T12:05:44.832Z","avatar_url":"https://github.com/erdigokce.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interactive Turkey Map React Component\n\nAn out-of-the-box city map of Turkey.\n\nLive demo : https://turkey-map-react-demo.netlify.app/\n\n## Installation\n\n```javascript\nnpm install turkey-map-react\n```\n\nor\n\n```javascript\nyarn add turkey-map-react\n```\n\n## Note about React\n\nThis package declares React as a peer dependency and does not bundle React into the published build. The host application must provide React (version \u003e=16.8). The package is built to be compatible with React 16/17/18 — your application’s React installation will be used at runtime, avoiding duplicate React instances and version conflicts.\n\n## Usage\n\n### Importing (ES6)\n\n```javascript\nimport TurkeyMap from 'turkey-map-react';\n```\n\n### Basic usage with defaults\n\n```javascript\n\u003cTurkeyMap /\u003e\n```\n\n### Handling events\n\nOn click example:\n\n```javascript\n\u003cTurkeyMap onClick={ ({ plateNumber, name }) =\u003e console.log(plateNumber + \" - \" + name + \" is just clicked!\") } /\u003e\n```\n\nOn mouse over example:\n\n```javascript\n\u003cTurkeyMap \n    hoverable={true}\n    onHover={ ({ plateNumber, name }) =\u003e console.log(\"Cursor is over on \" + plateNumber + \" - \" + name + \"!\") } \n/\u003e\n```\n\n### City component wrapping\n\n```javascript\nconst renderCity = (cityComponent, cityData) =\u003e ( \n  \u003cTooltip title={cityData.name} key={cityData.id}\u003e \n      {cityComponent} \n  \u003c/Tooltip\u003e\n);\n\n\u003cTurkeyMap cityWrapper={renderCity} /\u003e\n```\n\nThis is generally used for [Antd](https://ant.design/components/tooltip/) style *Tooltip*.\n\n\"*child*\" parameter is the city DOM.\n\n### Custom Data\n\n```javascript\n\u003cTurkeyMap data={this.state.apiData}/\u003e\n```\n\nIf custom SVG paths and/or city metadata is needed to be rendered, it can be provided through *data* property.\n\n*data* property has to be in type of following:\n\n```javascript\nCityType[] \n```\n\nin other words :\n\n```javascript\n{ id: string, plateNumber: number, name: string, path: string }[]\n```\n\n## API\n\n### Types\n\n| Type              | Description                                                                             |\n| :---------------- | :-------------------------------------------------------------------------------------- |\n| *CityType*        | { **id**: *string*, **plateNumber**: *number*, **name**: *string*, **path**: *string* } |\n| *ViewBoxType*     | { **top**: *number*, **left**: *number*, **width**: *number*, **height**: *number* }    |\n| *CustomStyleType* | { **idleColor**: *string*, **hoverColor**: *string* }                                   |\n\n### props\n\n| Property    | Description                                                | Type                                                                         | Default                                                                | Since |\n| :---------- | :--------------------------------------------------------- | :--------------------------------------------------------------------------- | :--------------------------------------------------------------------- | ----: |\n| viewBox     | Position and dimension information of the map (svg) layout | *ViewBoxType*                                                                | { **top**: *0*, **left**: *80*, **width**: *1050*, **height**: *585* } | 1.0.0 |\n| visible     | Defines the visibility of the component                    | *boolean*                                                                    | *true*                                                                 | 1.0.0 |\n| hoverable   | Enables *onHover* event availability                       | *boolean*                                                                    | *true*                                                                 | 1.0.0 |\n| showTooltip | Displays default tooltip if set to true                    | *boolean*                                                                    | *false*                                                                | 1.1.0 |\n| tooltipText | Sets custom text to default tooltip                        | *string*                                                                     | *City Name*                                                                  | 1.1.0 |\n| customStyle | Stylizing the component.                                   | *CustomStyleType*[]                                                          | { **idleColor**: *#444*, **hoverColor**: *#dc3522* }                   | 1.0.0 |\n| data        | Allows for providing custom SVG paths and metadata.        | *CityType*[]                                                                 | *Built-in data*                                                        | 1.0.0 |\n| cityWrapper | City DOMs are wrapped by provided component.               | ( **cityComponent**: *JSX.Element*, **city** : *CityType* ) =\u003e *JSX.Element* | *Unwrapped city*                                                       | 1.0.0 |\n| onHover     | Event when a city hovered on the map.                      | ( **city** : *CityType* ) =\u003e *void*                                          | -                                                                      | 1.0.0 |\n| onClick     | Event when a city clicked on the map                       | ( **city** : *CityType* ) =\u003e *void*                                          | -                                                                      | 1.0.0 |\n\n### Styling\n\nColors of the city can be overwritten with setting *customStyle* property.\n\nExample:\n\n```javascript\n\u003cTurkeyMap customStyle={{ idleColor: \"#444\", hoverColor: \"#dc3522\" }} /\u003e\n```\n\nDefault tooltip can be styled through predefined html IDs.\n\n`#svg-turkiye-haritasi-container-tooltip` is the ID for tooltip DOM. While `#svg-turkiye-haritasi-container` is the ID for container (parent) DOM.\n\nExample:\n\n```css\n#svg-turkiye-haritasi-container \u003e #svg-turkiye-haritasi-container-tooltip {\n  background-color: rgba(54, 0, 99, 0.479);\n}\n```\n\n## Licensing\n\nThis project is released under a MIT License.\n\n## Versioning\n\nVersioning scheme defined as in the pattern of \"_majorVersion.minorVersion.bugfixVersion_\"\n\n| Level           | Description                                                                                                                 |\n| :-------------- | :-------------------------------------------------------------------------------------------------------------------------- |\n| *majorVersion*  | This indicates that the version introduces breaking changes those possibly not backward compatible features.                |\n| *minorVersion*  | This indicates that the version introduces small changes those are backward compatible with fine fitting for existing uses. |\n| *bugfixVersion* | This indicates that the version solves some problems those popped out in the current major or minor versions.               |\n\n## Release Process\n\nThis project has an automated build and release pipeline. For details on creating releases and publishing to npm, see [RELEASE.md](./RELEASE.md).\n\nQuick reference:\n- Use [Conventional Commits](https://www.conventionalcommits.org/) for commit messages\n- Run `npm run release` to prepare a release (tests, build, changelog, version bump)\n- Run `npm run publish:npm` to publish to npm\n- See [RELEASE.md](./RELEASE.md) for complete documentation\n\n## Contributing\n\nTo contribute to this project please just open a pull request with a comprehensive description.\n\nWhen making commits, please follow the [Conventional Commits](https://www.conventionalcommits.org/) specification to enable automated changelog generation.\n\n---\n\n## Credits\n\nThis project has been derivated from **dnomak**'s [svg-turkiye-haritasi][dnomak-link] project.\n\n[dnomak-link]:https://github.com/dnomak/svg-turkiye-haritasi\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdigokce%2Fturkey-map-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferdigokce%2Fturkey-map-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdigokce%2Fturkey-map-react/lists"}