untracked: Universal way for ignoring unnecessary common files
source link: https://www.tuicool.com/articles/nQFnq2i
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
untracked
untrackedis 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 :sparkles: .
Using with Up
You need to write the output as .upignore
.
For doing that you can run the command directly
npx untracked > .upignore
Also, you can declare it as build hook in your up.json
:
{ "hooks": { "build": [ "npx untracked > .upignore" ], "clean": [ "rm -f .upignore" ] }
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 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
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™
untrackedcreate 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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK