@schandlergarcia/sf-web-components 1.9.83 → 1.9.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.9.84] - 2026-04-07
9
+
10
+ ### Fixed
11
+ - **Reset script no longer deletes custom fields** — `.field-meta.xml` files in `force-app/main/default/objects/` are now preserved across resets. Only Apex classes and platform events are cleaned.
12
+ - **Reset script preserves `TCC_TravelMetricsController`** — Apex class cleanup now skips permanent classes listed in `KEEP_CLASSES` array.
13
+
8
14
  ## [1.9.83] - 2026-04-07
9
15
 
10
16
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schandlergarcia/sf-web-components",
3
- "version": "1.9.83",
3
+ "version": "1.9.84",
4
4
  "description": "Reusable Salesforce web components library with Tailwind CSS v4 and shadcn/ui",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -771,35 +771,36 @@ fi
771
771
  if [ -n "$SFDX_DEFAULT" ]; then
772
772
  metadata_cleaned=0
773
773
 
774
- # Remove all Apex classes (.cls and .cls-meta.xml)
774
+ # Remove Apex classes (.cls and .cls-meta.xml), preserving permanent classes
775
+ KEEP_CLASSES=("TCC_TravelMetricsController")
775
776
  CLASSES_DIR="$SFDX_DEFAULT/classes"
776
777
  if [ -d "$CLASSES_DIR" ]; then
777
- cls_count=$(find "$CLASSES_DIR" -maxdepth 1 \( -name "*.cls" -o -name "*.cls-meta.xml" \) 2>/dev/null | wc -l | tr -d ' ')
778
- if [ "$cls_count" -gt 0 ]; then
779
- [ "$metadata_cleaned" -eq 0 ] && echo "→ Cleaning Salesforce metadata…"
780
- rm -f "$CLASSES_DIR"/*.cls "$CLASSES_DIR"/*.cls-meta.xml
781
- echo " ✓ Removed $cls_count Apex class files"
778
+ cls_removed=0
779
+ for f in "$CLASSES_DIR"/*.cls "$CLASSES_DIR"/*.cls-meta.xml; do
780
+ [ -f "$f" ] || continue
781
+ base="$(basename "$f")"
782
+ skip=false
783
+ for keep in "${KEEP_CLASSES[@]}"; do
784
+ if [[ "$base" == "$keep".cls || "$base" == "$keep".cls-meta.xml ]]; then
785
+ skip=true
786
+ break
787
+ fi
788
+ done
789
+ if [ "$skip" = false ]; then
790
+ [ "$metadata_cleaned" -eq 0 ] && [ "$cls_removed" -eq 0 ] && echo "→ Cleaning Salesforce metadata…"
791
+ rm "$f"
792
+ cls_removed=$((cls_removed + 1))
793
+ fi
794
+ done
795
+ if [ "$cls_removed" -gt 0 ]; then
796
+ echo " ✓ Removed $cls_removed Apex class files (kept ${KEEP_CLASSES[*]})"
782
797
  metadata_cleaned=1
783
798
  fi
784
799
  fi
785
800
 
786
- # Remove custom fields created during the demo
801
+ # Remove platform event directories (but NOT custom fields those persist across resets)
787
802
  OBJECTS_DIR="$SFDX_DEFAULT/objects"
788
803
  if [ -d "$OBJECTS_DIR" ]; then
789
- for fields_dir in "$OBJECTS_DIR"/*/fields; do
790
- if [ -d "$fields_dir" ]; then
791
- for f in "$fields_dir"/*.field-meta.xml; do
792
- if [ -f "$f" ]; then
793
- [ "$metadata_cleaned" -eq 0 ] && echo "→ Cleaning Salesforce metadata…"
794
- rm "$f"
795
- echo " ✓ Removed $(basename "$f")"
796
- metadata_cleaned=1
797
- fi
798
- done
799
- fi
800
- done
801
-
802
- # Remove platform event directories
803
804
  for evt_dir in "$OBJECTS_DIR"/*__e; do
804
805
  if [ -d "$evt_dir" ]; then
805
806
  [ "$metadata_cleaned" -eq 0 ] && echo "→ Cleaning Salesforce metadata…"
@@ -827,7 +828,6 @@ echo "║ • Component library + theme providers ║"
827
828
  echo "║ ║"
828
829
  echo "║ Cleaned: ║"
829
830
  echo "║ • Apex classes (force-app classes/) ║"
830
- echo "║ • Custom fields (force-app objects/) ║"
831
831
  echo "║ • Platform events (force-app *__e/) ║"
832
832
  echo "║ ║"
833
833
  echo "║ Layout: ║"