open-index/open-npm huggingface dataset:
npm package: @journeyapps/react-native-quick-sqlite
Description: Fast SQLite for react-native
Author: JOURNEYAPPS
Latest version: 2.5.1

<p align="center">
  <a href="https://www.powersync.com" target="_blank"><img src="https://github.com/powersync-ja/react-native-quick-sqlite/assets/19345049/40e62305-1089-4277-a6ac-dfc18934c114"/></a>
</p>

This repository is a fork of [react-native-quick-sqlite](https://github.com/ospfranco/react-native-quick-sqlite?tab=readme-ov-file) that includes custom SQLite extensions built specifically for **PowerSync**. It has been modified to meet the needs of **PowerSync**, adding features or behaviors that are different from the original repository.

It is **not** intended to be used independently, use [PowerSync React Native SDK](https://github.com/powersync-ja/powersync-js/tree/main/packages/react-native) and install this alongside it as a peer dependency.

### For Expo

#### iOS with `use_frameworks!`

If your iOS project uses `use_frameworks!`, add the `react-native-quick-sqlite` plugin to your **app.json** or **app.config.js** and configure the `staticLibrary` option:

```json
{
  "expo": {
    "plugins": [
      [
        "@journeyapps/react-native-quick-sqlite",
        {
          "staticLibrary": true
        }
      ]
    ]
  }
}
```

This plugin automatically configures the necessary build settings for `react-native-quick-sqlite` to work with `use_frameworks!`.
npm package: @journeyapps/tern
Description: A JavaScript code analyzer for deep, cross-editor language support
Author: Marijn Haverbeke
Latest version: 0.20.0-journey.2

# Tern

[![Build Status](https://secure.travis-ci.org/ternjs/tern.svg)](http://travis-ci.org/ternjs/tern)
[![NPM version](https://img.shields.io/npm/v/tern.svg)](https://www.npmjs.org/package/tern)  
[Funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png?again)](https://marijnhaverbeke.nl/fund/)

This is [Tern][1]. Tern is a stand-alone, editor-independent
JavaScript analyzer that can be used to improve the JavaScript
integration of existing editors.

Thanks to a group of generous [crowd funders][2], Tern is open-source
software, under an MIT license.

There are currently plugins available for [Emacs][emacs] (and Emacs
[company-mode][cmode]), [Vim][vim], [Sublime Text][st], [Eclipse (and general Java API)][ec],
[Light Table][lt], [Atom][atom], [TextMate][tm] and [gedit][gedit], and built-in support in
[Brackets][brackets], [Edge Code][edge_code], [CodeLite](http://codelite.org/),
[vy](https://github.com/iogf/vy), and [SourceLair][sourcelair].

For further documentation, see the [project page][1] and the
[manual][3]. To report issues, use the
[issue tracker](https://github.com/ternjs/tern/issues). For questions
and documentation, see the
[discussion forum](https://discuss.ternjs.net).

[1]: http://ternjs.net
[2]: http://www.indiegogo.com/projects/tern-intelligent-javascript-editing
[3]: http://ternjs.net/doc/manual.html

[emacs]: http://ternjs.net/doc/manual.html#emacs
[ec]: https://github.com/angelozerr/tern.java
[vim]: https://github.com/ternjs/tern_for_vim
[st]: https://github.com/ternjs/tern_for_sublime
[lt]: https://github.com/mortalapeman/LT-TernJS
[atom]: https://atom.io/packages/atom-ternjs
[gedit]: https://github.com/Swatinem/tern_for_gedit
[brackets]: http://brackets.io
[edge_code]: http://html.adobe.com/edge/code
[cmode]: https://github.com/proofit404/company-tern
[tm]: https://github.com/fab1an/JavaScript-Tern-Completion.tmbundle
[sourcelair]: https://www.sourcelair.com
npm package: @journeyapps/ts-browser-compat
Description: Check TypeScript projects for browser compatibility
Author: Journey Mobile, Inc.
Latest version: 0.1.2

# ts-browser-compat

Check TypeScript projects for browser compatibility, using [MDN browser-compat-data](https://github.com/mdn/browser-compat-data) -
the same data that powers [caniuse.com](https://caniuse.com/).

Important note: This uses heuristics to report usage of APIs that may not be supported. The heuristics are not accurate in all cases -
manually check the results.

# Simple Usage

```sh
npx @journeyapps/ts-browser-compat -b firefox:55 -b safari_ios:13
```

Sample output:

```
AbortController - firefox 57, safari_ios 12.2
  src/client.ts:196
AbortController.abort - firefox 57, safari_ios 12.2
  src/client.ts:210
AbortController.signal - firefox 57, safari_ios 12.2
  src/client.ts:202
Blob.arrayBuffer - firefox 69, safari_ios 14
  src/convert.ts:64
Blob.text - firefox 69, safari_ios 14
  src/convert.ts:87
  src/convert.ts:93
```

# Limitations

This project works by cross-referencing type references from DOM and built-in libraries in TypeScript, to the MDN browser
compatibility data.

 * No support for checking CSS.
 * No support for checking HTML.
 * No support for checking DOM events.
 * Does not check for supported JavaScript syntax. Use `target` in `tsconfig.json` for this.
 * Limited support for checking JavaScript source files: It only works as well as the TypeScript compiler can infer the types.
 * Unpredictable results when a browser lists partial support for an API.
 * Potential for inaccuracies with mapping the TypeScript definition to the compatibility data.
 * Does not automatically build or check referenced projects.
 * Does not check implementation of dependencies with type declarations.
 * Does not detect safe API usage using guard statements.

# Usage in a project

For regular use, add as a dependency:

```sh
npm install --save-dev @journeyapps/ts-browser-compat
```

Then create a `ts-browser-compat.json` config file:

```json5
{
  // List of minimum browser versions
  "browsers": {
    "firefox": "55",
    "safari_ios": "13"
  },
  // Optional path to TypeScript projects - defaults to current dir
  "path": ["src", "web"],
  //
  "polyfills": [
    // Mark a specific property or method as implemented
    "Promise.finally",
    // This only matches the contructor, no properties or methods
    "AbortController",
    // This matches the constructor and all properties and methods
    "Blob.*"
  ],
  "ignore": [
    // Same as polyfills. Use this to indicate that the code handles missing APIs in a way other than polyfilling.
  ],
  // By default, TypeScript's type checker is run, to ensure that TypeScript errors don't prevent these checks from working.
  // It can be disabled to speed up the checks.
  "skipTypeCheck": true
}
```

To ignore a single API usage, add `// @tsbc-ignore` on the previous line. If an API is used in many places, wrap it
in an internal module, or add it to the polyfills or ignore lists.
npm package: @journifyio/nodejs-sdk
Description: Journify SDK in Node.js
Author: Journifyio
Latest version: 6.2.6

# Journify Node.js SDK
The official Node.js client for [Journify](https://journify.io) — The hassle-free way to integrate Journify into any Node.js application.

## Installation
```sh
# npm
npm install @journifyio/nodejs-sdk

# yarn
yarn add @journifyio/nodejs-sdk

# pnpm
pnpm add @journifyio/nodejs-sdk
```

## Usage
```js
const Journify = require('@journifyio/nodejs-sdk');

const client = new Journify('<YOUR_WRITE_KEY>');

client.track({
  event: 'event name',
  userId: 'user id'
});
```

## Documentation
Documentation is available at [https://docs.journify.io/sources/nodejs-sdk](https://docs.journify.io/sources/nodejs-sdk).

# Contributing
You can contribute to Journify Node.js SDK by forking the repo and making pull requests on the `master` branch.

To publish a new version, you need to add a prefix to your pull request title following the [semantic versioning spec](https://semver.org/):
* **[MAJOR]** \{Pull request title\}
* **[MINOR]** \{Pull request title\}
* **[PATCH]** \{Pull request title\}

Once your PR is merged and the CI pipeline is passed, your code will be published to npm.
npm package: @journium/nextjs
Description: Journium Next.js integration - SSR-ready analytics for Next.js applications
Author: Journium Team
Latest version: 1.4.0

# @journium/nextjs

[![npm version](https://badge.fury.io/js/%40journium%2Fnextjs.svg)](https://badge.fury.io/js/@journium%2Fnextjs)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)

The official Journium SDK for Next.js. Track events, pageviews, and user interactions with built-in support for both App Router and Pages Router.

---

## Getting Started

Learn how to use Journium in your Next.js application:

- [Quick Start Guide](https://journium.app/docs/next)
- [Concepts](https://journium.app/docs/next/concepts)
- [SDK Reference](https://journium.app/docs/next/hooks)

### Prerequisites
- Next.js 13.5.7 or later
- Node.js `>=18.17.0` or later
- An existing Journium application. [Create your account for free](https://dashboard.journium.app/sign-up?utm_source=github&utm_medium=journium_nextjs).

## Installation

```bash
npm install @journium/nextjs
```

## Usage

```tsx
import { NextJourniumProvider } from '@journium/nextjs';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <NextJourniumProvider
          config={{
            publishableKey: "your-publishable-key"
          }}
        >
          {children}
        </NextJourniumProvider>
      </body>
    </html>
  );
}
```

For more detailed examples, hooks, and configuration options, visit the [Journium documentation](https://journium.app/docs/next).

## Other SDKs

- [@journium/js](https://www.npmjs.com/package/@journium/js) - JavaScript SDK
- [@journium/react](https://www.npmjs.com/package/@journium/react) - React SDK
- [@journium/angular](https://www.npmjs.com/package/@journium/angular) - Angular SDK

## Support

Need help? Reach out to us:

- 📖 Join our official community [Discord server](https://journium.app/discord)
- 🐛 [Issue Tracker](https://github.com/journium/journium-js/issues)

## Contributing

We're open to all community contributions! If you'd like to contribute in any way, please read [our contribution guidelines](https://github.com/journium/journium-js/blob/main/CONTRIBUTING.md) and [code of conduct](https://github.com/journium/journium-js/blob/main/CODE_OF_CONDUCT.md).


## License

This project is licensed under the **MIT license**.

See [LICENSE](https://github.com/journium/journium-js/blob/main/LICENSE) for more information.
npm package: @journium/react
Description: Journium React integration - Provider, hooks, and components for React applications
Author: Journium Team
Latest version: 1.3.0

# @journium/react

[![npm version](https://badge.fury.io/js/%40journium%2Freact.svg)](https://badge.fury.io/js/@journium/react)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)

The official Journium SDK for React. Track events, pageviews, and user interactions with built-in hooks and providers.

---

## Getting Started

Learn how to use Journium in your React application:

- [Quick Start Guide](https://journium.app/docs/react)
- [Concepts](https://journium.app/docs/react/concepts)
- [SDK Reference](https://journium.app/docs/react/hooks)

### Prerequisites
- React 16.8.0 or later (see [React Version Compatibility](COMPATIBILITY.md))
- Node.js `>=18.17.0` or later
- An existing Journium application. [Create your account for free](https://dashboard.journium.app/sign-up?utm_source=github&utm_medium=journium_react).

## Installation

```bash
npm install @journium/react
```

## Usage

```tsx
import { JourniumProvider } from '@journium/react';

ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <JourniumProvider
      config={{
        publishableKey: "your-publishable-key"
      }}
    >
      <App />
    </JourniumProvider>
  </React.StrictMode>
);
```

For more detailed examples, hooks, and configuration options, visit the [Journium documentation](https://journium.app/docs/react).

## Other SDKs

- [@journium/nextjs](https://www.npmjs.com/package/@journium/nextjs) - Next.js SDK
- [@journium/js](https://www.npmjs.com/package/@journium/js) - JavaScript SDK
- [@journium/angular](https://www.npmjs.com/package/@journium/angular) - Angular SDK

## Support

Need help? Reach out to us:

- 📖 Join our official community [Discord server](https://journium.app/discord)
- 🐛 [Issue Tracker](https://github.com/journium/journium-js/issues)

## Contributing

We're open to all community contributions! If you'd like to contribute in any way, please read [our contribution guidelines](https://github.com/journium/journium-js/blob/main/CONTRIBUTING.md) and [code of conduct](https://github.com/journium/journium-js/blob/main/CODE_OF_CONDUCT.md).


## License

This project is licensed under the **MIT license**.

See [LICENSE](https://github.com/journium/journium-js/blob/main/LICENSE) for more information.
npm package: @journyio/clock
Description: Consume time as a service
Author: journy.io
Latest version: 2.0.0

[![journy.io](https://raw.githubusercontent.com/journy-io/brand/main/githubbanner.png)](https://journy.io/?utm_source=github&utm_content=readme-clock)

# Clock

![npm](https://img.shields.io/npm/v/@journyio/clock?color=%234d84f5&style=flat-square)
[![npm downloads](https://img.shields.io/npm/dm/@journyio/clock?style=flat-square)](https://www.npmjs.com/package/@journyio/clock)

Consume time as a service.

## 💾 Installation

You can use your package manager (`npm` or `yarn`) to install:

```bash
npm install --save @journyio/clock
```
or
```bash
yarn add @journyio/clock
```

This package depends on [moment/luxon](https://github.com/moment/luxon). If you already have another datetime library installed in your project, we advise you to fork this package.

We don't recommend consuming this package in plain JavaScript (to be able to use interfaces).

## 🔌 Getting started

First, [read this blogpost](https://blog.frankdejonge.nl/being-in-control-of-time-in-php/) to understand the reasoning behind this approach.

Let's say we have a class that creates a user:

```ts
import { DateTime } from "luxon";
import { Clock } from "@journyio/clock";

class User {
  constructor(/* ... */ private readonly createdAt: DateTime) {}

  getCreatedAt() {
    return this.createdAt;
  }
}

class UserService {
  constructor(private readonly clock: Clock) {}

  create(/* ... */): User {
    return new User(
      /* ... */
      this.clock.getUTCTime()
    );
  }
}
```

In our tests we can use `ClockFixed` to control the current time:

```ts
import { ClockFixed } from "@journyio/clock";

const now = DateTime.utc();
const clock = new ClockFixed(now);
const userService = new UserService(clock);
const user = userService.create(/* ... */);

expect(user.getCreatedAt()).toEqual(now);
```

In our normal code we can use `ClockSystem`:

```ts
import { ClockSystem } from "@journyio/clock";

const userService = new UserService(new ClockSystem());
```

By depending on `Clock` we can consume time as a service (so that we're in control of time). Normally we would need to rely on magic or use `setTimeout` to test code that uses the current time. 

## 💯 Tests

To run the tests:

```bash
npm run test
```