npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

gsheetorm

v1.0.4

Published

Lightweight ORM for Google Spreadsheet with SQL-like queries

Readme

GSheetORM

GSheetORM adalah sebuah ORM ringan untuk Google Spreadsheet yang memungkinkan kamu melakukan query seperti SELECT, INSERT, UPDATE, dan DELETE dengan cara yang mirip dengan ORM tradisional seperti Entity Framework. Dengan GSheetORM, kamu dapat mengelola data di Google Sheets menggunakan sintaks query SQL-like, tanpa harus mengkhawatirkan implementasi teknis API Google Sheets.


Fitur

  • SELECT dengan opsi WHERE dan ORDER BY
  • LEFT JOIN antar sheet
  • INSERT (satu atau banyak data)
  • UPDATE berdasarkan kondisi
  • DELETE berdasarkan kondisi
  • Autentikasi dan konfigurasi langsung di dalam library

Cara Install

  1. Install package via npm:

    npm install gsheetorm
    
  2. Install googleapis

    npm install googleapis
    

Cara Penggunaan

  1. Autentikasi dan Konfigurasi Untuk mulai menggunakan GSheetORM, kamu perlu mengonfigurasi autentikasi dengan GoogleAuth menggunakan kredensial JSON yang kamu dapatkan dari Google Cloud Console.
    const GSheetORM = require('gsheetorm');
       
    const orm = await GSheetORM.authenticate({
      credentials: require('./path-to-your-credentials.json'),
      spreadsheetId: 'spreadsheetId', // ID dari spreadsheet
      sheetName: 'Sheet1', // Nama sheet di spreadsheet
    });
    
  2. SELECT Data Untuk mengambil data dari Google Sheets dengan filter dan urutan tertentu, gunakan method select() yang bisa di-chain dengan where() dan orderBy().
    // Ambil kolom Name dan Age, lalu filter hanya yang umur > 20 dan urutkan berdasarkan Name
    const data = await orm.select(['Name', 'Age'])
                          .where(row => row.Age > 20)
                          .orderBy('Name')
                          .run();
       
    console.log(data);
         
  3. LEFT JOIN antar Sheet Kamu bisa menggabungkan data dari sheet lain menggunakan method leftJoin().
    const data = await orm.select(['Name', 'Age'])
                          .leftJoin({
                            sheetName: 'AnotherSheet',
                            key: 'Name',
                            foreignKey: 'EmployeeName',
                            alias: 'employeeDetails'
                          }).run();
       
    console.log(data);
       
  4. INSERT Data Menambahkan data ke Google Sheets bisa dilakukan dengan insert(). Kamu bisa menambah satu atau banyak data sekaligus.
    // Insert satu data
    await orm.insertOne({ Name: 'John Doe', Age: 30 });
       
    // Insert banyak data
    await orm.insertMany([{ Name: 'Jane Doe', Age: 25 }, { Name: 'Alex', Age: 28 }]);
       
  5. UPDATE Data Untuk mengupdate data berdasarkan kondisi, gunakan update().
    await orm.update(
      { "Name": "Jhon Doe" }, // kondisi yang sesuai dengan data
      { "Age": 31 }) // update data
    );
       
  6. DELETE Data Untuk menghapus data berdasarkan kondisi, gunakan delete().
    await orm.delete({ "ID": 1 });
    

Kontribusi

Jika kamu menemukan bug atau ingin menambahkan fitur baru, silakan buka issue atau buat pull request di GitHub.


Lisensi

License: MIT


Buy me a Coffee

Ko-Fi