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

@effect-native/crsql

v0.3.0

Published

CR-SQLite prepared statements and service for Effect SQL

Readme

@effect-native/crsql

CR-SQLite prepared statements and service for Effect SQL.

  • Exposes a service layer that requires an @effect/sql SqlClient.
  • Provides prepared statements for CR-SQLite operations (work in progress).

This package follows the Effect monorepo conventions for build, testing, and documentation.


crsql extension Core Public API

  • crsql_as_crr(table_name): Converts an existing table into a CRR, setting up the necessary structures for tracking changes.
  • crsql_as_table(table_name): Downgrades a CRR back to a standard table, removing the change tracking mechanisms.
  • crsql_begin_alter(table_name): Prepares a CRR table for schema modification by temporarily removing its triggers.
  • crsql_commit_alter(table_name): Finalizes schema modifications on a CRR table by recreating triggers and updating internal bookkeeping.
  • crsql_automigrate(schema): Applies schema migrations to the database, automatically creating or altering tables as defined in the provided schema.
  • crsql_site_id(): Returns the unique identifier for the current database instance, essential for distinguishing between changes from different replicas.
  • crsql_db_version(): Retrieves the current version of the database, which increments after each transaction.
  • crsql_next_db_version(): Returns the database version that will be assigned to the next transaction.
  • crsql_rows_impacted(): Returns the number of rows affected by the last database write.
  • crsql_sha(): Returns the Git commit SHA of the crsqlite build, useful for versioning and debugging.

Configuration

  • crsql_config_set(key, value): Sets a configuration parameter for the crsqlite extension.
  • crsql_config_get(key): Retrieves the current value of a configuration parameter.

Fractional Indexing (for Ordered Lists)

  • crsql_fract_as_ordered(table_name, order_column, ...): Enables fractional indexing on a table to maintain a stable order for rows, even with concurrent insertions.
  • crsql_fract_key_between(key1, key2): Generates a new fractional index key between two existing keys, allowing for ordered insertions without re-indexing.

Virtual Tables

  • crsql_changes: A virtual table that provides a log of all changes made to CRR tables. This is the primary mechanism for syncing changes between databases.