open-index/open-npm huggingface dataset:
npm package: @senaiplay/senaiplay-cropper
Description: Front-end component library for senaiplay cropper.
Latest version: 1.1.1

# Senaiplay Cropper

Front-end component library for senaiplay cropper.

## Build

Run `ng build senaiplay-cropper` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build senaiplay-cropper`, go to the dist folder `cd dist/senaiplay-cropper` and run `npm version X.X.X` and `npm publish`.
_(Todo: add an script do build and publish automatically)_

## Running on development for local tests

Go to the `dist/senaiplay-cropper`directory and run `npm link`. After that go to the project directory and run `npm link @senaiplay/senaiplay-cropper`.
After that the packages is linked with your project.

## Watching changes on development
To watch changes you have to go to senaiplay-image-cropper root directory and run `npm watch senaiplay-cropper`.
After that, all the changes you'll make on senaiplay-cropper are going to be reflected on the project that has the library linked.

## Further information

### This project uses semantic versioning, and you have to take care with that.
Use this link to read more about it: 
https://semver.org/.

### For publishing you have to login at npm, and and must be associated with @senaiplay organization.
This is the link for the npm package.
https://www.npmjs.com/package/@senaiplay/senaiplay-cropper

### This project will use, by default, "Convetional commits" for submitting commits, and will use gitflow for merging pull requests.

Use this link to read more about it: 
https://www.conventionalcommits.org.

And if will, you can use the vscode extension: 
https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits
npm package: @senan/demolibrary
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.3.
Latest version: 0.0.1

# Demolibrary

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.3.

## Code scaffolding

Run `ng generate component component-name --project demolibrary` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project demolibrary`.
> Note: Don't forget to add `--project demolibrary` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build demolibrary` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build demolibrary`, go to the dist folder `cd dist/demolibrary` and run `npm publish`.

## Running unit tests

Run `ng test demolibrary` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @senan/my-lib
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.3.
Latest version: 0.0.1

# MyLib

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.3.

## Code scaffolding

Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.

## Running unit tests

Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @senar/loadonce
Description: cache your any source, load once
Author: senar
Latest version: 0.0.1

# Loadonce

[中文](./README-ZH.md)

Cache your any resource, load once!

# install
```bash
pnpm install @senar/loadonce
```

# usage

## cache one source
```ts
import loadonce from '@senar/loadonce'

const resourceUrl = 'your-source-url, could be fetch'
const resource = await loadonce(resourceUrl)
// twice load will be fast, cached
const resource1 = await loadonce(resourceUrl)
```

## cache some source
```ts
import loadonce from '@senar/loadonce'

const resourceUrls = ['https://one', 'https://two']
const resource = await loadonce(resourceUrls)
// twice load will be fast, cached
const resource1 = await loadonce(resourceUrls)
```

## when clear?

### limit key's count
```ts
import loadonce, { setMaxKeyCount } from '@senar/loadonce'

setMaxKeyCount(100) // limit max key count: 100

// if loadonce cache over 100, will clear all cache.
const resource = await loadonce('...')
```

### limit cache's size
```ts
import loadonce, { setMaxCacheSize } from '@senar/loadonce'

setMaxCacheSize(1024 * 1024 * 1024) // limit max size 1GB 1024 * 1024 * 1024 bytes

// if loadonce cache size over 1024 * 1024 * 1024 bytes, will clear all cache.
const resource = await loadonce('...')
```