open-index/open-npm huggingface dataset:
npm package: @smartive/guetzli
Description: smartive Component Library created with Typescript React and styled with TailwindCSS.
Author: smartive AG
Latest version: 4.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @smartive/guetzli 🍪

A smartive Component Library created with [Typescript](https://www.typescriptlang.org/) [React](https://reactjs.org/) and styled with [TailwindCSS](https://tailwindcss.com/). Some components also use [Framer-Motion](https://www.framer.com/motion/) for animations.

## Usage

```sh
npm install @smartive/guetzli
```

```ts
import { Heading1, Copy, ... } from '@smartive/guetzli';
```

### TailwindCSS

These components require [TailwindCSS](https://tailwindcss.com/) to be installed in your project and your `tailwind.config.js` to be configured like so:

```js
const guetzliConfig = require('@smartive/guetzli/config');

module.exports = guetzliConfig.tailwindConfig({
  // your project specific config
  purge: ['./src/**/*.{js,ts,jsx,tsx}'],
  theme: {
    extend: {},
  },
  variants: {},
  plugins: [],
});
```

### Framer Motion

Some components (like `Tooltip`) use [Framer-Motion](https://www.framer.com/motion/). To enable effective Tree-Shaking & Code-Splitting all components use the `framer-motion` package as described here: https://www.framer.com/api/motion/guide-reduce-bundle-size/

This means you need to manually load Framer-Motion Features in your Project-Root. This library only uses the `domAnimation` feature:

```ts
import { LazyMotion, domAnimation } from 'framer-motion';

export const Page = ({ children }) => (
  <>
    <LazyMotion strict features={domAnimation}>
      <Navigation />
    </LazyMotion>
    //...
  </>
);
```

### Using with next.js

For enhanced performance of the guetzli package in your Next.js project, include the following configuration in your next.config.js file:

```js
 experimental: {
    optimizePackageImports: ['@smartive/guetzli'],
  },
```

## Running locally with Storybook

```sh
npm ci
npm run dev
```

## 🏗️ Building production package

```sh
npm run build
```

Build-Output can be found in the `dist` folder.

## 🚀 Release process

New Merge Requests should be created on the `next` branch. This will trigger a new release `guetzli@next` release on merge.

To create a new release on the `main` branch, create a new Merge Request from `next` to `main` **without squashing the commits**. This will trigger a new release `guetzli@latest` release on merge.

A new release will only be created if the changes contain fixes or new features. If only dependency updates have changed, no new release will be created.
npm package: @smartive/kubernetes-helpers
Description: commandline tool that helps with kubernetes deployments
Author: Christoph Bühler
Latest version: 3.4.0

# kubernetes-helpers [k8s]

This is a command line helper for kubernetes (`kubectl`).
It does provide some helping commands and eases up deployments.

### Install

```bash
npm install -g @smartive/kubernetes-helpers
```

This adds the `k8s` executable to your global bin.

If you don't have node installed, you can build executables for your system
with the `package` npm script.

### Usage

`k8s` -> Prints the help.

Please read the usage help to get along with the tool :)

Each command can be inspected by adding `--help` to the command.

### Configuration

All global settings and flags (like `context` and `namespace`) can
be configured via a `.k8src` or `.k8src.json` file. Please ensure, it is a valid
json.

Example:

```json
{
  "context": "my-kubernetes-ctx",
  "namespace": "kube-system"
}
```

This rc file can ensure, that you only execute certain commands in a certain context.

### Security

All information that are saved locally (if the user decides to do so) are stored in the
users `.kube` folder. The information is encrypted with the `aes-256-cbc` algorithm and the
unique machine key. They cannot be moved and are useless
on another machine (even a new installation).

### Development

- `check out source`
- `npm install`
- `npm run develop`
npm package: @smartive/kuby
Description: commandline tool that helps with kubernetes deployments
Author: Christoph Bühler
Latest version: 4.5.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# kubernetes-helpers [kuby]

This is a command line helper for kubernetes (`kubectl`).
It does provide some helping commands and eases up deployments.

### Install

```bash
npm install -g @smartive/kuby
```

This adds the `kuby` executable to your global bin.

If you don't have node installed, you can build executables for your system
with the `package` npm script.

### Usage

`kuby` -> Prints the help.

Please read the usage help to get along with the tool :)

Each command can be inspected by adding `--help` to the command.

### Configuration

All global settings and flags (like `context` and `namespace`) can
be configured via a `.kubyrc` or `.kubyrc.json` file. Please ensure, it is a valid
json.

Example:

```json
{
  "context": "my-kubernetes-ctx",
  "namespace": "kube-system"
}
```

This rc file can ensure, that you only execute certain commands in a certain context.

### Security

All information that are saved locally (if the user decides to do so) are stored in the
users `.kube` folder. The information is encrypted with the `aes-256-cbc` algorithm and the
unique machine key. They cannot be moved and are useless
on another machine (even a new installation).

### Development

- `check out source`
- `npm install`
- `npm run develop`
npm package: @smartive/prettier-config
Description: Prettier configuration by smartive
Author: smartive AG
Latest version: 3.1.2

# @smartive/prettier-config

This package provides smartive's default [prettier](https://prettier.io/) configuration.

## Installation

```
$ npm i prettier @smartive/prettier-config -D 
```

## Usage

Once the `@smartive/prettier-config` package is installed, you can use it by specifing `"@smartive/prettier-config"` in your [prettier configuration](https://prettier.io/docs/en/configuration.html).

```
# .prettierrc

"@smartive/prettier-config"
```
npm package: @smartive/react-d3-radar
Description: React-based Radar chart for D3
Author: smartive
Latest version: 0.3.1

# @smartive/react-d3-radar

[![Build Status](https://travis-ci.org/smartive/smartive-react-d3-radar.svg?branch=master)](https://travis-ci.org/smartive/smartive-react-d3-radar)

<img src="http://i.imgur.com/rgJ7bXi.png" width="300">

React-based Radar chart for D3

## What is this?

D3v4's modular structure means you can pull in things like the scaling or colour logic, and leave out DOM functionality if you're using D3 in an environment that 'owns' the DOM -- such as React.

This is a Radar chart component for displaying multiple sets of data. Hovering is supported via `d3-voronoi`.

## Examples

```js
import Radar from '@smartive/react-d3-radar';
<Radar
  width={500}
  height={500}
  padding={70}
  domainMax={10}
  highlighted={null}
  onHover={(point) => {
    if (point) {
      console.log('hovered over a data point');
    } else {
      console.log('not over anything');
    }
  }}
  data={{
    variables: [
      {key: 'resilience', label: 'Resilience'},
      {key: 'strength', label: 'Strength'},
      {key: 'adaptability', label: 'Adaptability'},
      {key: 'creativity', label: 'Creativity'},
      {key: 'openness', label: 'Open to Change'},
      {key: 'confidence', label: 'Confidence'},
    ],
    sets: [
      {
        key: 'me',
        label: 'My Scores',
        values: {
          resilience: 4,
          strength: 6,
          adaptability: 7,
          creativity: 2,
          openness: 8,
          confidence: 1,
        },
      },
      {
        key: 'everyone',
        label: 'Everyone',
        values: {
          resilience: 10,
          strength: 8,
          adaptability: 6,
          creativity: 4,
          openness: 2,
          confidence: 0,
        },
      },
    ],
  }}
/>
```
## API

### &lt;Radar />

Renders a Radar chart in SVG (creates its own `svg` element). Props are as per the example above.
npm package: @smartive/react-pwa-toolbox
Description: Toolbox containing various helpers for creating PWA's with React.
Author: smartive AG
Latest version: 2.0.3

# react-pwa-toolbox
Toolbox containing various helpers for creating PWA's with React.
These helpers use themselves Google Workbox (https://github.com/GoogleChrome/workbox).

## useServiceWorker hook

This React hook can be used to register a service worker by providing the path to a service-worker file.

It will also return a boolean value indicating if a new service-worker is available to be installed and a callback which can be called to force the installation of the updated service-worker.

```tsx
import { useServiceWorker } from '@smartive/react-pwa-toolbox';

const [updateAvailable, installUpdate] = useServiceWorker('service-worker.js');

{updateAvailable && (
    <UpdateBanner
        message="New Update available!"
        buttonLabel="Install"
        onUpdate={installUpdate}
    />
)}
```

## useNativeBack hook

This React hook allows the handling of a native back event, e.g. from a browser or mobile phone OS, in a single page web app.

The following example demonstrates the usage with an XState-Statemachine. The statemachine transitions will be viewed as route changes and a native back event will be handled by an action sent to the statemachine.

```tsx
import { useNativeBack } from '@smartive/react-pwa-toolbox';
import { useMachine } from '@xstate/react';

const [current, send, service] = useMachine(StateMachine);

const routeChanged = useNativeBack(() => send('BACK'));
service.onTransition((current) => routeChanged(current.value));
```
npm package: @smartive/semantic-release-lerna
Description: semantic release plugin to publish packages with lerna
Author: Christoph Bühler
Latest version: 1.0.0

# semantic release lerna

This is a plugin for `semantic-release` to publish packages with
`lerna`.

Easiest config is:

`.releaserc.json`

```json
{
  "extends": "@smartive/semantic-release-lerna/config"
}
```

This overwrites the default of semantic release with the following config:

```json
{
  "generateNotes": ["@semantic-release/release-notes-generator", "semantic-release-lerna"],
  "prepare": false,
  "publish": ["@semantic-release/github", "semantic-release-lerna"]
}
```

Feel free to customize any settings :-)
npm package: @smartledger/bsv-hardened
Description: Drop-in replacement for BSV 1.5.6 with security-hardened ECDSA implementation
Author: SmartLedger
Latest version: 1.5.6-1
Deprecated: This package is outdated. Please use @smartledger/smartledger-sdk instead.

# BSV Hardened

A drop-in replacement for BSV 1.5.6 with a security-hardened ECDSA implementation, fixing critical cryptographic vulnerabilities while maintaining full API compatibility.

## Features

- Complete drop-in replacement for BSV 1.5.6
- Enhanced security with RFC 6979 deterministic k-value generation
- Signature uniqueness enforcement
- Malleability protection with low-s value enforcement
- 100% API compatibility with BSV 1.5.6

## Installation

```bash
npm install @smartledger/bsv-hardened
```

## Usage

Simply replace your BSV import:

```javascript
// Instead of: const bsv = require('bsv')
const bsv = require('@smartledger/bsv-hardened');

// Use exactly as you would use BSV 1.5.6
const privateKey = new bsv.PrivateKey();
const message = 'Hello, Bitcoin SV!';
const messageHash = bsv.crypto.Hash.sha256(Buffer.from(message));
const signature = bsv.crypto.ECDSA.sign(messageHash, privateKey);
const isValid = bsv.crypto.ECDSA.verify(messageHash, signature, privateKey.publicKey);
```

## Security Enhancements

This package specifically addresses critical vulnerabilities in the ECDSA implementation while maintaining all other BSV 1.5.6 functionality:

- Unique k-value generation using RFC 6979 with additional entropy
- Signature validation during signing process
- Low-s value enforcement for malleability protection
- Enhanced point arithmetic for proper signature verification

## Compatibility

This package is a complete drop-in replacement for BSV 1.5.6. All existing code that uses BSV 1.5.6 will work without any modifications - just change your import statement.

## License

This project is licensed under the MIT License - see the LICENSE file for details.
npm package: @smartledger/bsv-sdk
Description: SmartLedger SDK for Bitcoin SV blockchain operations
Author: SmartLedger
Latest version: 1.3.0
Deprecated: This package is outdated. Please use @smartledger/smartledger-sdk instead.

# @smartledger/sdk

A comprehensive SDK for Bitcoin SV blockchain operations, providing key management, signatures, encryption, and secret sharing capabilities.

## Installation

```bash
npm install @smartledger/sdk
```

## Features

- **Key Management**: Generate and manage BSV keys with different derivation paths for various purposes
- **Digital Signatures**: Sign and verify data using BSV keys
- **Encryption**: AES encryption for secure data storage
- **Secret Sharing**: Shamir's Secret Sharing implementation for secure key splitting and recovery

## Usage

### Key Management

```javascript
import { SmartLedgerSDK } from '@smartledger/sdk';

const sdk = new SmartLedgerSDK();

// Generate a new mnemonic
const mnemonic = sdk.generateMnemonic();

// Generate keys for different purposes
const documentKey = sdk.generateKey(mnemonic, 'document');
const contractKey = sdk.generateKey(mnemonic, 'contractual');
const identityKey = sdk.generateKey(mnemonic, 'identity');
```

### Signatures

```javascript
// Sign data
const data = "Hello SmartLedger!";
const signature = sdk.sign(data, documentKey);

// Verify signature
const isValid = sdk.verify(data, signature, documentKey.publicKey);
```

### Encryption

```javascript
// Encrypt data
const encrypted = sdk.encrypt("Secret message", "password123");

// Decrypt data
const decrypted = sdk.decrypt(encrypted, "password123");
```

### Secret Sharing

```javascript
// Split a secret into shares
const { shares } = sdk.splitSecret("my-secret", 3, 2);

// Recover the secret
const secret = sdk.combineShares(shares.slice(0, 2));
```

## Security

This SDK uses the `@smartledger/bsv-fixed` package, which includes security fixes for the `elliptic` dependency. All cryptographic operations use industry-standard implementations and best practices.

## License

MIT

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.
npm package: @smartledger/elliptic-fix
Description: Security fix for signature malleability vulnerability in Elliptic package v6.5.5 used by bsv@1.5.6
Author: SmartLedger
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# BSV Elliptic Fix

Security fix for the signature malleability vulnerability in Elliptic package v6.5.5, specifically in the context of bsv@1.5.6.

## Quick Start

```bash
npm install @smartledger/elliptic-fix
```

Then in your code, replace:
```javascript
const elliptic = require('elliptic');
```

with:
```javascript
const elliptic = require('@smartledger/elliptic-fix');
```

That's it! The fix is automatically applied and verified during installation.

## Vulnerability Details

The vulnerability exists in the EDDSA implementation's `verify` function in Elliptic v6.5.5, which does not validate the signature's S value. This allows signatures to be malleable when S ≥ n (where n is the curve order).

### Impact
- Signatures with S values greater than or equal to the curve order can be considered valid
- This enables signature malleability attacks
- Affects applications using bsv@1.5.6 which depends on elliptic@6.5.5

## Fix Implementation

The fix adds validation in the EDDSA `verify` function to reject signatures where:
- S ≥ n (curve order)
- S < 0 (negative values)

### Technical Details
```javascript
// Added validation check
if (signature.S().gte(this.curve.n) || signature.S().isNeg()) {
    return false;
}
```

## Verification

The package includes automatic verification during installation. You can also manually verify:

```javascript
const elliptic = require('@smartledger/elliptic-fix');
const ed = new elliptic.eddsa('ed25519');

// Your existing code using elliptic...
// All valid signatures will work normally
// Malleable signatures (S >= n) will be rejected
```

## Compatibility

- Works with bsv@1.5.6
- Maintains all existing elliptic functionality
- Only patches the EDDSA signature verification
- Zero impact on valid signatures

## Security

This fix:
- Prevents signature malleability attacks
- Maintains compatibility with valid signatures
- Is automatically verified during installation
- Uses the same validation as the official fix in elliptic@6.5.7+

## Alternative Solutions

If you prefer not to use this package, you can:
1. Upgrade to bsv versions that use elliptic@6.5.7 or later
2. Use npm overrides to force elliptic@6.5.7:
   ```json
   {
     "overrides": {
       "elliptic": "6.5.7"
     }
   }
   ```

## Testing

To run the test suite:
```bash
npm test
```

## Contributing

Issues and pull requests are welcome! Please submit them to our [GitHub repository](https://github.com/smartledger/elliptic-fix).

## License

MIT

## References

- [Elliptic Package](https://www.npmjs.com/package/elliptic)
- [BSV Package](https://www.npmjs.com/package/bsv)
- [EdDSA Specification](https://tools.ietf.org/html/rfc8032)
npm package: @smartlinkdev/eslint-config-vue
Description: An opinionated eslint config for Vue projects.
Author: Nick Duskey
Latest version: 0.2.6

# Smartlink ESLint Config for Vue

[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@smartlinkdev/eslint-config-vue)](https://npmjs.com/package/@smartlinkdev/eslint-config)
[![npm](https://flat.badgen.net/npm/dt/@smartlinkdev/eslint-config-vue)](https://npmjs.com/package/@smartlinkdev/eslint-config)

## Getting Started

### Installation

1. Add this package to your devDependencies

```bash
$ npm i -D @smartlinkdev/eslint-config-vue
# or
$ yarn add -D @smartlinkdev/eslint-config-vue
```

2. Install `eslint` if not already present locally or globally

```bash
$ npm i -D eslint
# or
$ yarn add -D eslint
```

3. Create a `.eslintrc.js` file
```bash
$ touch .eslintrc.js
```

4. Extend using the plugin
```js
{
  extends: [
    '@smartlinkdev/eslint-config-vue'
  ]
}
```

## Full example

A full example `.eslintrc.js`:

```js
module.exports = {
  root: true,
  extends: [
    '@smartlinkdev/eslint-config-vue'
  ]
}
```

## License

[MIT license](https://github.com/smartlink-ventures/eslint-config/blob/master/LICENSE) - Smartlink Ventures, Inc.
npm package: @smartlook/circular-deps-detector
Description: Package to detect circular dependencies and unused files in TypeScript projects.
Author: Smartlook
Latest version: 1.0.4

### Installation

NPM

```
npm i @smartlook/circular-deps-detector
```

YARN

```
yarn add @smartlook/circular-deps-detector
```

PNPM

```
pnpm add @smartlook/circular-deps-detector
```

### Usage

Add this line to your scripts in `package.json`

```
"detect-circular-deps": "detect-circular-deps --config ./circular-deps-config.json"
```

Then create a new JSON file `circular-deps-config.json` with the following content:

| Property         | Type                | Description                                                             |
| ---------------- | ------------------- | ----------------------------------------------------------------------- |
| `projectName`    | string              | Your project name                                                       |
| `rootDir`        | string              | root directory to scan                                                  |
| `tsConfig`       | string              | path to your TS config file                                             |
| `entryPoint`     | string              | path to the entry point file                                            |
| `outputFile`     | string              | path to output report file (JSON)                                       |
| `ignorePatterns` | string[] (optional) | array of regexp patterns (valid parameter of JavaScript `new RegExp()`) |

Example:

```
{
	"projectName": "My App",
	"rootDir": "./src",
	"tsConfig": "./tsconfig.json",
	"entryPoint": "./src/index.ts",
	"outputFile": "./circular-deps-report.json",
	"ignorePatterns": [
		"/src/libs/.*",
		"/src/services/utils/.*",
	]
}

```
npm package: @smartlook/crash-cli-upload
Description: CLI tool to upload mapping files to S3 bucket.
Author: smartlook
Latest version: 1.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## Smartlook Crash CLI Upload

Smartlook Crash CLI Upload is CLI tool that allows to upload source map file to S3 bucket using Smartlook REST API.

## Getting Started

### Dependencies

- npm
- yarn

### Installation

- with NPM

  `npm install --location=global @smartlook/crash-cli-upload`

- with Yarn

  `yarn global add @smartlook/crash-cli-upload`

### Usage

```
smartlook-crash-cli-upload [command] [options]

Options:
  -V, --version                      output the version number
  -h, --help                         display help for command

Commands:
  upload-mapping-file|umf [options]
  help [command]                     display help for command

Aliases:
  sccu
```

#### Options for `smartlook-crash-cli-upload upload-mapping-file`

```
Usage: smartlook-crash-cli-upload upload-mapping-file|umf [options]

Options:
  -p --path <value>              Path to mapping file to be uploaded - for Apple either path to.xcarchive or single dSYM file. Can be set as ENV variable PATH_TO_MAPING_FILE
  -t --token <value>             API token to access Smartlook REST API. Can be set as ENV variable API_TOKEN
  -b --bundleId <value>          BundleId of Application related to uploaded mapping file. Can be set as ENV variable BUNDLE_ID
  -pl --platform <value>         Platform of Application related to uploaded mapping file. Supported values are `android` and `apple`. Can be set as ENV variable PLATFORM
  -av --appVersion <value>       Version of Application related to uploaded mapping file. Can be set as ENV variable APP_VERSION
  -iv --internalVersion <value>  Internal version of Application related to uploaded mapping file. Can be set as ENV variable INTERNAL_VERSION
  -h, --help                     display help for command

Example:
  smartlook-crash-cli-upload upload-mapping-file -t apiToken132456 -p mapping-file.txt -b prod -pl android -av 0.0.1 -iv build.1234
```
npm package: @smartlook/eslint-config-base
Description: Smartlook ESLint base configuration
Latest version: 1.6.0

# @smartlook/eslint-config-base

This config should be used in all projects.

## Installation

```sh
npm i -D @smartlook/eslint-config-base
```

```js
// .eslintrc.js

module.exports = {
    extends: ['@smartlook/eslint-config-base'],
}
```

## License

See [LICENSE](LICENSE).
npm package: @smartlook/eslint-config-node
Description: Smartlook ESLint configuration for Node.js
Latest version: 1.5.0

# @smartlook/eslint-config-node

This config should be used in all Node.js projects.

## Installation

```sh
npm i -D @smartlook/eslint-config-node
```

```js
// .eslintrc.js

module.exports = {
    extends: ['@smartlook/eslint-config-node'],
}
```

## License

See [LICENSE](LICENSE).
npm package: @smartlook/eslint-config-prettier
Description: Smartlook ESLint configuration for Prettier
Latest version: 1.5.0

# @smartlook/eslint-config-prettier

This config should be used in all projects which use Prettier.

## Installation

```sh
npm i -D @smartlook/eslint-config-prettier
```

```js
// .eslintrc.js

module.exports = {
    extends: ['@smartlook/eslint-config-prettier'],
}
```

## License

See [LICENSE](LICENSE).
npm package: @smartlook/eslint-config-typescript
Description: Smartlook ESLint configuration for TypeScript
Latest version: 1.6.0

# @smartlook/eslint-config-typescript

This config should be used in all TypeScript projects.

## Installation

```sh
npm i -D @smartlook/eslint-config-typescript
```

```js
// .eslintrc.js

module.exports = {
    extends: ['@smartlook/eslint-config-typescript'],
}
```

## License

See [LICENSE](LICENSE).
npm package: @smartlook/prettier-config
Description: Smartlook Prettier configuration
Latest version: 1.4.1

# @smartlook/prettier-config

This Prettier config should be used in all projects.

## Installation

```sh
npm i -D @smartlook/prettier-config
```

```js
// .prettierrc.js

module.exports = {
    extends: ['@smartlook/prettier-config'],
}
```

## License

See [LICENSE](LICENSE).
npm package: @smartlook/segment-react-native-plugin-smartlook
Description: Segment react-native destination plugin for Smartlook.
Author: Smartlook
Latest version: 2.0.0

# @smartlook/segment-react-native-plugin-smartlook

`DestinationPlugin` for [Smartlook](https://smartlook.com/). Wraps the [`react-native-smartlook-analytics`](https://www.npmjs.com/package/react-native-smartlook-analytics) package.

## Installation

You need to install the `@smartlook/segment-react-native-plugin-smartlook` and the `react-native-smartlook-analytics` dependency.

Using NPM:

```bash
npm install --save @smartlook/segment-react-native-plugin-smartlook react-native-smartlook-analytics
```

Using Yarn:

```bash
yarn add @smartlook/segment-react-native-plugin-smartlook react-native-smartlook-analytics
```

Run `pod install` after the installation to autolink the Smartlook SDK.

Follow the [React Native Smartlook SDK Installation](https://mobile.developer.smartlook.com/reference/react-native-sdk-installation) guide to finish the setup of react-native-smartlook-analytics in your app.
See [@segment/analytics-react-native](https://github.com/segmentio/analytics-react-native) for a detailed guide about adding the Segment Analytics to your app.

## Usage

Follow the [instructions for adding plugins](https://github.com/segmentio/analytics-react-native#adding-plugins) on the main Analytics client:

In your code where you initialize the analytics client call the `.add(plugin)` method with a new `SmartlookPlugin` instance.

```ts
import { createClient } from '@segment/analytics-react-native';
import { SmartlookPlugin } from '@smartlook/segment-react-native-plugin-smartlook';
import Smartlook from 'react-native-smartlook-analytics';

const segmentClient = createClient({
  writeKey: 'SEGMENT_KEY'
});

Smartlook.instance.preferences.setProjectKey(
  'SMARTLOOK_KEY'
);

segmentClient.add({ plugin: new SmartlookPlugin() });
```
npm package: @smartlook/smartlook-crash-reports-cli
Description: CLI tool for uploading crash mapping files to the Smartlook.
Author: Jan Zaloudek
Latest version: 2.1.10

## smartlook-crash-reports-cli

This is CLI tool that allows to upload various mapping files to Smartlook using Smartlook REST API.

## Getting Started

### Dependencies

- npm
- yarn

### Installation

- with NPM

  `npm install --location=global @smartlook/smartlook-crash-reports-cli`

- with Yarn

  `yarn global add @smartlook/smartlook-crash-reports-cli`

### Usage

```
smartlook-crash-reports [command] [options]

Options:
  -V, --version                      output the version number
  -h, --help                         display help for command

Commands:
  upload-mapping-file|umf [options]
  help [command]                     display help for command
```

#### Options for `smartlook-crash-reports-cli upload-mapping-file`

```
Usage: smartlook-crash-reports-cli upload-mapping-file|umf [options]

Options:
  -p --path <value>              Path to mapping file to be uploaded - for Apple either path to.xcarchive or single dSYM file. Can be set as ENV variable PATH_TO_MAPING_FILE
  -t --token <value>             API token to access Smartlook REST API. Can be set as ENV variable API_TOKEN
  -b --bundleId <value>          BundleId of Application related to uploaded mapping file. Can be set as ENV variable BUNDLE_ID
  -pl --platform <value>         Platform of Application related to uploaded mapping file. Supported values are `android` and `apple`. Can be set as ENV variable PLATFORM
  -av --appVersion <value>       Version of Application related to uploaded mapping file. Can be set as ENV variable APP_VERSION
  -iv --internalVersion <value>  Internal version of Application related to uploaded mapping file. Can be set as ENV variable INTERNAL_VERSION
  -h, --help                     display help for command

Example:
  smartlook-crash-reports-cli upload-mapping-file -t <rest-api-token> -p mapping-file.txt -b com.example.app -pl android -av 0.0.1 -iv build.1234

  smartlook-crash-reports-cli upload-mapping-file -t <rest-api-token> -p Example.dSYM -b com.example.app -pl apple -av 0.0.1 -iv build.1234
```
npm package: @smartlook/stitches-core
Description: The modern CSS-in-JS library
Latest version: 1.2.7-experimental

# @stitches/core

**@stitches/core** is a framework-agnostic implementation of [stitches](https://stitches.dev), a CSS-in-JS library with a best-in-class developer experience.

<p><br /></p>

```sh
# with npm
npm install @stitches/core

# with yarn
yarn add @stitches/core
```

<p><br /></p>

<a href="https://codepen.io/embed/prefill?editable=true&default-tab=js%2Cresult&data=%7B%22js%22%3A%22import+%7B+css+%7D+from+%27https%3A%2F%2Fcdn.skypack.dev%2F%40stitches%2Fcore%27%3B%5Cn%5Cn%2F%2F+add+your+code+here%21%5Cn%2F%2F+see+https%3A%2F%2Fstitches.dev+for+documentation%22%7D"><img src="https://img.shields.io/badge/-open_in_codepen-2b354f?logo=codepen&style=flat-square" alt="open in codepen" valign="middle" align="right"></a>

<br />

```html
<script type="module">

import { css } from 'https://cdn.skypack.dev/@stitches/core'

</script>
```

<p><br /></p>

<a href="https://codepen.io/embed/prefill?editable=true&default-tab=js%2Cresult&data=%7B%22js%22%3A%22const+%7B+css+%7D+%3D+stitches%5Cn%5Cn%2F%2F+add+your+code+here%21%5Cn%2F%2F+see+https%3A%2F%2Fstitches.dev+for+documentation%22%2C%22js_external%22%3A%22https%3A%2F%2Funpkg.com%2F%40stitches%2Fcore%2Fdist%2Findex.global.js%22%7D"><img src="https://img.shields.io/badge/-open_in_codepen-2b354f?logo=codepen&style=flat-square" alt="open in codepen" valign="middle" align="right"></a>

<br />

```js
<script src="https://unpkg.com/@stitches/core/dist/index.global.js"></script>
<script>

const { css } = stitches

</script>
```

<p><br /></p>

## Documentation

For full documentation, visit [stitches.dev](https://stitches.dev).

## Contributing

Please follow our [contributing guidelines](./CONTRIBUTING.md).

## Authors

- Pedro Duarte ([@peduarte](https://twitter.com/peduarte)) - [Modulz](https://modulz.app)
- Abdulhadi Alhallak ([@hadi_hlk](https://twitter.com/hadi_hlk)) - [Modulz](https://modulz.app)
- Jonathan Neal ([@jon_neal](https://twitter.com/jon_neal)) - [Modulz](https://modulz.app)

## License

Licensed under the MIT License, Copyright © 2021-present Modulz.

See [LICENSE](./LICENSE.md) for more information.
npm package: @smartlook/stitches-react
Description: The modern CSS-in-JS library
Latest version: 1.2.7-experimental

# @stitches/react

**@stitches/react** is a react implementation of [stitches](https://stitches.dev), a CSS-in-JS library with a best-in-class developer experience.

<p><br /></p>

```sh
# with npm
npm install @stitches/react

# with yarn
yarn add @stitches/react
```

<p><br /></p>

<a href="https://codepen.io/embed/prefill?editable=true&default-tab=js%2Cresult&data=%7B%22js%22%3A%22import+%7B+styled+%7D+from+%27https%3A%2F%2Fcdn.skypack.dev%2F%40stitches%2Freact%27%3B%5Cn%5Cn%2F%2F+add+your+code+here%21%5Cn%2F%2F+see+https%3A%2F%2Fstitches.dev+for+documentation%22%7D"><img src="https://img.shields.io/badge/-open_in_codepen-2b354f?logo=codepen&style=flat-square" alt="open in codepen" valign="middle" align="right"></a>

<br />

```html
<script type="module">

import { styled } from 'https://cdn.skypack.dev/@stitches/react'

</script>
```

<p><br /></p>

<a href="https://codepen.io/embed/prefill?editable=true&default-tab=js%2Cresult&data=%7B%22js%22%3A%22const+%7B+styled+%7D+%3D+stitches%5Cn%5Cn%2F%2F+add+your+code+here%21%5Cn%2F%2F+see+https%3A%2F%2Fstitches.dev+for+documentation%22%2C%22js_external%22%3A%22https%3A%2F%2Funpkg.com%2Freact%2Fumd%2Freact.development.js%3Bhttps%3A%2F%2Funpkg.com%2Freact-dom%2Fumd%2Freact-dom.development.js%3Bhttps%3A%2F%2Funpkg.com%2F%40stitches%2Freact%2Fdist%2Findex.global.js%22%7D"><img src="https://img.shields.io/badge/-open_in_codepen-2b354f?logo=codepen&style=flat-square" alt="open in codepen" valign="middle" align="right"></a>

<br />

```js
<script src="https://unpkg.com/@stitches/react/dist/index.global.js"></script>
<script>

const { styled } = stitches

</script>
```

<p><br /></p>

## Documentation

For full documentation, visit [stitches.dev](https://stitches.dev).

## Contributing

Please follow our [contributing guidelines](https://github.com/modulz/stitches/blob/canary/CONTRIBUTING.md).

## Authors

- Pedro Duarte ([@peduarte](https://twitter.com/peduarte)) - [Modulz](https://modulz.app)
- Jonathan Neal ([@jon_neal](https://twitter.com/jon_neal)) - [Modulz](https://modulz.app)
- Abdulhadi Alhallak ([@hadi_hlk](https://twitter.com/hadi_hlk)) - [Modulz](https://modulz.app)

## License

Licensed under the MIT License, Copyright © 2021-present Modulz.

See [LICENSE](./LICENSE.md) for more information.
npm package: @smartlook/stitches-stringify
Description: Converts an object into CSS
Latest version: 1.2.7-experimental

<h1>stringify <img src="https://jonneal.dev/css-logo.svg" alt="" width="90" height="90" align="right" /></h1>

**stringify** converts a JavaScript object to a CSS string, optionally replacing values if a [replacer](#replacer) function is specified.

```js
import { stringify } from '@stitches/stringify'

stringify({
  body: {
    backgroundColor: 'white',
    color: 'black',

    '& > nav > ul': {
      '@media (min-width: 640px)': {
        margin: 0,
      }
    }
  }
})
```

```css
body {
  background-color: white;
  color: black;
}

@media (min-width: 640px) {
  body > nav > ul {
    margin: 0;
  }
}
```

The actual output will not be formatted as it appears here.

## Usage

From NPM, add **stringify** to your project:

```bash
npm install @stitches/stringify
```

Use **stringify** to serialize your CSS:

```js
import { stringify } from '@stitches/stringify'

stringify({
  body: {
    margin: 0
  }
})
```

## Replacer

The **replacer** is an optional function that alters the behavior of the stringification process, allowing you to replace entire fragments of CSS.

The **replacer** function takes two parameters, the **property** and **value** of a declaration, and returns a JavaScript object representing a fragment of CSS to replace it.

```js
const replacer = (property, value) => (
  // add a prefix to "tab-size" for Firefox
  property === 'tab-size'
    ? {
      ['-moz-' + property]: value,
      [property]: value,
    }
  // add common prefixes for Safari 14
  : /^(appearance|backface-visibility|background-clip|clip-path|hyphens|mask-image|user-select)$/.test(property)
    ? {
      ['-webkit-' + property]: value,
      [property]: value,
    }
  : null
)
```

```js
stringify({
  button: {
    appearance: 'none'
  },
  textarea: {
    tabSize: 2
  }
})
```

```css
button {
  -webkit-appearance: none;
  appearance: none;
}

textarea {
  -moz-tab-size: 2;
  tab-size: 2;
}
```

The **replacer** function prevents recursion by ignoring replacement of the same property-value pairs in a replaced fragment.

## Examples

### Stringify the `content` property

```js
stringify({
  q: {
    '&::before': {
      content: '«'
    },
    '&::after': {
      content: '»'
    }
  }
})
```

```css
q::before {
  content: '«';
}

q::after {
  content: '»';
}
```

### Stringify `@import` rules

Arrays can be used to create multiple declarations or unnested rules with the same name.

```js
stringify({
  '@import': [
    '"https://unpkg.com/sanitize.css"',
    '"https://unpkg.com/sanitize.css/typography.css"'
  ]
})
```

```css
@import 'https://unpkg.com/sanitize.css';
@import 'https://unpkg.com/sanitize.css/typography.css';
```

### Stringify a fallback property

```js
stringify({
  body: {
    background: [
      'white',
      'var(--page-bg, white)'
    ]
  }
})
```

```css
body {
  background: white;
  background: var(--red-color, white);
}
```
npm package: @smartlyio/fake-time
Description: fake time and timers
Author: Smartly.io
Latest version: 1.0.3

# fake-time

Fake time AND timers in jest.  This here thing aims to solve three(!) problems
 - Jest advanceTimersTo does not change the time Date.now gives out.
 - Jest timer mocks either run the timers once or runs the all timers to 
      exhaustion both of which result in funny if your timers set up new timers
 - Jest timer mocks do not run promises from the promise jobs queue which 
      causes setting new timers from promisy code really annoying.

A working example

```js
// yarn jest examples/working.ts
import * as fakeTime from '../index';

describe('fake-time', () => {
  beforeEach(fakeTime.fake);
  afterAll(fakeTime.restore);

  it('advances time', async () => {
    const start = Date.now();
    await fakeTime.advance(1000);
    expect(Date.now() - start).toBeGreaterThan(1000);
  });

  it('runs promises and new timers from timers', async () => {
    const interval = 10;
    let hits = 0;
    async function set() {
      hits++;
      await Promise.resolve();
      setTimeout(set, interval);
    }
    await set();
    await fakeTime.advance(interval * 10);
    expect(hits).toBeGreaterThan(10);
  });

  describe('wait', () => {
    const dayInMs = 24 * 60 * 50 * 1000;

    it('advances time while waiting', async () => {
      const start = Date.now();
      await fakeTime.wait(async () => expect(Date.now() - start).toBeGreaterThan(dayInMs), {
        untilMs: dayInMs * 2 * 10,
      });
    });
  });
});

```
npm package: @smartlyio/oats-axios-adapter
Description: Axios adapter for Oats a Openapi3 based generator for typescript aware servers and clients
Author: Smartly.io
Latest version: 7.7.8

# Axios client adapter for smartlyio/oats

See [smartlyio/oats](https://github.com/smartlyio/oats)

This adapter provides two ways to bind the generated client definitions

```ts
import * as adapter from '@smartlyio/oats-axios-adapter';

// bind the default axios instance
adapter.create()(definitions);

// provide your own axios instance
adapter.create({axiosInstance: someAxiosInstance})(definitions);
```
npm package: @smartlyio/oats-fast-check
Description: fast-check value generator for smartlyio/oats types
Author: Smartly.io
Latest version: 7.7.8

# Fast-check generators for smartlyio/oats

[Fast-check](https://www.npmjs.com/package/fast-check)  generators for [@smartlyio/oats](https://www.npmjs.com/package/@smartlyio/oats) types.


## generator.named

Generate values of named types from the openapi specification. Here using a jest wrapper.

```ts
>>examples/type.spec.ts
```

## generator.override

Override automatic generators globally with a custom Arbitrary

```
>>examples/override.spec.ts
```
npm package: @smartlyio/oats-fetch-adapter
Description: Fetch adapter for Oats a Openapi3 based generator for typescript aware servers and clients
Author: Smartly.io
Latest version: 7.7.8

# fetch client adapter for smartlyio/oats

See [smartlyio/oats](https://github.com/smartlyio/oats)

This adapter provides two ways to bind the generated client definitions

```ts
import * as adapter from '@smartlyio/oats-fetch-adapter';

adapter.create()(definitions);
```