Skip to content

Universal way for ignoring unnecessary common files to fit your bundle

License

Notifications You must be signed in to change notification settings

Kikobeats/untracked

Repository files navigation

untracked

Last version 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 Heroku

You need to write the output as .slugignore.

For doing that you can run the command directly

npx untracked > .slugignore

Also, you can declare it as heroku-prebuild at scripts in your package.json:

{
  "scripts": {
    "heroku-prebuild": "npx untracked > .slugignore"
  }
}

Using with Vercel

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

npx untracked > .vercelignore

Using with Yarn

Yarn supports remove unnecessary files via .yarnclean.

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

Using with Docker

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

npx untracked > .dockerignore

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

  • lambda-prune – Cleanup old AWS Lambda functions.
  • 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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published