open-index/open-npm huggingface dataset:
npm package: @talves/itui-color-modes
Description: Adds support for user-controlled color modes
Author: Tony Alves
Latest version: 0.3.0-alpha.0


# @talves/itui-color-modes

Adds support for user-controlled color modes

**Note:** *This package is included in the main `itui` package, and generally should not be used on its own.*

```sh
npm i @theme-ui/color-modes
```

```jsx
import { createThemeProvider } from '@theme-ui/core'
import { createColorModeProvider } from '@theme-ui/color-modes'
import theme from './theme'

export default ({ children, IsolatedContext }) => {
  const { ThemeProvider } = createThemeProvider(
    IsolatedContext
  )
  const { ColorModeProvider } = createColorModeProvider(
    IsolatedContext
  )

  return (
    <ThemeProvider theme={theme}>
      <ColorModeProvider>
        {children}
      </ColorModeProvider>
    </ThemeProvider>
  )
}
```

## API

- `InitializeColorMode`
- `createColorModeProvider`
    - `useColorMode`
    - `ColorModeProvider`
npm package: @talves/use-component-size
Description: React hook (useComponentSize)
Author: talves
Latest version: 0.3.1

<div align="center">
<h1>@talves/use-component-size</h1>
<p>React hook (usePrevious)</p>
</div>

<hr />

## Installation

This module is distributed via [npm][npm] which is bundled with [node][node] and
should be installed as one of your project's `dependencies`:

```
npm install --save @talves/use-component-size
```

OR

```
yarn add @talves/use-component-size
```

## Usage

```js
/* using react ^17.0.1 */
// Creates a component that runs onSizeChange of the component
// only when the component size changed, give current and previous
import { useRef, useCallback, useEffect } from "react";
import { useComponentSize } from "@talves/use-component-size";
import { usePrevious } from "@talves/use-previous";

function sizeEqual(a, b) {
  return JSON.stringify(a) === JSON.stringify(b);
}

const SizeWrapper = ({ children, onSizeChange, ...props }) => {
  const wrapperRef = useRef(null);
  const componentSize = useComponentSize(wrapperRef); // A custom Hook
  const previousSize = usePrevious(componentSize);

  const handleSizeChange = useCallback(
    (size) => {
      if (typeof onSizeChange === "function") {
        onSizeChange(size);
      }
    },
    [onSizeChange]
  );
  useEffect(() => {
    const notEqual = !sizeEqual(componentSize, previousSize);
    if (notEqual) {
      handleSizeChange({
        current: componentSize,
        previous: previousSize,
      });
    }
  }, [componentSize, previousSize, handleSizeChange]);

  return (
    <div ref={wrapperRef} {...props}>
      {children}
    </div>
  );
};

export default SizeWrapper;
```

NOTE: This is a `module` package library for react with jsx. The choice is to resolve the export of main to `src/index.js`. There is a commonjs version in `dist/cjs/index.js` if someone needed.

## Other Solutions

Plenty of other usePrevious hooks out there.

[npm]: https://www.npmjs.com/
[node]: https://nodejs.org/
npm package: @talves/use-previous
Description: React hook (usePrevious)
Author: talves
Latest version: 0.7.1

<div align="center">
<h1>@talves/use-previous</h1>
<p>React hook (usePrevious)</p>
</div>

<hr />

## Installation

This module is distributed via [npm][npm] which is bundled with [node][node] and
should be installed as one of your project's `dependencies`:

```
npm install --save @talves/use-previous
```

OR

```
yarn add @talves/use-previous
```

## Usage

```js
/* using react ^17.0.1 */
import { useEffect } form 'react'
import { usePrevious } from '@talves/use-previous'

function ourFunctionalComponent({ value = 0 }) {
  const [state, setState] = React.useState({ count: value })
  const previousValue = usePrevious(value)

  useEffect(() => {
    setState({ count: value })
  }, [value])

  // prevousState is now the last value
  ...
}
```

NOTE: This is a `module` package library for react with jsx. The choice is to resolve the export of main to `src/index.js`. There is a commonjs version in `dist/cjs/index.js` if someone needed.

## Other Solutions

Plenty of other usePrevious hooks out there.

[npm]: https://www.npmjs.com/
[node]: https://nodejs.org/
npm package: @talves/use-web-storage
Description: React hook (useWebStorage)
Author: talves
Latest version: 0.7.1

<div align="center">
<h1>@talves/use-web-storage</h1>
<p>React hook (useWebStorage)</p>
</div>

<hr />

