mikes-macos-developer-disk-cleanup 1.0.3 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,26 @@
1
+ {
2
+ "options": {
3
+ "infile": "CHANGELOG.md",
4
+ "header": "# Changelog",
5
+ "preset": {
6
+ "name": "conventionalchangelog",
7
+ "types": [
8
+ { "type": "feat", "section": "Features" },
9
+ { "type": "feature", "section": "Features" },
10
+ { "type": "fix", "section": "Bug Fixes" },
11
+ { "type": "perf", "section": "Performance Improvements" },
12
+ { "type": "revert", "section": "Reverts" },
13
+ { "type": "docs", "section": "Documentation" },
14
+ { "type": "style", "section": "Styles" },
15
+ { "type": "chore", "section": "Miscellaneous Chores" },
16
+ { "type": "refactor", "section": "Code Refactoring" },
17
+ { "type": "test", "section": "Tests" },
18
+ { "type": "build", "section": "Build System" },
19
+ { "type": "ci", "section": "Continuous Integration" }
20
+ ]
21
+ },
22
+ "writerOpts": {
23
+ "groupBy": "type"
24
+ }
25
+ }
26
+ }
package/.env ADDED
@@ -0,0 +1,8 @@
1
+ #/-------------------[DOTENV_PUBLIC_KEY]--------------------/
2
+ #/ public-key encryption for .env files /
3
+ #/ [how it works](https://dotenvx.com/encryption) /
4
+ #/----------------------------------------------------------/
5
+ DOTENV_PUBLIC_KEY="036dc3b1c538f3b753f28504685c42364d6aa3fd3cdc0d544ffab9dbe9c8d2afef"
6
+
7
+ # .env
8
+ GITHUB_TOKEN="encrypted:BNnSFezPjmz67d7bbIftawwuKLB65j8o5QStETBFPmMqZMlWMk0V1qF1NkhYKFvMcnjsv/qIV+1gT/Dkt4IzGZu8bXGhJ6cBfpZJ/QP79YvYGvrn/4qCLj/QsBtsNZc2iCpDJvU7dAzey7gi+2qCCDkZpjv042tsZtTcviAK+JbF31UBqsYTjxSM2FcaXwlbGlQjx6ygDk5AXJbTtQpCa1iAjfeW7ma9MypeKGGfSUBkCDMW42MZmXJZ+TN/Dw=="
@@ -0,0 +1 @@
1
+ npx --no -- commitlint --edit $1
@@ -0,0 +1 @@
1
+
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 20
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://unpkg.com/release-it@17/schema/release-it.json",
3
+ "git": {
4
+ "commitMessage": "chore: release ${version}",
5
+ "requireCleanWorkingDir": false
6
+ },
7
+ "github": {
8
+ "release": true
9
+ },
10
+ "npm": {
11
+ "publish": false
12
+ },
13
+ "hooks": {
14
+ "after:bump": "npm run release-changelog ${version}"
15
+ }
16
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "conventionalCommits.scopes": [
3
+ "android-avd",
4
+ "android-build-folders",
5
+ "android-sdk",
6
+ "bun-cache",
7
+ "cocoapods",
8
+ "docker-files",
9
+ "gradle-shared",
10
+ "hints",
11
+ "homebrew-caches",
12
+ "library-caches",
13
+ "meteor-builds-and-packages",
14
+ "node-modules",
15
+ "npm-cache",
16
+ "ruby-gems",
17
+ "trash",
18
+ "xcode-artifacts",
19
+ "yarn-cache",
20
+ "infra"
21
+ ]
22
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,57 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## 1.0.7 - 2025-02-05
6
+
7
+ [88faf33](88faf333e35787b53a8988f8a42647e5fde4bfdc)...[30f323d](30f323da067b92b69f912cea5ce85b90997cef44)
8
+
9
+ ### Bug Fixes
10
+
11
+ - :recycle: try to detect brew location ([2aace79](2aace79ab5570049af7bfd87908cbfd4a5f9334f))
12
+ - :bug: fix avdmanager path error ([9b28ba2](9b28ba2f4163454a5d36e48af93c3e51509a8b9c))
13
+
14
+ ### Documentation
15
+
16
+ - :bookmark: fix changelog for previous version ([8792d75](8792d759de54c46be3cf3471a7ef3c18f937a41c))
17
+
18
+ ### Miscellaneous Tasks
19
+
20
+ - :construction_worker: fix changelog generation ([30f323d](30f323da067b92b69f912cea5ce85b90997cef44))
21
+
22
+ ## 1.0.6 - 2024-12-09
23
+
24
+ [462ee69](462ee6964edfa65a224b1cc56f1f7cc15fdc600a)...[88faf33](88faf333e35787b53a8988f8a42647e5fde4bfdc)
25
+
26
+ ### Miscellaneous Tasks
27
+
28
+ - :hammer: add GITHUB_TOKEN ([4d14cbf](4d14cbfae18980d645d60f10a7feef9ce7650b06))
29
+ - :arrow_up: update dependency to node >= 18 ([ca92511](ca925115cb3137e795d55769dfa7332cf38b89cf))
30
+ - Release 1.0.6 ([88faf33](88faf333e35787b53a8988f8a42647e5fde4bfdc))
31
+
32
+ ## 1.0.5 - 2024-12-09
33
+
34
+ [bc39b3e](bc39b3e006b19b68acd7deb3b30a8be93b50a52b)...[462ee69](462ee6964edfa65a224b1cc56f1f7cc15fdc600a)
35
+
36
+ ### Bug Fixes
37
+
38
+ - :bug: fix issue with android sdkmanager path ([6bb0ba6](6bb0ba6fcca63f56f44808eff220eda86579ce85))
39
+
40
+ ### Features
41
+
42
+ - Add commit linting and release-it ([12729bd](12729bd019abd9219e6cb3eeda040fc90e836228))
43
+
44
+ ### Miscellaneous Tasks
45
+
46
+ - :hammer: add vscode conventional commit scopes ([84e7ca5](84e7ca516dccec2ea1a798859480fbd65e77b935))
47
+ - :hammer: add vscode conventional commit scopes ([5979eed](5979eed216a65ef6faa733bf71d2a5f47ffb708b))
48
+ - :hammer: add release-it config ([639b8bb](639b8bb2122be6c4d7a83267c516636458d1743c))
49
+ - Release 1.0.5 ([462ee69](462ee6964edfa65a224b1cc56f1f7cc15fdc600a))
50
+
51
+ ## 1.0.4 - 2024-10-03
52
+
53
+ [d44b8c0](d44b8c0a12b30f9b4d8f15f89a1ee80150d147cd)...[bc39b3e](bc39b3e006b19b68acd7deb3b30a8be93b50a52b)
54
+
55
+ ## 1.0.3 - 2024-10-03
56
+
57
+ <!-- generated by git-cliff -->
package/README.md CHANGED
@@ -42,7 +42,7 @@ Currently it searches for (and cleans) the following items:
42
42
 
43
43
  ## Version History
44
44
 
45
- - v1.0: Initial release
45
+ - See [Changelog][Changelog]
46
46
 
47
47
 
48
48
  <!--
@@ -50,7 +50,7 @@ Currently it searches for (and cleans) the following items:
50
50
  --->
51
51
 
52
52
  <!-- LINKS -->
53
-
53
+ [Changelog]:./CHANGELOG.md
54
54
 
55
55
  <!-- IMAGES -->
56
56
 
package/cliff.toml ADDED
@@ -0,0 +1,67 @@
1
+ # git-cliff ~ configuration file
2
+ # https://git-cliff.org/docs/configuration
3
+
4
+ [changelog]
5
+ # template for the changelog header
6
+ header = """
7
+ # Changelog\n
8
+ All notable changes to this project will be documented in this file.\n
9
+ """
10
+ # template for the changelog body
11
+ # https://keats.github.io/tera/docs/#introduction
12
+ body = """
13
+ {% if version %}\
14
+ ## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
15
+ {% else %}\
16
+ ## Unreleased
17
+ {% endif %}\
18
+ {% if previous %}\
19
+ {% if previous.commit_id and commit_id %}
20
+ [{{ previous.commit_id | truncate(length=7, end="") }}]({{ previous.commit_id }})...\
21
+ [{{ commit_id | truncate(length=7, end="") }}]({{ commit_id }})
22
+ {% endif %}\
23
+ {% endif %}\
24
+ {% for group, commits in commits | group_by(attribute="group") %}
25
+ ### {{ group | upper_first }}
26
+ {% for commit in commits %}
27
+ - {{ commit.message | split(pat="\n") | first | upper_first | trim }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}))\
28
+ {% for footer in commit.footers -%}
29
+ , {{ footer.token }}{{ footer.separator }}{{ footer.value }}\
30
+ {% endfor %}\
31
+ {% endfor %}
32
+ {% endfor %}\n
33
+ """
34
+ # template for the changelog footer
35
+ footer = """
36
+ <!-- generated by git-cliff -->
37
+ """
38
+ # remove the leading and trailing whitespace from the templates
39
+ trim = true
40
+
41
+ [git]
42
+ # parse the commits based on https://www.conventionalcommits.org
43
+ conventional_commits = true
44
+ # filter out the commits that are not conventional
45
+ filter_unconventional = false
46
+ # regex for parsing and grouping commits
47
+ commit_parsers = [
48
+ { message = "^feat", group = "Features" },
49
+ { message = "^fix", group = "Bug Fixes" },
50
+ { message = "^doc", group = "Documentation" },
51
+ { message = "^perf", group = "Performance" },
52
+ { message = "^refactor", group = "Refactor" },
53
+ { message = "^style", group = "Styling" },
54
+ { message = "^test", group = "Testing" },
55
+ { message = "^chore\\(deps.*\\)", skip = true },
56
+ { message = "^chore\\(pr\\)", skip = true },
57
+ { message = "^chore\\(pull\\)", skip = true },
58
+ { message = "^chore\\(release\\): prepare for", skip = true },
59
+ { message = "^chore|^ci", group = "Miscellaneous Tasks" },
60
+ { body = ".*security", group = "Security" },
61
+ ]
62
+ # filter out the commits that are not matched by commit parsers
63
+ filter_commits = false
64
+ # sort the tags topologically
65
+ topo_order = false
66
+ # sort the commits inside sections by oldest/newest order
67
+ sort_commits = "oldest"
@@ -0,0 +1 @@
1
+ module.exports = { extends: ['@commitlint/config-conventional'] };
@@ -26,6 +26,7 @@
26
26
  # - Android SDK packages
