Git Product home page Git Product logo

pkgfiles's Introduction

pkgfiles

List all files which would be published in a package.

Build Status

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

> pkgfiles

FILE                   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 --disk

FILE                   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=name

FILE                   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.

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 included

  entries.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
})
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

License

MIT

pkgfiles's People

Contributors

popomore avatar timoxley avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.