open-index/open-npm huggingface dataset:
npm package: @ppwd/axios
Description: http request library
Latest version: 0.0.22

## 搭建项目

[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)

### 代码规范

安装`lint`

* [TSLint -> ESLint](https://github.com/palantir/tslint/issues/4534)
* [eslint](https://eslint.org/docs/user-guide/getting-started)
* [prettier](https://prettier.io/docs/en/install.html)
* [lint-staged](https://www.npmjs.com/package/lint-staged) + [husky](https://github.com/typicode/husky): format code
  before execute git commit
  * [How to use husky v6 with lint-staged?](https://github.com/typicode/husky/issues/949)

编辑器配置：

* [webstorm](https://prettier.io/docs/en/webstorm.html)

### 初始化`tsconfig`

```shell
npx tsc --init
```

### 提交规范

用到的第三方库：

* [`cz-cli`](https://github.com/commitizen/cz-cli)
* [`commitlint`](https://github.com/conventional-changelog/commitlint)
* [`conventional-changelog`](https://github.com/conventional-changelog/conventional-changelog)
  * [`usage`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog)

### 高效开发

在测试页面中使用`axios`，模拟真实使用场景：

* 目前的开发环境配置[在这里](https://github.com/wangkaiwd/typescript-axios/blob/master/website/readme.md)

### 调试

* 目前可以直接在`chrome`浏览器中调试
* 如何使用编辑器断点调试源代码？

#### 在其它项目中调试

* [npm link](https://docs.npmjs.com/cli/v8/commands/npm-link)
* [how do I uninstall a package installed using npm link](https://stackoverflow.com/questions/19094630/how-do-i-uninstall-a-package-installed-using-npm-link)
  * cancel npm link

into library directory and execute follow command line:

```shell
npm link
```

then into your project directory:

```shell
npm link @ppwd/axios
```

#### free api

* [hacker news api](https://github.com/HackerNews/API): need fq

### 代码质量

* jest

### 打包

* `tsc`

### 发布

* [getting error 402 while publishing package using npm](https://stackoverflow.com/q/41981686)
* tag
* version

### 文档书写

### 参考

* [typescript-starter](https://github.com/bitjson/typescript-starter)
* [`vue`](https://github.com/vuejs/vue-next)
* [`element-plus`](https://github.com/element-plus/element-plus)
npm package: @ppxa/ui
Description: This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Author: ppxa
Latest version: 0.0.1

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default {
  // other rules...
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    project: ['./tsconfig.json', './tsconfig.node.json'],
    tsconfigRootDir: __dirname,
  },
}
```

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
npm package: @ppxp/swals
Description: SweetAlerts for ProdigyPXP
Author: Alexey Fedorov
Latest version: 0.0.6

# Swals

### Usage

Externally importing into browser
```js
const {
    Input,
    Toast,
    ToastUndo
} = swals;

const val = (await Input.fire("What's your name?", "How are you doing?")).value;

await ToastUndo.fire({
    title: "Hello " + val + "!",
    text: "You have been greeted.",
    preDeny: () => {
        Toast.fire("As you wish", "You are no longer greeted.", "success");
    }
});
```


Importing using Node
```ts
import { Toast, NumberInput } from "@ppxp/swals";

NumberInput.fire("How old are you?", "What is your age?").then(async res => {
    await Toast.fire("You are " + res.value + " years old", "", "info")
});


```