Definitelytyped: @types/core-js kollidiert mit typescript/lib/lib.es6.d.ts, wenn @types/core-js nicht tatsächlich verwendet wird

Erstellt am 4. Okt. 2016  ·  12Kommentare  ·  Quelle: DefinitelyTyped/DefinitelyTyped

Ein einfaches Reproduktions-Repository: https://github.com/plantain-00/test , nach npm i && npm run build ist der Fehler:

node_modules/@types/core-js/index.d.ts(21,14): error TS2300: Duplicate identifier 'PropertyKey'.
node_modules/typescript/lib/lib.es6.d.ts(4133,14): error TS2300: Duplicate identifier 'PropertyKey'.

Erwartet: kein Fehler, da app.ts leer ist. das @types/core-js wird in static/app.ts .

  "devDependencies": {
    "@types/core-js": "^0.9.34",
    "core-js": "^2.4.1",
    "typescript": "^2.0.3"
  }
@types

Hilfreichster Kommentar

hatte das ähnliche Problem. "skipLibCheck": true zu compilerOptions in meinem tsconfig.json hinzugefügt und dann geholfen

Alle 12 Kommentare

Welcher Teil von core-js wird benötigt, der nicht in lib.es6 enthalten ist? Könnten Sie @types/core-js nicht einfach nicht installieren?

@aciccarello core-js und @types/core-js wird vom Frontend in static/app.ts , dieser Teil funktioniert gut

Es gibt 2 tsconfig.json , eines für das Backend (es6, Fehler tritt hier auf) und das andere für das Frontend (es5, kein Fehler, funktioniert gut),

@plantain-00 Hast du das herausgefunden?
Ich habe ein ähnliches Problem, bei dem ich einige der nicht standardmäßigen Funktionen von core-js (Wörterbücher) verwenden möchte, aber die Typen stehen in Konflikt mit der Typoskriptbibliothek.

@jefbarn Für nicht standardmäßige Funktionen habe ich keine Lösung.
Für Standardfunktionen habe ich @types/core-js deinstalliert und import "core-js"; , da core-js Polyfills von ES2015+ ist, also kann ich stattdessen typescript/lib/lib.es6.d.ts verwenden, das tsconfig.json sieht aus wie:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "lib": [
            "es2015",
            "es5",
            "dom",
            "scripthost"
        ]
    }
}

Es scheint, dass dieses Problem noch benötigt wird, ich werde es erneut öffnen.

Ich habe dieses Problem bei der Verwendung von @types\core-js und der Ausrichtung auf ES6

@anorborg Ich habe meine Situation mit etwas wie diesem zum

  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "moduleResolution": "node",
    "lib": ["es5", "dom"],
    ...
  }

@jefbarn das hat funktioniert. Grundsätzlich sind die Bibliotheken core-js und typescript 2.x es6.d.ts widersprüchlich und das sagt Typescript, dass es seine es6.d.ts . Ich _glaube_, dass die _reinere_ Lösung darin besteht, einige Modultypdefinitionen für core-js (dh core-js-es6-object ) zu erstellen, anstatt die gesamte core-js Definition einzuschließen. Ich habe versucht, dies lokal zu starten, konnte aber lokale benutzerdefinierte Typen nicht zum Laufen bringen. Wenn ich Zeit habe, werde ich versuchen, es herauszufinden und eine PR für alle Module zu erstellen.

Suche nach Aufmerksamkeit.

Ich habe gerade ein neues Projekt mit tsc 2.2.0 mit dieser ts-Konfiguration erstellt:

{
  "compilerOptions": {
    "outDir": "./build/",
    "rootDir": "./src/",
    "baseUrl": ".",
    "sourceMap": true,
    "noImplicitAny": false,
    "module": "commonjs",
    "target": "es6"
  },
  "include": [
    "./src/**/*.ts"
  ],
  "compileOnSave": false
}

Was diese Fehler erzeugen würde:

