Sentry-javascript: حدث خطأ لا يمكن العثور على اسم "غير معروف" عند إنشاء تطبيق Angular 6

تم إنشاؤها على ٢١ نوفمبر ٢٠١٩  ·  3تعليقات  ·  مصدر: getsentry/sentry-javascript

الحزمة + الإصدار

  • [X] @sentry/browser
  • [] @sentry/node
  • [] raven-js
  • [] raven-node _ (غراب للعقدة) _
  • [ ] آخر:

الإصدار:

5.9.1

وصف

مرحبًا ، لدي مشروع Angular 6 الذي نستخدم فيه "@sentry/browser": "^5.0.6" . يستخدم هذا المشروع أدوات GitLab CI لإنشاء صورة عامل ميناء لإجراء اختباراتنا ونشرها. اليوم ، حاولنا إطلاق الوظائف وفشل إنشاء الكتابة المطبوعة برمز الخطأ التالي:

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

أغرب شيء هو أن آخر مرة قمنا فيها بتشغيل الوظائف (2 أكتوبر) كان كل شيء على ما يرام ولم نغير أي سطر واحد من مشروعنا وتكويننا منذ ذلك الحين.

هل لديك أي فكرة؟ أنا متأكد من أنه شيء غبي حقًا ...

حزمة json لدينا هي:

{
  "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"
  }
}

و 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": "./"
  }
}

شكرا جزيلا ، إذا كنت بحاجة إلى مزيد من المعلومات ، فقط اسأل.

تحرير: طبعا حاولت تحديث نسخة الحارس لآخر نسخة (5.9.1 وحصلت على نفس النتائج

Needs Information Discussion

التعليق الأكثر فائدة

franciscovelez ، يمكنك unknown اكتب نفسك هكذا:

declare global {
  type unknown = any
}

أوور لتكون أكثر دقة إذا كنت تريد:

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

declare global {
  type unknown = mixed
}

ال 3 كومينتر

unknown هو نوع تم تقديمه في Typescript 3 وأنت تستخدم Typescript 2. ومع ذلك ، كان لدينا مراجع unknown في قاعدة الشفرة منذ الإصدار 4 من SDK ، لذلك لست متأكدًا من كيفية ذلك هل يمكن أن تعمل من أجلك من قبل؟ 🤔

مرحبًا kamilogorek ، كما قلت ، نستخدم TypeScript 2.9. لقد كنت ألعب مع npm وإصدارات الحارس / المتصفح اليوم ويبدو أن الإصدار الأخير الذي يعمل معي هو @sentry/browser: 5.6.3 . لقد راجعت محفوظات الإصدار في npm (https://www.npmjs.com/package/@sentry/browser) وأرى أنه تم إصدار @sentry/browser: 5.7.0 بعد أسبوع من آخر عملية نشر ناجحة ، لذلك كل شيء منطقي إلي.

في الوقت الحالي ، سأحتفظ بحزمتي في الإصدار 5.6.3 .

شكرا لمساعدتك

franciscovelez ، يمكنك unknown اكتب نفسك هكذا:

declare global {
  type unknown = any
}

أوور لتكون أكثر دقة إذا كنت تريد:

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

declare global {
  type unknown = mixed
}
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات