Ionic build --prod randomly generates erroneous builds

Ionic build --prod randomly generates erroneos builds

it does not fail when compiling, but it results in app not working properly

I attach an screenshot of a messed menu, with repeated words

other times it gets stuck on dashboard when the compilation comes messed

a mate told me he believes the compilation is messing with the file permissions and that’s why that’s happening

packages.json >>

  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test",
    "lint": "ng lint"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^18.2.11",
    "@angular/cdk": "^18.2.13",
    "@angular/common": "^18.2.11",
    "@angular/compiler": "^18.2.11",
    "@angular/core": "^18.2.11",
    "@angular/forms": "^18.2.11",
    "@angular/material": "^18.2.13",
    "@angular/platform-browser": "^18.2.11",
    "@angular/platform-browser-dynamic": "^18.2.11",
    "@angular/router": "^18.2.11",
    "@angular/service-worker": "^18.2.11",
    "@capacitor/android": "7.2.0",
    "@capacitor/app": "7.0.1",
    "@capacitor/browser": "7.0.1",
    "@capacitor/camera": "7.0.1",
    "@capacitor/core": "7.2.0",
    "@capacitor/filesystem": "7.0.1",
    "@capacitor/haptics": "7.0.1",
    "@capacitor/ios": "7.2.0",
    "@capacitor/keyboard": "^7.0.1",
    "@capacitor/status-bar": "7.0.1",
    "@devexpress/analytics-core": "^24.2.7",
    "@fortawesome/angular-fontawesome": "^0.14.1",
    "@fortawesome/pro-duotone-svg-icons": "^6.7.2",
    "@fortawesome/pro-light-svg-icons": "^6.7.2",
    "@fortawesome/pro-solid-svg-icons": "^6.7.2",
    "@ionic-native/deeplinks": "^5.36.0",
    "@ionic/angular-server": "^8.5.8",
    "@ionic/core": "^8.5.8",
    "@ionic/pwa-elements": "^3.3.0",
    "@ionic/storage-angular": "^4.0.0",
    "@ng-bootstrap/ng-bootstrap": "^18.0.0",
    "@ngneat/input-mask": "^6.1.0",
    "@ngx-translate/core": "^16.0.4",
    "@ngx-translate/http-loader": "^16.0.1",
    "@popperjs/core": "^2.11.8",
    "@pqina/angular-pintura": "^9.0.4",
    "@pqina/filepond-plugin-image-editor": "^9.x",
    "@pqina/pintura": "^8.92.16",
    "@sweetalert2/ngx-sweetalert2": "^13.0.0",
    "@viablelogic/ngx-signature-pad": "^12.0.2",
    "angularx-qrcode": "^19.0.0",
    "bootstrap": "^5.3.6",
    "bootstrap-icons": "^1.13.1",
    "chart.js": "4.4.9",
    "cordova-plugin-deeplinks": "^1.1.1",
    "devexpress-dashboard": "24.2.6",
    "devexpress-dashboard-angular": "24.2.6",
    "devextreme": "24.2.6",
    "devextreme-angular": "24.2.6",
    "ionicons": "^8.0.8",
    "ng-inline-svg-2": "^15.0.1",
    "ng2-pdf-viewer": "^10.4.0",
    "ngx-webcam": "^0.4.1",
    "rxjs": "~7.8.2",
    "sweetalert2": "^11.22.0",
    "tslib": "^2.8.1",
    "zone.js": "^0.15.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^18.2.11",
    "@angular-eslint/builder": "^18.4.0",
    "@angular-eslint/eslint-plugin": "^18.4.0",
    "@angular-eslint/eslint-plugin-template": "^18.4.0",
    "@angular-eslint/schematics": "^18.4.0",
    "@angular-eslint/template-parser": "^18.4.0",
    "@angular/cli": "^18.2.11",
    "@angular/compiler-cli": "^18.2.11",
    "@angular/language-service": "^18.2.11",
    "@angular/localize": "^18.2.11",
    "@capacitor/assets": "^3.0.5",
    "@capacitor/cli": "7.2.0",
    "@ionic/angular": "^8.5.8",
    "@ionic/angular-toolkit": "12.2.0",
    "@types/bootstrap": "^5.2.10",
    "@types/node": "^22.10.1",
    "@typescript-eslint/eslint-plugin": "^8.16.0",
    "@typescript-eslint/parser": "^8.16.0",
    "eslint": "^9.16.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jsdoc": "^50.6.9",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "mini-css-extract-plugin": "^2.9.2",
    "sass": "^1.81.0",
    "sass-loader": "^16.0.5",
    "style-loader": "^4.0.0",
    "ts-node": "^10.9.2",
    "typescript": "^5.5.4",
    "webpack": "^5.96.1",
    "webpack-cli": "^5.1.4"
  },
  "browserslist": [
    "Chrome >=61",
    "ChromeAndroid >=61",
    "Firefox >=63",
    "Firefox ESR",
    "Edge >=79",
    "Safari >=13",
    "iOS >=13"
  ]

