lucasbento / untracked

Universal way for ignoring unnecessary common files to fit your bundle

Home Page:https://nicedoc.io/kikobeats/untracked

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

untracked

Last version Build Status Dependency status Dev Dependencies Status NPM Status






untracked is a universal way for ingnoring unnecessary common files (such as README.md, LICENSE.md, Makefile, Gruntfile, Gulpfile, karma.conf.js, etc) to fit your bundle and create smallest production ready bunddle possible.

Usage

Just run the command

npx untracked

The files to ignore will be detected automagically ✨.

Using with Up

You need to write the output as .upignore.

For doing that you can run the command directly

npx untracked > .nowignore

Also you can declare it as build hook

{
  "hooks": {
  "build": [
    "npx untracked > .upignore"
  ],
  "clean": [
    "rm -f .upignore"
  ]
}

Using with ZEIT Now

Just you need to write the output at .nowignore file.

npx untracked > .nowignore

Using with Yarn

Yarn supports remove unnecessary files via .yarnclean.

yarn install --production
npx untracked > .yarnclean
yarn autoclean --force

Additional Files

Sometimes you need to declare an extra file to include/ignore in the bundle.

That's could be achieve just declaring a untracked field into your package.json:

{
	"untracked": {
		"whitelist": [
	  "bin",
    ],
    "blacklist": [
      "bench",
      "node_modules/@ffprobe-installer/darwin-x64",
      "node_modules/@ffprobe-installer/linux-ia32",
      "node_modules/@ffprobe-installer/win32-ia32",
      "node_modules/@ffprobe-installer/win32-x64",
      "node_modules/puppeteer/.local-chromium",
      "scripts"
    ]
  }
}

If you need to declare this files programatically, you can use any of the cosmiconfig supported ways for loading the configuration.

How It Works™

untracked create a list of common files to ignore using gitignore pattern format.

This makes it compatible with any builder process that supports ignore files based on this pattern declaration.

Under the hood, untracked supports file name variations for files such as

  • Documentation (docs, LICENSE, README, etc).
  • Toolings configuration (Makefile, Gruntfile, Gulpfile, karma.conf.js,etc).
  • Assets (*.map, *.d.ts, *.flow, etc).

It creates the properly gitpattern for ignoring any of these files.

Related

  • node-prune – Remove unnecessary files from node_modules (.md, .ts, ...).
  • lambdapack – Package your AWS Lambda efficiently.

License

untracked © Kiko Beats, Released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.

kikobeats.com · GitHub @Kiko Beats · Twitter @Kikobeats

About

Universal way for ignoring unnecessary common files to fit your bundle

https://nicedoc.io/kikobeats/untracked

License:MIT License


Languages

Language:JavaScript 100.0%