OneIdentity / IdentityManager.Imx

HTML5 source code for Identity Manager web apps
Other
28 stars 109 forks source link

Dependancy Problems in Branch v82 #58

Closed mafi1003 closed 1 year ago

mafi1003 commented 1 year ago

NPM Install doesn't work for realease 8.2. The node module "elemental-ui_core" requires "elemental-ui_cadence-icon" in Version 3.1.33 but "elemental-ui_cadence-icon" is shipped in version 3.1.35. Therefore Npm can't resolve the dependancy. As you can see in the following Screenshot. packagejson

Also the "karma-jasmine-html-reporter" dropped support for "jasmine-core" with versions < 3.8 therefore at least version 3.8 for "jasmine-core" is required.

hannoquest commented 1 year ago

Hello, Can you link to the code location with this reference? Your screenshot does not look like the current package.json in 8.2. Thanks!

mafi1003 commented 1 year ago

Hello, this is the package.json of the elemental-ui_core.tgz. https://github.com/OneIdentity/IdentityManager.Imx/blob/v82/imxweb/imx-modules/elemental-ui_core.tgz

hannoquest commented 1 year ago

Hello, As a favor, please open a new issue for separate problems to keep the discussion organized. Can you post the error from npm install as well as your nodeJS/npm version number please? We have the installation as part of the build workflow here as well.

mafi1003 commented 1 year ago

Hello, this is the error: npm error I managed to solve the error by unpacking the elemental-ui_core.tgz and adding "^" in the package.json of elemental-ui_core.
Npm v8.11.0; NodeJS v16.15.1

RaffiMezaduryanQuest commented 1 year ago

Hi @mafi1003, unfortunately, we cannot reproduce your npm install problem.

To narrow this down further,

mafi1003 commented 1 year ago

Hello, just to be sure I downloaded the repository again and checked if the problem is still there. I will try to describe where I think the problem is. If I open "IdentityManager.Imx-82\imxweb\imx-modules\elemental-ui_core.tgz" which is part of the repository. There is a package.json file inside the archive. This file looks like this: { "name": "@elemental-ui/core", "version": "6.0.29", "peerDependencies": { "@angular/common": "^11.2.14", "@angular/core": "^11.2.14", "@angular/material-moment-adapter": "^11.2.13", **"@elemental-ui/cadence-icon": "3.1.33",** "billboard.js": "^3.1.3", "moment-timezone": "^0.5.26", "smooth-scrollbar": "^8.5.0", "file-saver": "^2.0.2" }, "dependencies": { "tslib": "^2.0.0" }, "publishConfig": { "registry": "https://1id.pkgs.visualstudio.com/_packaging/OneIdentity/npm/registry/" }, "main": "bundles/elemental-ui-core.umd.js", "module": "fesm2015/elemental-ui-core.js", "es2015": "fesm2015/elemental-ui-core.js", "esm2015": "esm2015/elemental-ui-core.js", "fesm2015": "fesm2015/elemental-ui-core.js", "typings": "elemental-ui-core.d.ts", "metadata": "elemental-ui-core.metadata.json", "sideEffects": false } In this package.json there is a peerDependency for "elemental-ui/cadence-icon" stating that exactly version 3.1.33 is needed. But if I also check "IdentityManager.Imx-82\imxweb\imx-modules\elemental-ui_cadence-icon.tgz" and open the package.json of it: { "name": "@elemental-ui/cadence-icon", **"version": "3.1.35",** "description": "One Identity's icon font", "scripts": { "gulp": "gulp", "build": "gulp build", "lint": "gulp lint" }, "files": [ "dist/cadence.scss", "dist/Cadence*", "codepoints.js" ], "repository": { "type": "git", "url": "https://1id.visualstudio.com/Common/_git/Cadence-Icon" }, "keywords": [ "icon", "font-icon", "font" ], "devDependencies": { "del": "^4.0.0", "fast-xml-parser": "^3.12.10", "gulp": "^4.0.0", "gulp-svgmin": "^2.1.0", "gulp-util": "^3.0.8", "mkdirp": "^0.5.1", "plugin-error": "^1.0.1", "through2": "^3.0.0", "webfonts-generator": "^0.4.0", "gulp-rename": "^1.4.0" } } I can clearly see that it states it is version "3.1.35". Therefore I can not imagine that NPM could be able to resolve the dependency. Since 3.1.35 > 3.1.33. I managed to fix the errors by specifying the dependency to version "^3.1.33" to indicate that not exactly version 3.1.33 is needed. I hope this helps to further explain where I suspect a problem. If you can't see a problem with the version mismatch created by these two imx-modules you can close this issue since I got it working through the mentioned edit.

RaffiMezaduryanQuest commented 1 year ago

Hi @mafi1003 I talked to the Elemental team and they will add "^" to the package.json in future versions. Thanks for the hint!