27
27
  # - Android AVDs
28
28
  # - Homebrew caches
29
+ # - CocoaPods
29
30
 
30
31
  # ==== CONFIGURATION DEFAULTS - change as needed ====
31
32
  CONFIGFILE="${HOME}/.config/mikes-macos-disk-cleanup.env" # you'll be prompted to create this if it doesn't exist
@@ -68,9 +69,16 @@ if [ ${INITIALISED:-0} -ne 1 ]; then
68
69
  fi
69
70
  printf "DEVELOPMENT_BASE_DIR=${DEVELOPMENT_BASE_DIR}\n" >${CONFIGFILE}
70
71
  echo "Configuration saved to ${CONFIGFILE}"
72
+ echo "NOTE: subsequent invocations will immediately commence deleting files!"
71
73
  else
72
74
  echo "Not saving configuration..."
73
75
  fi
76
+
77
+ read -p "Deleting is about to start! Proceed? [y/n]" SHOULD_PROCEED
78
+ if [ "${SHOULD_PROCEED}" != "y" ]; then
79
+ echo "Exiting..."
80
+ exit 1
81
+ fi
74
82
  fi
75
83
 
76
84
  echo "Using development base directory: ${DEVELOPMENT_BASE_DIR}"
@@ -120,6 +128,13 @@ INITIALSPACE=$(
120
128
  )
