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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@yunosukeyoshino/google-apps-script-starter

v1.0.0

Published

A starter template for Google Apps Script development with TypeScript, Vite, and Tailwind CSS.

Readme

Google Apps Script Starter

A starter template for Google Apps Script development with TypeScript, Vite, and Tailwind CSS.

Quick Start

You can create a new project using npx:

npx @yunosukeyoshino/google-apps-script-starter my-gas-project

Or if you prefer a shorter command after it's published:

npx create-gas-starter my-gas-project

Features

Tailwind CSS v4 Vite Biome clasp

A professional boilerplate for developing Google Apps Script (GAS) web applications using modern web development standards. This starter leverages Vite for rapid development and Tailwind CSS v4 for sophisticated styling, while maintaining a single-file deployment optimized for the GAS environment.

🛠 Tech Stack

The project integrates high-performance tools to ensure a robust developer experience and clean code quality.

| Category | Technology | Description | | :--- | :--- | :--- | | Runtime | Google Apps Script | V8 Engine environment. | | Bundler | Vite 7 | Next-generation frontend tooling for HMR and optimized builds. | | Styling | Tailwind CSS v4 | High-performance, CSS-first design framework. | | Language | TypeScript | Type-safe development for both frontend and server-side. | | Tooling | Biome | High-speed, all-in-one tool for linting and formatting. | | Deployment| clasp | Command-line utility to manage Apps Script projects. | | Manager | Bun | Fast JavaScript all-in-one toolkit. |

✨ Key Features

  • Optimized Assets: Automatically inlines JS and CSS into a single HTML file using vite-plugin-singlefile, ensuring seamless integration with GAS HtmlService.
  • Modern Workflow: Local development server with Hot Module Replacement (HMR) for the UI.
  • Strict Quality Control: Pre-configured Biome rules and Husky git hooks to maintain high standards for every commit.
  • Unified Structure: All source files (Frontend, Backend, Configuration) are co-located in the src/ directory for better maintainability.

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository and install dependencies:

    bun install
  2. Authenticate with clasp (if not already):

    bunx clasp login

Development

Start the Vite development server to work on the UI:

bun run dev

Deployment

To build the project and push the assets to Google Apps Script:

bun run push

[!IMPORTANT] The dist/ directory is the source of truth for clasp push. Avoid modifying files in dist/ directly, as they are overwritten during the build process.

📖 Command Reference

| Command | Action | | :--- | :--- | | bun run build | Compiles source files and generates the dist/ bundle. | | bun run push | Executes build and pushes files to the GAS project. | | bun run deploy | Pushes changes and creates a new immutable version/deployment. | | bun run open | Opens the deployed Web App in your default browser. | | bun run lint:fix | Runs Biome's linter and applies automatic fixes. |

📁 Project Structure

.
├── src/
│   ├── index.html       # Web App entry point
│   ├── main.ts          # Client-side TypeScript
│   ├── style.css        # Tailwind CSS imports
│   ├── main.gs          # Server-side GAS logic
│   └── appsscript.json  # Manifest file
├── dist/                # Optimized build artifacts (Clasp target)
├── biome.json           # Biome configuration
├── vite.config.ts       # Vite build configuration
└── .clasp.json          # Clasp project settings