Closed micahstubbs closed 2 years ago
will this continue to work for non-M1 mac and other windows users?
@desaikomal, yes all existing architectures will continue to be supported. You can read more here:
https://github.com/sass/dart-sass/issues/1125
You can install Sass on Windows, Mac, or Linux by downloading the package for your operating system from GitHub and adding it to your PATH. That’s all—there are no external dependencies and nothing else you need to install.
here's a longer list of security vulnerabilities and outdated packages:
npm install
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'karma@1.4.1',
npm WARN EBADENGINE required: { node: '0.10 || 0.12 || 4 || 5 || 6' },
npm WARN EBADENGINE current: { node: 'v16.10.0', npm: '7.24.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'karma-cli@1.0.1',
npm WARN EBADENGINE required: { node: '0.10 || 0.12 || 4 || 5 || 6' },
npm WARN EBADENGINE current: { node: 'v16.10.0', npm: '7.24.0' }
npm WARN EBADENGINE }
npm WARN deprecated fsevents@1.1.3: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated sntp@2.1.0: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated hoek@4.2.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated flatten@1.0.2: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated cryptiles@3.1.2: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated extract-text-webpack-plugin@3.0.2: Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
npm WARN deprecated html-webpack-plugin@2.30.1: out of support
npm WARN deprecated boom@4.3.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hawk@6.0.2: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated svgo@0.7.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated uuid@3.1.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.83.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated ini@1.3.5: Please update to ini >=1.3.6 to avoid a prototype pollution issue
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated har-validator@5.0.3: this library is no longer supported
npm WARN deprecated tar@2.2.1: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated domelementtype@1.3.0: update to domelementtype@1.3.1
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated boom@5.2.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated @angular/http@5.1.1: Package no longer supported. Use @angular/common instead, see https://angular.io/guide/deprecations#angularhttp
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated uuid@2.0.3: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated mkdirp@0.5.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated har-validator@4.2.1: this library is no longer supported
npm WARN deprecated request@2.81.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated buffer@4.9.1: This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer
npm WARN deprecated hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated uglify-es@3.2.2: support for ECMAScript is superseded by `uglify-js` as of v3.13.0
npm WARN deprecated core-js@2.5.3: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
Taking a fresh look at this, I have checked out a fresh branch on an old Intel Mac. I have verified that using node@8.9.4:
npm install
worksnpm run build
worksnpm start
worksnpm run test
appears to work. 37 out of 47 tests pass, 10 tests are skipped. It is unclear why tests are skipped.npm run lint
runs and passes with a warning about missing rule implementations. see #2076 npm run smoke
runs but fails. see log from this runnpm run e2e
does not work. see #2075Now that we can a well-defined benchmark state for what tests pass on master on an Intel Mac, I'm going to break #2054 into smaller changes that upgrade a smaller number of versions, with focus on ensuring that npm scripts that run successfully on master continue running successfully.
Let's upgrade a minor version from Angular 5.1 to Angular 5.2
We will use https://update.angular.io/?l=3&v=5.1-5.2 as our guide.
The Before Updating checklist is complete. Most of these didn't apply. You can see in the 5.1-->5.2 PR diff which changes were relevant to our helix-front codebase.
Now, we will install the required dependencies for Angular 5.2, slightly modifying the guide to remove animations (which we do not use and is somehow not found by npm) and http (which we no longer use since its functionatlity moved to @angular/common).
npm install @angular/{common,compiler,compiler-cli,core,forms,platform-browser,platform-browser-dynamic,platform-server,router}@^5.2.0 typescript@2.4.2 rxjs@^5.5.2
npm install @angular/{common,compiler,compiler-cli,core,forms,platform-browser,platform-browser-dynamic,platform-server,router}@^5.2.0 typescript@2.4.2 rxjs@^5.5.2
# npm WARN @angular/cdk@5.0.1 requires a peer of @angular/core@~5.1.0 but none is installed. You must install peer dependencies yourself.
# npm WARN @angular/cdk@5.0.1 requires a peer of @angular/common@~5.1.0 but none is installed. You must install peer dependencies yourself.
# npm WARN @angular/flex-layout@2.0.0-beta.12 requires a peer of @angular/core@~5.1.0 but none is installed. You must install peer dependencies yourself.
# npm WARN @angular/flex-layout@2.0.0-beta.12 requires a peer of @angular/common@~5.1.0 but none is installed. You must install peer dependencies yourself.
# npm WARN @angular/material@5.0.1 requires a peer of @angular/core@~5.1.0 but none is installed. You must install peer dependencies yourself.
# npm WARN @angular/material@5.0.1 requires a peer of @angular/common@~5.1.0 but none is installed. You must install peer dependencies yourself.
# + @angular/common@5.2.11
# + @angular/forms@5.2.11
# + @angular/platform-browser-dynamic@5.2.11
# + @angular/router@5.2.11
# + @angular/compiler-cli@5.2.11
# + @angular/platform-server@5.2.11
# + rxjs@5.5.12
# + @angular/compiler@5.2.11
# + @angular/platform-browser@5.2.11
# + @angular/core@5.2.11
# + typescript@2.4.2
# updated 11 packages in 8.668
Ah, it looks like the guide misses a few packages that we use. Let's update those too.
npm install @angular/{cdk,material}@^5.2.0
Now, let's update @angular/flex-layout, which oddly doesn't sync its versions to Angular like all the other packages do.
First, we need to figure out which version of @angular/flex-layout matches Angular 5.2. A quick search yield this issue: https://github.com/angular/flex-layout/issues/559
which links to this commit https://github.com/angular/flex-layout/commit/061083dca30b596a15801708bf22bf44c044b749
which links to this tag https://github.com/angular/flex-layout/releases/tag/v5.0.0-beta.14
so, we need this command to fix the peer dependency warning:
npm install @angular/flex-layout@5.0.0-beta.14
combined all together, these dependency update commands are:
npm install @angular/{cdk,common,compiler,compiler-cli,core,forms,material,platform-browser,platform-browser-dynamic,platform-server,router}@^5.2.0 @angular/flex-layout@5.0.0-beta.14 typescript@2.4.2 rxjs@^5.5.2
Okay, let's test the upgrade from Angular 5.1 to Angular 5.2.
npm install
worksnpm run build
worksnpm start
worksnpm run test
appears to work. npm run lint
runs and passesHelix UI renders with 0 errors and 1 warning in the browser console. The warning is understandable since I did not specify the optional config necessary for the Piwik analytics library to work.
npm run test
results
Test look good, let's make a Pull Request for the 5.1-->5.2 upgrade.
Alright, let's try to upgrade from Angular 5.2 to Angular 6.0, which is the next version shown in the update guide.
First, we will consult the handy Angular versions compatibility table to determine which version of nodejs we should be running:
node -v
# v8.9.4
We are already running a compatible version of nodejs.
We will upgrade the other libraries in a later step.
Update your Angular CLI, and migrate the configuration to the new angular.json format by running the following:
NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/cli@6
When we run this command, we see this error output
A quick search yields https://stackoverflow.com/questions/59269208/errorrootcode-for-hash-md5-was-not-found-when-using-any-hg-mercurial-command
which led me to https://stackoverflow.com/a/65091975
Let's try NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/cli@6
again.
That fixed the first issue. Now we see this xcode dev tools related error, since it looks like this command tries to compile some C.
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Quick search identifies: https://stackoverflow.com/questions/17980759/xcode-select-active-developer-directory-error
Looks like I need to install full XCode on this machine. Okay, let's do that.
XCode installed, after much hassle.
Still trying to run:
NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/cli@6
Now facing this error: https://stackoverflow.com/questions/44525746/global-angular-cli-version-greater-than-local-version
let's try:
npm install @angular/cli@6 && npx @angular/cli@6 update @angular/cli@6
This fixes the version mismatch error, but does not convert angular-cli.json
to angular.json
.
Let's try:
npx @angular/cli@6 update @angular/cli@6 --migrate-only
That failed as well. https://stackoverflow.com/questions/50232874/angular-6-migration-angular-cli-json-to-angular-json
Let's try:
npm install -G @angular/cli@6
ng update @angular/cli --from=5.2.11 --to=6 --migrate-only
ah hah! this interaction with the way Volta handles globally installed packages might be part of the problem. https://stackoverflow.com/a/66312977/1732222
EDIT: this was the problem.
Let's use nvm instead of volta to manage our nodejs installs.
nvm install 8.9.4
now, let's try to convert angular-cli.json
to angular.json
again. Hopefully using nvm will enable the globally installed ng binary to be detected correctly.
NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/cli@6
The command runs without the previous error message, but it still does not convert angular-cli.json
to angular.json
.
Let's try this one more time:
npm install -g @angular/cli@6
# + @angular/cli@6.2.9
# added 340 packages in 17.437s
ng update @angular/cli --from=5.2.11 --to=6 --migrate-only
It looks like this worked. Here's a gist with the log
Now working on this step:
Update all of your Angular framework packages to v6, and the correct version of RxJS and TypeScript.
NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/core@6
Which produces this output:
./Release/.deps/Release/obj.target/fse/fsevents.o.d.raw Stats {
dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 8813861629,
size: 1348,
blocks: 8,
atimeMs: 1651702160000,
mtimeMs: 1651702160000,
ctimeMs: 1651702160813.6194,
birthtimeMs: 1651702160000,
atime: 2022-05-04T22:09:20.000Z,
mtime: 2022-05-04T22:09:20.000Z,
ctime: 2022-05-04T22:09:20.814Z,
birthtime: 2022-05-04T22:09:20.000Z }
Package "@angular/flex-layout" has an incompatible peer dependency to "rxjs" (requires "^5.5.0", would install "6.6.7").
Incompatible peer dependencies found. See above.
It looks like we need to update @angular/flex-layout
. Let's look at their tags and figure out which version of @angular/flex-layout
is compatible with Angular 6.
Let's try 6.0.0-beta.18
.
Next peer dep error:
Package "ngx-dag" has an incompatible peer dependency to "rxjs" (requires "^5.0.3", would install "6.6.7").
https://github.com/swimlane/ngx-graph/tags?after=6.1.0
Let's try @sminlane/ngx-graph@6.0.0
We also need to do a global find and replace operation to update our code for the new package name.
Find: ngx-dag Replace: @swimlane/ngx-graph
Let's try this update command again:
NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/core@6
Which produces the output:
./Release/.deps/Release/obj.target/fse/fsevents.o.d.raw Stats {
dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 8813893160,
size: 1348,
blocks: 8,
atimeMs: 1651703113000,
mtimeMs: 1651703113000,
ctimeMs: 1651703113875.648,
birthtimeMs: 1651703113000,
atime: 2022-05-04T22:25:13.000Z,
mtime: 2022-05-04T22:25:13.000Z,
ctime: 2022-05-04T22:25:13.876Z,
birthtime: 2022-05-04T22:25:13.000Z }
Cannot read property 'split' of null
Apparently other people had this problem too. https://github.com/angular/angular-cli/issues/12644
Okay so removing some dependencies from package.json temporarily seems to work around the semver parsing bug in Angular CLI.
Specifically, temporarily remove these packages:
"angulartics2": "^2.2.1",
"body-parser": "^1.17.2",
"core-js": "^2.4.1",
"d3-shape": "^1.2.0",
"dotenv": "^4.0.0",
"express": "^4.15.3",
"express-session": "^1.15.6",
"hammerjs": "^2.0.8",
"ldapjs": "^1.0.2",
"lodash": "^4.17.12",
"moment": "^2.29.2",
"morgan": "^1.8.2",
"ngx-clipboard": "^9.0.0",
"ngx-json-viewer": "^2.3.0",
"ngx-vis": "^0.1.0",
"node-sass": "4.5.3",
"request": "^2.81.0",
"@swimlane/ngx-charts": "^9.1.1",
"@swimlane/ngx-datatable": "^11.1.7",
"@swimlane/ngx-graph": "6.0.0",
"vis": "^4.21.0",
Let's go get the compatible version for this dep: https://github.com/swimlane/ngx-charts/tags
Let's try 9.1.1
Here is the output from the successful update command run:
NG_DISABLE_VERSION_CHECK=1 npx @angular/cli@6 update @angular/core@6
./Release/.deps/Release/obj.target/fse/fsevents.o.d.raw Stats {
dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 8813937164,
size: 1348,
blocks: 8,
atimeMs: 1651703820000,
mtimeMs: 1651703820000,
ctimeMs: 1651703820563.4534,
birthtimeMs: 1651703820000,
atime: 2022-05-04T22:37:00.000Z,
mtime: 2022-05-04T22:37:00.000Z,
ctime: 2022-05-04T22:37:00.563Z,
birthtime: 2022-05-04T22:37:00.000Z }
Updating package.json with dependency zone.js @ "0.8.29" (was "0.8.18")...
Updating package.json with dependency rxjs @ "6.6.7" (was "5.5.12")...
Updating package.json with dependency typescript @ "2.9.2" (was "2.4.2")...
Updating package.json with dependency @angular/compiler-cli @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/core @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/compiler @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/common @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/http @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/animations @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/platform-browser-dynamic @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/router @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/platform-server @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/platform-browser @ "6.1.10" (was "5.2.11")...
Updating package.json with dependency @angular/forms @ "6.1.10" (was "5.2.11")...
UPDATE package.json (2125 bytes)
npm WARN deprecated @angular/http@6.1.10: Package no longer supported. Use @angular/common instead, see https://angular.io/guide/deprecations#angularhttp
npm WARN @angular/flex-layout@6.0.0-beta.18 requires a peer of @angular/cdk@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.5.2 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
added 11 packages, removed 102 packages, updated 16 packages and moved 1 package in 13.475s
UPDATE package.json (2159 bytes)
During the Update steps are now complete https://update.angular.io/?l=3&v=5.2-6.0
Let's Remove deprecated RxJS 5 features using rxjs-tslint auto update rules
In our case, the instructions resolve to these commands:
npm i -g rxjs-tslint
rxjs-5-to-6-migrate -p client/tsconfig.app.json
Which produces this output:
Running the automatic migrations. Please, be patient and wait until the execution completes.
Found and fixed the following deprecations:
Fixed 2 error(s) in /helix/helix-front/client/app/core/user.service.ts
Fixed 7 error(s) in /helix/helix-front/client/app/core/helix.service.ts
Fixed 2 error(s) in /helix/helix-front/client/app/cluster/shared/cluster.service.ts
Fixed 2 error(s) in /helix/helix-front/client/app/instance/shared/instance.service.ts
Fixed 1 error(s) in /helix/helix-front/client/app/cluster/cluster-detail/cluster-detail.component.ts
Fixed 4 error(s) in /helix/helix-front/client/app/resource/shared/resource.service.ts
Fixed 2 error(s) in /helix/helix-front/client/app/workflow/shared/workflow.service.ts
Fixed 1 error(s) in /helix/helix-front/client/app/resource/resource-list/resource-list.component.ts
WARNING: /helix/helix-front/client/app/cluster/cluster-detail/cluster-detail.component.ts:2:20 - outdated import path
WARNING: /helix/helix-front/client/app/cluster/shared/cluster.service.ts:2:20 - outdated import path
WARNING: /helix/helix-front/client/app/core/helix.service.ts:2:1 - duplicate RxJS import
WARNING: /helix/helix-front/client/app/core/helix.service.ts:4:27 - outdated import path
WARNING: /helix/helix-front/client/app/core/user.service.ts:2:27 - outdated import path
WARNING: /helix/helix-front/client/app/instance/shared/instance.service.ts:2:20 - outdated import path
WARNING: /helix/helix-front/client/app/resource/shared/resource.service.ts:2:20 - outdated import path
WARNING: /helix/helix-front/client/app/workflow/shared/workflow.service.ts:2:20 - outdated import path
It looks like the update script already fixed the path warnings, since our files now use the modern import syntax, which looks like this:
import {map} from 'rxjs/operators';
Now we are told to remove rxjs-compat
. Let's do that:
npm uninstall rxjs-compat
which produces the output:
npm WARN @angular/flex-layout@6.0.0-beta.18 requires a peer of @angular/cdk@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.5.2 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
removed 1 package in 6.407s
Interpretation: The uninstall worked. However, we have some npm warnings that would fix before moving forward. Let's look at those warnings one by one.
First, let's paste back in the dependencies that we removed temporarily to work around that Angular CLI semver parsing bug:
"angulartics2": "^2.2.1",
"body-parser": "^1.17.2",
"core-js": "^2.4.1",
"d3-shape": "^1.2.0",
"dotenv": "^4.0.0",
"express": "^4.15.3",
"express-session": "^1.15.6",
"hammerjs": "^2.0.8",
"ldapjs": "^1.0.2",
"lodash": "^4.17.12",
"moment": "^2.29.2",
"morgan": "^1.8.2",
"ngx-clipboard": "^9.0.0",
"ngx-json-viewer": "^2.3.0",
"ngx-vis": "^0.1.0",
"node-sass": "4.5.3",
"request": "^2.81.0",
"@swimlane/ngx-charts": "^9.1.1",
"@swimlane/ngx-datatable": "^11.1.7",
"@swimlane/ngx-graph": "6.0.0",
"vis": "^4.21.0",
Here are all the warnings that we see now:
npm WARN @angular/flex-layout@6.0.0-beta.18 requires a peer of @angular/cdk@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.5.2 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/core@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/common@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/platform-browser@5.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-datatable@11.3.2 requires a peer of rxjs@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@9.1.1 requires a peer of @angular/cdk@6.x but none is installed. You must install peer dependencies yourself.
First, we should npm uninstall @angular/http
since it was moved to @angular/common/http
and then, let's update the rest of the @angular/* packages to ^6.1.0
:
npm install @angular/{animations,cdk,common,compiler,compiler-cli,core,forms,material,platform-browser,platform-browser-dynamic,platform-server,router}@6.1.0
Note: we were originally only going to upgrade to Angular 6.0 in this step, but since the 6.0 migration guide instructions took us to 6.1, we will go to 6.1 in this iteration.
update list of npm warnings:
npm WARN @swimlane/ngx-datatable@11.3.2 requires a peer of rxjs@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.5.2 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/core@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/common@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/platform-browser@5.x but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
Looks like we need:
@swimlane/ngx-datatable@13.0.0
latest npm warnings:
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.5.2 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/core@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/common@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/platform-browser@5.x but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
It looks like we need
@swimlane/ngx-charts@8.0.0
https://github.com/swimlane/ngx-charts/blame/14845f0cac997938cdf1ce1dc1e9fdd5ad100772/package.json
npm warnings
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.5.2 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/core@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/common@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/platform-browser@5.x but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
weird, I thought we just installed @swimlane/ngx-charts@8
This warning shows 10
.
https://stackoverflow.com/questions/31923195/how-to-find-reverse-dependencies-on-npm-package
find ./node_modules/ -name package.json | xargs grep ngx-charts
produces this line, among others:
./node_modules//@swimlane/ngx-graph/package.json: "@swimlane/ngx-charts": "^10.0.0",
Ah hah, so that's the problem. ngx-graph
requires an newer version of ngx-charts
.
I see two options here:
1) downgrade ngx-graph
to fix the warning
2) ignore the warning, and only come back to fix it if the helix-front tests don't pass.
Let's pick option 2
, and ignore this warning for now.
Next up, let's install this missing peer dep:
npm i ajv@6.9.1
new npm warnings list:
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser-dynamic@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/platform-browser@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.0.2 requires a peer of @angular/common@^2.3.1 || >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/core@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/common@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/platform-browser@5.x but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
Let's figure out what version of codelyzer
is compatible with Angular 6
It looks like we can use latest codelyzer
, which is:
npm i codelyzer@6.0.1
https://github.com/mgechev/codelyzer/blame/master/package.json#L93
.
npm warnings:
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/core@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/common@5.x but none is installed. You must install peer dependencies yourself.
npm WARN ngx-clipboard@9.1.3 requires a peer of @angular/platform-browser@5.x but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
Looks like we need
npm i ngx-clipboard@11.1.5
https://github.com/maxisam/ngx-clipboard/blame/f4b0712ccc7c8e3f277b20c3f069ba123c6fc247/package.json
npm warnings:
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
Looks like we need:
npm i tsickle@0.32.1
https://github.com/angular/tsickle/blame/4fd55d6bfc2f663677fe95441aa6db532f721407/package.json
~Excellent. Now the only npm warnings that remain are the ones that we have decided to ignore for now:~
Ugh, what is this:
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
npm WARN tsickle@0.30.0 requires a peer of typescript@>=2.4.2 <2.9 but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/animations@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/common@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/core@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-graph@6.0.0 requires a peer of @angular/cdk@6.x | 7.x | 8.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/animations@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/cdk@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/core@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/common@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/forms@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser@7.x but none is installed. You must install peer dependencies yourself.
npm WARN @swimlane/ngx-charts@10.1.0 requires a peer of @angular/platform-browser-dynamic@7.x but none is installed. You must install peer dependencies yourself.
let's find the culprit:
find ./node_modules/ -name package.json | xargs grep tsickle
Got 'em:
./node_modules//@angular/compiler-cli/package.json: "tsickle": "^0.30.0"
find ./node_modules/ -name package.json | xargs grep @angular/compile r-cli
results in:
./node_modules/ngx-json-viewer/package.json: "@angular/compiler-cli": "^5.2.2",
./node_modules/codelyzer/node_modules/@angular/core/package.json: "@angular/compiler-cli",
./node_modules/codelyzer/node_modules/@angular/compiler/package.json: "@angular/compiler-cli",
./node_modules/@angular/compiler-cli/node_modules/tsickle/package.json: "_location": "/@angular/compiler-cli/tsickle",
./node_modules/@angular/compiler-cli/node_modules/tsickle/package.json: "/@angular/compiler-cli"
./node_modules/@angular/compiler-cli/node_modules/tsickle/package.json: "_where": "/helix/helix-front/node_modules/@angular/compiler-cli",
./node_modules/@angular/compiler-cli/node_modules/source-map-support/package.json: "_location": "/@angular/compiler-cli/source-map-support",
./node_modules/@angular/compiler-cli/node_modules/source-map-support/package.json: "/@angular/compiler-cli/tsickle"
./node_modules/@angular/compiler-cli/node_modules/source-map-support/package.json: "_where": "/helix/helix-front/node_modules/@angular/compiler-cli/node_modules/tsickle",
./node_modules/@angular/compiler-cli/node_modules/source-map/package.json: "_location": "/@angular/compiler-cli/source-map",
./node_modules/@angular/compiler-cli/node_modules/source-map/package.json: "/@angular/compiler-cli/source-map-support",
./node_modules/@angular/compiler-cli/node_modules/source-map/package.json: "/@angular/compiler-cli/tsickle"
./node_modules/@angular/compiler-cli/node_modules/source-map/package.json: "_where": "/helix/helix-front/node_modules/@angular/compiler-cli/node_modules/tsickle",
./node_modules/@angular/compiler-cli/package.json: "_from": "@angular/compiler-cli@6.1.0",
./node_modules/@angular/compiler-cli/package.json: "_id": "@angular/compiler-cli@6.1.0",
./node_modules/@angular/compiler-cli/package.json: "_location": "/@angular/compiler-cli",
./node_modules/@angular/compiler-cli/package.json: "raw": "@angular/compiler-cli@6.1.0",
./node_modules/@angular/compiler-cli/package.json: "name": "@angular/compiler-cli",
./node_modules/@angular/compiler-cli/package.json: "_resolved": "https:/registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.0.tgz",
./node_modules/@angular/compiler-cli/package.json: "_spec": "@angular/compiler-cli@6.1.0",
./node_modules/@angular/compiler-cli/package.json: "name": "@angular/compiler-cli",
./node_modules/@angular/compiler-cli/package.json: "@angular/compiler-cli",
./node_modules/@angular/forms/package.json: "@angular/compiler-cli",
./node_modules/@angular/core/package.json: "@angular/compiler-cli",
./node_modules/@angular/platform-server/package.json: "@angular/compiler-cli",
./node_modules/@angular/common/package.json: "@angular/compiler-cli",
./node_modules/@angular/platform-browser-dynamic/package.json: "@angular/compiler-cli",
./node_modules/@angular/compiler/package.json: "@angular/compiler-cli",
./node_modules/@angular/animations/package.json: "@angular/compiler-cli",
./node_modules/@angular/platform-browser/package.json: "@angular/compiler-cli",
./node_modules/@angular/router/package.json: "@angular/compiler-cli",
./node_modules/chokidar/package.json: "/@angular/compiler-cli",
./node_modules/minimist/package.json: "/@angular/compiler-cli",
./node_modules/@schematics/angular/workspace/files/package.json: "@angular/compiler-cli": "<%= experimentalAngularNext ? 'next' : latestVersions.Angular %>",
./node_modules/ngx-vis/package.json: "@angular/compiler-cli": "4.4.6",
./node_modules/@swimlane/ngx-graph/node_modules/@swimlane/ngx-charts/package.json: "@angular/compiler-cli": "^7.0.0",
./node_modules/@swimlane/ngx-datatable/package.json: "@angular/compiler-cli": "^6.0.0",
./node_modules/@swimlane/ngx-charts/package.json: "@angular/compiler-cli": "^6.0.0",
./node_modules/angulartics2/package.json: "@angular/compiler-cli": "^4.2.4",
./node_modules/reflect-metadata/package.json: "/@angular/compiler-cli"
./node_modules/reflect-metadata/package.json: "_where": "/helix/helix-front/node_modules/@angular/compiler-cli",
Let's ignore this one for now and see if we can build and pass tests without fixing it.
Is your feature request related to a problem? Please describe.
Two acute problems motivate upgrading the web app
helix-front
to the latest version of the Angular UI framework (Angular 13 at this writing).1) node-sass dependency doesn't support M1 MacBooks.
2) Other dependencies have security vulnerabilities.
for example:
Describe the solution you'd like
Upgrade
helix-front
to Angular 13. Perform other dependency upgrades necessary in order to make helix-front easy to maintain and contribute to going forward.Specifically, replace node-sass with dart-sass, since node-sass is deprecated and dart-sass does support modern M1 / arm64 Macs.
Additional context
This change should also fix #1574 #1573