121
129
  echo "DISK USAGE BEFORE CLEANUP: ${INITIALSPACE}"
122
130
 
131
+ # addHint function
132
+ source "${DIR}/modules/hints.sh"
133
+
134
+ # CocoaPods
135
+ source "${DIR}/modules/cocoapods.sh"
136
+ cocoapods
137
+
123
138
  # remove everything in ~/Library/Caches
124
139
  source "${DIR}/modules/library-caches.sh"
125
140
  libraryCaches
@@ -170,7 +185,20 @@ androidBuildFolders
170
185
 
171
186
  # Android SDKs
172
187
  source "${DIR}/modules/android-sdk.sh"
188
+ set +e ; # don't exit on error
173
189
  androidSDK
190
+ RETCODE=$?
191
+ set -e; # exit on error
192
+
193
+ if [ ${RETCODE} -ne 0 ]; then
194
+ if [ ${RETCODE} -eq 100 ]; then
195
+ echo "Android SDK packages already only have one version installed. Proceeding."
196
+ else
197
+ echo "!!! Failed to clean up Android SDKs !!!"
198
+ echo " check the output above for more info"
199
+ exit ${RETCODE}
200
+ fi
201
+ fi
174
202
 
175
203
  # Android AVDs
176
204
  source "${DIR}/modules/android-avd.sh"
@@ -190,8 +218,8 @@ FINALSPACE=$(
190
218
  }'
191
219
  )
192
220
 
193
- echo "=== FINISHED! ==="
221
+ echo "============================== FINISHED! ================================="
194
222
 
195
- echo "DISK USAGE BEFORE CLEANUP: ${INITIALSPACE}"
196
- echo "DISK USAGE AFTER CLEANUP: ${FINALSPACE}"
223
+ echo "BEFORE CLEANUP: ${INITIALSPACE}"
224
+ echo "NOW: ${FINALSPACE}"
197
225
  echo "${HINTS_UPON_FINISH}"
