Je suis en train d'effectuer une mise à niveau pour utiliser Typescript 2.0 avec Protractor 4.0.5. Je suis en train d'améliorer un projet de type 1.8 et de rapporteur 3.8. Je suis venu accross un tas de problèmes, que je partage ici:Protractor avec numéro d'identification de doublon de Typescript 2.0.0
Mon package.json est:
{
"dependencies": {
"core-js": "2.2.2",
"rxjs": "5.0.0-beta.6",
"web-request": "^1.0.3",
"zone.js": "0.6.12"
},
"devDependencies": {
"@types/jasmine": "^2.5.35",
"@types/node": "^6.0.45",
"@types/protractor": "^1.5.20",
"@types/selenium-webdriver": "^2.53.33",
"es6-promise": "3.1.2",
"es6-promise-loader": "1.0.1",
"es6-shim": "0.35.0",
"es7-reflect-metadata": "1.6.0",
"exports-loader": "0.6.3",
"imports-loader": "0.6.5",
"jasmine-reporters": "^2.2.0",
"json-loader": "0.5.4",
"mkdirp": "^0.5.1",
"phantomjs-polyfill": "0.0.2",
"phantomjs-prebuilt": "2.1.7",
"pix-diff": "^1.0.14",
"protractor": "4.0.5",
"protractor-jasmine2-html-reporter": "0.0.6",
"protractor-jasmine2-screenshot-reporter": "^0.3.2",
"raw-loader": "0.5.1",
"rimraf": "2.5.2",
"ts-helpers": "1.1.1",
"ts-node": "0.7.1",
"tslint": "3.7.4",
"tslint-loader": "2.1.3",
"typedoc": "0.4.3",
"typescript": "^2.0.0-beta",
"underscore": "^1.8.3"
}
Ensuite, mon paquet JSON est:
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noEmitHelpers": true,
"lib": ["es6", "dom"],
"types":[
]
},
"exclude": [
"node_modules",
"typings"
],
"filesGlob": [
"./src/**/*.ts",
"!./node_modules/**/*.ts"
],
"awesomeTypescriptLoaderOptions": {
"resolveGlobs": true,
"forkChecker": true,
"compiler": "node_modules/typescript"
},
"compileOnSave": false,
"buildOnSave": false,
"atom": { "rewriteTsconfig": false }
}
Lorsque je tente d'exécuter protractor tests avec cette configuration, je reçois un tas d'erreurs comme ceci:
node_modules\@types\selenium-webdriver\index.d.ts (12,11): Duplicate identifier 'Driver'. (2300)
node_modules\@types\selenium-webdriver\index.d.ts (46,11): Duplicate identifier 'Options'. (2300)
node_modules\@types\selenium-webdriver\index.d.ts (310,11): Duplicate identifier 'ServiceBuilder'. (2300)
node_modules\protractor\typings\globals\selenium-webdriver\index.d.ts (12,11): Duplicate identifier 'Driver'. (2300)
node_modules\protractor\typings\globals\selenium-webdriver\index.d.ts (46,11): Duplicate identifier 'Options'. (2300)
node_modules\protractor\typings\globals\selenium-webdriver\index.d.ts (310,11): Duplicate identifier 'ServiceBuilder'. (2300)
Comment résoudre ce problème, puisque je bel ive tout est configuré correctement. J'utilise Protractor 4.0.5 qui devrait fonctionner avec le typecript 2.0.
Pouvez-vous ajouter un minimum '* .ts' fichier qui provoque le problème? Je ne sais rien à propos de Protractor mais cela semble être un problème avec la définition du type, donc je peux essayer d'aider. –
@HuyNguyen Ok. Je vais ajouter un exemple de dépôt plus tard aujourd'hui. –