open-index/open-npm huggingface dataset:
npm package: @nzws/libemoji.js
Description: Unofficial nodejs wrapper for emoji-gen/libemoji
Author: Yuzuki Aida
Latest version: 0.1.0

# @nzws/libemoji.js

[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/nzws/libemoji.js/Node%20CI?style=for-the-badge)](https://github.com/nzws/libemoji.js/actions)
[![npm (scoped)](https://img.shields.io/npm/v/@nzws/libemoji.js?style=for-the-badge)](https://github.com/nzws/libemoji.js/releases)
[![License](https://img.shields.io/github/license/nzws/libemoji.js?style=for-the-badge)](https://github.com/nzws/libemoji.js/blob/master/LICENSE)

> Unofficial nodejs wrapper for [emoji-gen/libemoji](https://github.com/emoji-gen/libemoji)

### Original Library

- [libemoji](https://github.com/emoji-gen/libemoji) by [emoji-gen](https://github.com/emoji-gen) Team
- [emojilib](https://github.com/emoji-gen/emojilib) by [emoji-gen](https://github.com/emoji-gen) Team

> ⚠ `libemoji.js` is an unofficial library, do not send any questions/issues about this to the original author.

## Usage

```
yarn add @nzws/libemoji.js # or `npm i @nzws/libemoji.js`
```

```typescript
import { generate } from '@nzws/libemoji.js';
import { promises } from 'fs';

void (async () => {
  const emoji = generate('えも\nじ', {
    width: 128,
    height: 128,
    color: '#1fddffff',
    backgroundColor: '#00000000',
    textAlign: 'center',
    textSizeFixed: false,
    disableStretch: false,
    typefaceFile: '/path/to/JapaneseFontFile.otf',
    typefaceName: '',
    format: 'png',
    quality: 100
  });

  await promises.writeFile('./example/emoji.png', emoji.buffer);
})();
```

## Development

### Requirements

- Node.js v16
  - yarn v2
- CMake
- Python 2.7 (recommend to use [asdf](https://github.com/asdf-vm/asdf))
- C11 Compiler
- C++14 Compiler

### Initialize

```
# Initialize
asdf install python 2.7.18
sudo apt install clang-format # for linux

SKIP_BUILD=true yarn
yarn setup
```
npm package: @nzws/react-navigation-bottom-sheet
Description: Bottom sheet component for React Navigation
Author: Janic Duplessis
Latest version: 0.2.3-2023-03-19

# @th3rdwave/react-navigation-bottom-sheet

Bottom sheet navigator for React Navigation.

Integrates [@gorhom/bottom-sheet](https://github.com/gorhom/react-native-bottom-sheet) with [React Navigation](https://github.com/react-navigation/react-navigation).

## Installation

```sh
yarn add @th3rdwave/react-navigation-bottom-sheet @react-navigation/native @gorhom/bottom-sheet
```

If you don't have those already, you will also need to install the [@gorhom/bottom-sheet dependencies](https://gorhom.github.io/react-native-bottom-sheet/#dependencies) react-native-reanimated and react-native-gesture-handler.

## Usage

```js
import { createBottomSheetNavigator } from "@th3rdwave/react-navigation-bottom-sheet";

// ...

const BottomSheet = createBottomSheetNavigator();

<BottomSheet.Navigator
  // Default options
  screenOptions={{ snapPoints: ["60%", "90%"] }}
>
  {/* The first screen should be your app content */}
  <BottomSheet.Screen name="app" component={MyApp} />
  <BottomSheet.Screen name="firstSheet" component={FirstSheetComponent} />
  <BottomSheet.Screen
    name="secondSheet"
    component={SecondSheetComponent}
    // Can pass any prop from @gorhom/bottom-sheet's BottomSheetModal
    options={{ snapPoints: [200, "100%"], index: 1 }}
  />
</BottomSheet.Navigator>;

// ...

// Open like any regular react-navigation screen.
navigation.navigate("firstSheet", { id: 1 });

```

See the [example app](./example/src/SimpleExample.tsx) for full usage details.

## API

### Navigation options

#### `snapPoints`

```ts
Array<string | number>
```

Points for the bottom sheet to snap to, points should be sorted from bottom to top. It accepts array of number and string.

Defaults to `['66%']`.

#### Other options

Most props from `BottomSheetModal` are exposed as navigation options. See the [@gorhom/bottom-sheet website](https://gorhom.github.io/react-native-bottom-sheet/modal/props) for full documentation.

### Navigation helpers

Navigation helpers are available on the `navigation` object.

#### `snapTo`

```ts
(index: number) => void
```

Snaps the current sheet to `index`.

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @nzxt/web-integrations-types
Description: web integrations monitoring type definitions
Author: NZXT
Latest version: 0.4.1

# Web Integrations Monitoring Types

NZXT CAM is a hardware monitoring software that provides users with information on the performance
of various hardware components in their PC, including CPUs, GPUs, and RAM.

In Web Integration mode on Kraken devices, CAM provides monitoring data to the web application
through the browser every second. This data can be used to create custom visualizations with
monitoring information.

## Installation

```bash
npm install @nzxt/web-integrations
```

## Examples

```ts
import { MonitoringData } from "@nzxt/web-integrations/v1";

window.nzxt = {
  v1: {
    onMonitoringDataUpdate: (data: MonitoringData) => {
      // ...
    },
  },
};
```
npm package: @nzz/et-components-debugging
Description: Gestures to enter 2 debug modes, utilities for layout debugging
Author: Andrea Brühlmann
Latest version: 0.0.21

# `@nzz/et-components-debugging`

# Features

- 2 debug modes
  - debugLayout
  - debugControls
- utilities to enter/exit debug modes
  - queryparams
  - gestures/keyboard combos
- utilities for layout debugging
  - background grid
  - semitransparent textbox

# Usage

## Setup

```bash
npm install @nzz/et-components-debugging
```

### Init and access state

```
// init:
setDebugState(new DebugState());

// access from anywhere:
getDebugState();
```

## debug mode A: "debugLayout"

Apply debug layouts in your css: 4x4 grids, plain background, semi-transparent content etc.

| colored debug areas                                                  | debug grid                                          | debug text                                         |
| -------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------- |
| <img src="docs/colored-areas.png" alt="colored-areas" height="400"/> | <img src="docs/grid.png" alt="grid" height="400"/>  | <img src="docs/text.png" alt="text" height="40" /> |
| useful to see margins etc.                                           | useful to see how much is cropped at the top/bottom | useful to measure without devTools                 |


```
// toggle debug mode
<app-container
  class:layout-debug-mode={getDebugState().debugLayout}
```

```
// debug grid/debug area in some component scss:
@use '@nzz/et-components-debugging/styles/mixins' as debug-mixins;
@forward '@nzz/et-components-debugging/styles/styles.scss';

:global {
    .layout-debug-mode {
      .some-area {
        @include debug-mixins.debugGrid(4,4, rgba(0, 0, 0, 0), rgba(211, 81, 81, 0.2), 0.5);
      }
      .other-area {
        @include debug-mixins.debugArea(rgba(209, 163, 47, 0.4));
      }
    }
}
```

```
// debug text
{#if debugState.debugLayout}
  <div class="debug-layout-info">
    // TODO your debug info
  </div>
{/if}
```

## debug mode B: "debugControls"
Show some more controls when in debugControls mode

<img src="docs/controls.png" alt="controls" height="100"/>

```
{#if getDebugState().debugControls}
     // TODO add your debug controls
{/if}
```

## How to enter the debug modes

### layout debugging
<ol>
<li>Browser: with query param: ?debugControls</li>
<li>App gesture: 3-finger triple-tap</li>
<li>Keyboard: ALT + 3 clicks</li>
</ol>

### debug options
<ol>
  <li>Browser: with query param: ?debugLayout</li>
  <li>App gesture: 5-finger long-press</li>
  <li>Keyboard: 2x (Ctrl+Alt+D)</li>
</ol>


# Develop

### Run example:
```bash
pnpm install
```
```bash
pnpm run dev:svelte
```


### Publish:
- update version number in package.json
```bash
npm publish 
```
npm package: @nzz/et-components-highlighted-text
Description: Text with highlighted parts
Latest version: 0.0.3

# `@nzz/et-components-highlighted-text`

# Features

Render a text with some highlighted parts. The highlights can be background, underline or textcolor.



# Usage

* Add Dependency `npm install @nzz/et-components-highlighted-text`
* Use the interfaces for your model: [interfaces.ts](src/lib/interfaces.ts)
* Render text with hightlights: [TextWithHighlights.svelte](src/lib/TextWithHighlights.svelte)
* Copy custom schema parts from [customSchema.ts](src/lib/customSchema.ts)
    * list of available highlightColors
    * highlights in a textblock



# Develop

### Run example
```bash
pnpm install
```
```bash
pnpm run dev:svelte
```

### Showcase and test in Storybook
```bash
pnpm --filter @repo/storybook exec -- pnpm run storybook
```


### Publish:
- update version number in [package.json](package.json)
```bash
npm publish 
```
npm package: @nzz/et-components-safe-zones
Description: Add variables with NZZ safe zone dimensions for NZZ App
Author: Andrea Brühlmann
Latest version: 0.0.1

# `@nzz/et-components-safe-zones`

# Features

```
--safe-zone-block-start
--safe-zone-block-end
```

Adds safe zone variables for Android/iPhone app that should tell you how much header and footer space is covered by NZZ or the app but still inside the viewport (vh).

We already receive them from the website (after migration 2025), e.g. in browsers on mobile devices when scrolling up. This means, when they are missing, they are meant to be 0, but in the apps it's different (maybe because the apps have not been migrated yet).

**Highly temporary because we want to receive these variables from the website.**

# Usage

### Install
```bash
npm install @nzz/et-components-safe-zones
```

### Add safe zone variables
```
<app-container
  {@attach setMarginProperty(SafeZone.Header)}
  {@attach setMarginProperty(SafeZone.Footer)}
>
```

### Use safe zone variables
```
padding-top: var(--safe-zone-block-start);
padding-bottom: var(--safe-zone-block-end);
```
npm package: @nzz/et-components-scrolly
Description: NZZ scrolly skeleton and parts
Author: Andrea Brühlmann
Latest version: 0.0.20

# `@nzz/et-components-scrolly`

# Features

- scrolly skeleton with NZZ specific sizing for Desktop/mobile/App
- scrolly foreground boxes: a few styles, a few content options
- interface for foreground boxes and Q edit GUI



# Usage

## Setup

```bash
npm install @nzz/et-components-scrolly
```




# Develop

### Run example:
```bash
pnpm install
```
```bash
pnpm run dev:svelte
```


### Publish:
- update version number in package.json
```bash
npm publish 
```


# TODO

* use sticky like in video-scroller instead of svelte-scroller
npm package: @nzz/et-components-scrolly-foreground
Description: NZZ scrolly foreground parts
Author: Andrea Brühlmann
Latest version: 0.0.4

# `@nzz/et-components-scrolly`

# Features

- scrolly foreground boxes: a few styles, a few content options
- interface for foreground boxes and Q edit GUI



# Usage

## Setup

```bash
npm install @nzz/et-components-scrolly
```




# Develop

### Run example:
```bash
pnpm install
```
```bash
pnpm run dev:svelte
```


### Publish:
- update version number in package.json
```bash
npm publish 
```


# TODO
// TODO EDTECH-1714

* Custom Schema: validate
* Custom Schema Editor: test and improve if needed
* boxes with image and text and imagePosition
* more styles: see scroll-graphic > TextBox.svelte
* image: use TextboxImage, maybe extract to component too
* box styles per item/per section/per foregroundContent? (allow all, make it easy)
npm package: @nzz/et-components-title-lead-meta
Description: NZZ header element with title/lead etc. when placed inside custom code etc.
Author: Andrea Brühlmann
Latest version: 0.0.10

# `@nzz/et-components-title-lead-meta`

# Features

Render title, lead, authors and date in NZZ style (with a customizable font color) inside custom code etc.

#### Plans for the future:
We should use existing HTML element and move/duplicate it to the desired place. This would ensure consistency and help SEO.



# Usage

## Setup

```bash
npm install @nzz/et-components-title-lead-meta
```

## Render
```
<TitleLeadMetaInfo
    titleScreen={{
      articleTitle: 'Title',
      lead: 'Lead',
      authors: 'Authors',
      date: '2025-01-01T00:00',
      locale: 'de',
    }}
    darkMode={false}
    showTitle={true}
    showLead={true}
    showMeta={true}
    showMetaTopHr={true}
  />
```




# Develop

### Run example:
```bash
pnpm install
```
```bash
pnpm run dev:svelte
```


### Publish:
- update version number in package.json
```bash
npm publish 
```
npm package: @nzz/et-utils-config-prettier
Description: Shared Prettier config
Author: Michel Grautstück
Latest version: 1.1.0

# `@nzz/et-utils-config-prettier`

shareable prettier config

## Usage

```bash
npm install @nzz/et-utils-config-prettier -D
```

Edit `package.json`:

```jsonc
{
  // ...
  "prettier": "@nzz/et-utils-config-prettier"
}
```

## Official Docs

https://prettier.io/docs/en/configuration.html#sharing-configurations
npm package: @nzz/et-utils-connection-measures
Description: Reads connection infos and/or measures the speed for a high/low resolution decision
Author: Andrea Brühlmann
Latest version: 0.0.29

# `@nzz/et-utils-connection-measures`

Reads connection infos and/or measures the speed for a high/low resolution decision

## Usage

```bash
npm install @nzz/et-utils-connection-measures
```

### Run the speed test
```
connectionInfo = new ConnectionInfo();
connectionInfo.measureConnectionSpeed({
        thresholdMbps: 30,
        timeoutMs: 1000,
      });
```

### Use the results
```
{#if connectionInfo.hasMeasured}
    <!-- put the component with a high/low res difference -->
{/if}

function initHighOrLowRes() {  
  if (connectionInfo.canUseFastConnection) {
      \\ do high resolution stuff 
  } else {
      \\ do low resolution stuff
  }
}
```

## Contribute
### Example
Run the example while developing the speed test further

```
npm run dev
```
npm package: @nzz/et-utils-country-flag-emoji
Description: Library to insert country flag emojis
Author: NZZ Editorial Tech
Latest version: 1.0.0

# @nzz/et-utils-country-flag-emoji

Library to insert country flag emojis

## Content

Simple library containg a keyed object for each country and it's emoji.

## Modules & Node support

The package follows a hybrid module structure, supporting ES6 & CommonJS Module imports.
Node support can be implemented by changing the internal, relative import statements to include the file type suffix `.js` (not `.ts`!). This however breaks the CommonJS Module imports (`require()`), which should not be an issue if Node 12+ is used in the project.
npm package: @nzz/et-utils-country-flags
Description: Library to insert country flags
Author: NZZ Editorial Tech
Latest version: 1.0.0

# @nzz/et-utils-country-flag-emoji

Library to insert country flag emojis

## Content

Simple library containg a keyed object for each country and it's emoji.

## Modules & Node support

The package follows a hybrid module structure, supporting ES6 & CommonJS Module imports.
Node support can be implemented by changing the internal, relative import statements to include the file type suffix `.js` (not `.ts`!). This however breaks the CommonJS Module imports (`require()`), which should not be an issue if Node 12+ is used in the project.
npm package: @nzz/et-utils-data
Description: Package for functions that manipulate data.
Author: Franco Gervasi
Latest version: 1.0.2

# @nzz/et-utils-data

Package for functions that manipulate data.

## Content

### twoDimensionToObjectArray(twoDimensionArray)
The `twoDimensionToObjectArray` function can be used to convert a two-dimensional array into an object array. The function can be used for Q's data table.

```js
import { twoDimensionToObjectArray } from "@nzz/et-utils-data";

twoDimensionToObjectArray([["property1","property2","property3"], ["value1","value2","value3"], ["value4","value5","value6"]]);
// Result: [{property1: "value1", property2: "value2", property3: "value3"},{property1: "value4", property2: "value5", property3: "value6"}]
```
npm package: @nzz/et-utils-date
Description: Date library containing DayJs wrapper, date formats & label creation
Author: Michel Grautstück
Latest version: 1.0.6

# @nzz/et-utils-date

## Content

### dayjs wrapper

See [dayjs documentation](https://day.js.org/docs/en/installation/installation) for more information.

```js
import { dayjs } from "@nzz/et-utils-date";

dayjs(); // Result: {$L: 'de', $d: Thu Jun 02 2022 10:42:34 GMT+0200…}
```

### NZZ Standardized Date Formats for dayjs

```js
import { Formats, dayjs } from "@nzz/et-utils-date";

const date = dayjs();

date.format(Formats.ShortDate);
// Result: 2. 8.

date.format(Formats.CompactDate);
// Result: 2. Aug.

date.format(Formats.Date);
// Result: 2. August

date.format(Formats.FullShortDate);
// Result: 2. 8. 2022

date.format(Formats.FullDate);
// Result: 2. August 2022

date.format(Formats.FullDateTime);
// Result: 2. August 2022, 10.47 Uhr
```

### Helper functions for creating date labels

#### createFromToLabel(fromDate, toDate, fromFormat?, toFormat?, divider?, spacer?, withoutHtml?)

Creates a from-to date label, separated with spans by default for clean line wrapping

```js
import { createFromToLabel, dayjs, Formats } from "@nzz/et-utils-date";

const dateFrom = dajys();
const dateTo = dayjs().date(30);
const formatFrom = "D.";
const formatTo = Formats.ShortDate;
const divider = "-";
const spacer = " ";

createFromToLabel(dateFrom, dateTo);
// Result: <span>2. Juni –</span><span> 30. Juni</span>

createFromToLabel(dateFrom, dateTo, dateFormat, dateFormat, divider, spacer);
// Result: <span>2. -</span><span> 30. 6.</span>

createFromToLabel(
  dateFrom,
  dateTo,
  dateFormat,
  dateFormat,
  divider,
  spacer,
  true
);
// Result: 6. - 30. 6.
```

## Notes

- VSC auto-import has issues recognizing the non-relative import path of this package
npm package: @nzz/et-utils-geospatial
Description: Library containing helpers for geospatial data task
Author: Alex Kräuchi
Latest version: 0.1.1

# @nzz/et-utils-geospatial

Library containing helpers for geospatial data tasks.

## Content

**NOTE** This library is currently in a pre-release version. Don't use in production!

TODO: Package documentation

## Modules & Node support

The package follows a hybrid module structure, supporting ES6 & CommonJS Module imports.
Node support can be implemented by changing the internal, relative import statements to include the file type suffix `.js` (not `.ts`!). This however breaks the CommonJS Module imports (`require()`), which should not be an issue if Node 12+ is used in the project.
npm package: @nzz/et-utils-number
Description: Library containing number formatting helpers
Author: Michel Grautstück
Latest version: 1.0.2

# @nzz/et-utils-number

## Content

### formatNumber(number, forceThousandSeparator?, locale?)

Formats input number to NZZ Standardized Number Format.
By default numbers with only 4 digits before decimals won't be formatted with a thousand separator

```js
import { formatNumber } from "@nzz/et-utils-number";

formatNumber(1000.99); // result: 1000.99

formatNumber(1000.99, true); // result: 1 000.99

formatNumber(99888.77); // result: 99 888.77

formatNumber(1000.99, true, "de-DE"); // result: 1 000,99
```
npm package: @nzz/et-utils-relocate-living-docs-elements
Description: Extracts the livingdocs elements and places the elements append at the specified HTML target.
Author: Franco Gervasi
Latest version: 1.0.0

# @nzz/et-utils-relocate-living-docs-elements

Extracts the livingdocs elements and places the elements append at the specified HTML target.

## Content

### relocateLivingDocsElements(elementIdPrefix: string, elementIds: string[], targetElement: HTMLElement): void

```ts
import { relocateLivingDocsElements } from "@nzz/et-utils-relocateLivingDocsElements";

  relocateLivingDocsElements(elementIdPrefix, elementIds, targetElement));
};
```

## Modules & Node support

The package follows a hybrid module structure, supporting ES6 & CommonJS Module imports.
Node support can be implemented by changing the internal, relative import statements to include the file type suffix `.js` (not `.ts`!). This however breaks the CommonJS Module imports (`require()`), which should not be an issue if Node 12+ is used in the project.
npm package: @nzz/et-utils-sophie
Description: Library containing scripts related to or used in sophie modules
Author: Michel Grautstück
Latest version: 1.0.4

# @nzz/et-utils-sophie

Library containing scripts related to or used in sophie modules

## Content

### getDivergingScale(color1, color2, numberOfColors, config?)

```js
import { getDivergingScale } from "@nzz/et-utils-sophie";

getDivergingScale("#000000", "#ffffff", 4);
// Result: ['#000000', '#646464', '#e0e0e0', '#c2c2c2']
```

### getSequentialScale(seedColor, numberOfColors, additionalConfig?)

```js
import { getSequentialScale } from "@nzz/et-utils-sophie";

getSequentialScale("#ffaabb", 7);
// Result: ['#990042', '#bc0053', '#e10065', '#ff2a79', '#ff7095', '#ff9cb1', '#eacbd1']
```
npm package: @nzz/et-utils-tracking
Description: Library containing tracking related services and functions
Author: Michel Grautstück
Latest version: 1.1.2

# @nzz/et-utils-tracking

Library containing tracking related services and functions

## Content

### trackAction(origin: HTMLElement | Event, actionName: string, eventNonInteractive?): void

Tracks action (element/event) and sends data to tracking environment for later usage.

Usage with interactive event

```ts
import { trackAction } from "@nzz/et-utils-tracking";

const button = document.createElement("button");
button.onclick = (event: Event) => {
  // ...
  trackAction(event, "2212-Solardaecher", "button-clicked");
};
```

Usage with non-interactive element

```ts
import { trackAction } from "@nzz/et-utils-tracking";

function initHeadingElement() {
  testElement = document.createElement("h1");
  testElement.innerHTML = "Lorem Ipsum";

  trackAction(testElement, "2217-Dnipro", "heading-element-initialized", true);
}

initHeadingElement();
```

## Modules & Node support

The package follows a hybrid module structure, supporting ES6 & CommonJS Module imports.
Node support can be implemented by changing the internal, relative import statements to include the file type suffix `.js` (not `.ts`!). This however breaks the CommonJS Module imports (`require()`), which should not be an issue if Node 12+ is used in the project.
npm package: @nzz/et-utils-validation
Description: Library containing validator functions
Author: Alex Kräuchi
Latest version: 1.0.1

# @nzz/et-utils-validation

Library containing validator functions

## Content

### isRgbaString

Test if a given string matches the pattern of an RGBA value.

**Allowed formats**:

- `"rgba(1, 2, 3, .5)"`
- `"rgba(10%, 40%, 50%, .5)"`

```ts
import { isRgbaString } from "@nzz/et-utils-validation";

const rgba: String = "RGBA(255 ,255 , 0, 1.0) ";
isRgbaString(rgba); // true
```
npm package: @nzz/q-cli
Description: ## Installation
Latest version: 2.2.4

# Q cli

## Installation

```bash
npm install -g @nzz/q-cli
```

Some commands require certain environment variables. If you do not provide them, q cli tries to get them from your local 1Password installation. Make sure, that you have [1Password](https://1password.com/downloads/mac) installed.

## Development

```bash
pnpm i
```

There is a test script for each command in the `package.json`.

## GitHub Actions

To use the q cli in GitHub Actions there are special access tokens provided. You can find them in 1Password (vault: Q CLI). Editorial Tech manages those access tokens.

You will need to set the secrets in your GitHub repository under: `Settings > Secrets & variables > Actions > New repository secret`

Example:

```
- name: Run Q cli
  run: Q update-item
  env:
    Q_STAGING_SERVER: ${{ secrets.Q_STAGING_SERVER }}
    Q_STAGING_ACCESSTOKEN: ${{ secrets.Q_STAGING_ACCESSTOKEN }}
    Q_PRODUCTION_SERVER: ${{ secrets.Q_PRODUCTION_SERVER }}
    Q_PRODUCTION_ACCESSTOKEN: ${{ secrets.Q_PRODUCTION_ACCESSTOKEN }}
```

## Functionality

### Creating a new custom code project

Creates a new custom code project.

```bash
Q new-custom-code my-custom-code-project
```

### Creating a new custom code item

Creates a new custom code item on the specified environment and adds the id of the newly created item to the specified `q.config.json`.

`q.config.json`: By default q cli will look for the config file in the current directory, if no path is specified.

This command requires the environment variables `Q_[ENVIRONMENT]_SERVER` and `Q_[ENVIRONMENT]_ACCESSTOKEN`.

```bash
Q create-custom-code-item -e local -c ./tests/q.config.json -t 'TEST CUSTOM CODE ITEM'
```

### Updating existing Q items

Reads the specified `q.config.json` and updates all q items there.

`q.config.json`: By default q cli will look for the config file in the current directory, if no path is specified.

This command requires the environment variables `Q_[ENVIRONMENT]_SERVER` and `Q_[ENVIRONMENT]_ACCESSTOKEN`.

```bash
Q update-item -e local -c ./tests/q.config.json
```

## Release

Changes to the Q-cli won't be automatically released by the CI/CD. After the changes have been merged into the `main` branch, and the changeset got applied, the Q-cli needs to be manually published by running the following commands:

```bash
pnpm build

npm publish
```
npm package: @nzz/q-server
Description: **Maintainer**: [Franco Gervasi](https://github.com/fgervasi)
Latest version: 10.7.9

# Q Server

**Maintainer**: [Franco Gervasi](https://github.com/fgervasi)

**Q** is a system that lets journalists create visual elements for stories. It is developed by [NZZ Editorial Tech](https://twitter.com/NZZEditoTech) and [NZZ Visuals](https://twitter.com/NZZVisuals) and used in the [NZZ](https://www.nzz.ch) newsroom. There is a Demo over here: https://editor.q.tools

This is the server for the Q Toolbox. To make use of Q server you will also need a [Q editor](https://github.com/nzzdev/Q-editor/).

Documentation: https://nzzdev.github.io/Q-server

## Development

```bash
git clone git@github.com:nzzdev/Q-server.git
cd Q-server
nvm use
npm install
```

For testing local changes of Q-server, one can link the local package to the global installation of Q-server:

```bash
cd Q-server
npm link
```

Next, in some other location, the following command will create a symbolic link from globally-installed Q-server to ```node_modules/``` of the current folder.

```bash
cd some-other-location
npm link @nzz/q-server
```

Note: Q-server uses [joi](https://www.npmjs.com/package/joi). If the other location, where you linked the Q-server to, uses joi as well, make sure they have the exact same version.

To unlink, simply install Q-server again globally:

```bash
npm install @nzz/q-server -g
```

### Tests

There is a 100% coverage aim with the tests. Please do not lower the coverage.
The tests use `pouchdb-server` to mock the database and implement a simple mock tool endpoint. This makes e2e testing completely self contained without the need for any external services running. Just do a `npm install` and then `npm run test` and you are good to go. There are e2e tests in `test/e2e-tests.js` and some unit tests in `test/unit-tests.js`.

## License

Copyright (c) 2019 Neue Zürcher Zeitung. All rights reserved.

This software is published under the MIT license.
npm package: @nzz/ui-select
Author: http://github.com/nzzdev/ui-select/graphs/contributors
Latest version: 0.19.9

# AngularJS ui-select [![Build Status](https://travis-ci.org/angular-ui/ui-select.svg?branch=master)](https://travis-ci.org/angular-ui/ui-select) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/angular-ui/ui-select?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)


AngularJS-native version of [Select2](http://ivaynberg.github.io/select2/) and [Selectize](http://brianreavis.github.io/selectize.js/). [http://angular-ui.github.io/ui-select/](http://angular-ui.github.io/ui-select/)

[Getting Started](https://github.com/angular-ui/ui-select/wiki/Getting-Started) 

- [Examples](http://angular-ui.github.io/ui-select/#examples)
- [Examples Source](./docs/examples)
- [Documentation](https://github.com/angular-ui/ui-select/wiki)

## Latest Changes

- Check [CHANGELOG.md](/CHANGELOG.md)

## Features

- Search, Select, Multi-select and Tagging
- Multiple Themes: Bootstrap, Select2 and Selectize
- Keyboard support
- No jQuery required (except for old browsers)
- Small code base: 4.57KB min/gzipped vs 20KB for select2

For the roadmap, check [issue #3](https://github.com/angular-ui/ui-select/issues/3) and the [Wiki page](https://github.com/angular-ui/ui-select/wiki/Roadmap).

## Installation Methods

### npm
```
$ npm install ui-select
```
### bower
```
$ bower install angular-ui-select
```

## Development

### Prepare your environment
* Install [Node.js](http://nodejs.org/) and NPM (should come with)
* Install global dev dependencies: `npm install -g gulp`
* Install local dev dependencies: `npm install` in repository directory

### Development Commands

* `gulp` to jshint, build and test
* `gulp build` to jshint and build
* `gulp test` for one-time test with karma (also build and jshint)
* `gulp watch` to watch src files to jshint, build and test when changed
* `gulp docs` build docs and examples

## Contributing

- Check [CONTRIBUTING.md](/CONTRIBUTING.md)
- Run the tests
- Try the [examples](./docs/examples)

When issuing a pull request, please exclude changes from the "dist" folder to avoid merge conflicts.