# node-pickfile

> 選んだファイルをコピーして新しいパッケージを作成する

Latest version **1.2.0** (published 2021-11-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install node-pickfile
pnpm add node-pickfile
yarn add node-pickfile
bun add node-pickfile
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2021-11-18 |
| First published | 2015-11-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 435.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | walfo |
| Maintainers | kesuiket |

## Links

- npm: https://www.npmjs.com/package/node-pickfile
- Repository: https://github.com/kesuiket/node-pickfile
- Homepage: https://github.com/kesuiket/node-pickfile#readme
- Issues: https://github.com/kesuiket/node-pickfile/issues
- npm.io page: https://npm.io/package/node-pickfile

## Recent versions

- 1.2.0 (latest) — 2021-11-18
- 1.1.0 — 2021-11-18
- 0.9.0 — 2021-02-10
- 0.8.2 — 2020-10-09
- 0.8.1 — 2019-04-25
- 0.8.0 — 2018-09-03
- 0.7.0 — 2018-04-02
- 0.6.0 — 2017-09-20
- 0.5.0 — 2017-06-02
- 0.4.0 — 2015-12-02
- 0.3.1 — 2015-11-30
- 0.3.0 — 2015-11-27
- 0.2.0 — 2015-11-27
- 0.1.2 — 2015-11-27
- 0.1.1 — 2015-11-27
- … 3 more at https://npm.io/package/node-pickfile/versions

## README

# node-pickfile

選んだファイルをコピーして新しいパッケージを作成する  
(pick files and make new package)

## 概要

- 既存のパッケージから選んだファイルだけを取り出して、新しいパッケージを作成します
- 取り出すファイルは、自動抽出ではなくファイルリストで指定します
- ファイルリストは、実行するフォルダからの相対パスを列挙したテキストファイルです
- 既に存在するファイルをコピーすることが前提のため、ファイルリストに間違い（ファイルが
存在しないなど）があった場合は処理をせず例外を出力します


__インストール__

```sh
$ npm install node-pickfile
```

## Parameters
|Name|Format|Default|
|:-|:-|:-:|
|prefix|_String_|`pkg@`|
|savedir|_String_||
|filename_max|_Integer_|100|
|exclude_extensions|_Array_|[]|

## Example

__TEXTFILE__

```txt
public/html/index.html
public/css/style.css
public/doc/README.txt
```

__JavaScript__

```js
var pick = require('node-pickfile'); // import module
pick('1.0.0.txt', {     // <
  prefix: 'release@',
  savedir: 'pkg'        // > pkg/release@1.0.0/~
});
```


__DIRECTORY LAYOUT__

```
.
├──  public // <- コピー元のファイル群の例
↓   ├── html
│   │   ├── index.html
↓   │   ├── about.html
│   │   └── access.html
↓   ├── css
│   │   └── style.css
↓   ├── doc
│   └── README.txt
↓
---︎---------------------
│
├── [FILELIST].txt // <- 必要なファイル群を指定するテキストファイル
│
---︎---------------------
↓
└──  [SAVE_FOLDER][FILELIST] // <- 新規フォルダ名は、[FILELIST]の名前に基づいて生成する
    └── public
        ├── html
        │   └── index.html
        ├── doc
        └── README.txt
```


## 今後の課題

- [x] ファイルリストを基に既存のパッケージからファイルをコピーする
- [ ] ツリーテキストからファイルリストを作成する
- [x] 保存先ルートディレクトリを作成する際、既に存在する場合は一旦削除する
- [ ] オプションから任意の環境を指定する
    - [ ] `basedir`: 基準となるフォルダ (デフォルト: カレントディレクトリ)
    - [x] `savedir`: 保存するフォルダの指定（デフォルト: カレントディレクトリ）
    - [x] `prefix`: 新規フォルダのフォルダ名の接頭辞(デフォルト: `pkg@`)
- [x] 処理後に確認のためコピー後のファイルサイズを取得しログに出力する `> README`

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