See [reference][reference] to get aquainted with the Web Storage API

The two mechanisms within Web Storage are as follows:

- `Window.sessionStorage`
- `Window.localStorage`

## Installation

This module is distributed via [npm][npm] which is bundled with [node][node] and
should be installed as one of your project's `dependencies`:

```
npm install --save @talves/use-web-storage
```

OR

```
yarn add @talves/use-web-storage
```

## Usage

```javascript
import { useWebStorage } from "@talves/use-web-storage";

export default (props) => {
  const [storage, setStorage] = useWebStorage(
    "test-data",
    { site: "tony.alves.dev" }
    // { type: "sessionStorage" } // default is "localStorage"
  );

  const handleChangeEvent = (e) => {
    setStorage({ site: e.target.value });
  };

  return (
    <div>
      <input
        onChange={handleChangeEvent}
        defaultValue={storage ? storage.site : ""}
      />
      {storage && <pre>{JSON.stringify(storage, null, 2)}</pre>}
    </div>
  );
};
```

NOTE: This is a `module` package library for react with jsx. The choice is to resolve the export of main to `src/index.js`. There is a commonjs version in `dist/cjs/index.js` if someone needed.

**IMPORTANT** [(Must Read)][storageevent]: Tracking Changes from other pages/settings.

- `window.addEventListener('storage', function(e) {})` does not track changes on the same page. The reason you use the hook for page state.
- `StorageEvent` is fired whenever a change is made to the Storage object only for `localStorage` changes on different pages of the same domain. (Note that this event is not fired for `sessionStorage` changes)

[reference]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API
[storageevent]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#responding_to_storage_changes_with_the_storageevent
[mdn-example]: https://github.com/mdn/dom-examples/tree/master/web-storage
[npm]: https://www.npmjs.com/
[node]: https://nodejs.org/
npm package: @talxis/client-metadata
Description: TALXIS client metadata provider
Author: TALXIS
Latest version: 0.0.3

# @talxis/metadata

> This repo is Work in Progress.

This package is used to provide unified access and strongly typed metadata across hosts in Power Platform and TALXIS Portal.

## Installation

```bash
npm install @talxis/metadata
```

## Development

```bash
# Install dependencies
npm install

# Build the package
npm run build

# Build in watch mode
npm run build:watch
```

## Publishing

This package is automatically published to NPM when a new release is created on GitHub.

### Setup Instructions

