Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@gqlite/tag

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gqlite/tag

GraphQL ❤️ SQLite

latest
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@gqlite/tag

Runtime-facing helpers for GQLite applications.

Installation

bun add @gqlite/tag

Use this package with @gqlite/vite-plugin for build-time direct SQL transforms or persisted query client transforms.

Tagged Template Stub

gqlite<T>(db) is intentionally a small runtime stub. In direct transform mode, @gqlite/vite-plugin replaces tagged template literals with SQL execution code at build time.

import { gqlite } from "@gqlite/tag";

const users = gqlite<GQL.ListUsers>(db)`
  query ListUsers {
    users { id name email }
  }
`;

Persisted Query Client API

Persisted mode transforms source queries into ID-based calls. Configure a transport once in browser code, then generated gqliteQuery() calls use it.

import {
	configureGqlitePersistedTransport,
	createFetchPersistedTransport,
	gqliteQuery,
} from "@gqlite/tag";

configureGqlitePersistedTransport(createFetchPersistedTransport("/api/gqlite"));

const users = await gqliteQuery<GQL.ListUsers>(1);

Persisted Query Server API

executePersistedQuery() executes a compact persisted map generated by the Vite plugin.

import {
	createBetterSqliteAdapter,
	createPersistedQueryHandler,
	executePersistedQuery,
} from "@gqlite/tag";
import Database from "better-sqlite3";
import { q } from "./.gqlite/persisted-map.ts";

const db = new Database("./example.db");
const adapter = createBetterSqliteAdapter(db);

const result = await executePersistedQuery(
	body.id,
	body.variables,
	adapter,
	q,
	{
		strict: true,
		expectedSchemaHash: q.h,
		expectedCompilerVersion: q.c,
	},
);

For HTTP endpoints, use the generic Request handler and adapt it to your framework.

const handler = createPersistedQueryHandler({
	database: createBetterSqliteAdapter(db),
	compactMap: q,
	execution: { strict: true, expectedSchemaHash: q.h },
});

app.post("/api/gqlite", (c) => handler(c.req.raw));

Adapters

  • createSqlAdapter(database) supports objects with prepare(sql).all(...params) or query(sql).all(...params).
  • createBetterSqliteAdapter(database) wraps better-sqlite3.
  • createBunSqliteAdapter(database) wraps Bun SQLite.
  • createD1Adapter(database) wraps Cloudflare D1 and uses batch() for multi-step plans.

Result Shape

  • Single SQL plans (k: 1) return transformed row arrays.
  • Multi-step plans (k: 2) return an object keyed by each root field name.

FAQs

Package last updated on 07 May 2026

Did you know?

Socket

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.

Install

Related posts