Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
oh-my-spreadsheets
Advanced tools
There is a library that provides convenient features for working with Google spreadsheets
Easy to use and type-safe library that allows seamless interaction with Google Spreadsheets as if they were a database.
Tip: Works exceptionally well with TypeScript
To get started, you'll need to obtain a credentials file for your service account, which will be used to interact with your Google Spreadsheet. link1, link2 (My blog in Russian)
After that you will need the client_email
and private_key
fields from the received file.
GSAPI_TABLE_ID="table-id" # https://docs.google.com/spreadsheets/d/<table-id>/edit#gid=0
GSAPI_CLIENT_EMAIL="client_email field from credentials file"
GSAPI_CLIENT_PRIVATE_KEY="private_key field from credentials file"
Install oh-my-spreadsheets
as a dependency in your project npm i oh-my-spreadsheets
Then, only you need is extend Table
and specify your table scheme as const (important for typescript checking)
import { Table } from "oh-my-spreadsheets";
const userSchema = {
A: 'username',
B: 'email'
} as const;
class UsersTable extends Table<typeof userSchema> {}
export const usersTable = new UsersTable(userSchema, {
tableId: process.env.GSAPI_TABLE_ID!,
email: process.env.GSAPI_CLIENT_EMAIL!,
privateKey: process.env.GSAPI_CLIENT_PRIVATE_KEY!,
});
// First, you should init table once
await usersTable.init();
// Receive rows
const users = await usersTable.list({ limit: 10, offset: 0 });
// Add row
await usersTable.append({
data: { username: 'test', email: 'asdasd@mail.com' }
})
// Update any rows that have an username with value "test"
await usersTable.remove({
where: { username: 'test' }
})
// Update any rows that have an empty email field.
await usersTable.update({
where: { email: '' },
data: { email: 'supportmail@gmail.com' }
})
FAQs
Library for conveniently performing CRUD (Create, Read, Update, Delete) operations on data in Google Sheets.
We found that oh-my-spreadsheets demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.