open-index/open-npm huggingface dataset:
npm package: @starton/ui-nextjs
Description: NextJS graphics library based on Material UI.
Author: Starton
Latest version: 1.3.5

# Starton - UI for NextJS with MUI

NextJS graphics library based on Material UI.

## Installing

### Using this library from NPM
1. Initialize your NextJS project ([https://nextjs.org/docs/getting-started](https://nextjs.org/docs/getting-started))

2. Install dependency with `npm` or `yarn`
```
npm install -D @starton/ui-nextjs
```
or
```
yarn add -D @starton/ui-nextjs
```

3. Your NextJS project is ready to use the Starton UI! Congratulations 🥳

### Using this library locally

Once your component is created and tested on Storybook. You may need to test it on a NextJS or React project to ensure it works. To do this, you can install it locally before implementing it in production.

To do so, you need to follow these steps:
1. Get the path to the graphical library. In my example: `/home/startonlibraries/starton-ui-nextjs` ;
2. Go to your NextJS or React project to install your graphics library: `yarn add 
   /home/starton/libraries/starton-ui-nextjs`.
3. You can now use your library as normal. You just need to do an import as below:
```jsx
   import { StartonButton } from '@starton/ui-nextjs'
```
npm package: @startpage/bookmarks
Description: Bookmark management for your startpage
Author: PrettyCoffee
Latest version: 0.2.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @startpage/bookmarks

Bookmark management for your startpage.
For more information, take a look at the [documentation](https://prettycoffee.github.io/startpage/#/bookmarks).

## Installation

```
npm i @startpage/bookmarks
```
npm package: @startpage/local-storage
Description: Local storage management for your startpage
Author: PrettyCoffee
Latest version: 0.2.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @startpage/local-storage

Local storage management for your startpage.
For more information, take a look at the [documentation](https://prettycoffee.github.io/startpage/#/local-storage).

## Installation

```
npm i @startpage/local-storage
```
npm package: @startpage/preset
Description: Use theme presets in your startpage.
Author: PrettyCoffee
Latest version: 0.2.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @startpage/preset

Use presets for your startpage.
For more information, take a look at the [documentation](https://prettycoffee.github.io/startpage/#/preset).

## Installation

```
npm i @startpage/preset
```
npm package: @startpage/search
Description: Provides a function to search the web
Author: PrettyCoffee
Latest version: 0.2.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @startpage/search

Provides a function to search the web.
For more information, take a look at the [documentation](https://prettycoffee.github.io/startpage/#/search).

## Installation

```
npm i @startpage/search
```
npm package: @startpage/theming
Description: Create and use themes for your startpage
Author: PrettyCoffee
Latest version: 0.2.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @startpage/theming

Provide a design system for your startpage.
For more information, take a look at the [documentation](https://prettycoffee.github.io/startpage/#/theming).

## Installation

```
npm i @startpage/theming
```
npm package: @startracex/dev-config
Description: A set of preset configurations for development
Author: startracex
Latest version: 0.6.0

# dev-config

```sh
npm i -D @startracex/dev-config
```

## Biome

`biome.json`

```jsonc
{
  // "extends": ["@startracex/dev-config/biome-v1"], // Biome v1
  "extends": ["@startracex/dev-config/biome"]
}
```

## dprint

dprint has two presets, typescript and prettier, they cannot coexist.

All presets has no print width limit.

### dprint-typescript

`dprint.json`

```jsonc
{
  "extends": ["./node_modules/@startracex/dev-config/dprint.json"],
  "typescript": {
    "lineWidth": 120
  },
  "plugins": [
    /* run `dprint config add typescript` */
  ]
}
```

### dprint-prettier

Prettier also format markdown, json etc, which can be suppressed by add markdown and json plugins.

`dprint.json`

```jsonc
{
  "extends": ["./node_modules/@startracex/dev-config/dprint-prettier.json"],
  "prettier": {
    "printWidth": 120
  },
  "json": {},
  "plugins": [
    /* run `dprint config add prettier && dprint config add json` */
  ]
}
```

## ESLint

### Stylistic

This preset only contains rules.

This preset has no print width or indent limit.

`eslint.config.js`

```js
import stylistic from "@stylistic/eslint-plugin";
import stylisticRules from "@startracex/dev-config/stylistic";

export default [
  {
    plugins: {
      "@stylistic": stylistic,
    },
    rules: {
      ...stylisticRules,
    },
  },
];
```

`.eslintrc`

```json
{
  "extends": ["./node_modules/@startracex/dev-config/eslint.config.js"],
  "plugins": ["@stylistic"]
}
```

## Prettier

This preset has no print width limit.

`prettier.config.js`

```js
import config from "@startracex/dev-config/prettier";

export default {
  ...config,
  printWidth: 120,
};
```

`package.json`

```json
{
  "prettier": "@startracex/dev-config/prettier"
}
```

## TypeScript

### Lib mode

`tsconfig.json`

```json
{
  "extends": "@startracex/dev-config/tsconfig/lib"
}
```

### App mode

`tsconfig.json`

```json
{
  "extends": "@startracex/dev-config/tsconfig/app"
}
```
npm package: @startracex/node-resolve
Description: Node resolve algorithm
Author: startracex
Latest version: 1.1.0

# node-resolve

```js
import { createResolve } from "@startracex/node-resolve";

const resolve = await createResolve({
  extensions: [".js", ".ts"],
  extensionMap: {
    ".js": [".ts", ".js"],
  },
});

let resolved, cwd = process.cwd()
resolved = resolve("./file.js", cwd); // file.ts
resolved = resolve("typescript", cwd); // node_modules/typescript/lib/typescript.js
```
npm package: @startrco/stylelint-config-base
Description: Stylelint config for CSS
Author: Aydin Senturk
Latest version: 1.1.4

# `@startrco/stylelint-config-base`

## Installation

```bash
npm install @startrco/stylelint-config-base --save-dev
```

## Usage

```json
{
  "extends": "@startrco/stylelint-config-base"
}
```
npm package: @startrco/stylelint-config-scss
Description: Stylelint config for SCSS
Author: Aydin Senturk
Latest version: 1.1.4

# `@startrco/stylelint-config-scss`

## Installation

```bash
npm install @startrco/stylelint-config-scss --save-dev
```

## Usage

```json
{
  "extends": "@startrco/stylelint-config-scss"
}
```
npm package: @startselect/eloquent-js
Description: ### Automatic generation of getters and setters - Generate a .ts file in the root of your project.
Latest version: 1.0.0

# Eloquent-JS

### Automatic generation of getters and setters
- Generate a .ts file in the root of your project.

Example contents (GetterSetterCommand.ts):
```typescript
import {User} from "./src/__tests_data__/Support/UserEntity";
import {GetterAndSetterCommand} from "./src/Command/Generator/GetterAndSetterCommand";
import {GetterAndSetterBag} from "./src/Command/Generator/GetterAndSetterBag";

const getterAndSetterBag = new GetterAndSetterBag();
getterAndSetterBag.push(User, __dirname + '/src/__tests_data__/Support/UserEntity.ts');
const getSetCommand: GetterAndSetterCommand = new GetterAndSetterCommand(getterAndSetterBag);
getSetCommand.handle("\n");
```
- Execute the following command from the root of your project:
```shell
./node_modules/ts-node/dist/bin.js ./GetterSetterCommand.ts
```
npm package: @startselect/js-bundler
Description: Javascript bundler
Author: Pim vd Molen
Latest version: 0.0.7

**JS Bundler**  
This bundler has three main functionalities:
- Compile JS code and write it to the ./public/dist/ folder
- Watch for changes in the ./resources/assets/js/ folder
- Minifies code when using the --minify flag

**How to use**  
Install using NPM: `npm install @startselect/js-bundler`  
Install using Yarn: `yarn add @startselect/js-bundler`

**Development**  
`node ./node_modules/@startselect/js-bundler/src/cli.js build --target ./resources/assets/js/app.js --destination ./public/dist/app.js`

**Watcher**  
`node ./node_modules/@startselect/js-bundler/src/cli.js watch --target ./resources/assets/js/app.js --destination ./public/dist/app.js`

**Production**  
`node ./node_modules/@startselect/js-bundler/src/cli.js build --target ./resources/assets/js/app.js --destination ./public/dist/app.js --minify`

# Transform using babel
You can transform the output to support older browser by creating a .babelrc file which you should put in your project root. Example file:

```
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "entry"
      }
    ]
  ]
}
```
npm package: @startselect/sass-bundler
Description: Sass bundler
Author: Pim vd Molen
Latest version: 0.0.5

**Sass Bundler**  
This bundler has four main functionalities:
- Compile SASS code (including Tailwind) and write it to the ./public/dist/ folder
- Watch for changes in the ./resources/assets/sass/ folder
- Minifies code when using the --minify flag
- Copies font-awesome fonts to the ./public/dist/ folder when using the assetImporter command


**How to use**  
Install using NPM: `npm install @startselect/sass-bundler`  
Install using Yarn: `yarn add @startselect/sass-bundler`


**Import assets (font-awesome only)**   
`node ./node_modules/@startselect/sass-bundler/src/cli.js assetImporter --destination ./public/dist/ --font-awesome ./node_modules/font-awesome/fonts/`

**Development**  
`node ./node_modules/@startselect/sass-bundler/src/cli.js build --target ./resources/assets/sass/app.scss --destination ./public/dist/app.css --configuration ./tailwind.js`

**Watcher**  
`node ./node_modules/@startselect/sass-bundler/src/cli.js watch --target ./resources/assets/sass/app.scss --destination ./public/dist/app.css --configuration ./tailwind.js`

**Production**  
`node ./node_modules/@startselect/sass-bundler/src/cli.js build --target ./resources/assets/sass/app.scss --destination ./public/dist/app.css --configuration ./tailwind.js --minify`
npm package: @startselect/vue-lazyloader
Description: Lazyloader using vue
Author: Pim vd Molen
Latest version: 0.1.2

# How to register this package in Vue?
First register this package within your vue instance like this:

```js
import VueLazyLoader from '@startselect/vue-lazyloader';

Vue.use(VueLazyLoader);
```

# Update the image tags 

All the images that should be lazyloaded should be updated like this:

```html
<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-lazy-src="/original-image.png">
```
You can change `data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==` to anything else.
We did this to load a blank image before this image becomes visible in the viewport.

# Options
Available options:

```js
Vue.use(VueLazyLoader, {
    offset: 150
});
```
npm package: @startselect/vue-tiny-slider
Description: Vanilla javascript slider for all purposes created by ganlanyuan in Vue.
Author: Pim vd Molen
Latest version: 0.0.1

# tiny-slider 2.0 for Vue

Wrapper for Tiny slider for all purposes by [ganlanyuan](https://github.com/ganlanyuan/tiny-slider) in Vue. [Try it out](https://codesandbox.io/s/7m9w30xjz6)!

Firefox 12+, Chrome 15+, Safari 4+, Opera 12.1+, IE8+


## Install

`npm install @startselect/vue-tiny-slider`

## Use

````javascript
import VueTinySlider from '@startselect/vue-tiny-slider';

new Vue({
  components: {
    'tiny-slider': VueTinySlider
  }
})
````

````html
<tiny-slider :mouse-drag="true" :loop="false" items="2" gutter="20">
  <div>Slider item #1</div>
  <div>Slider item #2</div>
  <div>Slider item #3</div>
  <div>Slider item #4</div>
  <div>Slider item #5</div>
  <div>Slider item #6</div>
</tiny-slider>
````

## Styling

SCSS
````scss
@import 'tiny-slider/src/tiny-slider';
````

CDN
````html
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.3.5/tiny-slider.css">
````

## Options

````
auto-init
items
mode
gutter
edge-padding
fixed-width
slide-by
controls
controls-text
controls-container
nav
nav-container
arrow-keys
speed
autoplay
autoplay-timeout
autoplay-direction
autoplay-text
autoplay-hover-pause
autoplay-button
autoplay-button-output
autoplay-reset-on-visibility
animate-in
animate-out
animate-normal
animate-delay
loop
rewind
auto-height
responsive
lazyload
touch
mouse-drag
nested
freezable
disable
on-init
````
For more detailed information about the options, see the [Tiny-slider documentation (Options)](https://github.com/ganlanyuan/tiny-slider#options).

## Methods

````getInfo````
````goTo````
````destroy````

### How to use the methods

For more detailed information about the methods, see the [Tiny-slider documentation (Methods)](https://github.com/ganlanyuan/tiny-slider#methods).


## License

This project is available under the MIT license.
npm package: @startselect/vue-youtube
Description: Youtube component for vue
Author: Pim vd Molen
Latest version: 0.0.6

# How to register this component in Vue?
First import this component:

```js
import Youtube from '@startselect/vue-youtube';
```

Next, add this component in your object:
```js
components: {
    'youtube': Youtube
}
```

# In your HTML, add the component:

```html
<youtube url="https://youtu.be/a9ITIaKzG3A"></youtube>
```
npm package: @startsi/electron-pdf-window
Description: view PDF files in electron browser windows. Modified.
Author: @gellerthegyi
Latest version: 1.0.3

# electron-pdf-window

view PDF files in electron browser windows. this module adds support for viewing
PDF files in electron [`BrowserWindow`s](http://electron.atom.io/docs/api/browser-window/).
it works even if you navigate to a PDF file from a site, or opening a PDF file in
a new window. a `PDFWindow` instance is just a subclass of `BrowserWindow` so it
can be used just like it.

<p align="center">
  <img align="center" src="./screenshot.png" height=400 />
</p>


``` javascript
const { app } = require('electron')
const PDFWindow = require('electron-pdf-window')

app.on('ready', () => {
  const win = new PDFWindow({
    width: 800,
    height: 600
  })

  win.loadURL('http://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf')
})
```

## install

```
$ npm i electron-pdf-window
```

## usage

#### `win = new PDFWindow([opts])`
`win` is an electron [`BrowserWindow`](http://electron.atom.io/docs/api/browser-window/)
that has support for viewing PDF files.

#### `PDFWindow.addSupport(win)`
adds PDF viewing support for `win`, which is a `BrowserWindow` instance.

## using from the renderer process

Using the `PDFWindow` class directly from the renderer process is not
recommended, because electron doesn't support proper extending of their built-in
classes. In order to add PDF support from the renderer, use the `addSupport`
method.

``` js
const { BrowserWindow } = require('electron').remote
const PDFWindow = require('electron-pdf-window')

const win = new BrowserWindow({ width: 800, height: 600 })

PDFWindow.addSupport(win)

win.loadURL('file:///a/b/c.pdf')
```

## test

```
$ npm test
```
npm package: @startup-booster/serverless-offline-schedule
Description: [![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-offline-schedule.svg)](https://badge.fury.io/js/serverless-offline-schedule) [![License: MIT](https://img.shields.io
Latest version: 2.0.0

# serverless-offline-schedule

[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com)
[![npm version](https://badge.fury.io/js/serverless-offline-schedule.svg)](https://badge.fury.io/js/serverless-offline-schedule)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Coverage Status](https://coveralls.io/repos/github/Meemaw/serverless-offline-schedule/badge.svg?branch=master)](https://coveralls.io/github/Meemaw/serverless-offline-schedule?branch=master)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

## Install Plugin

`npm install --save-dev serverless-offline-schedule`

Then in `serverless.yml` add following entry to the plugins array: `serverless-offline-schedule`

```yml
plugins:
  - serverless-offline-schedule
```

## Using the Plugin

#### Standalone process

```sh
λ → sls schedule
Serverless: Starting serverless-offline-schedule in standalone process. Press CTRL+C to stop.
Serverless: Scheduling [schedule-function] cron: [*/1 * * * *] input: {"scheduler":"1-minute"}
...
Serverless: Succesfully invoked scheduled function: [my-function]
```

#### Part of serverless-offline

`serverless-offline-schedule` will automatically hook into `serverless-offline` start command hook.

```sh
λ → sls offline
...
Serverless: Scheduling [schedule-function] cron: [*/1 * * * *] input: {"scheduler":"1-minute"}
...
Serverless: Succesfully invoked scheduled function: [my-function]
```
npm package: @startupcraft/react-native-beaconator
Description: The beacon detection library that actually detects.
Author: Sergey Laptev
Latest version: 0.1.3

# @startupcraft/react-native-beaconator

The beacon detection library that actually detects.

## Installation

```sh
yarn add @startupcraft/react-native-beaconator
```

## Contributing

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

## License

MIT
npm package: @startupdotdev/forever721
Description: Analyze NFT metadata
Author: @startupdotdev
Latest version: 1.0.4

# Forever721

Tool to analyze NFT metadata.

## Why this tool?

While the NFTs themselves may be permanently stored on the blockchain, there are many cases where NFT metadata content can change.

For example: some NFTs' metadata point to random private HTTP URLs and servers which could change the contents or go down at any time. Other NFTs point to IPFS URLs, which is much better but there is still risk of that content becoming unpinned and being discarded from IPFS as well.

This tool analyzes NFT metadata and gives a letter grade (A-F) to its durability as well as the reasons for that grade.

## Usage

### Basic Usage

```js
import { analyzeTokenUri } from '@startupdotdev/forever721';

let metaData : JSON | ipfs url | url;
analyzeTokenUri(metaData);
```

Handled metadata structures:

- [x] Top-level IPFS
- [x] Top-level IPFS pinning service
- [x] Top-level base64 encoded json
- [x] Top-level some random server
- [ ] Top-level JSON

Within each top-level data structure, handles:

- Base64 on-chain

- IPFS

  - [x] Image stored on another IPFS
  - [x] Image stored on rando server

- Http

  - [x] Image stored on IPFS
  - [x] Image stored on HTTP

## Development

### Node version

Note: this project uses the [experimental native fetch](https://github.com/nodejs/node/commit/6ec225392675c92b102d3caad02ee3a157c9d1b7) in Node 17.

```
$ nvm install 17.8.0 --experimental-fetch
```

```
$ npm i
$ npm test
```

## Questions

- Can we know if an IPFS item is pinned?

## Future development

Some extra edge cases to handle:

- IPFS top-level metadtaa

  - [ ] Image stored on that IPFS hash

- Http top-level metadata

  - [ ] Image stored as base64

- JSON top-level metadata
  - [ ] Image stored as base64
  - [ ] Image stored on IPFS
  - [ ] Image stored on HTTP

## Contributing

Submit a PR (with tests!) for formats/edge cases we're missing!