[ {
  "relativePath" : "settings.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 10,
  "components" : [ "primary::ROOT" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/utils.kt",
  "extension" : "kt",
  "linesOfCode" : 43,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/html/utils.kt",
  "extension" : "kt",
  "linesOfCode" : 46,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/Application.kt",
  "extension" : "kt",
  "linesOfCode" : 32,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceHomepage.kt",
  "extension" : "kt",
  "linesOfCode" : 167,
  "components" : [ "primary::src" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/AuthAction.kt",
  "extension" : "kt",
  "linesOfCode" : 6,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceUnfurlsInSlack.kt",
  "extension" : "kt",
  "linesOfCode" : 341,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceOAuthFlow.kt",
  "extension" : "kt",
  "linesOfCode" : 121,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/unfurlProviders/SpaceUnfurlProvider.kt",
  "extension" : "kt",
  "linesOfCode" : 29,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/unfurlProviders/ChatUnfurlProvider.kt",
  "extension" : "kt",
  "linesOfCode" : 220,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/unfurlProviders/IssueUnfurlProvider.kt",
  "extension" : "kt",
  "linesOfCode" : 79,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/unfurlProviders/CodeReviewUnfurlProvider.kt",
  "extension" : "kt",
  "linesOfCode" : 125,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/routing/Routes.kt",
  "extension" : "kt",
  "linesOfCode" : 45,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/routing/configureRouting.kt",
  "extension" : "kt",
  "linesOfCode" : 64,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "extension" : "kt",
  "linesOfCode" : 491,
  "components" : [ "primary::src" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/BaseSlackClient.kt",
  "extension" : "kt",
  "linesOfCode" : 112,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "extension" : "kt",
  "linesOfCode" : 52,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackOAuthFlow.kt",
  "extension" : "kt",
  "linesOfCode" : 158,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SpaceClientPersistentStrategy.kt",
  "extension" : "kt",
  "linesOfCode" : 19,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUserClientImpl.kt",
  "extension" : "kt",
  "linesOfCode" : 128,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/Secrets.kt",
  "extension" : "kt",
  "linesOfCode" : 27,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "extension" : "kt",
  "linesOfCode" : 95,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "extension" : "kt",
  "linesOfCode" : 506,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Tables.kt",
  "extension" : "kt",
  "linesOfCode" : 113,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/resources/logback-prod.xml",
  "extension" : "xml",
  "linesOfCode" : 14,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/main/resources/logback.xml",
  "extension" : "xml",
  "linesOfCode" : 12,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/public/index.html",
  "extension" : "html",
  "linesOfCode" : 10,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/index.css",
  "extension" : "css",
  "linesOfCode" : 12,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/index.js",
  "extension" : "js",
  "linesOfCode" : 8,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/App.js",
  "extension" : "js",
  "linesOfCode" : 38,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/App.css",
  "extension" : "css",
  "linesOfCode" : 23,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/service/theme.js",
  "extension" : "js",
  "linesOfCode" : 27,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/service/utils.js",
  "extension" : "js",
  "linesOfCode" : 33,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/service/homepageData.js",
  "extension" : "js",
  "linesOfCode" : 70,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/service/fetch.js",
  "extension" : "js",
  "linesOfCode" : 5,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/service/spaceAuth.js",
  "extension" : "js",
  "linesOfCode" : 30,
  "components" : [ "primary::client" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "client/src/app/components/startPage.css",
  "extension" : "css",
  "linesOfCode" : 10,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/icon.js",
  "extension" : "js",
  "linesOfCode" : 16,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/spring.css",
  "extension" : "css",
  "linesOfCode" : 7,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/button.css",
  "extension" : "css",
  "linesOfCode" : 51,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/mainPage.js",
  "extension" : "js",
  "linesOfCode" : 14,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/startPage.js",
  "extension" : "js",
  "linesOfCode" : 13,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/warningBox.css",
  "extension" : "css",
  "linesOfCode" : 20,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/button.js",
  "extension" : "js",
  "linesOfCode" : 20,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/addSlackTeamButton.js",
  "extension" : "js",
  "linesOfCode" : 7,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/connectedTeamList.css",
  "extension" : "css",
  "linesOfCode" : 44,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/connectedTeamList.js",
  "extension" : "js",
  "linesOfCode" : 45,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/mainPage.css",
  "extension" : "css",
  "linesOfCode" : 5,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/warningBox.js",
  "extension" : "js",
  "linesOfCode" : 18,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/spring.js",
  "extension" : "js",
  "linesOfCode" : 4,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/app/components/unapprovedPermissionsAndUnfurlsWarnings.js",
  "extension" : "js",
  "linesOfCode" : 29,
  "components" : [ "primary::client" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "client/src/app/components/loader.js",
  "extension" : "js",
  "linesOfCode" : 4,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "client/src/setupProxy.js",
  "extension" : "js",
  "linesOfCode" : 24,
  "components" : [ "primary::client" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "build.gradle.kts",
  "extension" : "kts",
  "linesOfCode" : 113,
  "components" : [ "primary::ROOT" ],
  "concerns" : [ "::Unclassified" ]
} ]