Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
@crowdin/crowdin-api-client
Advanced tools
The Crowdin JavaScript client is a lightweight interface to the Crowdin API v2 that works in any JavaScript environment, including web browsers, workers in web browsers, extensions in web browsers or desktop applications, Node.js etc. It provides common services for making API requests.
Our API is a full-featured RESTful API that helps you to integrate localization into your development process. The endpoints that we use allow you to easily make calls to retrieve information and to execute actions needed.
For more about Crowdin API v2 see the documentation.
Azure CI (Linux) | Azure CI (Windows) | Azure CI (MacOS) |
---|---|---|
npm i @crowdin/crowdin-api-client
yarn add @crowdin/crowdin-api-client
import crowdin, { Credentials } from '@crowdin/crowdin-api-client';
// credentials
const credentials: Credentials = {
token: 'personalAccessToken',
organization: 'organizationName' // optional
};
// initialization of crowdin client
const { projectsGroupsApi } = new crowdin(credentials);
// get project list
projectsGroupsApi.listProjects()
.then(projects => console.log(projects))
.catch(error => console.error(error));
// You can also use async/wait. Add `async` keyword to your outer function/method
async function getProjects() {
try {
const projects = await projectsGroupsApi.listProjects();
console.log(projects);
} catch (error) {
console.error(error);
}
}
Or specific API instances:
import { Credentials, ProjectsGroups } from '@crowdin/crowdin-api-client';
// credentials
const credentials: Credentials = {
token: 'personalAccessToken',
organization: 'organizationName' // optional
};
// initialization of ProjectsGroups
const projectsGroupsApi = new ProjectsGroups(credentials);
// get project list
projectsGroupsApi.listProjects()
.then(projects => console.log(projects))
.catch(error => console.error(error));
import crowdin from '@crowdin/crowdin-api-client';
// initialization of crowdin client
const { projectsGroupsApi } = new crowdin({
token: 'personalAccessToken',
organization: 'organizationName' // optional
});
// get project list
projectsGroupsApi.listProjects()
.then(projects => console.log(projects))
.catch(error => console.error(error));
// You can also use async/wait. Add `async` keyword to your outer function/method
async function getProjects() {
try {
const projects = await projectsGroupsApi.listProjects();
console.log(projects);
} catch (error) {
console.error(error);
}
}
Or specific API instances:
import { ProjectsGroups } from '@crowdin/crowdin-api-client';
// initialization of ProjectsGroups
const projectsGroupsApi = new ProjectsGroups({
token: 'personalAccessToken',
organization: 'organizationName' // optional
});
// get project list
projectsGroupsApi.listProjects()
.then(projects => console.log(projects))
.catch(error => console.error(error));
You can generate Personal Access Token in your Crowdin Account Settings.
In addition if you use client in non-Node.js environment you might have a troubles with http calls.
This client uses axios which internally uses http
and https
Node modules.
So there is an option to use http client based on Fetch API.
import { ProjectsGroups, HttpClientType } from '@crowdin/crowdin-api-client';
const projectsGroupsApi = new ProjectsGroups(credentials, {
httpClientType: HttpClientType.FETCH
});
Or even pass your own http client as httpClient
property which should implement HttpClient
interface.
There is a possibility to configure client invoke http calls with retry mechanism.
import { ProjectsGroups, HttpClientType } from '@crowdin/crowdin-api-client';
const projectsGroupsApi = new ProjectsGroups(credentials, {
retryConfig: {
retries: 2, // amount of retries (gte 1)
waitInterval: 100, // wait interval in ms between retries
conditions: [ // array of conditions which will check if retry should not be applied
{
test(error) {
return error.code === 40
}
}
]
}
});
We are happy to accept contributions to the Crowdin JavaScript client. To contribute please do the following:
If you find any problems or would like to suggest a feature, please feel free to file an issue on Github at Issues Page.
If you've found an error in these samples, please contact our Support Team.
Copyright © 2020 Crowdin The Crowdin JavaScript client is licensed under the MIT License. See the LICENSE.md file distributed with this work for additional information regarding copyright ownership. Except as contained in the LICENSE file, the name(s) of the above copyright holders shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization.
FAQs
JavaScript library for Crowdin API
The npm package @crowdin/crowdin-api-client receives a total of 33,558 weekly downloads. As such, @crowdin/crowdin-api-client popularity was classified as popular.
We found that @crowdin/crowdin-api-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.