From 36884f01a94515b702f23889717a7c04e0144074 Mon Sep 17 00:00:00 2001 From: Michael Rose Date: Sat, 7 Mar 2020 18:27:35 -0500 Subject: [PATCH] Fail but still generate manifest --- README.md | 2 +- src/index.js | 15 ++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 5b87210..f6d9118 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ While you can install `packwatch` as a global package, it's better to include it ## Usage -`packwatch` tracks your packages' size via its `.packwatch.json` manifest. To get started, call `packwatch --update-manifest` at the root of your project: a fresh manifest will be generated for you using your current package's size as the initial upper limit for package size. +`packwatch` tracks your packages' size via its `.packwatch.json` manifest. To get started, call `packwatch` at the root of your project: a fresh manifest will be generated for you using your current package's size as the initial upper limit for package size. Once a manifest file exists, calling `packwatch` again will compare its data to the current state of your package. Every time `packwatch` compares your code to the manifest, it will update the last reported package size statistics it contains, but not the limit you have set. diff --git a/src/index.js b/src/index.js index cf69e65..2db8afa 100644 --- a/src/index.js +++ b/src/index.js @@ -16,9 +16,7 @@ if (!existsSync('package.json')) { process.exit(1) } -const UPDATE_MANIFEST_OPTION = '--update-manifest' - -const isUpdatingManifest = process.argv.includes(UPDATE_MANIFEST_OPTION) +const isUpdatingManifest = process.argv.includes('--update-manifest') const currentStats = getCurrentPackageStats() @@ -28,13 +26,6 @@ const currentStats = getCurrentPackageStats() */ if (!existsSync(MANIFEST_FILENAME)) { - if (!isUpdatingManifest) { - console.log( - `🔥🔥📦🔥🔥 No manifest file exists! Run packwatch with ${UPDATE_MANIFEST_OPTION} to generate a manifest file`, - ) - process.exit(1) - } - createOrUpdateManifest({ current: currentStats }) console.log( `📝 No Manifest to compare against! Current package stats written to ${MANIFEST_FILENAME}!`, @@ -42,7 +33,9 @@ if (!existsSync(MANIFEST_FILENAME)) { console.log( `Package size (${currentStats.packageSize}) adopted as new limit.`, ) - process.exit(0) + // If the update flag wasn't specified, exit with a non-zero code so we + // don't "accidentally" pass CI builds if the manifest didn't exist + process.exit(isUpdatingManifest ? 0 : 1) } const previousStats = getPreviousPackageStats()