# @walrus/shared-utils

> shared utilities for walrus packages

Latest version **0.4.1** (published 2019-11-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install @walrus/shared-utils
pnpm add @walrus/shared-utils
yarn add @walrus/shared-utils
bun add @walrus/shared-utils
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.4.1 |
| Published | 2019-11-29 |
| First published | 2019-09-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 16 |
| Unpacked size | 28.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | wangxingkang, wangxingkang1314 |
| Keywords | walrus, shared-utils |

## Links

- npm: https://www.npmjs.com/package/@walrus/shared-utils
- npm.io page: https://npm.io/package/@walrus/shared-utils

## Dependencies (16)

- [chalk](https://npm.io/package/chalk.md) ^2.4.2
- [debug](https://npm.io/package/debug.md) ^4.1.1
- [slash](https://npm.io/package/slash.md) ^3.0.0
- [joycon](https://npm.io/package/joycon.md) ^2.2.5
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [semver](https://npm.io/package/semver.md) ^6.3.0
- [signale](https://npm.io/package/signale.md) ^1.4.0
- [minimist](https://npm.io/package/minimist.md) ^1.2.0
- [read-pkg](https://npm.io/package/read-pkg.md) ^5.2.0
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.7.4
- [@types/debug](https://npm.io/package/@types/debug.md) ^4.1.5
- [@types/lodash](https://npm.io/package/@types/lodash.md) ^4.14.139
- [@types/semver](https://npm.io/package/@types/semver.md) ^6.0.2
- [@babel/preset-env](https://npm.io/package/@babel/preset-env.md) ^7.7.4
- [require-from-string](https://npm.io/package/require-from-string.md) ^2.0.2
- [@babel/preset-typescript](https://npm.io/package/@babel/preset-typescript.md) ^7.7.4

## Recent versions

- 0.4.1 (latest) — 2019-11-29
- 0.4.0 — 2019-11-28
- 0.3.1 — 2019-11-14
- 0.3.0 — 2019-11-05
- 0.2.3 — 2019-11-03
- 0.2.2 — 2019-10-22
- 0.2.1 — 2019-10-19
- 0.2.0 — 2019-10-19
- 0.1.0 — 2019-10-19
- 0.0.6 — 2019-10-10
- 0.0.5 — 2019-10-09
- 0.0.4 — 2019-10-08
- 0.0.3 — 2019-09-28

## README

<h1 align="center">@walrus/shared-utils</h1>

[![Alita](https://img.shields.io/badge/alitajs-walrus-blue.svg)](https://github.com/walrus-plus/walrus)
[![NPM version](https://img.shields.io/npm/v/@walrus/shared-utils.svg?style=flat)](https://npmjs.org/package/@walrus/shared-utils)
[![NPM downloads](http://img.shields.io/npm/dm/@walrus/shared-utils.svg?style=flat)](https://npmjs.org/package/@walrus/shared-utils)

> 项目集成了多种工具方法，可作为 cli 的依赖包

## 📦 Install

```
// npm
npm install @walrus/shared-utils

// yarn
yarn add @walrus/shared-utils
```

## 🔨 Usage

```
import { lodash } form '@walrus/shared-utils';

const result = true;

if (lodash.isBoolean(result)) {
  console.log('result is boolean type');
}
```

## 🎉 目录

- [📦 Install](#%f0%9f%93%a6-install)
- [🔨 Usage](#%f0%9f%94%a8-usage)
- [🎉 目录](#%f0%9f%8e%89-%e7%9b%ae%e5%bd%95)
- [✨ API](#%e2%9c%a8-api)
  - [lodash](#lodash)
  - [isLinux](#islinux)
  - [isMacintosh](#ismacintosh)
  - [isWindows](#iswindows)
  - [isUrl](#isurl)
  - [clearConsole](#clearconsole)
  - [compatDirname](#compatdirname)
  - [configLoader](#configloader)
  - [checkNodeVersion](#checknodeversion)
  - [chalk](#chalk)
  - [signale](#signale)
  - [semver](#semver)

## ✨ API

### lodash

```
import { lodash } form '@walrus/shared-utils';
```

文档请查看[lodash](https://lodash.com/)

### isLinux

- 使用:

```
import { isLinux } form '@walrus/shared-utils';
```

- 类型:

```
() => boolean;
```

- 描述: 是否是 Linux 系统

### isMacintosh

- 使用:

```
import { isLinux } form '@walrus/shared-utils';
```

- 类型:

```
() => boolean;
```

- 描述: 是否是 Mac 系统

### isWindows

- 使用:

```
import { isWindows } form '@walrus/shared-utils';
```

- 类型:

```
() => boolean;
```

- 描述: 是否是 Windows 系统

### isUrl

- 使用:

```
import { isUrl } form '@walrus/shared-utils';
```

- 类型:

```
(path: string) => boolean;
```

- 描述: path 是否是 Url

### clearConsole

- 使用:

```
import { clearConsole } form '@walrus/shared-utils';
```

- 类型:

```
() => void;
```

- 描述: 清空控制台

### compatDirname

- 使用:

```
import { compatDirname } form '@walrus/shared-utils';
```

- 类型:

```
(path: string, cwd: string, fallback) => void;
```

- 描述: 查找模块路径

### configLoader

> 封装`joycon`支持读取`.ts`后缀配置文件，具体 API 请查看[joycon](https://github.com/egoist/joycon)

- 使用:

```
import { compatDirname } form '@walrus/shared-utils';

const userConfig = configLoader.loadSync([
  'walrus.config.js',
  'walrus.config.ts'
], process.cwd());
```

- 类型:

- 描述: 读取配置文件

### checkNodeVersion

- 使用:

```
import { checkNodeVersion } form '@walrus/shared-utils';

// 获取node兼容版本
const requiredVersion = require('../package.json').engines.node;

checkNodeVersion(checkNodeVersion, '@walrus/cli')
```

- 类型:

```
(wanted: string, id: string) => void
```

- 描述: 检查 Node 版本

### chalk

> 导出`chalk`, 具体文档请查看[chalk](https://github.com/chalk/chalk)

- 使用:

```
import { chalk } form '@walrus/shared-utils';
```

### signale

可扩展的日志记录器

> 导出`signale`, 具体文档请查看[signale](https://github.com/klaussinani/signale/blob/master/docs/readme.zh_CN.md)

- 使用:

```
import { signale } form '@walrus/shared-utils';
```

### semver

> 导出`semver`, 具体文档请查看[semver](https://github.com/semver/semver)

- 使用:

```
import { semver } form '@walrus/shared-utils';
```

---
_Source: https://npm.io/package/@walrus/shared-utils · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
