open-index/open-npm huggingface dataset:
npm package: @kergrit/strapi-todo-simple-plugin
Description: This is the todo simple plugin.
Author: Kergrit Robkop
Latest version: 1.0.0

# Welcome to strapi-todo-simple-plugin!

Hi! I'm your first Markdown file in **StackEdit**. If you want to learn about StackEdit, you can read me. If you want to play with Markdown, you can edit me. Once you have finished with me, you can create new files by opening the **file explorer** on the left corner of the navigation bar.

# References

**Strapi blog** by [**Maxime Castres**](https://strapi.io/user/maxime-castres) for main resource
 - 1/6 [Generate a Strapi plugin - How to create a Strapi v4 plugin](https://strapi.io/blog/how-to-create-a-strapi-v4-plugin-generate-a-plugin-1-6) 
 - 2/6 [File structure of a Strapi plugin - How to create a Strapi v4 plugin](https://strapi.io/blog/how-to-create-a-strapi-v4-plugin-file-structure-2-6)
 - 3/6 [Add a content-type to a plugin - How to create a Strapi v4 plugin](https://strapi.io/blog/how-to-create-a-strapi-v4-plugin-add-a-content-type-to-a-plugin-3-6)
 - 4/6 [Server customization - How to create a Strapi v4 plugin](https://strapi.io/blog/how-to-create-a-strapi-v4-plugin-server-customization-4-6)
 - 5/6 [Admin customization of a Strapi v4 plugin - How to create a Strapi v4 plugin](https://strapi.io/blog/how-to-create-a-strapi-v4-plugin-admin-customization-5-6)
 - 6/6 [Publish a Strapi v4 plugin on npm - How to create a Strapi v4 plugin](https://strapi.io/blog/how-to-create-a-strapi-v4-plugin-publish-on-npm-6-6)

**Strapi blog** by [**Ath Tripathi**](https://strapi.io/user/ath-tripathi) for request @strapi/helper-plugin
 - [How to Create a Simple Strapi Plugin](https://strapi.io/blog/making-a-simple-strapi-plugin)

**I combined from 2 resources because** 
- Maxime Castres is missing axiosInstance in tutorial
- Ath Tripathi is missing 2 components (modal and editModal) in tutorial
- Fixed some code using request @strapi/helper-plugin instead of axiosInstance

```js
// used request instance
import { request } from "@strapi/helper-plugin";
const rest = await request("/someURL", {
	 method: "GET",
});

// instead of axiosInstance
import axiosInstance from '../../utils/axiosInstance';
await axiosInstance.get("/someURL");
```
npm package: @kerimcet/designlib1
Description: ```bash yarn add @desygna/desygna-core @emotion/react@^11.10.0 @emotion/styled@^11.10.0 ```
Author: Kerim Çetintaş
Latest version: 0.0.0-dev.2

## Installation

```bash
yarn add @desygna/desygna-core @emotion/react@^11.10.0 @emotion/styled@^11.10.0
```
npm package: @kerimcet/designlib2
Description: ```bash yarn add @desygna/desygna-core @emotion/react@^11.10.0 @emotion/styled@^11.10.0 ```
Author: Kerim Çetintaş
Latest version: 0.1.0-dev.1

## Installation

```bash
yarn add @desygna/desygna-core @emotion/react@^11.10.0 @emotion/styled@^11.10.0
```
npm package: @kerimhudson/broadcast
Description: A lightweight logger for node
Author: Kerim Hudson
Latest version: 0.0.1

# Broadcast

A lightweight logging utility for node. Uses the console `info`, `warn`, and `error` methods, and is a lightweight wrapper around it.

Comes with the kleur methods built in (under the `style` key) to allow you to easily style your console messages for easier debugging and visibility.

## Usage

```js
import broadcaster from '@kerimhudson/broadcast'


const broadcast = broadcaster()
broadcast.info('This is a console.log!');
broadcast.warn(broadcast.style.bold('MAKE IT BOLD!'));
```

Inspired by [console-log-level](https://github.com/watson/console-log-level).
npm package: @kerimhudson/create
Description: Just an easy CLI to help start projects on templates, so I don't have to mess around each time.
Author: Kerim Hudson
Latest version: 1.0.0

# kerimhudson/create

Just an easy CLI to help start projects on templates, so I don't have to mess around each time.

Based on the code of @vitejs/create

```
yarn @kerimhudson/create
```
npm package: @kerimhudson/env
Description: A simple environment variable wrapper for node. Uses `dotenv` under the hood to configure environment variables, and then provides a utility to easily access env variables and assign a fallback if necessary.
Author: Kerim Hudson
Latest version: 0.0.2-b

# env

A simple environment variable wrapper for node. Uses `dotenv` under the hood to configure environment variables, and then provides a utility to easily access env variables and assign a fallback if necessary.

```js
require('@kerimhudson/env').config()
import env from '@kerimhudson/env'

const port = env('port', 3000) // key and fallback
```
npm package: @kerimhudson/shhh
Description: a password encryption library utilsiing scrypt
Author: Kerim Hudson
Latest version: 0.2.1-a

# SHHH!

SHHH! is a small library for hashing sensitive data, such as passwords. It comes with a similar to the bcrypt npm package, but utilises scrypt which is built into the node crypto library. It comes in two variations, depending on your preferred method of utilising a library.

### Usage

**Method 1**

```js
import shhh from "@kerimhudson/shhh";

const { hash, compare } = shhh("PEPPER"); // you can add an optional pepper here if you'd want a bit more security
const user = { email: "john@mail.com", password: "supersecretpassword" };

const hashedPassword = hash(user.password); // returns hashed password, utilising the pepper if provided
const isSamePassword = compare(user.password, hashedPassword); // returns true
```

**Method 2**

```js
import { hash, compare } from "@kerimhudson/shhh";

const user = { email: "john@mail.com", password: "supersecretpassword" };
const pepper = "PEPPER";
const hashedPassword = hash(user.password, pepper); // returns hashed password, utilising the pepper if provided
const isSamePassword = compare(user.password, hashedPassword, pepper); // returns true
```

Use of the `pepper` is entirely optional. Some argue that it allows for a slightly hardened security as it includes a value that is not within the database. If you do use the `pepper`, store this value outside of the database, for example as an environment variable.

##### Notes

- I'm by no means an expert in cryptography. You can read more about what scrypt is [here](https://qvault.io/2020/07/25/very-basic-intro-to-the-scrypt-hash/)
- This project is open to contributions