node_modules/@types/core-js/index.d.ts(21,14): error TS2300: Duplicate identifier 'PropertyKey'.
node_modules/@types/core-js/index.d.ts(85,5): error TS2687: All declarations of 'name' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(145,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.unscopables]' must be of type '{ copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: ...', but here has type 'any'.
node_modules/@types/core-js/index.d.ts(262,5): error TS2687: All declarations of 'flags' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(276,5): error TS2687: All declarations of 'EPSILON' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(311,5): error TS2687: All declarations of 'MAX_SAFE_INTEGER' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(318,5): error TS2687: All declarations of 'MIN_SAFE_INTEGER' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(457,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Symbol"', but here has type 'string'.
node_modules/@types/core-js/index.d.ts(457,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(464,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(492,5): error TS2687: All declarations of 'hasInstance' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(498,5): error TS2687: All declarations of 'isConcatSpreadable' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(504,5): error TS2687: All declarations of 'iterator' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(510,5): error TS2687: All declarations of 'match' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(516,5): error TS2687: All declarations of 'replace' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(522,5): error TS2687: All declarations of 'search' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(528,5): error TS2687: All declarations of 'species' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(534,5): error TS2687: All declarations of 'split' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(540,5): error TS2687: All declarations of 'toPrimitive' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(546,5): error TS2687: All declarations of 'toStringTag' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(552,5): error TS2687: All declarations of 'unscopables' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(609,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Math"', but here has type 'string'.
node_modules/@types/core-js/index.d.ts(609,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(613,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"JSON"', but here has type 'string'.
node_modules/@types/core-js/index.d.ts(613,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(628,5): error TS2687: All declarations of 'size' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(634,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(645,5): error TS2687: All declarations of 'size' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(651,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(656,11): error TS2428: All declarations of 'WeakMap' must have identical type parameters.
node_modules/@types/core-js/index.d.ts(664,27): error TS2344: Type 'K' does not satisfy the constraint 'object'.
node_modules/@types/core-js/index.d.ts(665,53): error TS2344: Type 'K' does not satisfy the constraint 'object'.
node_modules/@types/core-js/index.d.ts(666,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(680,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(692,5): error TS2687: All declarations of 'value' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(804,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/typescript/lib/lib.es6.d.ts(4199,14): error TS2300: Duplicate identifier 'PropertyKey'.

Das Ändern des Ziels in es5 führt zu einem sauberen Build.

Ich bin mir nicht sicher, wie diesem Thema so wenig Aufmerksamkeit geschenkt wurde; sicherlich versuchen viele Leute, ES6 mit TS anzuvisieren und würden auch darauf stoßen?

@wyqydsyq core.js und ES6 definieren beide viele der gleichen Definitionen. Entweder schließen Sie @types/core.js nicht ein oder setzen Sie "lib": ["es5", "dom"] in Ihrer tsconfig

Ich bekomme auch die ähnliche Art von Konflikt.

1>c:\Programme (x86)\Microsoft SDKs\TypeScript\2.6\lib.es2015.iterable.d.ts(203,11): Fehler TS2300: Build: Doppelter Bezeichner 'Versprechen'.1>c:\Programme (x86)\Microsoft SDKs\TypeScript\2.6\lib.es2015.promise.d.ts(223,13): Fehler TS2300: Build:Doppelter Bezeichner 'Versprechen'.1>c:\Programme (x86)\Microsoft SDKs\TypeScript\2.6\lib.es2015.symbol.wellknown.d.ts(168,11): Fehler TS2300: Build: Doppelter Bezeichner 'Versprechen'.1>c:\Programme (x86)\Microsoft SDKs\TypeScript\2.6\lib.es5.d.ts(1292,11): Fehler TS2300: Build:Doppelter Bezeichner 'Versprechen'.1>c:\users\username\node_modules\@types\es6-promise\index.d.ts(11,15): Fehler TS2300: Build: Doppelter Bezeichner 'Promise'.1>c:\users\username\node_modules\@types\es6-promise\index.d.ts(42,19): Fehler TS2300: Build: Doppelter Bezeichner 'Promise'.

tsconfig: -

{
"compilerOptions": {
"Ziel": "es5",
"module": "commonjs",
"moduleResolution": "Knoten",
"sourceMap": wahr,
"emitDecoratorMetadata": wahr,
"experimentalDecorators": wahr,
"lib": [ "es2015", "dom" ],
"noImplicitAny": wahr,
"suppressImplicitAnyIndexErrors": true,
"noStrictGenericChecks": wahr
}
}

Paket.Json:

{
  "name": "angular-quickstart",
  "version": "1.0.0",
  "description": "QuickStart package.json from the documentation, supplemented with testing support",
  "scripts": {
    "build": "tsc -p src/",
    "build:watch": "tsc -p src/ -w",
    "build:e2e": "tsc -p e2e/",
    "serve": "lite-server -c=bs-config.json",
    "serve:e2e": "lite-server -c=bs-config.e2e.json",
    "prestart": "npm run build",
    "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
    "pree2e": "npm run build:e2e",
    "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
    "preprotractor": "webdriver-manager update",
    "protractor": "protractor protractor.config.js",
    "pretest": "npm run build",
    "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
    "pretest:once": "npm run build",
    "test:once": "karma start karma.conf.js --single-run",
    "lint": "tslint ./src/**/*.ts -t verbose"
  },
  "keywords": [],
  "author": "",
  "license": "MIT",
  "dependencies": {
    "@angular/common": "~4.3.4",
    "@angular/compiler": "~4.3.4",
    "@angular/core": "~4.3.4",
    "@angular/forms": "~4.3.4",
    "@angular/http": "~4.3.4",
    "@angular/platform-browser": "~4.3.4",
    "@angular/platform-browser-dynamic": "~4.3.4",
    "@angular/router": "~4.3.4",
    "angular-in-memory-web-api": "~0.3.0",
    "systemjs": "0.19.40",
    "core-js": "^2.4.1",
    "rxjs": "5.0.1",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "concurrently": "^3.2.0",
    "lite-server": "^2.2.2",
    "typescript": "2.6.0",
    "canonical-path": "0.0.2",
    "tslint": "^3.15.1",
    "lodash": "^4.16.4",
    "jasmine-core": "~2.4.1",
    "karma": "^1.3.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~4.0.14",
    "rimraf": "^2.5.4",
    "@types/node": "^6.0.46",
    "@types/jasmine": "2.5.36"
  },
  "repository": {}
}

npm 5.5.1
Knoten 8.9.1

Irgendeine Problemumgehung?

hatte das ähnliche Problem. "skipLibCheck": true zu compilerOptions in meinem tsconfig.json hinzugefügt und dann geholfen

Hi

./node_modules/@types/core-js/index.d.ts:1461:36 - Fehler TS2339: Eigenschaft 'for' existiert nicht auf Typ 'SymbolConstructor'.

1461 const _for: typeof core.Symbol.for;
~~~

../node_modules/@types/core-js/index.d.ts:1465:43 - Fehler TS2339: Eigenschaft 'hasInstance' existiert nicht auf Typ 'SymbolConstructor'.

1465 const hasInstance: typeof core.Symbol.hasInstance;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:1469:50 - Fehler TS2339: Eigenschaft 'isConcatSpreadable' existiert nicht auf Typ 'SymbolConstructor'.

1469 const isConcatSpreadable: typeof core.Symbol.isConcatSpreadable;
~ ~ ~ ~~~

../node_modules/@types/core-js/index.d.ts:1477:38 - Fehler TS2339: Eigenschaft 'keyFor' existiert nicht auf Typ 'SymbolConstructor'.

1477 const keyFor: typeof core.Symbol.keyFor;
~ ~

../node_modules/@types/core-js/index.d.ts:1481:37 - Fehler TS2339: Eigenschaft 'match' existiert nicht für Typ 'SymbolConstructor'.

1481 const match: typeof core.Symbol.match;
~

../node_modules/@types/core-js/index.d.ts:1485:39 - Fehler TS2339: Eigenschaft 'replace' existiert nicht auf Typ 'SymbolConstructor'.

1485 const replace: typeof core.Symbol.replace;
~ ~~

../node_modules/@types/core-js/index.d.ts:1489:38 - Fehler TS2339: Eigenschaft 'search' existiert nicht für Typ 'SymbolConstructor'.

1489 const search: typeof core.Symbol.search;
~ ~

../node_modules/@types/core-js/index.d.ts:1493:39 - Fehler TS2339: Eigenschaft 'Spezies' existiert nicht auf Typ 'SymbolConstructor'.

1493 const Spezies: typeof core.Symbol.species;
~ ~~

../node_modules/@types/core-js/index.d.ts:1497:37 - Fehler TS2339: Eigenschaft 'split' existiert nicht auf Typ 'SymbolConstructor'.

1497 const split: typeof core.Symbol.split;
~

../node_modules/@types/core-js/index.d.ts:1501:43 - Fehler TS2339: Eigenschaft 'toPrimitive' existiert nicht auf Typ 'SymbolConstructor'.

1501 const toPrimitive: typeof core.Symbol.toPrimitive;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:1505:43 - Fehler TS2339: Eigenschaft 'toStringTag' existiert nicht auf Typ 'SymbolConstructor'.

1505 const toStringTag: typeof core.Symbol.toStringTag;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:1509:43 - Fehler TS2339: Eigenschaft 'unscopables' existiert nicht auf Typ 'SymbolConstructor'.

1509 const unscopables: typeof core.Symbol.unscopables;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:2272:36 - Fehler TS2339: Eigenschaft 'for' existiert nicht auf Typ 'SymbolConstructor'.

2272 const _for: typeof core.Symbol.for;
~~~

../node_modules/@types/core-js/index.d.ts:2276:43 - Fehler TS2339: Eigenschaft 'hasInstance' existiert nicht auf Typ 'SymbolConstructor'.

2276 const hasInstance: typeof core.Symbol.hasInstance;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:2280:50 - Fehler TS2339: Eigenschaft 'isConcatSpreadable' existiert nicht auf Typ 'SymbolConstructor'.

2280 const isConcatSpreadable: typeof core.Symbol.isConcatSpreadable;
~ ~ ~ ~~~

../node_modules/@types/core-js/index.d.ts:2288:38 - Fehler TS2339: Eigenschaft 'keyFor' existiert nicht auf Typ 'SymbolConstructor'.

2288 const keyFor: typeof core.Symbol.keyFor;
~ ~

../node_modules/@types/core-js/index.d.ts:2292:37 - Fehler TS2339: Eigenschaft 'match' existiert nicht für Typ 'SymbolConstructor'.

2292 const match: typeof core.Symbol.match;
~

../node_modules/@types/core-js/index.d.ts:2296:39 - Fehler TS2339: Eigenschaft 'replace' existiert nicht auf Typ 'SymbolConstructor'.

2296 const replace: typeof core.Symbol.replace;
~ ~~

../node_modules/@types/core-js/index.d.ts:2300:38 - Fehler TS2339: Eigenschaft 'search' existiert nicht für Typ 'SymbolConstructor'.

2300 const search: typeof core.Symbol.search;
~ ~

../node_modules/@types/core-js/index.d.ts:2304:39 - Fehler TS2339: Eigenschaft 'Spezies' existiert nicht auf Typ 'SymbolConstructor'.

2304 const Spezies: typeof core.Symbol.species;
~ ~~

../node_modules/@types/core-js/index.d.ts:2308:37 - Fehler TS2339: Eigenschaft 'split' existiert nicht auf Typ 'SymbolConstructor'.

2308 const split: typeof core.Symbol.split;
~

../node_modules/@types/core-js/index.d.ts:2312:43 - Fehler TS2339: Eigenschaft 'toPrimitive' existiert nicht auf Typ 'SymbolConstructor'.

2312 const toPrimitive: typeof core.Symbol.toPrimitive;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:2316:43 - Fehler TS2339: Eigenschaft 'toStringTag' existiert nicht auf Typ 'SymbolConstructor'.

2316 const toStringTag: typeof core.Symbol.toStringTag;
~ ~ ~

../node_modules/@types/core-js/index.d.ts:2320:43 - Fehler TS2339: Eigenschaft 'unscopables' existiert nicht auf Typ 'SymbolConstructor'.

2320 const unscopables: typeof core.Symbol.unscopables;
~ ~ ~

Dies ist der Fehler, den ich bekomme

meine tsconfig
{
"compileOnSave": falsch,
"compilerOptions": {
"baseUrl": "",
"outDir": "./dist/out-tsc",
"sourceMap": wahr,
"Erklärung": falsch,
"downlevelIteration": wahr,
"experimentalDecorators": wahr,
"modul": "es6",
"moduleResolution": "Knoten",
"importHelpers": wahr,
"Ziel": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es5",
"es2015",
"es2017",
"dom",
"Script host"
],
},
"angularCompilerOptions": {
"fullTemplateTypeCheck": wahr,
"strictInjectionParameters": wahr
}
}
hilf mir das Problem zu lösen

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen