{"id":27154647,"url":"https://github.com/scogun/automapper.analyzers","last_synced_at":"2025-09-07T12:35:22.052Z","repository":{"id":38847156,"uuid":"496307824","full_name":"Scogun/AutoMapper.Analyzers","owner":"Scogun","description":"AutoMapper Static Analyzers","archived":false,"fork":false,"pushed_at":"2022-12-05T13:09:29.000Z","size":75,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-13T04:50:01.763Z","etag":null,"topics":["analyzers","automapper"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Scogun.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2022-05-25T16:23:50.000Z","updated_at":"2024-02-11T23:35:27.000Z","dependencies_parsed_at":"2022-08-26T19:50:48.811Z","dependency_job_id":null,"html_url":"https://github.com/Scogun/AutoMapper.Analyzers","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Scogun/AutoMapper.Analyzers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scogun%2FAutoMapper.Analyzers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scogun%2FAutoMapper.Analyzers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scogun%2FAutoMapper.Analyzers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scogun%2FAutoMapper.Analyzers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Scogun","download_url":"https://codeload.github.com/Scogun/AutoMapper.Analyzers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scogun%2FAutoMapper.Analyzers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274039152,"owners_count":25211901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"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":["analyzers","automapper"],"created_at":"2025-04-08T17:50:56.675Z","updated_at":"2025-09-07T12:35:22.010Z","avatar_url":"https://github.com/Scogun.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cimg src=\"package/Logo.ico\" alt=\"Analyzers logo\"/\u003e\n\u003c/div\u003e\n\n[![NuGet Version and Downloads count](https://buildstats.info/nuget/AutoMapper.Contrib.Analyzers)](https://www.nuget.org/packages/AutoMapper.Contrib.Analyzers)\n\n# Table of Contents\n\n1. [Overview](#overview)\n2. [Structure](#structure)\n   1. [Currently Available](#currently-available)\n3. [Code Smells](#code-smells)\n4. [Installation](#installation)\n   1. [NuGet package](#nuget-package)\n   2. [VSIX Extention](#vsix-extention)\n\n## Overview\nHere is AutoMapper Static Analyzers.\n\nThe main reason to write this VS Extension and NuGet package is that developers who is not so familiar with AutoMapper sometimes use it not proper way.\n\n## Structure\n##### Currently Available\nThe project already contains:\n1. [AutoMapper.Analyzers.Common](src/AutoMapper.Analyzers.Common/AutoMapper.Analyzers.Common.csproj) - common AutoMapper Analyzers\n2. [AutoMapper.Analyzers.Common.CodeFixes](src/AutoMapper.Analyzers.Common.CodeFixes/AutoMapper.Analyzers.Common.CodeFixes.csproj) - common fixes for raised AutoMapper Analyzers diagnostics\n3. [AutoMapper.Analyzers.Common.Package](package/AutoMapper.Analyzers.Common.Package/AutoMapper.Analyzers.Common.Package.csproj) - project for building and publishing the NuGet package\n4. [AutoMapper.Analyzers.Common.Tests](tests/AutoMapper.Analyzers.Common.Tests/AutoMapper.Analyzers.Common.Tests.csproj) - tests for common AutoMapper Analyzers\n5. [AutoMapper.Analyzers.Vsix](package/AutoMapper.Analyzers.Vsix/AutoMapper.Analyzers.Vsix.csproj) - project to create VS Extension package\n\n## Code Smells\n\u003ctable\u003e\n\t\u003ctr\u003e\n\t\t\u003cth\u003eSmells\u003c/th\u003e\n\t\t\u003cth\u003eAvailability\u003c/th\u003e\n\t\t\u003cth\u003eCodes\u003c/th\u003e\n\t\t\u003cth\u003eLevel\u003c/th\u003e\n\t\t\u003cth\u003eDescription\u003c/th\u003e\n\t\t\u003cth\u003eFix\u003c/th\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd rowspan=\"7\"\u003eCommon smells\u003c/td\u003e\n\t\t\u003ctd rowspan=\"6\"\u003eAvailable\u003c/td\u003e\n\t\t\u003ctd\u003e\u003cb\u003eAMA0001\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd rowspan=\"7\"\u003eWarrning\u003c/td\u003e\n\t\t\u003ctd\u003eProfile doesn't contain maps\u003c/td\u003e\n\t\t\u003ctd\u003eIn Progress...\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e\u003cb\u003eAMA0002\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd\u003eIdentical names properties are manual mapped\u003c/td\u003e\n\t\t\u003ctd\u003eAvailable\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e\u003cb\u003eAMA0003\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd\u003eManual checking that src is not null\u003c/td\u003e\n\t\t\u003ctd\u003eAvailable for next checking: \"??\", \"== null\", \"!= null\"\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\t\t\n\t\t\u003ctd\u003e\u003cb\u003eAMA0005\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd\u003eManual flattening of complex model\u003c/td\u003e\n\t\t\u003ctd\u003eAvailable\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\t\t\n\t\t\u003ctd\u003e\u003cb\u003eAMA0006\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd\u003eManual flattening of naming similar complex model\u003c/td\u003e\n\t\t\u003ctd\u003eAvailable\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\t\t\n\t\t\u003ctd\u003e\u003cb\u003eAMA0007\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd\u003eUseless try-catch/finally covering of CreateMap calls.\u003c/td\u003e\n\t\t\u003ctd\u003eAvailable\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n        \u003ctd\u003eIn Plans\u003c/td\u003e\n\t\t\u003ctd\u003e\u003cb\u003eAMA0004\u003c/b\u003e\u003c/td\u003e\n\t\t\u003ctd\u003eForMember ignore for all left properties\u003c/td\u003e\n\t\t\u003ctd\u003e...\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n## Installation\nThere are two ways to install analyzers:\n\n### NuGet Package\nJust add **AutoMapper.Contrib.Analyzers** package into a project which you would like to control.\n\n### VSIX Extention\nIn case of installation **VSIX extention** any project will be checking by **AutoMapper.Analyzers**.\nSo far, there is only one way to install the extension:\n1. Build [Vsix](package/AutoMapper.Analyzers.Vsix/AutoMapper.Analyzers.Vsix.csproj) project\n2. Find in `...\\AutoMapper.Analyzers\\package\\AutoMapper.Analyzers.Vsix\\bin\\Release` folder `AutoMapper.Analyzers.Vsix.vsix` file\n3. Run it\n\nIn nearest future VSIX extension will be pushed into VSIX repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscogun%2Fautomapper.analyzers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscogun%2Fautomapper.analyzers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscogun%2Fautomapper.analyzers/lists"}