# @yarn-tool/is-npx

> 檢測當前是否在 NPX/YPX 環境中執行 / Detect if running in NPX/YPX environment

Latest version **1.0.27** (published 2026-09-06) · ISC license · 0 weekly downloads

## Install

```sh
npm install @yarn-tool/is-npx
pnpm add @yarn-tool/is-npx
yarn add @yarn-tool/is-npx
bun add @yarn-tool/is-npx
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 1.0.27 |
| Published | 2026-09-06 |
| First published | 2019-07-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 28.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 14 |
| Maintainers | bluelovers |
| Keywords | npx, ypx, pnpm, dlx, detect, check, environment, npm, yarn, cli |

## Links

- npm: https://www.npmjs.com/package/@yarn-tool/is-npx
- Repository: https://github.com/bluelovers/ws-yarn-workspaces
- Homepage: https://github.com/bluelovers/ws-yarn-workspaces/tree/master/packages/@yarn-tool/is-npx#readme
- Issues: https://github.com/bluelovers/ws-yarn-workspaces/issues
- npm.io page: https://npm.io/package/@yarn-tool/is-npx

## Dependencies (2)

- [tslib](https://npm.io/package/tslib.md) >=2.8.1
- [ts-type](https://npm.io/package/ts-type.md) ^3.0.13

## Alternatives

- [replicas-cli](https://npm.io/package/replicas-cli.md) — 3.0K weekly downloads
- [env-contract](https://npm.io/package/env-contract.md) — 133 weekly downloads
- [@openveo/api](https://npm.io/package/@openveo/api.md) — 61 weekly downloads
- [@ryniaubenpm2/cumque-error-reiciendis](https://npm.io/package/@ryniaubenpm2/cumque-error-reiciendis.md) — 54 weekly downloads
- [ts-global-type-extra](https://npm.io/package/ts-global-type-extra.md) — 11 weekly downloads

## Recent versions

- 1.0.27 (latest) — 2026-09-06
- 1.0.26 — 2026-04-26
- 1.0.25 — 2026-04-26
- 1.0.24 — 2026-03-09
- 1.0.20 — 2026-03-04
- 1.0.19 — 2026-03-02
- 1.0.18 — 2024-05-03
- 1.0.17 — 2022-11-14
- 1.0.16 — 2022-10-01
- 1.0.15 — 2022-09-29
- 1.0.14 — 2022-09-27
- 1.0.13 — 2022-09-06
- 1.0.12 — 2022-08-26
- 1.0.11 — 2022-05-11
- 1.0.10 — 2021-12-29
- … 9 more at https://npm.io/package/@yarn-tool/is-npx/versions

## README

# @yarn-tool/is-npx

檢測當前是否在 NPX/YPX 環境中執行  
Detect if running in NPX/YPX environment

## 安裝 / Install

```bash
npm install @yarn-tool/is-npx
```

或 / or

```bash
yarn add @yarn-tool/is-npx
```

或 / or

```bash
pnpm add @yarn-tool/is-npx
```

## 使用方式 / Usage

### 基本用法 / Basic Usage

```typescript
import { isNpx } from '@yarn-tool/is-npx';

const result = isNpx({
  __dirname: __dirname,
  env: process.env,
  argv: process.argv
});

if (result) {
  console.log('Running in NPX/YPX environment');
} else {
  console.log('Running in normal environment');
}
```

### API

#### `isNpx(opts)`

檢測當前是否在 NPX/YPX 環境中。  
Detect if currently running in NPX/YPX environment.

**參數 / Parameters:**

| 參數 / Parameter | 型別 / Type | 必填 / Required | 說明 / Description |
|-----------------|------------|----------------|-------------------|
| `opts` | `IOptionsDetectNpxInput` | 是 / Yes | 檢測選項 / Detection options |
| `opts.__dirname` | `string` | 是 / Yes | 當前檔案目錄 / Current file directory |
| `opts.env` | `Record<string, string>` | 是 / Yes | 環境變數物件 / Environment variables object |
| `opts.argv` | `string[]` | 否 / No | 命令列參數陣列 / Command line arguments array |

**回傳值 / Returns:** `boolean` - 是否在 NPX/YPX 環境中 / Whether in NPX/YPX environment

#### `_inNpxPath(__dirname)`

檢查路徑是否包含 NPX/YPX 特徵（內部函式）。  
Check if path contains NPX/YPX characteristics (internal function).

```typescript
import { _inNpxPath } from '@yarn-tool/is-npx';

const isNpxPath = _inNpxPath('/some/path/ypx_abc');
console.log(isNpxPath); // true
```

#### `handleOptionsDetectNpx(opts)`

處理並標準化 NPX 檢測選項（內部函式）。  
Process and normalize NPX detection options (internal function).

## 檢測機制 / Detection Mechanism

此模組使用多種策略來檢測 NPX/YPX 環境：

This module uses multiple strategies to detect NPX/YPX environments:

1. **路徑特徵檢測 / Path Characteristic Detection**
   - 檢查路徑中是否包含 `ypx_`、`_npx` 或 `dlx`
   - Checks if path contains `ypx_`, `_npx`, or `dlx`

2. **PNPM 套件名稱檢測 / PNPM Package Name Detection**
   - 檢查環境變數 `PNPM_PACKAGE_NAME` 是否匹配 NPX/YPX 相關名稱
   - Checks if environment variable `PNPM_PACKAGE_NAME` matches NPX/YPX related names

3. **原始 is-npx 檢測 / Original is-npx Detection**
   - 使用 `is-npx` 模組進行檢測
   - Uses the `is-npx` module for detection

## 授權 / License

ISC

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