Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
@codacy/api-typescript
Advanced tools
Typescript wrapper for the Codacy API
If you're running Linux
sudo apt-get install libunwind8
The AutoRest version we are using only works up to Node.js v14.
To run the entire process:
npm ci
To fetch the current version of the API:
npm run fetch-api
To generate the code:
npm run generate
Current API mock-server doesn't support a basePath
, so you need to fetch the API, comment it, and then generate the client. Now you can mock an API server for development or testing purposes.
.\mock-api.sh
Locally, run yarn link
from this project root folder, and then run yarn link @codacy/api-typescript
on the project you want to use it. The best practice for using this library would be:
import React from 'react'
import { Client } from '@codacy/api-typescript'
const AppContext = React.createContext<Client | null>(null)
export default AppContext
...
import ApiContext from './ApiContext'
import { Client } from '@codacy/api-typescript'
...
const App: React.FC = () => {
return (
<ApiContext.Provider
value={
new Client({
baseUri: process.env.REACT_APP_CODACY_API_URI,
})
}>
{/* Your app's code here */}
</ApiContext.Provider>
...
import React, { useState, useEffect, useContext } from 'react'
import ApiContext from '../ApiContext'
import { User, BaseApiError, UnauthorizedApiError } from '@codacy/api-typescript/lib/models'
export interface UserInformationProps {
id: number
}
export const UserInformation: React.FC<UserInformationProps> = ({ id }) => {
const [isLoading, setIsLoading] = useState<boolean>(true)
const [user, setUser] = useState<User>()
const [error, setError] = useState<BaseApiError>()
const client = useContext(ApiContext)
useEffect(() => {
async function fetchUser() {
try {
const response = await client!.getUser(id)
setUser(response!.data)
} catch (err) {
if ( err instanceof UnauthorizedApiError ) {
// catch specific errors
} else {
setError(err as BaseApiError)
}
} finally {
setIsLoading(false)
}
}
fetchUser()
}, [client, id])
return (
<>
{isLoading && <span>Loading ...</span>}
{!!user && (
<span>
{user.username} ({user.mainEmail})
</span>
)}
{!isLoading && !!error && (
<span>
{error.message} ({error.code})
</span>
)}
</>
)
}
npm install -g autorest
)Codacy is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews.
Codacy is free for Open Source projects.
codacy-api-typescript is available under the MIT license. See the LICENSE file for more info.
FAQs
Codacy API client for Typescript
We found that @codacy/api-typescript demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.