angular.json >>>

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "app": {
      "projectType": "application",
      "schematics": {},
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "www",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": ["src/polyfills.ts", "zone.js"],
            "tsConfig": "tsconfig.app.json",
            "inlineStyleLanguage": "scss",
            "assets": [
              {
                "glob": "**/*",
                "input": "src/assets",
                "output": "assets"
              },
              {
                "glob": "**/*.svg",
                "input": "node_modules/ionicons/dist/ionicons/svg",
                "output": "./svg"
              },
              {
                "glob": "**/*",
                "input": "src/assets/img",
                "output": "/img"
              },
              "src/favicon.ico"
            ],
            "styles": [
              "src/global.scss",
              "src/theme/variables.scss",
              "./node_modules/@pqina/pintura/pintura.css"  
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "4mb",
                  "maximumError": "10mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "4kb",
                  "maximumError": "8kb"
                }
              ],
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "outputHashing": "all",
              "allowedCommonJsDependencies": [
                "localforage",
                "ace-builds",
                "inputmask",
                "jquery",
                "pdfjs-dist",
                "sweetalert2"
              ]
            },
            "development": {
              "buildOptimizer": false,
              "optimization": false,
              "vendorChunk": true,
              "extractLicenses": false,
              "sourceMap": true,
              "namedChunks": true,
              "allowedCommonJsDependencies": [
                "localforage",
                "ace-builds",
                "inputmask",
                "jquery",
                "pdfjs-dist",
                "sweetalert2"
              ]
            },
            "ci": {
              "progress": false
            }
          },
          "defaultConfiguration": "production"
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "configurations": {
            "production": {
              "buildTarget": "app:build:production"
            },
            "development": {
              "buildTarget": "app:build:development"
            }
          },
          "defaultConfiguration": "development"
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "buildTarget": "app:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": ["src/polyfills.ts", "zone.js", "zone.js/testing"],
            "tsConfig": "tsconfig.spec.json",
            "karmaConfig": "karma.conf.js",
            "inlineStyleLanguage": "scss",
            "assets": [
              {
                "glob": "**/*",
                "input": "src/assets",
                "output": "assets"
              },
              {
                "glob": "**/*.svg",
                "input": "node_modules/ionicons/dist/ionicons/svg",
                "output": "./svg"
              },
              {
                "glob": "**/*",
                "input": "src/assets/img",
                "output": "/img"
              },
              "src/favicon.ico"
            ],
            "styles": [
              "src/global.scss",
              "src/theme/variables.scss",
              "src/styles.css"
            ],
            "scripts": []
          },
          "configurations": {
            "ci": {
              "progress": false,
              "watch": false
            }
          }
        },
        "lint": {
          "builder": "@angular-eslint/builder:lint",
          "options": {
            "lintFilePatterns": [
              "src/**/*.ts",
              "src/**/*.html"
            ]
          }
        }
      }
    }
  },
  "cli": {
    "schematicCollections": [
      "@ionic/angular-toolkit"
    ],
    "analytics": false,
    "packageManager": "npm"
  },
  "schematics": {
    "@ionic/angular-toolkit:component": {
      "styleext": "scss"
    },
    "@ionic/angular-toolkit:page": {
      "styleext": "scss"
    }
  }
}

Screenshot with messed menu (one of those randomly messed compilations) >>