@sentry/browser
@sentry/node
raven-js
raven-node
_(corbeau pour nœud)_5.9.1
Salut, j'ai un projet Angular 6 dans lequel nous utilisons "@sentry/browser": "^5.0.6"
. Ce projet utilise les outils GitLab CI pour créer une image docker pour exécuter nos tests et la déployer. Aujourd'hui, nous avons essayé de lancer les tâches et la construction dactylographiée a échoué avec le code d'erreur suivant :
ERROR in node_modules/@sentry/utils/dist/misc.d.ts(89,48): error TS2304: Cannot find name 'unknown'.
La chose la plus étrange est que la dernière fois que nous avons exécuté les travaux (le 2 octobre), tout allait bien et nous n'avons modifié aucune ligne de notre projet et de notre configuration depuis lors.
Avez-vous une idée? Je suis presque sûr que c'est quelque chose de vraiment stupide...
Notre package.json est :
{
"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"
}
}
et nos 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": "./"
}
}
Merci beaucoup, si vous avez besoin de plus d'informations, n'hésitez pas à demander.
Edit : bien sûr, j'ai essayé de mettre à jour la version de sentinelle vers la dernière version (5.9.1 et j'ai obtenu les mêmes résultats
unknown
est un type qui a été introduit dans Typescript 3 et vous utilisez Typescript 2. Cependant, nous avions des références unknown
dans la base de code depuis la v4 du SDK, donc je ne sais pas comment cela pourrait travailler pour vous avant? ??
Salut kamilogorek, comme vous l'avez dit, nous utilisons TypeScript 2.9. J'ai joué avec npm et les versions sentinelle/navigateur aujourd'hui et il semble que la dernière version qui fonctionne pour moi soit @sentry/browser: 5.6.3
. J'ai vérifié l'historique des versions dans npm (https://www.npmjs.com/package/@sentry/browser) et je vois que @sentry/browser: 5.7.0
été publié une semaine après mon dernier déploiement réussi, donc tout a du sens tome.
Pour l'instant je vais garder mon package dans la version 5.6.3
.
Merci pour ton aide
@franciscovelez, vous pouvez facilement le contourner en déclarant unknown
tapez vous-même comme ceci :
declare global {
type unknown = any
}
ooor pour être plus précis si vous voulez :
export type mixed = { [key: string]: any } | object | number | string | boolean | symbol | undefined | null | void
declare global {
type unknown = mixed
}
Commentaire le plus utile
@franciscovelez, vous pouvez facilement le contourner en déclarant
unknown
tapez vous-même comme ceci :ooor pour être plus précis si vous voulez :