Sentry-javascript: Erhaltener Fehler Name 'unbekannt' kann nicht gefunden werden, wenn eine Angular 6-App erstellt wird

Erstellt am 21. Nov. 2019  ·  3Kommentare  ·  Quelle: getsentry/sentry-javascript

Paket + Version

  • [X] @sentry/browser
  • [ ] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(Rabe für Knoten)_
  • [ ] andere:

Ausführung:

5.9.1

Beschreibung

Hallo, ich habe ein Angular 6-Projekt, in dem wir "@sentry/browser": "^5.0.6" . Dieses Projekt verwendet GitLab CI-Tools, um ein Docker-Image für die Ausführung unserer Tests zu erstellen und bereitzustellen. Heute haben wir versucht, die Jobs zu starten, und der Typskript-Build schlug mit dem folgenden Fehlercode fehl:

ERROR in node_modules/@sentry/utils/dist/misc.d.ts(89,48): error TS2304: Cannot find name 'unknown'.

Das Seltsamste ist, dass beim letzten Ausführen der Jobs (2. Oktober) alles in Ordnung war und wir seitdem keine einzige Zeile unseres Projekts und unserer Konfiguration geändert haben.

Hast du eine Ahnung? Ich bin mir ziemlich sicher, dass es etwas wirklich Dummes ist...

Unsere package.json ist:

{
  "name": "tool-front",
  "version": "0.0.1",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --disable-host-check --host=0.0.0.0",
    "build": "ng build",
    "test": "ng test",
    "lint": "./node_modules/eslint/bin/eslint.js \"./src/**/*.ts\" --quiet",
  },
  "private": true,
  "dependencies": {
    "angular2-query-builder": "0.3.1",
    "@angular/animations": "^6.1.10",
    "@angular/cdk": "^6.3.2",
    "@angular/common": "^6.1.10",
    "@angular/compiler": "^6.1.10",
    "@angular/core": "^6.1.10",
    "@angular/flex-layout": "6.0.0-beta.16",
    "@angular/forms": "^6.1.10",
    "@angular/http": "^6.1.10",
    "@angular/material": "^6.4.7",
    "@angular/material-moment-adapter": "^6.4.7",
    "@angular/platform-browser": "^6.1.10",
    "@angular/platform-browser-dynamic": "^6.1.10",
    "@angular/router": "^6.1.10",
    "@asymmetrik/ngx-leaflet": "^4.0.0",
    "@sentry/browser": "^5.9.1",
    "@sentry/types": "^5.7.1",
    "@sentry/typescript": "^5.7.1",
    "@zxing/ngx-scanner": "1.3.0",
    "deepmerge": "^3.2.0",
    "font-awesome": "^4.7.0",
    "hammerjs": "^2.0.8",
    "leaflet": "^1.3.1",
    "mat-progress-buttons": "^6.0.1",
    "moment": "^2.22.2",
    "ng-dynamic-component": "^4.0.2",
    "ng2-file-upload": "^1.3.0",
    "ng2-nvd3": "^2.0.0",
    "ngx-init": "^0.1.0",
    "ngx-mat-select-search": "^1.2.0",
    "ngx-papaparse": "^3.0.2",
    "rxjs": "6.2.2",
    "uuid": "^3.3.2",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.7.0",
    "@angular/cli": "6.2.8",
    "@angular/compiler-cli": "^6.1.10",
    "@angular/language-service": "^6.1.10",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "^2.0.6",
    "@types/leaflet": "^1.2.0",
    "@types/node": "~6.0.101",
    "@typescript-eslint/eslint-plugin": "^1.9.0",
    "@typescript-eslint/parser": "^1.4.2",
    "codelyzer": "^4.4.2",
    "concurrently": "^3.5.1",
    "eslint": "^5.15.1",
    "eslint-config-prettier": "^4.1.0",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "json-server": "^0.12.1",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.4.1",
    "karma-jasmine": "^1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.2.0",
    "tslint": "~5.7.0",
    "typescript": "~2.9.0",
    "webpack": "^4.28.3"
  }
}

und unsere tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ],
    "module": "es2015",
    "baseUrl": "./"
  }
}

Vielen Dank, wenn Sie weitere Informationen benötigen, fragen Sie einfach.

Edit: Natürlich habe ich versucht, die Sentry-Version auf die neueste Version (5.9.1 zu aktualisieren) und habe die gleichen Ergebnisse erhalten

Needs Information Discussion

Hilfreichster Kommentar

@franciscovelez Sie können es leicht unknown deklarieren, geben Sie sich wie folgt ein :

declare global {
  type unknown = any
}

ooor um genauer zu sein, wenn Sie wollen:

export type mixed = { [key: string]: any } | object | number | string | boolean | symbol | undefined | null | void

declare global {
  type unknown = mixed
}

Alle 3 Kommentare

unknown ist ein Typ, der in Typescript 3 eingeführt wurde und Sie verwenden Typescript 2. Allerdings hatten wir seit v4 des SDK unknown Referenzen in der Codebasis, also bin ich mir nicht sicher, wie das geht könnte schon mal für dich arbeiten? 🤔

Hallo kamilogorek, wie Sie sagten, verwenden wir TypeScript 2.9. Ich habe heute mit npm und den Sentry/Browser-Versionen gespielt und es scheint, dass die letzte Version, die für mich funktioniert, @sentry/browser: 5.6.3 . Ich habe die Release-Historie in npm (https://www.npmjs.com/package/@sentry/browser) überprüft und sehe, dass @sentry/browser: 5.7.0 eine Woche nach meinem letzten erfolgreichen Deployment veröffentlicht wurde, also macht alles Sinn mir.

Vorerst behalte ich mein Paket in der 5.6.3 Version.

Danke für Ihre Hilfe

@franciscovelez Sie können es leicht unknown deklarieren, geben Sie sich wie folgt ein :

declare global {
  type unknown = any
}

ooor um genauer zu sein, wenn Sie wollen:

export type mixed = { [key: string]: any } | object | number | string | boolean | symbol | undefined | null | void

declare global {
  type unknown = mixed
}
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen