open-index/open-npm huggingface dataset:
npm package: @gentrace/clickhouse-migrations
Description: ClickHouse Migrations
Latest version: 0.2.1

# @gentrace/clickhouse-migrations

> ClickHouse Migrations CLI

## Install

```sh
npm install @gentrace/clickhouse-migrations
```

## Usage

Create a directory, where migrations will be stored. It will be used as the value for the `--migrations-home` option (or for environment variable `CH_MIGRATIONS_HOME`).

In the directory, create migration files, which should be named like this: `1_some_text.sql`, `2_other_text.sql`, `10_more_test.sql`. What's important here is that the migration version number should come first, followed by an underscore (`_`), and then any text can follow. The version number should increase for every next migration. Please note that once a migration file has been applied to the database, it cannot be modified or removed. 

For migrations' content should be used correct SQL ClickHouse queries. Multiple queries can be used in a single migration file, and each query should be terminated with a semicolon (;). The queries could be idempotent - for example: `CREATE TABLE IF NOT EXISTS table ...;` Clickhouse settings, that can be included at the query level, can be added like `SET allow_experimental_object_type = 1;`. For adding comments should be used `--`, `# `, `#!`. 

If the database provided in the `--db` option (or in `CH_MIGRATIONS_DB`) doesn't exist, it will be created automatically.

```
  Usage
    $ clickhouse-migrations migrate <options>

  Required options
      --host=<name>             Clickhouse hostname 
                                  (ex. https://clickhouse:8123)
      --user=<name>             Username
      --password=<password>     Password
      --db=<name>               Database name
      --migrations-home=<dir>   Migrations' directory

  Environment variables
      Instead of options can be used environment variables.
      CH_MIGRATIONS_HOST        Clickhouse hostname (--host)
      CH_MIGRATIONS_USER        Username (--user)
      CH_MIGRATIONS_PASSWORD    Password (--password)
      CH_MIGRATIONS_DB          Database name (--db)
      CH_MIGRATIONS_HOME        Migrations' directory (--migrations-home)

  CLI examples
      clickhouse-migrations migrate --host=http://localhost:8123 
      --user=default --password='' --db=analytics 
      --migrations-home=/app/clickhouse/migrations

      clickhouse-migrations migrate 
```

Migration file example:
```
-- an example of migration file 1_init.sql

SET allow_experimental_object_type = 1;

CREATE TABLE IF NOT EXISTS events (
  event JSON
);
```
npm package: @gentrace/codemirror-lang-handlebars
Description: Handlebars language support for CodeMirror6
Latest version: 0.1.0-beta.4

# Handlebars Language CodeMirror 6