@@ -1,8 +1,9 @@
1
1
  androidAVD() {
2
2
  # Android Virtual Device Cleanup
3
- command -v avdmanager >/dev/null 2>&1 && {
3
+ local AVDMANAGER=${ANDROID_HOME}/cmdline-tools/latest/bin/avdmanager
4
+ command -v ${AVDMANAGER} >/dev/null 2>&1 && {
4
5
  # get the full path from one of the AVDs
5
- local FIRST_AVD_PATH=$(avdmanager list avd | grep "Path:" | head -1 | tr -s " "| cut -f3 -d" ")
6
+ local FIRST_AVD_PATH=$(${AVDMANAGER} list avd | grep "Path:" | head -1 | tr -s " "| cut -f3 -d" ")
6
7
 
7
8
  if [ -z "${FIRST_AVD_PATH}" ]; then
8
9
  echo "no avds found"
@@ -13,15 +14,15 @@ androidAVD() {
13
14
  local FIRST_AVD_PARENTPATH=$(dirname "${FIRST_AVD_PATH}")
14
15
  local AVDFOLDERSIZEBEFORE=$(du -hs "${FIRST_AVD_PARENTPATH}" | cut -f1)
15
16
  echo "=== removing avds from ${FIRST_AVD_PARENTPATH} (${AVDFOLDERSIZEBEFORE}) ==="
16
- for AVD in $(avdmanager list avd -c); do
17
+ for AVD in $(${AVDMANAGER} list avd -c); do
17
18
  printf " - deleting AVD %s ..."
18
- avdmanager delete avd -n "${AVD}"
19
+ ${AVDMANAGER} delete avd -n "${AVD}"
19
20
  echo "done"
20
21
  done
21
22
  local AVDFOLDERSIZEAFTER=$(du -hs "${FIRST_AVD_PARENTPATH}" | cut -f1)
22
23
  echo " AVD folder size before: ${AVDFOLDERSIZEBEFORE}; after: ${AVDFOLDERSIZEAFTER}"
23
24
  } || {
24
- echo "'avdmanager' command not found"
25
+ echo "'${AVDMANAGER}' command not found"
25
26
  return 1
26
27
  }
27
28
  }
@@ -2,36 +2,45 @@ androidSDK() {
2
2
  local THISMODULEDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
3
3
 
4
4
  # Android SDK Manager Cleanup
5
- command -v sdkmanager >/dev/null 2>&1 && {
6
-
5
+ command -v ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager >/dev/null 2>&1 && {
6
+ local SDKMANAGER_COMMAND="${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager"
7
7
  local ANDROIDHOME_BEFORE=$(du -hs $ANDROID_HOME | cut -f1)
8
8
 
9
9
  echo "=== android sdkmanager cleanup ==="
10
10
  echo " - BEFORE CLEANUP: ${ANDROIDHOME_BEFORE} (${ANDROID_HOME})"
11
11
 
12
+ # remove .downloadIntermediates folder if it exists
13
+ if [ -d "${ANDROID_HOME}/.downloadIntermediates" ]; then
14
+ echo " - removing ${ANDROID_HOME}/.downloadIntermediates"
15
+ rm -rf "${ANDROID_HOME}/.downloadIntermediates"
16
+ fi
12
17
  # create temporary output file
13
18
  local OUTFILENAME=$(mktemp)
14
19
 
15
- sdkmanager --list_installed --include_obsolete |
20
+ local SDKMANAGER_OUTPUT=$(${SDKMANAGER_COMMAND} --list_installed --include_obsolete)
21
+
22
+ echo "${SDKMANAGER_OUTPUT}" |
16
23
  awk -f "${THISMODULEDIR}/android-sdk.awk" -v outputFile="${OUTFILENAME}"
17
24
 
18
25
  if [ $? -ne 0 ]; then
19
- echo " WARNING: we couldn't parse the output of 'sdkmanager --list_installed --include_obsolete'"
20
- echo " (maybe there's just nothing to remove?)"
21
- return 1
26
+ echo " WARNING: we could not parse the output of 'sdkmanager --list_installed --include_obsolete'"
27
+ echo " \(very likely there is just nothing to remove\)"
28
+ cat "${OUTFILENAME}"
29
+ return 100
22
30
  fi
23
31
 
24
32
  echo " - packages to remove: "
25
33
  cat "${OUTFILENAME}" | sed 's/^/ - /'
26
34
 
27
35
  echo " - uninstalling packages..."
28
- sdkmanager --uninstall --package_file="${OUTFILENAME}"
36
+ ${SDKMANAGER_COMMAND} --uninstall --package_file="${OUTFILENAME}"
29
37
  local ANDROIDHOME_AFTER=$(du -hs $ANDROID_HOME | cut -f1)
30
38
 
31
- echo " - BEFORE CLEANUP: ${ANDROIDHOME_BEFORE} (${ANDROID_HOME})"
32
- echo " - AFTER CLEANUP: ${ANDROIDHOME_AFTER}"
39
+ echo " - BEFORE ANDROID SDKMANAGER CLEANUP: ${ANDROIDHOME_BEFORE} (${ANDROID_HOME})"
40
+ echo " - AFTER ANDROID SDKMANAGER CLEANUP: ${ANDROIDHOME_AFTER}"
41
+ addHint "- You may need to run android's SDK manager to restore the Android SDK versions you were using"
33
42
  } || {
34
- echo "'sdkmanager' command not found"
43
+ echo "'${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager' command not found"
35
44
  return 1
36
45
  }
37
46
  }
@@ -0,0 +1,32 @@
1
+ cocoapods() {
2
+ if [ -d ${HOME}/.cocoapods ]; then
3
+ # Pods folders
4
+ echo "=== clearing Pods folders ==="
5
+ pod cache clean --all
6
+ echo " - looking for Pods folders in ${DEVELOPMENT_BASE_DIR}... "
7
+ local PODS_FOLDERS=$(
8
+ find -E "${DEVELOPMENT_BASE_DIR}" -type d \
9
+ -regex '^.*Pods$' \
10
+ -not -regex "${HOME}/\..*" \
11
+ -not -regex "^.*Pods.+"
12
+ )
13
+ echo " - found Pods folders:"
14
+ IFS=$'\n' # make newlines the only separator
15
+ for PODS_FOLDER in ${PODS_FOLDERS}; do
16
+ echo " - ${PODS_FOLDER}"
17
+ done
18
+ echo " - running 'rm -rf ' in each of the above"
19
+ local PODS_WERE_REMOVED=0
20
+ for PODS_FOLDER in ${PODS_FOLDERS}; do
21
+ PODS_WERE_REMOVED=1
22
+ local PODS_FOLDER_SIZE=$(du -hs "${PODS_FOLDER}" | cut -f1)
23
+ printf " - removing '${PODS_FOLDER}' (${PODS_FOLDER_SIZE}) ... "
24
+ rm -rf "${PODS_FOLDER}"
25
+ echo "done"
26
+ done
27
+ unset IFS
28
+ if [ ${PODS_WERE_REMOVED} -eq 1 ]; then
29
+ addHint "- You'll need to perform a 'pod install' (or npx pod-install) in each of your projects"
30
+ fi
31
+ fi
32
+ }
@@ -0,0 +1,9 @@
1
+ addHint(){
2
+ local HINTLENGTH=${#HINTS_UPON_FINISH}
3
+ if [ ${HINTLENGTH} -gt 0 ]; then
4
+ # add a newline if there was a previous hint
5
+ HINTS_UPON_FINISH=$(printf "%s\n%s", "${HINTS_UPON_FINISH}", "${1}")
6
+ else
7
+ HINTS_UPON_FINISH="${1}"
8
+ fi
9
+ }
@@ -1,11 +1,21 @@
1
1
  homebrewCaches(){
2
+ local BREW;
3
+ if [ -f /opt/homebrew/bin/brew]; then
4
+ # apple silicon
5
+ BREW=/opt/homebrew/bin/brew
6
+ elif [ -f /usr/local/bin/brew ]; then
7
+ # intel mac
8
+ BREW=/usr/local/bin/brew
9
+ else
10
+ BREW=/home/linuxbrew/.linuxbrew/bin/brew
11
+ fi
2
12
  # Homebrew Caches
3
- command -v brew >/dev/null 2>&1 && {
13
+ command -v ${BREW} >/dev/null 2>&1 && {
4
14
  echo "=== cleaning up homebrew caches ==="
5
15
  local SIZEBEFORE=$(du -hs ${HOME}/Library/Caches/Homebrew | cut -f1)
6
16
  # set +e: don't exit on error (brew cleanup sometimes has permissions problems)
7
17
  set +e
8
- brew cleanup --prune=all
18
+ ${BREW} cleanup --prune=all
9
19
  if [ $? -ne 0 ]; then
10
20
  echo "!!! failed to clean up homebrew caches !!!"
11
21
  echo " check the output above for more info"
@@ -14,5 +24,8 @@ homebrewCaches(){
14
24
  set -e
15
25
  local SIZEAFTER=$(du -hs ${HOME}/Library/Caches/Homebrew | cut -f1)
16
26
  echo " cache size before: ${SIZEBEFORE}; after: ${SIZEAFTER}"
27
+ } || {
28
+ echo "brew command not found"
29
+ return 1;
17
30
  }
18
- }
31
+ }
@@ -13,13 +13,18 @@ nodeModules() {
13
13
  for NODE_MODULE_FOLDER in ${NODE_MODULE_FOLDERS}; do
14
14
  echo " - ${NODE_MODULE_FOLDER}"
15
15
  done
16
+ local MODULESWERE_REMOVED=0
16
17
  echo " - running 'rm -rf ' in each of the above"
17
18
  for NODE_MODULE_FOLDER in ${NODE_MODULE_FOLDERS}; do
19
+ MODULESWERE_REMOVED=1
18
20
  local NODE_MODULE_SIZE=$(du -hs "${NODE_MODULE_FOLDER}" | cut -f1)
19
21
  printf " - removing '${NODE_MODULE_FOLDER}' (${NODE_MODULE_SIZE}) ... "
20
22
  rm -rf "${NODE_MODULE_FOLDER}"
21
23
  echo "done"
22
24
  done
23
25
  unset IFS
26
+ if [ ${MODULESWERE_REMOVED} -eq 1 ]; then
27
+ addHint "- You will need to reinstall node modules in each of your projects"
28
+ fi
24
29
 
25
30
  }
@@ -40,5 +40,9 @@ rubyGems() {
40
40
  done
41
41
 
42
42
  unset IFS
43
+ rvm use
43
44
  }
45
+
46
+ addHint "- You might need to reinstall your ruby gems"
47
+ addHint " - e.g. gem install cocoapods"
44
48
  }
@@ -20,7 +20,7 @@ xcodeArtifacts() {
20
20
  # Xcode DeviceLogs
21
21
  if [ -d ${HOME}/Library/Developer/CoreSimulator/Caches ]; then
22
22
  local XCCACHESIZE=$(du -hs ${HOME}/Library/Developer/CoreSimulator/Caches | cut -f1)
23
- echo " removing Xcode Caches (${XCCACHESIZE})..."
23
+ echo " removing Xcode CoreSimulator Caches (${XCCACHESIZE})..."
24
24
  rm -rf ${HOME}/Library/Developer/CoreSimulator/Caches
25
25
  fi
26
26
 
@@ -35,11 +35,11 @@ xcodeArtifacts() {
35
35
  awk '{\
36
36
  r=$0;\
37
37
  gsub(/^[^[:space:]]+[[:space:]]+/,"",r);\
38
- printf("- This command would recover %s:\n rm -rf \"%s\"\n",$1, r);\
38
+ printf("- This command would recover an additional %s:\n rm -rf \"%s\"\n",$1, r);\
39
39
  }'
40
40
  )
41
41
  echo "${DEVICESUPPORTCOMMAND}"
42
- HINTS_UPON_FINISH=$(printf "${HINTS_UPON_FINISH}\n${DEVICESUPPORTCOMMAND}")
42
+ addHint "${DEVICESUPPORTCOMMAND}"
43
43
  fi
44
44
  fi # xcode
45
45
  }
package/package.json CHANGED
@@ -1,17 +1,31 @@
1
1
  {
2
2
  "name": "mikes-macos-developer-disk-cleanup",
3
- "version": "1.0.3",
3
+ "version": "1.0.7",
4
4
  "description": "Cleans up a developer's mac disk space. Aggressively.",
5
5
  "bin": {
6
6
  "mikes-macos-disk-cleanup": "mikes-macos-disk-cleanup.sh"
7
7
  },
8
8
  "scripts": {
9
- "test": "echo \"Error: no test specified\" && exit 1"
9
+ "test": "echo \"Error: no test specified\" && exit 1",
10
+ "release-changelog": "git-cliff --unreleased --prepend CHANGELOG.md --tag ",
11
+ "release": "dotenvx run release-it -- -i -u",
12
+ "prepare": "husky"
10
13
  },
11
14
  "keywords": [],
12
15
  "author": "Mike Cunneen",
16
+ "readme": "README.md",
13
17
  "repository": {
14
18
  "url": "https://github.com/cunneen/mikes-macos-developer-disk-cleanup"
15
19
  },
16
- "license": "MIT"
20
+ "license": "MIT",
21
+ "devDependencies": {
22
+ "@commitlint/cli": "^19.7.1",
23
+ "@commitlint/config-conventional": "^19.7.1",
24
+ "git-cliff": "^2.8.0",
25
+ "husky": "^9.1.7",
26
+ "release-it": "^18.1.2"
27
+ },
28
+ "engines": {
29
+ "node": ">=20"
30
+ }
17
31
  }