Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timoxley/pkgfiles
Sanity check which files you are and aren't about to publish to npm
https://github.com/timoxley/pkgfiles
Last synced: 19 days ago
JSON representation
Sanity check which files you are and aren't about to publish to npm
- Host: GitHub
- URL: https://github.com/timoxley/pkgfiles
- Owner: timoxley
- License: mit
- Created: 2014-09-28T09:40:33.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-04-10T16:19:51.000Z (over 2 years ago)
- Last Synced: 2024-11-14T18:02:25.398Z (28 days ago)
- Language: JavaScript
- Homepage:
- Size: 29.3 KB
- Stars: 85
- Watchers: 5
- Forks: 7
- Open Issues: 9
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome-npm - pkgfiles - List all files which would be published in a package. (Packages / Publishing)
- awesome-npm - pkgfiles - List all files which would be published in a package. (Packages / Publishing)
README
# pkgfiles
### List all files which would be published in a package.
[![Build Status](https://travis-ci.org/timoxley/pkgfiles.svg)](https://travis-ci.org/timoxley/pkgfiles)
Useful for double-checking you're not publishing anything
unwanted prior to an `npm publish`.Note some files may not yet exist (e.g. `.npmignore`).
## Installation
```
npm install pkgfiles
```### CLI
```
> pkgfilesFILE SIZE %
test/pkg/lib/index.js 0 B 0%
test/pkg/index.js 0 B 0%
.npmignore N/A
.travis.yml 84 B 1%
test/pkg/package.json 269 B 2%
test/index.js 739 B 6%
package.json 900 B 7%
LICENSE 1.08 kB 9%
index.js 2.99 kB 24%
Readme.md 3.12 kB 25%
bin/pkgfiles.js 3.43 kB 27%PKGFILES SUMMARY
Size with Dependencies ~885.15 kB
Publishable Size ~12.61 kB
Number of Files 11
``````
> pkgfiles --diskFILE SIZE % DISK SIZE DISK SIZE %
test/pkg/lib/index.js 0 B 0% 0 B 0%
test/pkg/index.js 0 B 0% 0 B 0%
.npmignore N/A
.travis.yml 84 B 1% 4.1 kB 13%
test/pkg/package.json 269 B 2% 4.1 kB 13%
test/index.js 519 B 5% 4.1 kB 13%
package.json 900 B 8% 4.1 kB 13%
LICENSE 1.08 kB 9% 4.1 kB 13%
Readme.md 2.37 kB 21% 4.1 kB 13%
index.js 2.99 kB 26% 4.1 kB 13%
bin/pkgfiles.js 3.26 kB 28% 4.1 kB 13%PKGFILES SUMMARY
Size on Disk with Dependencies ~2.34 MB
Size with Dependencies ~865.27 kB
Publishable Size on Disk ~32.77 kB
Publishable Size ~11.47 kB
Number of Files 11
``````
> pkgfiles --sort=nameFILE SIZE %
.npmignore N/A
.travis.yml 84 B 1%
LICENSE 1.08 kB 8%
Readme.md 4.24 kB 31%
bin/pkgfiles.js 3.5 kB 25%
index.js 2.99 kB 22%
package.json 900 B 7%
test/index.js 739 B 5%
test/pkg/index.js 0 B 0%
test/pkg/lib/index.js 0 B 0%
test/pkg/package.json 269 B 2%PKGFILES SUMMARY
Size with Dependencies ~886.34 kB
Publishable Size ~13.8 kB
Number of Files 11
```## API
All sizes are in bytes.
```js
var pkgfiles = require('pkgfiles')pkgfiles(process.cwd(), function(err, entries, packages) {
// entries: Array of information about files and dirs that would be included
// packages: Array of package.jsons that would be includedentries.forEach(function(entry) {
console.log('%s – %d bytes', entry.file, entry.size)
})
// /Users/timoxley/Projects/pkgfiles/package.json – 900 bytes
// /Users/timoxley/Projects/pkgfiles/.npmignore – 0 bytes
// /Users/timoxley/Projects/pkgfiles/LICENSE – 1076 bytes
// /Users/timoxley/Projects/pkgfiles/index.js – 2933 bytes
// /Users/timoxley/Projects/pkgfiles/.travis.yml – 84 bytes
// /Users/timoxley/Projects/pkgfiles/Readme.md – 1684 bytes
// /Users/timoxley/Projects/pkgfiles/bin/pkgfiles.js – 2927 bytes
// /Users/timoxley/Projects/pkgfiles/test/index.js – 519 bytes
// /Users/timoxley/Projects/pkgfiles/test/pkg/package.json – 269 bytes
// /Users/timoxley/Projects/pkgfiles/test/pkg/index.js – 0 bytes
// /Users/timoxley/Projects/pkgfiles/test/pkg/lib/index.js – 0 bytes
})
``````js
var pkgfiles = require('pkgfiles')pkgfiles.summary(process.cwd(), function(err, results) {
results.entries // entries from pkgFiles
results.packages // packages from pkgFiles
results.extractedSize // size including dependencies
results.extractedDiskSize // size on disk including dependencies
results.publishSize // size excluding dependencies
results.publishDiskSize // size on diesk excluding dependencies
})
```## Description
This is a wrapper around whatever version of `fstream-npm` is installed in
the **global** `npm`. It has an async callback interface (instead of a
stream), and keeps the original path (instead of nesting paths in
'package').## See Also
* [thlorenz/irish-pub](https://www.npmjs.org/package/irish-pub)
* [timoxley/pkgcount](https://github.com/timoxley/pkgcount)
* [timoxley/pkgrep](https://github.com/timoxley/pkgrep)# License
MIT