This package aims to provide [Handlebars language](https://handlebarsjs.com/) support to CodeMirror 6.

### Usage

To use this, simply install via NPM:

```
npm install @xiechao/codemirror-lang-handlebars
```

Then you can use it like so:

```javascript
import { handlebarsLanguage } from "@xiechao/codemirror-lang-handlebars"

handlebarsLanguage // => https://codemirror.net/docs/ref/#language.LRLanguage
```

### Development

The following commands can be used for development:

```bash
# Prepare/Build the codebase
npm run prepare

# Test the codebase, must be prepared beforehand
npm t
```
npm package: @gentrace/docusaurus-theme-search-typesense
Description: Typesense search component for Docusaurus.
Latest version: 0.8.5

# `docusaurus-theme-search-typesense`

[Typesense](https://typesense.org) search component for Docusaurus powered documentation sites.

This is a fork of the awesome [@docusaurus/theme-search-algolia](https://www.npmjs.com/package/@docusaurus/theme-search-algolia) library customized to work with Typesense.

#### About Typesense

If you're new to Typesense, it is an **open source search engine** that is simple to use, run and scale, with clean APIs and documentation.

Think of it as an open source alternative to Algolia and an easier-to-use, batteries-included alternative to ElasticSearch. Get a quick overview from [this guide](https://typesense.org/guide/).

## Documentation

Read detailed step-by-step instructions on how to first setup the DocSearch scraper and then install this plugin here: https://typesense.org/docs/latest/guide/docsearch.html.

## Help

If you have any questions or run into any problems, please create a Github issue and we'll try our best to help.
npm package: @gentrace/typesense-docsearch-react
Description: React package for DocSearch, customized to work with Typesense
Latest version: 3.4.4

# Typesense Docsearch React

This is a fork of Algolia's awesome [React-DocSearch](https://github.com/algolia/docsearch) library, customized to send queries to [Typesense](https://typesense.org).

To be able to use this, you'd first need to setup and run the [Typesense DocSearch Scraper](https://github.com/typesense/typesense-docsearch-scraper).

#### What is Typesense?

If you're new to Typesense, it is an **open source** search engine that is simple to use, run and scale, with clean APIs and documentation.

Think of it as an open source alternative to Algolia and an easier-to-use, batteries-included alternative to ElasticSearch. Get a quick overview from [this guide](https://typesense.org/guide/).

## Usage

```sh
yarn add typesense-docsearch-react
# or
npm install typesense-docsearch-react
```

## Documentation

Read detailed step-by-step instructions on how to configure and setup this version of DocSearch on Typesense's dedicated documentation site: https://typesense.org/docs/latest/guide/docsearch.html.

## Help

If you have any questions or run into any problems, please create a Github issue and we'll try our best to help.
npm package: @gentsagency/configure-craft-env
Description: One-off runner to add a Craft site to your development environment
Author: Pieter Beulque
Latest version: 1.3.0

# Configure Craft Environment

This is a one-off script that you can use to configure a Craft site (created by [create-craft-site](https://github.com/gentsagency/create-craft-site)) on your local machine.

It configures Homestead and provisions Vagrant so you're good to go in seconds.

## Usage

```sh
npx @gentsagency/configure-craft-env --security-key={{ SECURITY_KEY }}
```

If you don't set a security key, a new one will be generated by running `$ craft setup/security-key`

There are some other options:

```
  --domain
    Local domain that the app will be hosted on
    @default {{ project }}.local

  --homestead-path
    Path to homestead (folder that Homestead.yaml lives in)
    @default ~/homestead/Homestead

  --ssl-path
    Path where the .crt should be stored
    @default ~/.homesteadssl
```
npm package: @gentsagency/create-craft-site
Description: Bootstrap a Craft CMS site
Author: Pieter Beulque
Latest version: 1.4.2

# Create Craft Site

Create a Craft site using the Gents Agency workflow.

## Usage

When you have `npm` >= 6 on your system, you can run

```sh
$ npm init @gentsagency/craft-site my-site
```

or if you have `npm` >= 5 on your system, you can run

```sh
$ npx @gentsagency/create-craft-site my-site
```

This will output:

```
👋 Creating a new Craft website in ./my-site

📥 Installing Craft CMS & a front-end setup
☕️ This might take a while

🤖 Installing nystudio107/craft-scripts

🚢 Moving some files around

🔧 Tweaking your configuration

🌱 All set! Let's get you started:

    cd ./my-site
    ./craft/craft setup
    gulp watch

🤞 Good luck, have fun!
```

And you're good to go.

It will install [Craft CMS](https://craftcms.com/) and [@gentsagency/static-site](https://github.com/gentsagency/create-static-site).
npm package: @gentsagency/create-eleventy-site
Description: Bootstrap a Eleventy site
Author: Pieter Beulque
Latest version: 1.0.0

# Create Eleventy Site

Create an Eleventy site using the Gents Agency workflow.

## Usage

When you have `npm` >= 6 on your system, you can run

```sh
$ npm init @gentsagency/eleventy-site my-site
```

or if you have `npm` >= 5 on your system, you can run

```sh
$ npx @gentsagency/create-eleventy-site my-site
```

This will output:

```
👋 Creating a new Eleventy website in ./my-site

📥 Installing the static setup & 11ty
☕️ This might take a while

🚢 Moving some files around

🤖 Registering automation scripts

🌱 All set! Let's get you started:

    cd ./my-site
    gulp watch & npm run serve

🤞 Good luck, have fun!
```

And you're good to go.
npm package: @gentsagency/create-email-template
Description: Bootstrap an e-mail template
Author: Pieter Beulque
Latest version: 1.0.0

# Create E-mail Template

Create an e-mail template using the Gents Agency e-mail workflow.

## Usage

When you have `npm` >= 6 on your system, you can run

```sh
$ npm init @gentsagency/email-template my-emails
```

or if you have `npm` >= 5 on your system, you can run

```sh
$ npx @gentsagency/create-email-template my-emails
```

This will output:

```
👋 Creating a new e-mail template in ~/my-emails

📥 Installing dependencies & moving files around
☕️ This might take a while

🌱 All set! Let's get you started:

    cd ~/my-emails
    gulp watch

🤞 Good luck, have fun!
```

And you're good to go.

It will install a [`gulp` workflow](https://github.com/gentsagency/gulp-registry-email), create all necessary files & folders and configure both [`eslint`](https://github.com/gentsagency/eslint-config) and [`stylelint`](https://github.com/gentsagency/stylelint-config).

You can also spin up a static file server for easy development with `npm run serve`.
npm package: @gentsagency/create-static-site
Description: Bootstrap a static site
Author: Pieter Beulque
Latest version: 1.4.5

# Create Static Site

Create a static site using the Gents Agency workflow.

## Usage

When you have `npm` >= 6 on your system, you can run

```sh
$ npm init @gentsagency/static-site my-site
```

or if you have `npm` >= 5 on your system, you can run

```sh
$ npx @gentsagency/create-static-site my-site
```

This will output:

```
👋 Creating a new static website in ~/Sites/my-site

📥 Installing dependencies & moving files around
☕️ This might take a while

🌱 All set! Let's get you started:

    cd ~/Sites/demo-project
    gulp watch

🤞 Good luck, have fun!
```

And you're good to go.

It will install a [`gulp` workflow](https://github.com/gentsagency/gulp-registry), create all necessary files & folders and configure both [`eslint`](https://github.com/gentsagency/eslint-config) and [`stylelint`](https://github.com/gentsagency/stylelint-config).
npm package: @gentsagency/eslint-config
Description: ESLint config for Gents agency
Author: Pieter Beulque
Latest version: 2.1.0

# Gents Agency JavaScript Style Guide

This guide extends on the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript). Go there if you want to read up on the code style recommendations.

## Exceptions

The few exceptions we make at Gents are listed below:

 - Parens are always required in arrow functions
 - Anonymous functions have to be named for easier debugging
 - Constructor call have to be capitalized, except when initializing an object property
 - Unary operators (`++` and `--`) are allowed inside `for` loops
 - We use tabs, not spaces
npm package: @gentsagency/gulp-registry
Description: Gulp registry
Author: Pieter Beulque
Latest version: 1.6.0

# Gents Agency Gulp Registry

[![dependencies Status](https://david-dm.org/gentsagency/gulp-registry/status.svg)](https://david-dm.org/gentsagency/gulp-registry)

This task registry provides a modern front-end workflow with modern tools and standards in mind. It's meant to be consumed by Gulp 4.

## Installation

Install the registry through NPM:

```sh
npm i --save-dev gulp@^4.0.0 @gentsagency/gulp-registry
```

Create a `gulpfile.js` and point it to the registry.

```js
const gulp = require('gulp');
const config = require('./gulp/config');
const Registry = require('@gentsagency/gulp-registry');

const tasks = new Registry(config);

gulp.registry(tasks);
```

## Configuration

Find an example configuration file below

```js
const buildPath = './public/assets';
const sourcePath = './gulp/assets';

module.exports = {
  css: {
    src: `${sourcePath}/css/*.css`,
    dest: `${buildPath}/css`,
    watch: [
      `${sourcePath}/css/**/*.css`,
      `${sourcePath}/css/*.css`,
    ],
  },
  favicons: {
    src: {
      png: `${sourcePath}/favicons/favicon.png`,
      svg: `${sourcePath}/favicons/favicon.svg`,
    },
    dest: `${buildPath}/favicons`,
  },
  icons: {
    src: `${sourcePath}/icons/*.svg`,
    dest: `${buildPath}/icons`,
    filename: 'icons.svg',
  },
  images: {
    src: `${sourcePath}/images/**`,
    dest: `${buildPath}/images`,
  },
  js: {
    src: `${sourcePath}/js/*.js`,
    dest: `${buildPath}/js`,
    watch: [
      `${sourcePath}/js/**/*.js`,
      `${sourcePath}/js/*.js`,
    ],
  },
};
```

## Usage

`$ gulp` runs a one-time build.

`$ gulp watch` starts the watcher.

Some tasks aren't added to the `default` task and have to be run explicitely.  
You can do so by running `gulp ${taskname}`, for example: `$ gulp favicons`.

## Default tasks

Some tasks are registered by default:

 - [CSS](tasks/css/README.md)
 - [Favicons](tasks/favicons/README.md)
 - [Icons](tasks/icons/README.md)
 - [Images](tasks/images/README.md)
 - [JavaScript](tasks/javascript/README.md)

## Extending the registry

Adding a custom task is straight-forward:

```js
tasks.set('my-task', myTask());
```

You can pass two options:

```js
tasks.set('my-task', myTask(), { default: true, watch: 'glob' })
```

- `default` (default: true) - if the task should run when `gulp` or `gulp default` is run
- `watch` (mixed: string or array of strings) - glob (or array of globs) to watch for changes when `gulp watch` is run

## Troubleshooting

### The favicons task doesn't work

Make sure you have graphicsmagick or imagemagick installed.

```sh
brew install graphicsmagick
```

### Upgrading to Gulp 4 broke things for me!

Re-install Gulp globally, your older projects should still work (using the Gulp 3 version installed in the projects `/node_modules`)

```sh
npm rm -g gulp
rm /usr/local/share/man/man1/gulp.1
npm i -g gulp-cli
```
npm package: @gentsagency/gulp-registry-emails
Description: A modern workflow for e-mail development
Author: Pieter Beulque
Latest version: 1.0.2

# Gents Agency E-mails Gulp Registry

[![dependencies Status](https://david-dm.org/gentsagency/gulp-registry-emails/status.svg)](https://david-dm.org/gentsagency/gulp-registry-emails)

This task registry provides a workflow to simplify e-mail template development. It optimizes images, inlines CSS and allows you to work with Twig.

## Installation

Install the registry through NPM:

```sh
npm i --save-dev gulp@^4.0.0 @gentsagency/gulp-registry-emails
```

Create a `gulpfile.js` and point it to the registry.

```js
const gulp = require('gulp');
const config = require('./gulp/config');
const Registry = require('@gentsagency/gulp-registry-emails');

const tasks = new Registry(config);

gulp.registry(tasks);
```

## Configuration

Find an example configuration file below

```js
const paths = {
	src: './gulp',
	assets: {
		src: './gulp/assets',
		dest: './build/assets',
	},
	templates: {
		src: './gulp/templates',
		dest: './build',
	},
	html: {
		src: './build',
		dest: './build',
	}
};

module.exports = {
	src: paths.src,
	css: {
		src: `${paths.assets.src}/css/*.css`,
		dest: `${paths.assets.dest}/css`,
	},
	images: {
		src: `${paths.assets.src}/images/**`,
		dest: `${paths.assets.dest}/images`,
	},
	templates: {
		src: `${paths.templates.src}`,
		dest: `${paths.templates.dest}`,
	},
	html: {
		src: `${paths.html.src}/*.html`,
		dest: `${paths.html.dest}`,
	},
};
```

## Usage

`$ gulp` runs a one-time build.

`$ gulp watch` starts the watcher.

## Troubleshooting

### Upgrading to Gulp 4 broke things for me!

Re-install Gulp globally, your older projects should still work (using the Gulp 3 version installed in the projects `/node_modules`)

```sh
npm rm -g gulp
rm /usr/local/share/man/man1/gulp.1
npm i -g gulp-cli
```
npm package: @gentsagency/stylelint-config
Description: Stylelint config for Gents agency
Author: Pieter Beulque
Latest version: 1.1.0

# Gents Agency CSS Style Guide

This guide extends on the [Stylelint Standard Config](https://github.com/stylelint/stylelint-config-standard). Go there if you want to read up on the code style recommendations.

## Exceptions

The few exceptions we make at Gents are listed below:

 - We use tabs, not spaces
npm package: @gentsidis/quasar-app-extension-q-rest-table
Description: A Quasar app extension that provides a customizable table component with REST API integration, featuring data fetching, editing, and creation using Pinia for state management and Axios for API requests.
Author: Gkentsidis Apostolos
Latest version: 1.0.1

# q-rest-table Quasar App Extension

> A customizable table component with REST API integration, featuring data fetching, editing, and creation using Pinia for state management and Axios for API requests.

[![npm](https://img.shields.io/npm/v/@gentsidis/quasar-app-extension-q-rest-table.svg?label=quasar-app-extension-q-rest-table)](https://www.npmjs.com/package/@gentsidis/quasar-app-extension-q-rest-table)
[![npm](https://img.shields.io/npm/dt/@gentsidis/quasar-app-extension-q-rest-table.svg)](https://www.npmjs.com/package/@gentsidis/quasar-app-extension-q-rest-table)

## Installation
```bash
quasar ext add @gentsidis/q-rest-table
```
Quasar CLI will retrieve it from the NPM registry and install the extension to your project.

## Uninstall
```bash
quasar ext remove @gentsidis/q-rest-table
```

## Usage
This extension provides a `QRestTable` component that can be used in your Quasar app.

## Dependencies
* Quasar ^2.0.0
* Axios ^1.8.4

## License
MIT

## Author
gentsidis <gentsidis@gmail.com>

## Note
This extension is primarily designed for use in my personal apps, and may not receive the same level of maintenance or support as a publicly maintained library. However, it is made available under the MIT license for anyone to use and modify as needed.