open-index/open-npm huggingface dataset:
npm package: @sketchmine/library
Description: Generates the whole dynatrace sketch library.
Author: Lukas Holzer
Latest version: 2.6.0

![Github banner for sketchmine](https://dt-cdn.net/images/github-banner-2x-1777-2b23e499af.png)

The library package is the orchestrator and conductor of some parts of the library.
Think of it as the main shaft in a mine where the mine car has to deliver diamonds from the furthest tunnel through the shaft and up to the entrance.

# @sketchmine/library

- [@sketchmine/library](#sketchminelibrary)
  - [Dependency graph](#dependency-graph)
  - [Want to Contribute?](#want-to-contribute)
    - [building the package](#building-the-package)
    - [linting](#linting)
    - [testing](#testing)

## Dependency graph

![Dependency graph of the sketchmine library generation](https://dt-cdn.net/images/library-3920-8b693db8f2.png)

## Want to contribute?

We would be glad if you find a bug or a missing feature and contribute your solution.
To archive that some things are necessary to know.

### Building the package

For building the package [Rollup.js](https://rollupjs.org/guide/en) is used as a module bundler. The configuration can be found in the `rollup.config.js` and is orchestrated by the [yarn](https://yarnpkg.com/en/) package manager.
The package bundle is in the **commonjs** format and meant to be consumed only be node.js applications.

The build can be started with the following two commands:

- `yarn build` for building the package.
- `yarn dev` for building and watching the sources of the package. *(rebuilds after safe)*

### Linting

The source code of this package is going to be linted by our CI environment. To ensure a coding standard and quality use the configured linter [tslint](https://palantir.github.io/tslint/). This package extends from the `tslint-config-airbnb` and the linting configuration extends from the root `tslint.json`.

Run `yarn lint` to execute the linter.

### testing

Sorry but currently there are no tests specified. 😭
Feel free to add some! 💪🏻
npm package: @sketchmine/sketch-color-replacer
Description: Replaces a set of colors with a given set of colors
Author: Lukas Holzer
Latest version: 3.0.0

![Github banner for sketchmine](https://dt-cdn.net/images/github-banner-2x-1777-2b23e499af.png)

# @sketchmine/sketch-color-replacer

The sketch-color-replacer is a CLI tool for replacing a set of legacy colors with new colors.
We had the need @Dynatrace to replace over 80 colors, over multiple files with the new brand colors.

- [@sketchmine/sketch-color-replacer](#sketchminesketch-color-replacer)
  - [Dependency graph](#dependency-graph)
  - [Prerequisites](#prerequisites)
    - [Installation](#installation)
  - [Run the replacer](#run-the-replacer)
  - [Want to Contribute?](#want-to-contribute)
    - [building the package](#building-the-package)
    - [linting](#linting)
    - [testing](#testing)

## Dependency graph

![Dependency graph of the sketchmine sketch-color-replacer](https://dt-cdn.net/images/sketch-color-replacer-3920-0a2d6ceb84.png)

## Prerequisites

The color-replacer needs a `./colors-json` file provided with the colors that need to be replaced and of course a .sketch file where the replacement should be applied.

The **colors.json** file follows following convention:

```json
{
  "legacycolor": "newcolor",
  "#AJ54K0": "#333333",
  ...
}
```

### Installation

Installing the package can be performed with yarn or npm. `yarn add @sketchmine/sketch-color-replacer` will add the **executable** and the **typings** to your node_modules folder.

## Run the replacer

To execute the colors replacer you can go ahead with the .bin like `npx skm-color-replacer --colors /path/to/colors.json --file /path/to/file.sketch`.

## Want to contribute?

If you find a bug or a missing feature, please let us know your solution so that we can document it

### Building the package

For building the package [Rollup.js](https://rollupjs.org/guide/en) is used as a module bundler. The configuration can be found in the `rollup.config.js` and is orchestrated by the [yarn](https://yarnpkg.com/en/) package manager.
The package bundle is in the **commonjs** format and meant to be consumed only be node.js applications.

The build can be started with the following two commands:

- `yarn build` for building the package.
- `yarn dev` for building and watching the sources of the package. *(rebuilds after safe)*

### Linting

The source code of this package is going to be linted by our CI environment. To ensure a coding standard and quality use the configured linter [tslint](https://palantir.github.io/tslint/). This package extends from the `tslint-config-airbnb` and the linting configuration extends from the root `tslint.json`.

run `yarn lint` to execute the linter.

### Testing

Sorry but currently there are no tests specified. 😭
Feel free to add some! 💪🏻
npm package: @sketchmine/sketch-object-id-collector
Description: The object ID collector gets a Sketch file and collects object IDs that need to be preserved when generating a new library version.
Author: Lara Aigmueller
Latest version: 3.0.0

![Github banner for sketchmine](https://dt-cdn.net/images/github-banner-2x-1777-2b23e499af.png)

# @sketchmine/sketch-object-id-collector

The Sketch object ID collector gets a Sketch (library) file and collects IDs of the following Sketch objects:
- the file itself (the ID of the document)
- all symbol master objects
- all text layers

When creating a new Sketch library file, IDs must be preserved to not lose the connection to symbols and overrides in the Sketch file that uses the Sketch library file. This is why the [sketch-builder](../packages/sketch-builder/README.md) uses the sketch-object-id-collector when generating a new library version of an already existing library.

## Usage

Import the `getObjectIdMapping` function and call it with a path to a previous library build. The `outFile` parameter is optional. When given, the result of the collector is stored in a json-file.

```
import { getObjectIdMapping } from '@sketchmine/sketch-object-id-collector';

// ...

const prevBuild = '/path/to/previous/library.sketch';
const outFile = '/path/to/outfile.json';
const collection = await getObjectIdMapping(prevBuild, outFile);
```

### Command line arguments

The object ID collector can also be executed via the command line.

```
-h, --help  | display help
--file      | Sketch file, previous library build
--outFile   | json file to store the collection output (optional) 
```
npm package: @sketchmine/sketch-validation-plugin
Description: Sketch plugin for our validation
Author: Lukas Holzer
Latest version: 3.0.0

![Github banner for sketchmine](https://dt-cdn.net/images/github-banner-2x-1777-2b23e499af.png)

# @sketchmine/sketch-validaton-plugin

The sketch validation plugin is the [Sketch](https://www.sketchapp.com/) plugin to run the validation inside your local Sketch app.

- [@sketchmine/sketch-validaton-plugin](#sketchminesketch-validaton-plugin)
  - [Installation](#installation)
    - [Add the plugin to Sketch](#add-the-plugin-to-sketch)
    - [Symlinking](#symlinking)

## Installation

Install the package with `yarn` and build the plugin with a `yarn build`. Afterwards you should see a `.sketchplugin` folder where the builded files are inside.

The plugin get generated with the [official Sketch plugin manager](https://github.com/skpm/skpm).

### Add the plugin to Sketch

To install this plugin you can place it in the Plugin in Folders under `~/Library/Application\ Support/com.bohemiancoding.sketch3/Plugins/*`.

### Symlinking

But if you want to develop the plugin a **symlink** would be nice.
So for that you can run `yarn add:plugin`. This command will create a symlink and if you re-build your plugin it gets automatically changed in the Plugin folder.
npm package: @sketchmonk/acl
Description: A library for operating on access control list, validating access request etc.
Latest version: 0.0.1-alpha.0

# @sketchmonk/acl - Access Control Library

## Overview

`@sketchmonk/acl` is a powerful JavaScript library designed to simplify access control in your applications. It provides utilities for defining, matching, and evaluating access control policies, with support for role-based access control (RBAC) through Roles and Subjects.

## Features

- **Access Control Policies:** Easily define and manage access control policies in your application.
  
- **Role-Based Access Control (RBAC):** Implement RBAC with ease using the provided Roles and Subjects.

- **Policy Matching:** Quickly check whether a user or a role has the necessary permissions for a given action.

- **Policy Evaluation:** Evaluate and enforce access control policies across your application.

## Installation

Install the library using npm:

```bash
npm install @sketchmonk/acl
```

## Acknowledgments

Thank you for using @sketchmonk/acl. If you have any questions, issues, or suggestions, please feel free to contact [developer@sketchmonk.com](mailto://developer@sketchmonk.com)

Happy Coding !!!
npm package: @sketchpixy/react-router-scroll
Description: React Router scroll management
Author: Jimmy Jia
Latest version: 0.3.2

# react-router-scroll [![Travis][build-badge]][build] [![npm][npm-badge]][npm]

[React Router](https://github.com/reactjs/react-router) scroll management.

## Usage

```js
import { applyRouterMiddleware, browserHistory, Router } from 'react-router';
import useScroll from 'react-router-scroll';

/* ... */

ReactDOM.render(
  <Router
    history={browserHistory}
    routes={routes}
    render={applyRouterMiddleware(useScroll())}
  />,
  container
);
```

## Guide

### Installation

```shell
$ npm i -S react react-dom react-router
$ npm i -S react-router-scroll
```

### Basic usage

Apply the `useScroll` router middleware, as in the example above.

### Custom scroll behavior

You can provide a custom `shouldUpdateScroll` callback as an argument to `useScroll`. This callback is called with both the previous and the current router props.

You can return:

- a falsy value to suppress the scroll update
- a position array such as `[0, 100]` to scroll to that position
- a truthy value to get normal scroll behavior

```js
useScroll((prevRouterProps, { location }) => (
  prevRouterProps && location.pathname !== prevRouterProps.location.pathname
));

useScroll((prevRouterProps, { routes }) => {
  if (routes.some(route => route.ignoreScrollBehavior)) {
    return false;
  }

  if (routes.some(route => route.scrollToTop)) {
    return [0, 0];
  }

  return true;
});
```

[build-badge]: https://img.shields.io/travis/taion/react-router-scroll/master.svg
[build]: https://travis-ci.org/taion/react-router-scroll

[npm-badge]: https://img.shields.io/npm/v/react-router-scroll.svg
[npm]: https://www.npmjs.org/package/react-router-scroll