1. **Create an NPM token:**
   - Go to [npmjs.com](https://www.npmjs.com/) and log in
   - Navigate to Access Tokens in your account settings
   - Generate a new "Automation" token

2. **Add NPM token to GitHub:**
   - Go to your repository Settings → Secrets and variables → Actions
   - Create a new repository secret named `NPM_TOKEN`
   - Paste your NPM token as the value

3. **Create a release:**
   - Go to the Releases page on GitHub
   - Click "Create a new release"
   - Create a new tag with the format `vX.Y.Z` (e.g., `v1.0.0`)
   - Publish the release

The GitHub Action will automatically:
- Extract the version from the release tag
- Update `package.json` with the new version
- Build the package
- Publish to NPM
- Commit the version change back to the repository
npm package: @tamago-labs/okx-dex-mcp
Description: MCP server for OKX DEX Analytics - comprehensive DEX aggregator analytics with multi-chain support
Author: Pisuth
Latest version: 0.1.0

# OKX DEX MCP Server

MCP server for OKX DEX Analytics - comprehensive DEX aggregator analytics with multi-chain support including both EVM and non-EVM chains.

## Features

- **Multi-chain Support**: Ethereum, Polygon, Arbitrum, Base, Optimism, Avalanche, BSC, Cronos, and more + Non-EVM chains (Solana, SUI, Tron, TON)
- **Quote Analytics**: Get best swap quotes across multiple DEXs
- **Liquidity Analytics**: Monitor liquidity sources across different chains
- **Chain Information**: Get supported chain configurations
- **Cross-chain Comparisons**: Compare quotes across multiple chains
  

## Available Tools (10 Total)

### Quote & Pricing (3 tools)
- `get_okx_quote` - Get swap quotes between tokens
- `compare_multichain_quotes` - Compare quotes across chains
- `get_okx_popular_token_pairs` - Get popular token pairs for a chain

### Liquidity Analytics (2 tools)
- `get_okx_liquidity` - Get liquidity sources for a chain
- `get_okx_multichain_liquidity` - Get liquidity across multiple chains

### Chain Information (2 tools)
- `get_okx_supported_chains` - Get all supported chains
- `get_okx_chain_info` - Get specific chain configuration

### Market & Overview (2 tools)
- `get_okx_market_summary` - Get market overview
- `get_okx_dex_overview` - Get OKX DEX overview

### Symbol Converter (1 tool)
- `get_symbol_to_address_instructions` - Get instructions to convert token symbols to contract addresses

## Supported Chains (28 Total)

### EVM Chains (24)
- Ethereum (1), Optimism (10), BSC (56), Polygon (137)
- Arbitrum (42161), Avalanche (43114), Base (8453), Cronos (25)
- zkSync Era (324), Fantom (250), Mantle (5000), Linea (59144)
- Scroll (534352), Blast (81457), Manta Pacific (169)
- Metis (1088), Conflux (1030), Zeta Chain (7000)
- And more...

### Non-EVM Chains (4)
- Solana (501), SUI (784), Tron (195), TON (607)
 

## License

MIT
npm package: @tamagui-extras/core
Description: This package contains components which are not part of the core tamagui framework. You find the installation for Tamagui [here](https://tamagui.dev/docs/intro/installation)
Author: Dominic Garms
Latest version: 1.12.3

# @tamagui-extras/core Installation and configuration

This package contains components which are not part of the core tamagui framework. You find the installation for
Tamagui [here](https://tamagui.dev/docs/intro/installation)

### Installation of @tamagui/core

```sh
# yarn add @tamagui-extras/core
```

### Configuration of NextJS

Add `@tamagui-extras/core` to the config section of your `next.config.js` file.

```js
withTamagui({
    config: './tamagui.config.ts',
    components: ['tamagui', '@tamagui-extras/core'],
    // the rest of your config
})
```

Important: if you bump into compile issues you might have to add the package also to the `transpileModule` section.

Have a look of the NextJS
config -[see example](https://github.com/dohomi/tamagui-kitchen-sink/blob/master/apps/next/next.config.js#L16)

```js
require('next-transpile-modules')(
    [
        'solito',
        'react-native-web',
        'expo-linking',
        'expo-constants',
        'expo-modules-core',
        '@tamagui-extras/core'
        // the rest of the config
    ]
)
```

Everytime you face the situation that an error message appears similar
to `SyntaxError: Cannot use import statement outside a module` you might use an node module which is not transpiled for
web.

### Components

All components are prefixed with `Lm` to have an easy identifier which component belongs to this package.

### Example

```js
import {LmAlert} from "@tamagui-extras/core";
import {YStack} from 'tamagui'

function MyApp() {
    return (
        <YStack space>
            <LmAlert text={"My alert message"}/>
        </YStack>
    )
}
```

### Links

[Storybook Demo](https://tamagui-extras.vercel.app/?path=/docs/core-content-alert--documentation)
npm package: @tamagui-extras/form
Description: ### Installation
Author: Dominic Garms
Latest version: 1.17.3

## Tamagui + React-Hook-Form == `@tamagui-extras/form`

### Installation

To use Tamagui and React Hook Form together, install the following packages first:

```sh 
yarn add @tamagui-extras/form
```

### Configuration

Add `@tamagui-extras/form` to the `next.config.js` or `babel.config.js` file to transpile the package.

```js
withTamagui({
    config: './tamagui.config.ts',
    components: ['tamagui', '@tamagui-extras/form' /* any other ui components */],
    // the rest of your config
})
```

### Integration of `react-hook-form`

Form components starts with `Lm` have a trailing `Rhf` component name for an easy integration with `react-hook-form`
library.

Wrap any form component with `LmFormRhfProvider` and add a `LmSubmitButtonRhf` to validate and receive all form values.

### Usage

```tsx
import {LmFormRhfProvider, LmInputRhf, LmSliderRhf, LmSubmitButtonRhf} from "@tamagui-extras/form";
import {YStack} from 'tamagui'

function MyForm() {
    const [mutate, {isLoading}] = useMutation()
    return (
        <LmFormRhfProvider>
            <YStack space>
                <LmInputRhf name={'name'} label="Name"/>
                <LmSliderRhf name={'slider'} label="Slider"/>
                <LmSubmitButtonRhf
                    onSubmit={(formData) => {
                        mutate(formData)
                    }}
                    loading={isLoading}
                >Submit
                </LmSubmitButtonRhf>
            </YStack>
        </LmFormRhfProvider>
    )
}
```

For better Typescript support you can also use the render function of `LmFormRhfProvider`, have a look at following
example:

```tsx
<LmFormRhfProvider
    defaultValues={{
        name: '',
        email: ''
    }}
>
    {({control, handleSubmit, reset}) => (
        <Form gap={'$3'}
              onSubmit={handleSubmit(data => {
                  console.log(data);
              })}
        >
            <LmAlert severity={'info'} outlined>
                <Paragraph>
                    To be type safe use render function as child of LmFormRhfProvider and pass `control`
                    to all form components.
                </Paragraph>
            </LmAlert>
            <LmInputRhf name={'name'} control={control} label={'Name'} placeholder={'Type your name...'} labelInline
                        required/>
            <LmInputRhf name={'email'} control={control} label={'Name'} placeholder={'Type your email...'} labelInline/>
            <XStack gap={'$3'}>
                <LmButton onPress={() => reset()}>Reset</LmButton>
                <Form.Trigger asChild>
                    <LmButton colorVariant={'primary'}>Submit</LmButton>
                </Form.Trigger>
            </XStack>
        </Form>)}
</LmFormRhfProvider>
```

Demo of all components: [Storybook Demo](https://tamagui-extras.vercel.app/?path=/docs/form-autocomplete--documentation)
npm package: @tamarak/jquery-transition
Description: A lightweight jQuery plugin for smooth CSS transitions with customizable enter and leave animations.
Author: Marc Boisvert-Dupras
Latest version: 1.0.1

# jQuery Transition Plugin

A lightweight jQuery plugin for smooth CSS transitions with customizable enter and leave animations.

## Features

- Smooth fade-in/fade-out transitions
- Customizable timing, duration, and CSS classes
- Chainable jQuery methods
- Uses `requestAnimationFrame` for optimal performance
- Compatible with CSS frameworks like Tailwind CSS

## Usage

### Basic Usage

```javascript
// Initialize with default settings
$('.my-element').transition();

// Show element with fade-in animation
$('.my-element').show();

// Hide element with fade-out animation  
$('.my-element').hide();
```

### Custom Configuration

```javascript
$('.my-element').transition({
  enter: {
    start: 'opacity-0 scale-95',
    end: 'opacity-100 scale-100',
    duration: 500,
    timing: 'ease-out'
  },
  leave: {
    start: 'opacity-100 scale-100',
    end: 'opacity-0 scale-95', 
    duration: 300,
    timing: 'ease-in'
  }
});
```

## Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `enter.start` | String | `'opacity-0'` | CSS classes applied at animation start (enter) |
| `enter.end` | String | `'opacity-100'` | CSS classes applied at animation end (enter) |
| `enter.duration` | Number | `300` | Animation duration in milliseconds (enter) |
| `enter.timing` | String | `'ease-out'` | CSS timing function (enter) |
| `leave.start` | String | `'opacity-100'` | CSS classes applied at animation start (leave) |
| `leave.end` | String | `'opacity-0'` | CSS classes applied at animation end (leave) |
| `leave.duration` | Number | `300` | Animation duration in milliseconds (leave) |
| `leave.timing` | String | `'ease-in'` | CSS timing function (leave) |

## Requirements

- jQuery 1.7+
- Modern browser with `requestAnimationFrame` support

## Installation

### npm

```bash
npm install @tamarak/jquery-transition
```

Then include the plugin after jQuery:

```javascript
// If using a module bundler
import 'jquery-transition';

// Or require in Node.js
require('jquery-transition');
```

### CDN / Direct Download

Include the plugin after jQuery:

```html
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="jquery.transition.js"></script>
```

## License

MIT License
npm package: @tamasha/axios-connection
Description: Cluster-based axios client manager with round-robin replicas and safe destroy
Author: Tamasha Team
Latest version: 1.0.0

# @tamasha/axios-connection

Single, reusable Axios instance with keep-alive agents and a safe destroy method.

- Initialize once with `AxiosConnection.init({...})`
- Reuse via `AxiosConnection.get()` across files
- `destroy()` closes keep-alive agents to prevent memory leaks

## Install

```bash
npm install @tamasha/axios-connection
```

## Usage

```ts
// http/client.ts
import AxiosConnection from "@tamasha/axios-connection";

AxiosConnection.init({
  // baseURL is optional; callers can pass absolute URLs per request
  timeout: 10000,
});

export const http = AxiosConnection.get();
```

```ts
// features/user.ts
import { http } from "../http/client";

export async function getUser(id: string) {
  // can use relative if baseURL is set, or absolute otherwise
  const { data } = await http.get(`https://api.example.com/users/${id}`);
  return data;
}
```

```ts
// shutdown (e.g., on process exit)
import AxiosConnection from "@tamasha/axios-connection";
await AxiosConnection.destroy();
```

## Notes

- The instance uses `agentkeepalive` under the hood with sensible defaults and supports overrides.
- Call `destroy()` during graceful shutdown to ensure sockets are closed and no resources are leaked.
npm package: @tamedjs/tm-sync
Description: The TamedJs tool for syncing TM Drives.
Author: The TRG, LLC
Latest version: 0.15.0

# TM Sync

The TamedJs tool for syncing TM Drives.

## Issues

* The [PEM Library will not work on OpenSSL](https://github.com/coder/code-server/issues/5162) beyond `1.1.1g`.
* This means when placing on an OS (like Ubuntu past 20.04) you will get newever versions of OpenSSL.
* Droplets on DigitalOcean can cause issues using `npm install` where the binary detects root acess. Use `yarn global add @tamedjs/tm-sync` instead.

## Testing System

Below is an example of how to test tm-sync locally running the `tmsync` command. It requires starting two tm-sync hubs that can communicate with one another.

```
# Start hub 1, note the testing arguments
tmsync --testing true --testfiles true --user @test1 --port 9000

# Start hub 2 that will connect to hub 1
tmsync --testing true --user @test2 --port 9001 --hubs https://localhost:9000

---

# RESTFUL API Calls

---
# Check the folders for the hub at port 9000
request:
POST https://localhost:9000/_tm/api/tm-sync/scan
{
	"depth": 1,
	"target": "@test1/public/sample"
}
reply:
{
  "code": 200,
  "message": "ok",
  "result": [
    "@test1/public/sample/image.png",
    "@test1/public/sample/test.txt"
  ]
}

---
Send details on file to be synced with other hubs
request:
POST https://localhost:9000/_tm/api/tm-sync/sync
{
	"target": "@test1/public/sample/image.png"
}
reply:
{
    "code": 201,
    "message": "created"
}

---
Check if a path is valid
request:
POST https://localhost:9000/_tm/api/tm-sync/path
  // for dir (NOTE: probably just make this one command...)
  {
    "target": "@test1/public/sample/image.png",
    "isDir": true
  }

  // for files
  {
    "target": "@test1/public/sample/image.png"
  }
reply:
{
  "code": 200,
  "message": "ok"
}

```

## TODO

* Allow the path checking work the same for a file or directory (remove isDir)
* Version the api routes
* Version the payload responses

## Resource

* [PEM Library Issues](https://github.com/coder/code-server/issues/5162) - Noet 1
* [Cl1p](https://cl1p.net) - An online clipboard that can be shared by QR Code or custom URL
* [RustDesk OS](https://www.youtube.com/watch?v=9nzHm3xGz2I) - An opensource self hosted remote desktop viewer.
npm package: @tamkelvin313/firewalker
Description: The clone of [SerCeMan/firewalker](https://github.com/SerCeMan/firewalker), with adding apple silicon support.
Latest version: 1.0.4

[![npm version](https://badge.fury.io/js/firewalker.svg)](https://www.npmjs.com/package/@tamkelvin313/firewalker)

The clone of [SerCeMan/firewalker](https://github.com/SerCeMan/firewalker), with adding apple silicon support. For the document please reference the orginal repo.

# Apple Silcon (M1) support issue for npm plugin `firewalker`

The npm package `firewalker` depends on binary build of [`wirefilter`](https://github.com/cloudflare/wirefilter) to run and execute the firewall rules to perform js based unit test. However,the binary build inside the npm package is `x86` based, not support with apple silcon machine, bring some troublesome during development.

The following is the guideline to resolve the problem and this plugin is only the clone with below modification

- Clone the following repo `https://github.com/cloudflare/wirefilter` with commit [2334ab150](https://github.com/cloudflare/wirefilter/commit/2334ab150abd803a555b1541a7e44891b7f5cc60).
- Apply the patch file at npm package [`SerCeMan/firewalker/blob/master/lib/wirefilter.patch`](https://github.com/SerCeMan/firewalker/blob/master/lib/wirefilter.patch)
- Build the `wirefilter` with `aarch64-apple-darwin` architecture. 
```
cargo build --release --target aarch64-apple-darwin
```
- Copy the birary file compiled at last step `wirefilter/target/aarch64-apple-darwin/release/libwirefilter_ffi.dylib` to replace the `node_modules/firewalker/lib/libwirefilter_ffi.dylib`
npm package: @tamland/babel
Description: Collection of babel dependencies
Author: News Team
Latest version: 0.0.36

# @tamland/babel

[![License](https://img.shields.io/npm/l/@tamland/babel.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/babel/latest.svg)](https://www.npmjs.com/package/@tamland/babel)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/babel.svg)](https://www.npmjs.com/package/@tamland/babel)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fbabel)](https://david-dm.org/feight/tamland?path=packages/babel)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fbabel)](https://david-dm.org/feight/tamland?type=dev&path=packages/babel)

This package provides a set of dependencies that can be used to run babel with @tamland/babel-preset without having to do the manual peer dependency install step required if you
install @tamland/babel-preset directly.

## Usage

### Installation

1. Install the package:

  ```sh
  npm install --save-dev @tamland/babel
  ```
npm package: @tamland/babel-preset
Description: Shared preset for babel
Author: News Team
Latest version: 0.0.33

# @tamland/babel-preset

[![License](https://img.shields.io/npm/l/@tamland/babel-preset.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/babel-preset/latest.svg)](https://www.npmjs.com/package/@tamland/babel-preset)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/babel-preset.svg)](https://www.npmjs.com/package/@tamland/babel-preset)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fbabel-preset)](https://david-dm.org/feight/tamland?path=packages/babel-preset)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fbabel-preset)](https://david-dm.org/feight/tamland?type=dev&path=packages/babel-preset)

This package provides a preset for babel.

## Usage

A single babel preset is exported.

Our default export contains all of our babel plugins and presets. It requires the following peer dependencies:

```
    @babel/core
```

### Installation

1. Install the shared configuration:

  ```sh
  npm install --save-dev @tamland/babel-preset
  ```

2. Install the shared configuration peer dependencies (npm 5+):

  ```sh
  npx install-peerdeps --dev @tamland/babel-preset
  ```

3. Add `"@tamland/babel-preset"` or your `"presets"` array in to your .babelrc.

## Configuration

### targets

#### `string | Array<string> | { [string]: string }, defaults to {}.`

Describes the environments you support/target for your project.

This can either be a browserslist-compatible query:

```
{
  "targets": "> 0.25%, not dead"
}
```

Or an object of minimum environment versions to support:

```
{
  "targets": {
    "chrome": "58",
    "ie": "11"
  }
}
```

Example environments: chrome, opera, edge, firefox, safari, ie, ios, android, node, electron.

Sidenote, this uses @babel/preset-env under the hood, so if no targets are specified it will transform all ECMAScript 2015+ code by default.


### addModuleExports

#### `boolean, defaults to false.`

Enables the export default module.exports that was turned off in Babel 6.


### debug

#### `boolean, defaults to false.`

Outputs the targets/plugins used and the version specified in plugin data version to console.log.


### development

#### `boolean, defaults to false.`

Toggles plugins that aid in development, such as @babel/plugin-transform-react-jsx-self and
@babel/plugin-transform-react-jsx-source.


## Maintenance

You can run tests with `npm test`.
npm package: @tamland/config
Description: @tamland project configuration
Author: News Team
Latest version: 0.0.37

# @tamland/config

[![License](https://img.shields.io/npm/l/@tamland/config.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/config/latest.svg)](https://www.npmjs.com/package/@tamland/config)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/config.svg)](https://www.npmjs.com/package/@tamland/config)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fconfig)](https://david-dm.org/feight/tamland?path=packages/config)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fconfig)](https://david-dm.org/feight/tamland?type=dev&path=packages/config)

This package exports the tamlandrc project configuration with types.

## Usage

A single configuration object is exported.

### Installation

1. Install the shared configuration:

  ```sh
  npm install @tamland/config
  ```

2. Import the config
  ```js
  import config from "@tamland/config";
  ```

## Maintenance

You can run tests with `npm test`.
npm package: @tamland/core
Description: Node.js SSR application framework
Author: News Team
Latest version: 0.0.22


@tamland/core

[![License](https://img.shields.io/npm/l/@tamland/core.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/core/latest.svg)](https://www.npmjs.com/package/@tamland/core)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/core.svg)](https://www.npmjs.com/package/@tamland/core)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fcore)](https://david-dm.org/feight/tamland?path=packages/core)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fcore)](https://david-dm.org/feight/tamland?type=dev&path=packages/core)
npm package: @tamland/eslint
Description: Collection of eslint dependencies
Author: News Team
Latest version: 0.0.84

# @tamland/eslint

[![License](https://img.shields.io/npm/l/@tamland/eslint.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/eslint/latest.svg)](https://www.npmjs.com/package/@tamland/eslint)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/eslint.svg)](https://www.npmjs.com/package/@tamland/eslint)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Feslint)](https://david-dm.org/feight/tamland?path=packages/eslint)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Feslint)](https://david-dm.org/feight/tamland?type=dev&path=packages/eslint)

This package provides a set of dependencies that can be used to run eslint with @tamland/eslint-config without having to do the manual peer dependency install step required if you
install @tamland/eslint-config directly.

## Usage

### Installation

1. Install the package:

  ```sh
  npm install --save-dev @tamland/eslint
  ```
2. Add `"extends": "@tamland"` to your .eslintrc.
npm package: @tamland/eslint-config
Description: Shared config for eslint
Author: News Team
Latest version: 0.0.90

# @tamland/eslint-config

[![License](https://img.shields.io/npm/l/@tamland/eslint-config.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/eslint-config/latest.svg)](https://www.npmjs.com/package/@tamland/eslint-config)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/eslint-config.svg)](https://www.npmjs.com/package/@tamland/eslint-config)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Feslint-config)](https://david-dm.org/feight/tamland?path=packages/eslint-config)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Feslint-config)](https://david-dm.org/feight/tamland?type=dev&path=packages/eslint-config)

This package provides a shared config for eslint and several of its plugins.

Optionally, it also includes support for eslinting typescript.

## Usage

A single ESLint configuration is exported.

Our default export contains all of our ESLint rules, including ECMAScript 6+ and several plugins. It requires the following peer dependencies:

```
    @typescript-eslint/eslint-plugin
    @typescript-eslint/parser
    eslint
    eslint-plugin-array-func
    eslint-plugin-async-await
    eslint-plugin-compat
    eslint-plugin-css-modules
    eslint-plugin-es
    eslint-plugin-eslint-comments
    eslint-plugin-filenames
    eslint-plugin-format-message
    eslint-plugin-import
    eslint-plugin-jsx-control-statements
    eslint-plugin-lean-imports
    eslint-plugin-more
    eslint-plugin-no-unsanitized
    eslint-plugin-no-useless-assign
    eslint-plugin-node
    eslint-plugin-optimize-regex
    eslint-plugin-prefer-object-spread
    eslint-plugin-promise
    eslint-plugin-react
    eslint-plugin-react-filenames
    eslint-plugin-react-hooks
    eslint-plugin-react-native
    eslint-plugin-react-perf
    eslint-plugin-react-redux
    eslint-plugin-react-ssr
    eslint-plugin-security
    eslint-plugin-sort-keys-fix
    eslint-plugin-unicorn
    eslint-plugin-webassembly
    eslint-plugin-you-dont-need-lodash-underscore
    eslint-plugin-you-dont-need-momentjs
    typescript
```

### Installation

1. Install the shared configuration:

  ```sh
  npm install --save-dev @tamland/eslint-config
  ```

2. Install the shared configuration peer dependencies (npm 5+):

  ```sh
  npx install-peerdeps --dev @tamland/eslint-config
  ```

3. Add this to your .eslintrc.

  ```json
    "extends": "@tamland"
  ```

## Maintenance

You can run tests with `npm test`.

You can make sure this module lints with itself using `npm run lint`.
npm package: @tamland/imagemin
Description: Preconfigured imagemin function
Author: News Team
Latest version: 0.0.34

# @tamland/imagemin

[![License](https://img.shields.io/npm/l/@tamland/imagemin.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/imagemin/latest.svg)](https://www.npmjs.com/package/@tamland/imagemin)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/imagemin.svg)](https://www.npmjs.com/package/@tamland/imagemin)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fimagemin)](https://david-dm.org/feight/tamland?path=packages/imagemin)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fimagemin)](https://david-dm.org/feight/tamland?type=dev&path=packages/imagemin)

This package provides a shared config for imagemin and several of its plugins.

## Install

```
$ npm install imagemin
```
## Usage

```js
import imagemin from "@tamland/imagemin";

(async () => {

  const files = await imagemin(['images/*.{jpg,png}'], 'build/images');

  console.log(files);
  //=> [{data: <Buffer 89 50 4e …>, path: 'build/images/foo.jpg'}, …]

})();
```

## API

### imagemin(input, [output], [options])

Returns `Promise<Object[]>` in the format `{data: Buffer, path: string}`.

#### input

Type: `string[]`

Files to be optimized. See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).

#### output

Type: `string`

## Maintenance

You can run tests with `npm test`.
npm package: @tamland/logger
Description: Logger for tamland tasks
Author: News Team
Latest version: 0.0.45

# @tamland/logger

[![License](https://img.shields.io/npm/l/@tamland/logger.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/logger/latest.svg)](https://www.npmjs.com/package/@tamland/logger)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/logger.svg)](https://www.npmjs.com/package/@tamland/logger)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Flogger)](https://david-dm.org/feight/tamland?path=packages/logger)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Flogger)](https://david-dm.org/feight/tamland?type=dev&path=packages/logger)

This package provides a logger for tamland tasks.

## Install

```
$ npm install logger
```
## Usage

```js
import { logger } from "@tamland/logger";

logger.log(label, message);

```

## Maintenance

You can run tests with `npm test`.
npm package: @tamland/rc-config
Description: @tamland rc project configuration
Author: News Team
Latest version: 0.0.2

# @tamland/rc-config

[![License](https://img.shields.io/npm/l/@tamland/rc-config.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/rc-config/latest.svg)](https://www.npmjs.com/package/@tamland/rc-config)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/rc-config.svg)](https://www.npmjs.com/package/@tamland/rc-config)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Frc-config)](https://david-dm.org/feight/tamland?path=packages/rc-config)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Frc-config)](https://david-dm.org/feight/tamland?type=dev&path=packages/rc-config)

This package exports the tamlandrc project configuration with types.

## Usage

A single configuration object is exported.

### Installation

1. Install the shared configuration:

  ```sh
  npm install @tamland/rc-config
  ```

2. Import the config
  ```js
  import config from "@tamland/rc-config";
  ```

## Maintenance

You can run tests with `npm test`.
npm package: @tamland/stylelint
Description: Collection of stylelint dependencies
Author: News Team
Latest version: 0.0.35

# @tamland/stylelint

[![License](https://img.shields.io/npm/l/@tamland/stylelint.svg)](https://github.com/feight/tamland/blob/master/LICENSE)
[![npm package](https://img.shields.io/npm/v/@tamland/stylelint/latest.svg)](https://www.npmjs.com/package/@tamland/stylelint)
[![npm downloads](https://img.shields.io/npm/dm/@tamland/stylelint.svg)](https://www.npmjs.com/package/@tamland/stylelint)
[![Dependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fstylelint)](https://david-dm.org/feight/tamland?path=packages/stylelint)
[![DevDependencies](https://img.shields.io/david/feight/tamland.svg?path=packages%2Fstylelint)](https://david-dm.org/feight/tamland?type=dev&path=packages/stylelint)

This package provides a set of dependencies that can be used to run stylelint with @tamland/stylelint-config without having to do the manual peer dependency install step required if you
install @tamland/stylelint-config directly.

## Usage

### Installation

1. Install the package:

  ```sh
  npm install --save-dev @tamland/stylelint
  ```
2. Add `"extends": "@tamland/stylelint"` to your .stylelintrc.
npm package: @tammle93/rollup-plugin-html-template
Description: Allow using html file as a template for injecting chunks and assets
Author: Tam Minh Le
Latest version: 1.0.4

# rollup-plugin-html-template
Allow using html file as a template for injecting chunks and assets  
Dead-simple implementation, if have any issues, feel free to raise and contribute!  
Or *roll* your own implementation, happy coding!

### Usage
```javascript
import htmlTemplate from '@tammle93/rollup-plugin-html-template'

htmlTemplate({
  input: 'src/index.template.html',
  css: 'bundle.css'
})
```


### Build
```
yarn run build
or
npm run build
```
npm package: @tammo/react-iban
Description: React component to input IBAN numbers
Author: tammo
Latest version: 0.0.2

# react IBAN

![travis ci build status](https://api.travis-ci.org/tammo/react-iban.svg)

Input component for european IBAN numbers. It does format the user input to the human-machine readable format. It *does not validate* the IBAN.

## install

    yarn add @tammo/react-iban

## changelog

- v0.0.2
  - peer dependencies downgrade
- v0.0.1
  - initial version

## props

`onChange` - will receive the IBAN in machine readable form (no spaces). It will receive undefined, if the user removes all chars.

`initialValue` - to set the IBAN that is shown on first render.

All props will be passed down to the input element.

## styling

There is no CSS. Please set your own classNames.

## usage

Import default component:

    import IBAN from '@tammo/react-iban'


You can calso use the formatting function. The function takes a string as the only parameter.

    import { format } from '@tammo/react-iban'

## output

A single input element:

    <input type="text" size="27" />

## example

As if the user would have input their IBAN. `value` is what onChange received and `format` used the exported format function.

![screeshot of a filled IBAN input](./example.png)