ionic-team / vscode-extension

15 stars 0 forks source link

Does not find Node.js when using NVM on Ubuntu 22.04 LTS machine `/bin/sh: 1: node: not found` `/bin/sh: 1: node: not found` using VSCode Remote Explorer SSH. Finds Node.js on remote Ubuntu 22.04 LTS machine when not installed using NVM but unable to login to Ionic. Only able to use NVM and login to Ionic on local machine macOS #90

Closed ltfschoen closed 1 year ago

ltfschoen commented 1 year ago

i just started using an existing Ionic project https://github.com/svub/lets-stay-in-touch

i wanted to add instructions to that repos README file with the changes i'd made in this PR https://github.com/svub/lets-stay-in-touch/pull/15 with the way i'd installed it on a fresh installation of Ubuntu 22.04 LTS that i am remotely accessing via SSH on Linode using the Remote Explorer SSH approach in VSCode.

I want to use remote machines because my local machine is an old 2 cpu macOS, and i do Rust programming where the compile time might be ~3 hrs on my local machine vs paying for a remote machine that'll compile it >10x faster. also shaves off time on some larger frontend projects.

but then i discovered this Ionic Visual Studio (VS) Code Extension and realised it would a good workflow for debugging so i installed the extension, clicked the Ionic icon, and clicked Login (i originally assumed it logged me in somehow, but it doesn't say it has or hasn't logged me in, and i later found out it should have redirected me to ionic.io/login to login, which it doesn't do), but then it displayed this error in the Visual Studio Code Ionic terminal:

[Error] /bin/sh: 1: npm: not found

then i clicked "Debug > Web" and it displayed the following in the Ionic terminal:

[Ionic] Running on Web...
> export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --external
/bin/sh: 1: npx: not found
[Ionic] export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --external Failed
[Ionic] Web Completed.

[Error] /bin/sh: 1: npm: not found

Sometimes it even says /bin/sh: 1: node: not found

Screen Shot 2023-02-24 at 2 10 29 pm

i searched the web for a solution some suggested editting settings.json with CMD+ SHIFT + P > Preferences: Open Settings (JSON) and changing to:

    "terminal.integrated.defaultProfile.linux": "sh",
    "terminal.integrated.profiles.linux": {
        "bash": {
            "path": "/bin/sh",
            "args": ["-l"]
        },
    }

so i did that and restarted the VS code window but that didn't fix the error. i tried adding the following to ~/.bash_profile too and then running source ~/.bash_profile, and repeated for ~/.profile but that still produced the same errors.

alias npx='/root/.nvm/versions/node/v19.6.0/bin/npx'

i tried running . ~/.nvm/nvm.sh but that didn't help either.

so i don't know how to configure the whatever PATH VSCode is using so it can find npx and npm.

but if i just install a version of Node.js using NodeSource without using NVM

curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
sudo apt-get install -y nodejs

then restart VSCode, when i click the Ionic icon, and then press Login, it actually logs me in properly by opening my browser ionic.io/login, which i did and logged in, then clicked "Resend verification email", and verified it, and it logged me in But VSCode still said "Complete the login in the web browser. This view will change as soon as you log in.", but that view still hadn't changed. So i logged out and logged back in in the browser but it still didn't update VSCode to log me in there too. So i closed the VSCode window and opened it again, and clicked Login, and it automatically opened the browser at https://ionicframework.com/oauth/authorize?audience=https%3A%2F%2Fapi.ionicjs.com&scope=openid%20profile%20email%20offline_access&response_type=code&client_id=cli&code_challenge=&code_challenge_method=S256&redirect_uri=http%3A%2F%2Flocalhost%3A8123&nonce=, and then continued to redirect to http://localhost:8123/?code= and displays error ERR_CONNECTION_REFUSED (i'm using latest Brave browser), and then it just showed the Sign Up or Login screen again in VSCode.

note: i've omitted the values that were shown for <CODE>, <CHALLENGE_CODE>, and <NONCE>

note that it opened http://localhost:8123/?code=, i was surprised that it didn't open http://:8123/?code=, since i wasn't working on my local machine....

so then i tried doing the same thing on my local machine to see if that'd work (slow old macOS). note: i don't actually want to work on my slow local machine

https://github.com/ltfschoen/lets-stay-in-touch
git fetch origin luke/setup:luke/setup
git checkout luke/setup
nvm use
yarn
corepack enable && corepack prepare yarn@stable --activate && yarn set version 3.4.1 \
yarn global add @ionic/cli@latest native-run cordova-res
code .

Then in VSCode i realised i had to install the ionic extension Ionic.ionic again for some reason. Then i clicked the Ionic icon, and clicked Login, and it redirected me to http://localhost:8123/?code=, and then it displayed "You are authenticated!"

(i tried using that same code at the link http://:8123/?code= to try and login so i could use Ionic with VSCode with the Remote Explorer connect instead of my local machine but that didn't work)

And this time it actually logged me in, but then i realised i realised i hadn't updated to Yarn 3.4.1, and then i noticed i'd run yarn before running the command to update from Yarn 1 to Yarn 3, so i ran corepack enable && corepack prepare yarn@stable --activate && yarn set version 3.4.1 yarn global add @ionic/cli@latest native-run cordova-res and then yarn global add @ionic/cli@latest native-run cordova-res, but it gave error Usage Error: The 'yarn global' commands have been removed in 2.x, so i did yarn dlx @ionic/cli@latest native-run cordova-res install and that worked, and then ran yarn

then i opened VSCode and clicked Ionic icon > Debug > Web, and it compiled ok:

[Ionic] Debugging...
> export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external
npm WARN exec The following package was not found and will be installed: ionic@5.4.16
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.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 superagent@4.1.0: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>.
npm WARN deprecated ionic@5.4.16: The Ionic CLI now uses ✨ @ionic/cli ✨ for its package name! 👉 https://twitter.com/ionicframework/status/1223268498362851330
> npm run ionic:serve -- --host=0.0.0.0 --port=8100
[npm] > stay-in-touch@0.0.1 ionic:serve
[npm] > vue-cli-service serve --host=0.0.0.0 --port=8100
[npm]  INFO  Starting development server...
[INFO] Waiting for connectivity with npm...
[npm] [3%] setup (watch run)
...
[npm] [9%] setup (compilation ESLintWebpackPlugin_1)
[INFO] Development server running!

       Local: http://localhost:8100
       External: http://10.1.1.26:8100

       Use Ctrl+C to quit this process
[npm] [9%] setup (compilation)
...
[npm] [51%] building (108/329 modules)
...
[npm] Build finished at 16:06:22 by 0.000s
[npm] 
[npm]   App running at:
[npm]   - Local:   http://localhost:8100/ 
[npm]   - Network: http://10.1.1.26:8100/
...
[npm] Build finished at 16:06:23 by 0.000s
[npm] No issues found.

and it automatically opened localhost:8100 and worked great!

dtarnawsky commented 1 year ago

Hey @ltfschoen,

Try out v1.24.0 which was just released. That should hopefully take care of the nvm issue.

With the problem with login, I'll take a look - I know we had a domain change for the redirect not that long ago, so maybe something broke....

ltfschoen commented 1 year ago

@dtarnawsky thanks for your prompt response!

i just tried updating to v1.24.0, then restarted VSCode

then i first tried Remote Explorer via SSH to the Ubuntu 22.04 LTS machine it still doesn't let me login, clicking "Login" just redirects to http://localhost:8123/?code=xxx with error ERR_CONNECTION_REFUSED, and in the VSCode Output it displays:

[INFO] During this process, a browser window will open to authenticate you. Please leave this process running until authentication is complete.

--confirm: Open the browser to log in to your Ionic account? Yes
Error: Cannot start local server. Port 8123 is in use.

at OpenIDFlow.getAuthorizationCode (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/lib/oauth/oauth.js:61:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async OpenIDFlow.run (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/lib/oauth/oauth.js:33:33)
at async ProSession.webLogin (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/lib/session.js:142:23)
at async LoginCommand.run (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/commands/login.js:157:17)
at async Promise.all (index 0)
at async LoginCommand.execute (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/lib/command.js:81:9)
at async Executor.run (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/lib/executor.js:54:9)
at async Executor.execute (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli-framework/lib/executor.js:70:13)
at async Object.run (/root/.vscode-server/extensions/ionic.ionic-1.24.0/node_modules/@ionic/cli/index.js:110:9)

and running lsof -i -P -n | grep LISTEN / lsof -n -i :8123 | grep LISTEN output

ionic      692623            root   18u  IPv6 12318070      0t0  TCP [::1]:8123 (LISTEN)

so i killed the port

kill -9 692623

But when i closed VSCode and tried again it had the same issue.

i also tried clicking the following and discovered that it still doesn't seem to be recognising yarn associated with the installation of Node.js from the .nvmrc file

VSCode > click Ionic Extension icon > Settings > Remote Logging

--confirm: Open the browser to log in to your Ionic account? Yes
[Ionic] Remote logging service has started at http://<MY_PUBLIC_IP>:8942
[Ionic] Installing @ionic/remote-log

[Error] /bin/sh: 1: yarn: not found

there appears to be a change in that it appears to detect the .nvmrc file because when click "Skip without Login" the Output shows:

[Ionic] Detected nvm (v19.6.0
) for this project.

and when i click "Debug > Web"

Error details ``` [Ionic] Debugging... > export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external > npm run ionic:serve -- --host=0.0.0.0 --port=8100 > npm run ionic:serve -- --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] INFO Starting development server... [npm] INFO Starting development server... [INFO] Waiting for connectivity with npm... [INFO] Waiting for connectivity with npm... [INFO] Development server running! Local: http://localhost:8100 External: http://:8100 Use Ctrl+C to quit this process [INFO] Development server running! Local: http://localhost:8100 External: http://:8100 Use Ctrl+C to quit this process [npm] [3%] setup (watch run) ... [npm] [3%] setup (watch run) [npm] /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-dev-server/lib/Server.js:2472 [npm] throw error; [npm] ^ [npm] Error: listen EADDRINUSE: address already in use 0.0.0.0:8100 [npm] at Server.setupListenHandle [as _listen2] (node:net:1740:16) [npm] at listenInCluster (node:net:1788:12) [npm] at doListen (node:net:1937:7) [npm] at process.processTicksAndRejections (node:internal/process/task_queues:83:21) { [npm] code: 'EADDRINUSE', [npm] errno: -98, [npm] syscall: 'listen', [npm] address: '0.0.0.0', [npm] port: 8100 [npm] } [npm] Node.js v19.7.0 [npm] [4%] setup (normal module factory) ... [npm] [9%] setup (compilation DefinePlugin) [ERROR] npm has unexpectedly closed (exit code 1). The Ionic CLI will exit. Please check any output above for error details. [npm] [9%] setup (compilation ForkTsCheckerWebpackPlugin) ... [npm] [9%] setup (compilation ESLintWebpackPlugin_1) [Ionic] export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external Failed [Ionic] Web Completed. [npm] [9%] setup (compilation) [npm] [10%] building [npm] [10%] building (0/0 modules) [npm] [10%] building (import loader babel-loader/lib/index.js) [npm] [10%] building (import loader ts-loader/index.js) [npm] [10%] building (0/1 modules) ```

but as you can see from the logs, it tries to open the app in the Chrome browser that pops up, but then it suddenly closes and this appears

Screen Shot 2023-02-26 at 10 39 03 am

so then i clicked to open .vscode/launch.json,

and changed the port from 8080 to 8100, since that's the port configured in Settings for the Ionic Extension

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:8100",
            "webRoot": "${workspaceFolder}"
        }
    ]
}

and tried "Debug > Web" again, which output:

Error details ``` [Ionic] Debugging... > export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external > npm run ionic:serve -- --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] INFO Starting development server... [INFO] Development server running! Local: http://localhost:8100 External: http://:8100 Use Ctrl+C to quit this process [npm] [3%] setup (watch run) ... [npm] [9%] setup (compilation) ... [npm] [10%] building ... [npm] [94%] sealing (after seal) [npm] [95%] emitting (emit) [npm] [98%] emitting (after emit) [npm] Build finished at 23:47:24 by 0.000s [npm] WARNING Compiled with 1 warning11:47:24 PM [npm] [eslint] ... [npm] Build finished at 23:47:24 by 0.000s [npm] Build finished at 23:47:24 by 0.000s [npm] [npm] App running at: [npm] - Local: http://localhost:8100/ [npm] - Network: unavailable [npm] Build finished at 23:47:24 by 0.000s [npm] ERROR Error: The project seems to require yarn but it's not installed. [npm] Error: The project seems to require yarn but it's not installed. [npm] at checkYarn (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-shared-utils/lib/env.js:46:43) [npm] at exports.hasProjectYarn (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-shared-utils/lib/env.js:42:10) [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-service/lib/commands/serve.js:330:34 [npm] at Hook.eval [as callAsync] (eval at create (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable/lib/HookCodeFactory.js:33:10), :58:1) [npm] at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable/lib/Hook.js:18:14) [npm] at Watching._done (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Watching.js:287:28) [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Watching.js:209:21 [npm] at Compiler.emitRecords (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Compiler.js:919:5) [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Watching.js:187:22 [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Compiler.js:885:14 [npm] at Hook.eval [as callAsync] (eval at create (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable/lib/HookCodeFactory.js:33:10), :12:1) [npm] at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable/lib/Hook.js:18:14) [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Compiler.js:882:27 [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/neo-async/async.js:2818:7 [npm] at done (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/neo-async/async.js:3522:9) [npm] at Hook.eval [as callAsync] (eval at create (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable/lib/HookCodeFactory.js:33:10), :6:1) [npm] at /root/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack/lib/Compiler.js:736:33 [npm] at Immediate._onImmediate (/root/code/github/ltfschoen/lets-stay-in-touch/node_modules/memfs/lib/volume.js:704:13) [npm] at process.processImmediate (node:internal/timers:475:21) [ERROR] npm has unexpectedly closed (exit code 1). The Ionic CLI will exit. Please check any output above for error details. [Ionic] export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external Failed [Ionic] Web Completed. ```

but the errors indicate that it still can't detect Yarn.

notice how at once stage it shows External: http://<MY_PUBLIC_IP>:8100, but later is showsNetwork: unavailable and the browser window doesn't load at all. and it displays this error indicating that port 8100 is in use, even though when i ran lsof -n -i :8100 | grep LISTEN on the remote server it didn't show that port in use at all...

Screen Shot 2023-02-26 at 11 05 01 am

but then i later realised it was because it was running on localhost:8100 (my local machine), and running $ lsof -n -i :8100 | grep LISTEN output:

node    15693 luke   23u  IPv4 0x58ee4edc323a80b1      0t0  TCP *:xprint-server (LISTEN)

so i killed it with kill -9 15693 and retried, but still same outputs in VSCode Output due to not being able to find Yarn.

so it doesn't find Yarn on remote server...

then secondly tried on my Local Machine (macOS) machine it also still doesn't let me login, clicking "Login" just redirects to http://localhost:8123/?code=xxx with error. there also appears to be a change in that it appears to detect the .nvmrc file because when click "Skip without Login" the Output shows:

[Ionic] Detected nvm (v19.6.0
) for this project.

and when i click "Debug > Web" it outputs the following:

Error details ``` [Ionic] Debugging... > export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external Found '/Users/luke/code/github/ltfschoen/lets-stay-in-touch/.nvmrc' with version Found '/Users/luke/code/github/ltfschoen/lets-stay-in-touch/.nvmrc' with version Now using node v19.6.0 (npm v9.4.0) Now using node v19.6.0 (npm v9.4.0) > npm run ionic:serve -- --host=0.0.0.0 --port=8100 > npm run ionic:serve -- --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] INFO Starting development server... [npm] INFO Starting development server... [INFO] Waiting for connectivity with npm... [INFO] Waiting for connectivity with npm... [npm] [3%] setup (watch run) [npm] Error: listen EADDRINUSE: address already in use 0.0.0.0:8100 [npm] at Server.setupListenHandle [as _listen2] (node:net:1740:16) [npm] at listenInCluster (node:net:1788:12) [npm] at doListen (node:net:1937:7) [npm] at process.processTicksAndRejections (node:internal/process/task_queues:83:21) { [npm] code: 'EADDRINUSE', [npm] errno: -48, [npm] syscall: 'listen', [npm] address: '0.0.0.0', [npm] port: 8100 [npm] } [npm] Node.js v19.6.0 [npm] [4%] setup (normal module factory CaseSensitivePathsPlugin) ... [npm] [8%] setup (compilation SplitChunksPlugin) [ERROR] npm has unexpectedly closed (exit code 1). The Ionic CLI will exit. Please check any output above for error details. [npm] [8%] setup (compilation ResolverCachePlugin) ... [npm] [9%] setup (compilation LoaderPlugin) [INFO] Development server running! Local: http://localhost:8100 External: http://10.1.1.26:8100 Use Ctrl+C to quit this process [INFO] Development server running! Local: http://localhost:8100 External: http://10.1.1.26:8100 Use Ctrl+C to quit this process [npm] [9%] setup (compilation NodeStuffPlugin) ... [npm] [9%] setup (compilation ESLintWebpackPlugin_1) [Ionic] source /Users/luke/.nvm/nvm.sh && nvm use && export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external Failed [Ionic] Web Completed. [npm] [9%] setup (compilation) [npm] [10%] building [npm] [10%] building (0/0 modules) ... [npm] [94%] sealing (after seal) [npm] [95%] emitting (emit) [npm] [98%] emitting (after emit) [npm] Build finished at 10:19:19 by 0.000s [npm] WARNING Compiled with 1 warning10:19:19 am [npm] [eslint] ... [npm] Build finished at 10:19:19 by 0.000s [npm] [npm] App running at: [npm] - Local: http://localhost:8100/ [npm] - Network: http://10.1.1.26:8100/ [npm] Note that the development build is not optimized. [npm] To create a production build, run yarn build. [npm] Build finished at 10:19:20 by 0.000s ```

then i tried restarting VSCode, and i think i ran lsof -n -i :8100 | grep LISTEN and kill -9 <PID> to kill whatever was running on that port 8100, but maybe i didn't, and then tried it again on local machine, it found .nvmrc, then output some error [Error] npm ERR! code ELSPROBLEMS, then according to the logs it still [npm] Error: listen EADDRINUSE: address already in use 0.0.0.0:8100, but eventually it loaded successfully on port 8100

Error details ``` [Ionic] Debugging... > export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external Found '/Users/luke/code/github/ltfschoen/lets-stay-in-touch/.nvmrc' with version Found '/Users/luke/code/github/ltfschoen/lets-stay-in-touch/.nvmrc' with version Now using node v19.6.0 (npm v9.4.0) Now using node v19.6.0 (npm v9.4.0) [Error] npm ERR! code ELSPROBLEMS npm ERR! extraneous: @achrinza/node-ipc@9.2.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@achrinza/node-ipc npm ERR! extraneous: @babel/helper-annotate-as-pure@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-annotate-as-pure npm ERR! extraneous: @babel/helper-builder-binary-assignment-operator-visitor@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-builder-binary-assignment-operator-visitor npm ERR! extraneous: @babel/helper-create-class-features-plugin@7.20.12 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-create-class-features-plugin npm ERR! extraneous: @babel/helper-create-regexp-features-plugin@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-create-regexp-features-plugin npm ERR! extraneous: @babel/helper-define-polyfill-provider@0.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-define-polyfill-provider npm ERR! extraneous: @babel/helper-explode-assignable-expression@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-explode-assignable-expression npm ERR! extraneous: @babel/helper-member-expression-to-functions@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-member-expression-to-functions npm ERR! extraneous: @babel/helper-optimise-call-expression@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-optimise-call-expression npm ERR! extraneous: @babel/helper-remap-async-to-generator@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-remap-async-to-generator npm ERR! extraneous: @babel/helper-replace-supers@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-replace-supers npm ERR! extraneous: @babel/helper-skip-transparent-expression-wrappers@7.20.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-skip-transparent-expression-wrappers npm ERR! extraneous: @babel/helper-wrap-function@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-wrap-function npm ERR! extraneous: @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression npm ERR! extraneous: @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining npm ERR! extraneous: @babel/plugin-proposal-async-generator-functions@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-async-generator-functions npm ERR! extraneous: @babel/plugin-proposal-class-properties@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-class-properties npm ERR! extraneous: @babel/plugin-proposal-class-static-block@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-class-static-block npm ERR! extraneous: @babel/plugin-proposal-decorators@7.20.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-decorators npm ERR! extraneous: @babel/plugin-proposal-dynamic-import@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-dynamic-import npm ERR! extraneous: @babel/plugin-proposal-export-namespace-from@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-export-namespace-from npm ERR! extraneous: @babel/plugin-proposal-json-strings@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-json-strings npm ERR! extraneous: @babel/plugin-proposal-logical-assignment-operators@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-logical-assignment-operators npm ERR! extraneous: @babel/plugin-proposal-nullish-coalescing-operator@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-nullish-coalescing-operator npm ERR! extraneous: @babel/plugin-proposal-numeric-separator@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-numeric-separator npm ERR! extraneous: @babel/plugin-proposal-object-rest-spread@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-object-rest-spread npm ERR! extraneous: @babel/plugin-proposal-optional-catch-binding@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-optional-catch-binding npm ERR! extraneous: @babel/plugin-proposal-optional-chaining@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-optional-chaining npm ERR! extraneous: @babel/plugin-proposal-private-methods@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-private-methods npm ERR! extraneous: @babel/plugin-proposal-private-property-in-object@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-private-property-in-object npm ERR! extraneous: @babel/plugin-proposal-unicode-property-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-unicode-property-regex npm ERR! extraneous: @babel/plugin-syntax-class-static-block@7.14.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-class-static-block npm ERR! extraneous: @babel/plugin-syntax-decorators@7.19.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-decorators npm ERR! extraneous: @babel/plugin-syntax-dynamic-import@7.8.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-dynamic-import npm ERR! extraneous: @babel/plugin-syntax-export-namespace-from@7.8.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-export-namespace-from npm ERR! extraneous: @babel/plugin-syntax-import-assertions@7.20.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-import-assertions npm ERR! extraneous: @babel/plugin-syntax-jsx@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-jsx npm ERR! extraneous: @babel/plugin-syntax-private-property-in-object@7.14.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-private-property-in-object npm ERR! extraneous: @babel/plugin-transform-arrow-functions@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-arrow-functions npm ERR! extraneous: @babel/plugin-transform-async-to-generator@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-async-to-generator npm ERR! extraneous: @babel/plugin-transform-block-scoped-functions@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-block-scoped-functions npm ERR! extraneous: @babel/plugin-transform-block-scoping@7.20.15 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-block-scoping npm ERR! extraneous: @babel/plugin-transform-classes@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-classes npm ERR! extraneous: @babel/plugin-transform-computed-properties@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-computed-properties npm ERR! extraneous: @babel/plugin-transform-destructuring@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-destructuring npm ERR! extraneous: @babel/plugin-transform-dotall-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-dotall-regex npm ERR! extraneous: @babel/plugin-transform-duplicate-keys@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-duplicate-keys npm ERR! extraneous: @babel/plugin-transform-exponentiation-operator@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-exponentiation-operator npm ERR! extraneous: @babel/plugin-transform-for-of@7.18.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-for-of npm ERR! extraneous: @babel/plugin-transform-function-name@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-function-name npm ERR! extraneous: @babel/plugin-transform-literals@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-literals npm ERR! extraneous: @babel/plugin-transform-member-expression-literals@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-member-expression-literals npm ERR! extraneous: @babel/plugin-transform-modules-amd@7.20.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-amd npm ERR! extraneous: @babel/plugin-transform-modules-commonjs@7.20.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-commonjs npm ERR! extraneous: @babel/plugin-transform-modules-systemjs@7.20.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-systemjs npm ERR! extraneous: @babel/plugin-transform-modules-umd@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-umd npm ERR! extraneous: @babel/plugin-transform-named-capturing-groups-regex@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-named-capturing-groups-regex npm ERR! extraneous: @babel/plugin-transform-new-target@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-new-target npm ERR! extraneous: @babel/plugin-transform-object-super@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-object-super npm ERR! extraneous: @babel/plugin-transform-parameters@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-parameters npm ERR! extraneous: @babel/plugin-transform-property-literals@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-property-literals npm ERR! extraneous: @babel/plugin-transform-regenerator@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-regenerator npm ERR! extraneous: @babel/plugin-transform-reserved-words@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-reserved-words npm ERR! extraneous: @babel/plugin-transform-runtime@7.19.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-runtime npm ERR! extraneous: @babel/plugin-transform-shorthand-properties@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-shorthand-properties npm ERR! extraneous: @babel/plugin-transform-spread@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-spread npm ERR! extraneous: @babel/plugin-transform-sticky-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-sticky-regex npm ERR! extraneous: @babel/plugin-transform-template-literals@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-template-literals npm ERR! extraneous: @babel/plugin-transform-typeof-symbol@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-typeof-symbol npm ERR! extraneous: @babel/plugin-transform-unicode-escapes@7.18.10 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-unicode-escapes npm ERR! extraneous: @babel/plugin-transform-unicode-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-unicode-regex npm ERR! extraneous: @babel/preset-env@7.20.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/preset-env npm ERR! extraneous: @babel/preset-modules@0.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/preset-modules npm ERR! extraneous: @babel/regjsgen@0.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/regjsgen npm ERR! extraneous: @babel/runtime@7.20.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/runtime npm ERR! extraneous: @bcoe/v8-coverage@0.2.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@bcoe/v8-coverage npm ERR! extraneous: @discoveryjs/json-ext@0.5.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@discoveryjs/json-ext npm ERR! extraneous: @gar/promisify@1.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@gar/promisify npm ERR! extraneous: @hapi/address@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/address npm ERR! extraneous: @hapi/formula@3.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/formula npm ERR! extraneous: @hapi/hoek@11.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/hoek npm ERR! extraneous: @hapi/pinpoint@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/pinpoint npm ERR! extraneous: @hapi/tlds@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/tlds npm ERR! extraneous: @hapi/topo@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/topo npm ERR! extraneous: @humanwhocodes/object-schema@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@humanwhocodes/object-schema npm ERR! extraneous: @ionic/core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/core npm ERR! extraneous: @ionic/utils-array@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-array npm ERR! extraneous: @ionic/utils-object@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-object npm ERR! extraneous: @ionic/utils-process@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-process npm ERR! extraneous: @ionic/utils-stream@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-stream npm ERR! invalid: @ionic/vue-router@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/vue-router npm ERR! invalid: @ionic/vue@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/vue npm ERR! extraneous: @jest/reporters@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jest/reporters npm ERR! extraneous: @jest/schemas@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jest/schemas npm ERR! extraneous: @jridgewell/resolve-uri@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jridgewell/resolve-uri npm ERR! extraneous: @jridgewell/source-map@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jridgewell/source-map npm ERR! extraneous: @leichtgewicht/ip-codec@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@leichtgewicht/ip-codec npm ERR! extraneous: @node-ipc/js-queue@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@node-ipc/js-queue npm ERR! extraneous: @nodelib/fs.scandir@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@nodelib/fs.scandir npm ERR! extraneous: @nodelib/fs.stat@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@nodelib/fs.stat npm ERR! extraneous: @npmcli/fs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@npmcli/fs npm ERR! extraneous: @npmcli/move-file@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@npmcli/move-file npm ERR! extraneous: @polka/url@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@polka/url npm ERR! extraneous: @sinclair/typebox@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@sinclair/typebox npm ERR! extraneous: @sinonjs/commons@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@sinonjs/commons npm ERR! extraneous: @sinonjs/fake-timers@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@sinonjs/fake-timers npm ERR! extraneous: @soda/friendly-errors-webpack-plugin@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@soda/friendly-errors-webpack-plugin npm ERR! extraneous: @soda/get-current-script@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@soda/get-current-script npm ERR! extraneous: @tootallnate/once@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@tootallnate/once npm ERR! extraneous: @trysound/sax@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@trysound/sax npm ERR! extraneous: @types/babel__generator@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/babel__generator npm ERR! extraneous: @types/babel__template@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/babel__template npm ERR! extraneous: @types/body-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/body-parser npm ERR! extraneous: @types/bonjour@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/bonjour npm ERR! extraneous: @types/connect-history-api-fallback@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/connect-history-api-fallback npm ERR! extraneous: @types/connect@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/connect npm ERR! extraneous: @types/eslint-scope@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/eslint-scope npm ERR! extraneous: @types/eslint@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/eslint npm ERR! extraneous: @types/estree@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/estree npm ERR! extraneous: @types/express-serve-static-core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/express-serve-static-core npm ERR! extraneous: @types/express@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/express npm ERR! extraneous: @types/fs-extra@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/fs-extra npm ERR! extraneous: @types/html-minifier-terser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/html-minifier-terser npm ERR! extraneous: @types/http-proxy@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/http-proxy npm ERR! extraneous: @types/istanbul-lib-coverage@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/istanbul-lib-coverage npm ERR! extraneous: @types/istanbul-lib-report@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/istanbul-lib-report npm ERR! extraneous: @types/istanbul-reports@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/istanbul-reports npm ERR! invalid: @types/jest@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/jest npm ERR! extraneous: @types/json-schema@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/json-schema npm ERR! extraneous: @types/mime@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/mime npm ERR! extraneous: @types/minimist@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/minimist npm ERR! extraneous: @types/normalize-package-data@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/normalize-package-data npm ERR! extraneous: @types/parse-json@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/parse-json npm ERR! extraneous: @types/qs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/qs npm ERR! extraneous: @types/range-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/range-parser npm ERR! extraneous: @types/retry@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/retry npm ERR! extraneous: @types/semver@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/semver npm ERR! extraneous: @types/serve-index@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/serve-index npm ERR! extraneous: @types/serve-static@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/serve-static npm ERR! extraneous: @types/slice-ansi@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/slice-ansi npm ERR! extraneous: @types/sockjs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/sockjs npm ERR! extraneous: @types/strip-bom@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/strip-bom npm ERR! extraneous: @types/strip-json-comments@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/strip-json-comments npm ERR! extraneous: @types/webpack-env@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/webpack-env npm ERR! extraneous: @types/ws@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/ws npm ERR! extraneous: @types/yargs-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/yargs-parser npm ERR! extraneous: @types/yargs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/yargs npm ERR! invalid: @typescript-eslint/eslint-plugin@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/eslint-plugin npm ERR! invalid: @typescript-eslint/parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/parser npm ERR! extraneous: @typescript-eslint/scope-manager@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/scope-manager npm ERR! extraneous: @typescript-eslint/type-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/type-utils npm ERR! extraneous: @typescript-eslint/types@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/types npm ERR! extraneous: @typescript-eslint/typescript-estree@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/typescript-estree npm ERR! extraneous: @typescript-eslint/utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/utils npm ERR! extraneous: @typescript-eslint/visitor-keys@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/visitor-keys npm ERR! extraneous: @vue/babel-helper-vue-jsx-merge-props@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-helper-vue-jsx-merge-props npm ERR! extraneous: @vue/babel-helper-vue-transform-on@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-helper-vue-transform-on npm ERR! extraneous: @vue/babel-plugin-jsx@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-plugin-jsx npm ERR! extraneous: @vue/babel-plugin-transform-vue-jsx@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-plugin-transform-vue-jsx npm ERR! extraneous: @vue/babel-preset-app@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-preset-app npm ERR! extraneous: @vue/babel-preset-jsx@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-preset-jsx npm ERR! extraneous: @vue/babel-sugar-composition-api-inject-h@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-composition-api-inject-h npm ERR! extraneous: @vue/babel-sugar-composition-api-render-instance@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-composition-api-render-instance npm ERR! extraneous: @vue/babel-sugar-functional-vue@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-functional-vue npm ERR! extraneous: @vue/babel-sugar-inject-h@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-inject-h npm ERR! extraneous: @vue/babel-sugar-v-model@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-v-model npm ERR! extraneous: @vue/babel-sugar-v-on@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-v-on npm ERR! extraneous: @vue/cli-overlay@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-overlay npm ERR! invalid: @vue/cli-plugin-babel@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-babel npm ERR! invalid: @vue/cli-plugin-e2e-cypress@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-e2e-cypress npm ERR! invalid: @vue/cli-plugin-eslint@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-eslint npm ERR! invalid: @vue/cli-plugin-router@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-router npm ERR! invalid: @vue/cli-plugin-typescript@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-typescript npm ERR! invalid: @vue/cli-plugin-unit-jest@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-unit-jest npm ERR! extraneous: @vue/cli-plugin-vuex@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-vuex npm ERR! invalid: @vue/cli-service@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-service npm ERR! extraneous: @vue/cli-shared-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-shared-utils npm ERR! extraneous: @vue/compiler-core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/compiler-core npm ERR! extraneous: @vue/compiler-ssr@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/compiler-ssr npm ERR! extraneous: @vue/component-compiler-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/component-compiler-utils npm ERR! invalid: @vue/eslint-config-typescript@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/eslint-config-typescript npm ERR! extraneous: @vue/reactivity-transform@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/reactivity-transform npm ERR! extraneous: @vue/reactivity@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/reactivity npm ERR! extraneous: @vue/runtime-core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/runtime-core npm ERR! invalid: @vue/test-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/test-utils npm ERR! extraneous: @vue/vue-loader-v15@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/vue-loader-v15 npm ERR! invalid: @vue/vue3-jest@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/vue3-jest npm ERR! extraneous: @vue/web-component-wrapper@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/web-component-wrapper npm ERR! extraneous: @webassemblyjs/ast@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/ast npm ERR! extraneous: @webassemblyjs/floating-point-hex-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/floating-point-hex-parser npm ERR! extraneous: @webassemblyjs/helper-api-error@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-api-error npm ERR! extraneous: @webassemblyjs/helper-buffer@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-buffer npm ERR! extraneous: @webassemblyjs/helper-numbers@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-numbers npm ERR! extraneous: @webassemblyjs/helper-wasm-bytecode@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-wasm-bytecode npm ERR! extraneous: @webassemblyjs/helper-wasm-section@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-wasm-section npm ERR! extraneous: @webassemblyjs/ieee754@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/ieee754 npm ERR! extraneous: @webassemblyjs/leb128@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/leb128 npm ERR! extraneous: @webassemblyjs/utf8@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/utf8 npm ERR! extraneous: @webassemblyjs/wasm-edit@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-edit npm ERR! extraneous: @webassemblyjs/wasm-gen@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-gen npm ERR! extraneous: @webassemblyjs/wasm-opt@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-opt npm ERR! extraneous: @webassemblyjs/wasm-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-parser npm ERR! extraneous: @webassemblyjs/wast-printer@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wast-printer npm ERR! extraneous: @xtuc/ieee754@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@xtuc/ieee754 npm ERR! extraneous: @xtuc/long@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@xtuc/long npm ERR! extraneous: abbrev@1.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/abbrev npm ERR! extraneous: accepts@1.3.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/accepts npm ERR! extraneous: acorn-import-assertions@1.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/acorn-import-assertions npm ERR! extraneous: acorn-walk@8.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/acorn-walk npm ERR! extraneous: address@1.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/address npm ERR! extraneous: agentkeepalive@4.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/agentkeepalive npm ERR! extraneous: ajv-formats@2.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ajv-formats npm ERR! extraneous: ajv-keywords@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ajv-keywords npm ERR! extraneous: ajv@8.12.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ajv npm ERR! extraneous: ansi-html-community@0.0.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ansi-html-community npm ERR! extraneous: any-promise@1.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/any-promise npm ERR! extraneous: aproba@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/aproba npm ERR! extraneous: are-we-there-yet@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/are-we-there-yet npm ERR! extraneous: array-flatten@2.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/array-flatten npm ERR! extraneous: array-union@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/array-union npm ERR! extraneous: autoprefixer@10.4.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/autoprefixer npm ERR! extraneous: babel-loader@8.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-loader npm ERR! extraneous: babel-plugin-dynamic-import-node@2.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-dynamic-import-node npm ERR! extraneous: babel-plugin-polyfill-corejs2@0.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-polyfill-corejs2 npm ERR! extraneous: babel-plugin-polyfill-corejs3@0.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-polyfill-corejs3 npm ERR! extraneous: babel-plugin-polyfill-regenerator@0.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-polyfill-regenerator npm ERR! extraneous: batch@0.6.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/batch npm ERR! extraneous: big.js@5.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/big.js npm ERR! extraneous: binary-extensions@2.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/binary-extensions npm ERR! extraneous: bl@4.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/bl npm ERR! extraneous: body-parser@1.20.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/body-parser npm ERR! extraneous: bonjour-service@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/bonjour-service npm ERR! extraneous: buffer@5.7.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/buffer npm ERR! extraneous: bytes@3.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/bytes npm ERR! extraneous: cacache@16.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cacache npm ERR! extraneous: camel-case@4.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/camel-case npm ERR! extraneous: camelcase@5.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/camelcase npm ERR! extraneous: caniuse-api@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/caniuse-api npm ERR! extraneous: case-sensitive-paths-webpack-plugin@2.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/case-sensitive-paths-webpack-plugin npm ERR! extraneous: char-regex@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/char-regex npm ERR! extraneous: chokidar@3.5.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/chokidar npm ERR! extraneous: chrome-trace-event@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/chrome-trace-event npm ERR! extraneous: clean-css@5.3.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clean-css npm ERR! extraneous: cli-highlight@2.1.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cli-highlight npm ERR! extraneous: cli-spinners@2.7.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cli-spinners npm ERR! extraneous: clipboardy@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clipboardy npm ERR! extraneous: clone-deep@4.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clone-deep npm ERR! extraneous: clone@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clone npm ERR! extraneous: color-support@1.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/color-support npm ERR! extraneous: colord@2.9.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/colord npm ERR! extraneous: commander@2.20.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/commander npm ERR! extraneous: commondir@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/commondir npm ERR! extraneous: compressible@2.0.18 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/compressible npm ERR! extraneous: compression@1.7.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/compression npm ERR! extraneous: condense-newlines@0.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/condense-newlines npm ERR! extraneous: config-chain@1.1.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/config-chain npm ERR! extraneous: connect-history-api-fallback@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/connect-history-api-fallback npm ERR! extraneous: console-control-strings@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/console-control-strings npm ERR! extraneous: consolidate@0.15.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/consolidate npm ERR! extraneous: content-disposition@0.5.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/content-disposition npm ERR! extraneous: content-type@1.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/content-type npm ERR! extraneous: cookie-signature@1.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cookie-signature npm ERR! extraneous: cookie@0.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cookie npm ERR! extraneous: copy-webpack-plugin@9.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/copy-webpack-plugin npm ERR! extraneous: core-js-compat@3.28.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/core-js-compat npm ERR! extraneous: cosmiconfig@6.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cosmiconfig npm ERR! extraneous: css-declaration-sorter@6.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-declaration-sorter npm ERR! extraneous: css-loader@6.7.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-loader npm ERR! extraneous: css-minimizer-webpack-plugin@3.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-minimizer-webpack-plugin npm ERR! extraneous: css-select@4.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-select npm ERR! extraneous: css-tree@1.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-tree npm ERR! extraneous: css-what@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-what npm ERR! extraneous: cssnano-preset-default@5.2.14 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cssnano-preset-default npm ERR! extraneous: cssnano-utils@3.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cssnano-utils npm ERR! extraneous: cssnano@5.1.15 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cssnano npm ERR! extraneous: csso@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/csso npm ERR! extraneous: csstype@2.6.21 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/csstype npm ERR! extraneous: default-gateway@6.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/default-gateway npm ERR! extraneous: defaults@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/defaults npm ERR! extraneous: define-properties@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/define-properties npm ERR! extraneous: delegates@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/delegates npm ERR! extraneous: depd@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/depd npm ERR! extraneous: destroy@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/destroy npm ERR! extraneous: detect-node@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/detect-node npm ERR! extraneous: dir-glob@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dir-glob npm ERR! extraneous: dns-equal@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dns-equal npm ERR! extraneous: dns-packet@5.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dns-packet npm ERR! extraneous: dom-converter@0.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dom-converter npm ERR! extraneous: dom-serializer@1.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dom-serializer npm ERR! extraneous: domelementtype@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/domelementtype npm ERR! extraneous: domhandler@4.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/domhandler npm ERR! extraneous: domutils@2.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/domutils npm ERR! extraneous: dot-case@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dot-case npm ERR! extraneous: dotenv-expand@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dotenv-expand npm ERR! extraneous: dotenv@10.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dotenv npm ERR! extraneous: duplexer@0.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/duplexer npm ERR! extraneous: easy-stack@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/easy-stack npm ERR! extraneous: editorconfig@0.15.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/editorconfig npm ERR! extraneous: ee-first@1.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ee-first npm ERR! extraneous: emojis-list@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/emojis-list npm ERR! extraneous: encodeurl@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/encodeurl npm ERR! extraneous: encoding@0.1.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/encoding npm ERR! extraneous: enhanced-resolve@5.12.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/enhanced-resolve npm ERR! extraneous: entities@2.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/entities npm ERR! extraneous: err-code@2.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/err-code npm ERR! extraneous: error-stack-parser@2.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/error-stack-parser npm ERR! extraneous: es-module-lexer@0.9.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/es-module-lexer npm ERR! extraneous: escape-html@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/escape-html npm ERR! extraneous: eslint-plugin-cypress@2.12.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/eslint-plugin-cypress npm ERR! extraneous: eslint-webpack-plugin@3.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/eslint-webpack-plugin npm ERR! extraneous: estree-walker@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/estree-walker npm ERR! extraneous: etag@1.8.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/etag npm ERR! extraneous: event-pubsub@4.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/event-pubsub npm ERR! extraneous: eventemitter3@4.0.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/eventemitter3 npm ERR! extraneous: events@3.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/events npm ERR! extraneous: express@4.18.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/express npm ERR! extraneous: extend-shallow@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/extend-shallow npm ERR! extraneous: fast-glob@3.2.12 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fast-glob npm ERR! extraneous: fastq@1.15.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fastq npm ERR! extraneous: faye-websocket@0.11.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/faye-websocket npm ERR! extraneous: finalhandler@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/finalhandler npm ERR! extraneous: find-cache-dir@3.3.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/find-cache-dir npm ERR! extraneous: follow-redirects@1.15.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/follow-redirects npm ERR! extraneous: fork-ts-checker-webpack-plugin@6.5.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fork-ts-checker-webpack-plugin npm ERR! extraneous: forwarded@0.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/forwarded npm ERR! extraneous: fraction.js@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fraction.js npm ERR! extraneous: fresh@0.5.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fresh npm ERR! extraneous: fs-monkey@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fs-monkey npm ERR! extraneous: gauge@4.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/gauge npm ERR! extraneous: get-package-type@0.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/get-package-type npm ERR! extraneous: glob-to-regexp@0.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/glob-to-regexp npm ERR! extraneous: globby@11.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/globby npm ERR! extraneous: gzip-size@6.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/gzip-size npm ERR! extraneous: handle-thing@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/handle-thing npm ERR! extraneous: has-property-descriptors@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/has-property-descriptors npm ERR! extraneous: has-unicode@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/has-unicode npm ERR! extraneous: hash-sum@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/hash-sum npm ERR! extraneous: he@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/he npm ERR! extraneous: highlight.js@10.7.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/highlight.js npm ERR! extraneous: hosted-git-info@2.8.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/hosted-git-info npm ERR! extraneous: hpack.js@2.1.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/hpack.js npm ERR! extraneous: html-entities@2.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-entities npm ERR! extraneous: html-escaper@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-escaper npm ERR! extraneous: html-minifier-terser@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-minifier-terser npm ERR! extraneous: html-tags@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-tags npm ERR! extraneous: html-webpack-plugin@5.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-webpack-plugin npm ERR! extraneous: htmlparser2@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/htmlparser2 npm ERR! extraneous: http-cache-semantics@4.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-cache-semantics npm ERR! extraneous: http-deceiver@1.2.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-deceiver npm ERR! extraneous: http-errors@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-errors npm ERR! extraneous: http-parser-js@0.5.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-parser-js npm ERR! extraneous: http-proxy-agent@5.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-proxy-agent npm ERR! extraneous: http-proxy-middleware@2.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-proxy-middleware npm ERR! extraneous: http-proxy@1.18.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-proxy npm ERR! extraneous: humanize-ms@1.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/humanize-ms npm ERR! extraneous: icss-utils@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/icss-utils npm ERR! extraneous: ieee754@1.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ieee754 npm ERR! extraneous: infer-owner@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/infer-owner npm ERR! extraneous: ip@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ip npm ERR! extraneous: ipaddr.js@1.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ipaddr.js npm ERR! extraneous: is-binary-path@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-binary-path npm ERR! extraneous: is-buffer@1.1.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-buffer npm ERR! extraneous: is-extendable@0.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-extendable npm ERR! extraneous: is-file-esm@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-file-esm npm ERR! extraneous: is-interactive@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-interactive npm ERR! extraneous: is-lambda@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-lambda npm ERR! extraneous: is-plain-obj@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-plain-obj npm ERR! extraneous: is-plain-object@2.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-plain-object npm ERR! extraneous: is-whitespace@0.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-whitespace npm ERR! extraneous: isarray@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/isarray npm ERR! extraneous: isobject@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/isobject npm ERR! extraneous: istanbul-lib-report@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/istanbul-lib-report npm ERR! extraneous: istanbul-lib-source-maps@4.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/istanbul-lib-source-maps npm ERR! extraneous: istanbul-reports@3.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/istanbul-reports npm ERR! extraneous: javascript-stringify@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/javascript-stringify npm ERR! extraneous: jest-changed-files@27.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-changed-files npm ERR! extraneous: jest-resolve-dependencies@27.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-resolve-dependencies npm ERR! extraneous: jest-serializer-vue@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-serializer-vue npm ERR! extraneous: jest-transform-stub@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-transform-stub npm ERR! extraneous: jest-watch-typeahead@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-watch-typeahead npm ERR! extraneous: jest-watcher@28.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-watcher npm ERR! extraneous: joi@17.8.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/joi npm ERR! extraneous: js-beautify@1.14.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/js-beautify npm ERR! extraneous: js-message@1.0.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/js-message npm ERR! extraneous: json-parse-better-errors@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/json-parse-better-errors npm ERR! extraneous: kind-of@6.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/kind-of npm ERR! extraneous: klona@2.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/klona npm ERR! extraneous: launch-editor-middleware@2.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/launch-editor-middleware npm ERR! extraneous: launch-editor@2.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/launch-editor npm ERR! extraneous: lilconfig@2.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lilconfig npm ERR! extraneous: loader-runner@4.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/loader-runner npm ERR! extraneous: loader-utils@2.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/loader-utils npm ERR! extraneous: lodash.debounce@4.0.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.debounce npm ERR! extraneous: lodash.defaultsdeep@4.6.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.defaultsdeep npm ERR! extraneous: lodash.kebabcase@4.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.kebabcase npm ERR! extraneous: lodash.mapvalues@4.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.mapvalues npm ERR! extraneous: lodash.uniq@4.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.uniq npm ERR! extraneous: lower-case@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lower-case npm ERR! extraneous: lru-cache@4.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lru-cache npm ERR! extraneous: magic-string@0.25.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/magic-string npm ERR! extraneous: make-dir@3.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/make-dir npm ERR! extraneous: make-fetch-happen@10.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/make-fetch-happen npm ERR! extraneous: mdn-data@2.0.14 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mdn-data npm ERR! extraneous: media-typer@0.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/media-typer npm ERR! extraneous: memfs@3.4.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/memfs npm ERR! extraneous: merge-descriptors@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/merge-descriptors npm ERR! extraneous: merge-source-map@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/merge-source-map npm ERR! extraneous: merge2@1.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/merge2 npm ERR! extraneous: methods@1.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/methods npm ERR! extraneous: mime@1.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mime npm ERR! extraneous: mini-css-extract-plugin@2.7.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mini-css-extract-plugin npm ERR! extraneous: minimalistic-assert@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minimalistic-assert npm ERR! extraneous: minipass-collect@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-collect npm ERR! extraneous: minipass-fetch@2.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-fetch npm ERR! extraneous: minipass-flush@1.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-flush npm ERR! extraneous: minipass-pipeline@1.2.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-pipeline npm ERR! extraneous: minipass-sized@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-sized npm ERR! extraneous: module-alias@2.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/module-alias npm ERR! extraneous: mrmime@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mrmime npm ERR! extraneous: multicast-dns@7.2.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/multicast-dns npm ERR! extraneous: mz@2.7.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mz npm ERR! extraneous: nanoid@3.3.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/nanoid npm ERR! extraneous: natural-compare-lite@1.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/natural-compare-lite npm ERR! extraneous: negotiator@0.6.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/negotiator npm ERR! extraneous: neo-async@2.6.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/neo-async npm ERR! extraneous: nice-try@1.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/nice-try npm ERR! extraneous: no-case@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/no-case npm ERR! extraneous: node-fetch@2.6.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/node-fetch npm ERR! extraneous: node-forge@1.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/node-forge npm ERR! extraneous: node-gyp@9.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/node-gyp npm ERR! extraneous: nopt@6.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/nopt npm ERR! extraneous: normalize-package-data@2.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/normalize-package-data npm ERR! extraneous: normalize-range@0.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/normalize-range npm ERR! extraneous: normalize-url@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/normalize-url npm ERR! extraneous: npmlog@6.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/npmlog npm ERR! extraneous: object-assign@4.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/object-assign npm ERR! extraneous: object-keys@1.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/object-keys npm ERR! extraneous: object.assign@4.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/object.assign npm ERR! extraneous: obuf@1.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/obuf npm ERR! extraneous: on-finished@2.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/on-finished npm ERR! extraneous: on-headers@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/on-headers npm ERR! extraneous: opener@1.5.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/opener npm ERR! extraneous: ora@5.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ora npm ERR! extraneous: p-finally@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/p-finally npm ERR! extraneous: p-retry@4.6.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/p-retry npm ERR! extraneous: param-case@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/param-case npm ERR! extraneous: parse5-htmlparser2-tree-adapter@6.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/parse5-htmlparser2-tree-adapter npm ERR! extraneous: parseurl@1.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/parseurl npm ERR! extraneous: pascal-case@3.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pascal-case npm ERR! extraneous: path-to-regexp@0.1.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/path-to-regexp npm ERR! extraneous: path-type@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/path-type npm ERR! extraneous: pirates@4.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pirates npm ERR! extraneous: portfinder@1.0.32 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/portfinder npm ERR! extraneous: postcss-calc@8.2.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-calc npm ERR! extraneous: postcss-colormin@5.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-colormin npm ERR! extraneous: postcss-convert-values@5.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-convert-values npm ERR! extraneous: postcss-discard-comments@5.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-comments npm ERR! extraneous: postcss-discard-duplicates@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-duplicates npm ERR! extraneous: postcss-discard-empty@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-empty npm ERR! extraneous: postcss-discard-overridden@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-overridden npm ERR! extraneous: postcss-loader@6.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-loader npm ERR! extraneous: postcss-merge-longhand@5.1.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-merge-longhand npm ERR! extraneous: postcss-merge-rules@5.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-merge-rules npm ERR! extraneous: postcss-minify-font-values@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-font-values npm ERR! extraneous: postcss-minify-gradients@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-gradients npm ERR! extraneous: postcss-minify-params@5.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-params npm ERR! extraneous: postcss-minify-selectors@5.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-selectors npm ERR! extraneous: postcss-modules-extract-imports@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-extract-imports npm ERR! extraneous: postcss-modules-local-by-default@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-local-by-default npm ERR! extraneous: postcss-modules-scope@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-scope npm ERR! extraneous: postcss-modules-values@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-values npm ERR! extraneous: postcss-normalize-charset@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-charset npm ERR! extraneous: postcss-normalize-display-values@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-display-values npm ERR! extraneous: postcss-normalize-positions@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-positions npm ERR! extraneous: postcss-normalize-repeat-style@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-repeat-style npm ERR! extraneous: postcss-normalize-string@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-string npm ERR! extraneous: postcss-normalize-timing-functions@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-timing-functions npm ERR! extraneous: postcss-normalize-unicode@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-unicode npm ERR! extraneous: postcss-normalize-url@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-url npm ERR! extraneous: postcss-normalize-whitespace@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-whitespace npm ERR! extraneous: postcss-ordered-values@5.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-ordered-values npm ERR! extraneous: postcss-reduce-initial@5.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-reduce-initial npm ERR! extraneous: postcss-reduce-transforms@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-reduce-transforms npm ERR! extraneous: postcss-svgo@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-svgo npm ERR! extraneous: postcss-unique-selectors@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-unique-selectors npm ERR! extraneous: postcss-value-parser@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-value-parser npm ERR! extraneous: postcss@8.4.21 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss npm ERR! extraneous: prettier@2.8.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/prettier npm ERR! extraneous: pretty-error@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pretty-error npm ERR! extraneous: pretty@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pretty npm ERR! extraneous: process-nextick-args@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/process-nextick-args npm ERR! extraneous: progress-webpack-plugin@1.0.16 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/progress-webpack-plugin npm ERR! extraneous: promise-inflight@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/promise-inflight npm ERR! extraneous: promise-retry@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/promise-retry npm ERR! extraneous: proto-list@1.2.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/proto-list npm ERR! extraneous: proxy-addr@2.0.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/proxy-addr npm ERR! extraneous: pseudomap@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pseudomap npm ERR! extraneous: qs@6.11.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/qs npm ERR! extraneous: queue-microtask@1.2.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/queue-microtask npm ERR! extraneous: randombytes@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/randombytes npm ERR! extraneous: range-parser@1.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/range-parser npm ERR! extraneous: raw-body@2.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/raw-body npm ERR! extraneous: read-pkg-up@7.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/read-pkg-up npm ERR! extraneous: read-pkg@5.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/read-pkg npm ERR! extraneous: readdirp@3.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/readdirp npm ERR! extraneous: regenerate-unicode-properties@10.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerate-unicode-properties npm ERR! extraneous: regenerate@1.4.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerate npm ERR! extraneous: regenerator-runtime@0.13.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerator-runtime npm ERR! extraneous: regenerator-transform@0.15.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerator-transform npm ERR! extraneous: regexpu-core@5.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regexpu-core npm ERR! extraneous: regjsparser@0.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regjsparser npm ERR! extraneous: relateurl@0.2.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/relateurl npm ERR! extraneous: renderkid@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/renderkid npm ERR! extraneous: require-from-string@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/require-from-string npm ERR! extraneous: retry@0.12.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/retry npm ERR! extraneous: reusify@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/reusify npm ERR! extraneous: run-parallel@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/run-parallel npm ERR! extraneous: schema-utils@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/schema-utils npm ERR! extraneous: select-hose@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/select-hose npm ERR! extraneous: selfsigned@2.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/selfsigned npm ERR! extraneous: send@0.18.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/send npm ERR! extraneous: serialize-javascript@6.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/serialize-javascript npm ERR! extraneous: serve-index@1.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/serve-index npm ERR! extraneous: serve-static@1.15.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/serve-static npm ERR! extraneous: set-blocking@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/set-blocking npm ERR! extraneous: setprototypeof@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/setprototypeof npm ERR! extraneous: shallow-clone@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/shallow-clone npm ERR! extraneous: shebang-command@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/shebang-command npm ERR! extraneous: shell-quote@1.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/shell-quote npm ERR! extraneous: sigmund@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sigmund npm ERR! extraneous: sirv@1.0.19 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sirv npm ERR! extraneous: smart-buffer@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/smart-buffer npm ERR! extraneous: sockjs@0.3.24 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sockjs npm ERR! extraneous: socks-proxy-agent@7.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/socks-proxy-agent npm ERR! extraneous: socks@2.7.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/socks npm ERR! extraneous: source-map-js@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/source-map-js npm ERR! extraneous: sourcemap-codec@1.4.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sourcemap-codec npm ERR! extraneous: spdx-correct@3.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-correct npm ERR! extraneous: spdx-exceptions@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-exceptions npm ERR! extraneous: spdx-expression-parse@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-expression-parse npm ERR! extraneous: spdx-license-ids@3.0.12 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-license-ids npm ERR! extraneous: spdy-transport@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdy-transport npm ERR! extraneous: spdy@4.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdy npm ERR! extraneous: sprintf-js@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sprintf-js npm ERR! extraneous: ssri@9.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ssri npm ERR! extraneous: stable@0.1.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/stable npm ERR! extraneous: stackframe@1.3.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/stackframe npm ERR! extraneous: statuses@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/statuses npm ERR! extraneous: string-length@4.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/string-length npm ERR! extraneous: strip-bom@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/strip-bom npm ERR! extraneous: strip-eof@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/strip-eof npm ERR! extraneous: strip-indent@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/strip-indent npm ERR! extraneous: stylehacks@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/stylehacks npm ERR! extraneous: supports-hyperlinks@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/supports-hyperlinks npm ERR! extraneous: svg-tags@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/svg-tags npm ERR! extraneous: svgo@2.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/svgo npm ERR! extraneous: tapable@2.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable npm ERR! extraneous: terminal-link@2.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/terminal-link npm ERR! extraneous: terser-webpack-plugin@5.3.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/terser-webpack-plugin npm ERR! extraneous: terser@5.16.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/terser npm ERR! extraneous: thenify-all@1.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thenify-all npm ERR! extraneous: thenify@3.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thenify npm ERR! extraneous: thread-loader@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thread-loader npm ERR! extraneous: thunky@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thunky npm ERR! extraneous: toidentifier@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/toidentifier npm ERR! extraneous: totalist@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/totalist npm ERR! extraneous: tr46@0.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tr46 npm ERR! extraneous: tree-kill@1.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tree-kill npm ERR! extraneous: ts-loader@9.4.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ts-loader npm ERR! extraneous: tsconfig@7.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tsconfig npm ERR! extraneous: tsutils@3.21.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tsutils npm ERR! extraneous: type-detect@4.0.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/type-detect npm ERR! extraneous: type-is@1.6.18 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/type-is npm ERR! extraneous: typedarray-to-buffer@3.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/typedarray-to-buffer npm ERR! extraneous: unicode-canonical-property-names-ecmascript@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-canonical-property-names-ecmascript npm ERR! extraneous: unicode-match-property-ecmascript@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-match-property-ecmascript npm ERR! extraneous: unicode-match-property-value-ecmascript@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-match-property-value-ecmascript npm ERR! extraneous: unicode-property-aliases-ecmascript@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-property-aliases-ecmascript npm ERR! extraneous: unique-filename@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unique-filename npm ERR! extraneous: unique-slug@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unique-slug npm ERR! extraneous: unpipe@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unpipe npm ERR! extraneous: utila@0.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/utila npm ERR! extraneous: utils-merge@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/utils-merge npm ERR! extraneous: v8-to-istanbul@8.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/v8-to-istanbul npm ERR! extraneous: validate-npm-package-license@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/validate-npm-package-license npm ERR! extraneous: vary@1.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vary npm ERR! extraneous: vue-hot-reload-api@2.3.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-hot-reload-api npm ERR! extraneous: vue-loader@17.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-loader npm ERR! extraneous: vue-style-loader@4.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-style-loader npm ERR! extraneous: vue-template-es2015-compiler@1.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-template-es2015-compiler npm ERR! extraneous: watchpack@2.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/watchpack npm ERR! extraneous: wbuf@1.7.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wbuf npm ERR! extraneous: wcwidth@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wcwidth npm ERR! extraneous: webpack-bundle-analyzer@4.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-bundle-analyzer npm ERR! extraneous: webpack-chain@6.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-chain npm ERR! extraneous: webpack-dev-middleware@5.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-dev-middleware npm ERR! extraneous: webpack-dev-server@4.11.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-dev-server npm ERR! extraneous: webpack-merge@5.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-merge npm ERR! extraneous: webpack-sources@3.2.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-sources npm ERR! extraneous: webpack-virtual-modules@0.4.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-virtual-modules npm ERR! extraneous: webpack@5.75.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack npm ERR! extraneous: websocket-driver@0.7.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/websocket-driver npm ERR! extraneous: websocket-extensions@0.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/websocket-extensions npm ERR! extraneous: whatwg-fetch@3.6.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/whatwg-fetch npm ERR! extraneous: wide-align@1.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wide-align npm ERR! extraneous: wildcard@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wildcard npm ERR! extraneous: write-file-atomic@3.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/write-file-atomic npm ERR! extraneous: yaml@1.10.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/yaml npm ERR! extraneous: yorkie@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/yorkie npm ERR! A complete log of this run can be found in: npm ERR! /Users/luke/.npm/_logs/2023-02-26T00_16_01_324Z-debug-0.log [Error] npm ERR! code ELSPROBLEMS npm ERR! extraneous: @achrinza/node-ipc@9.2.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@achrinza/node-ipc npm ERR! extraneous: @babel/helper-annotate-as-pure@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-annotate-as-pure npm ERR! extraneous: @babel/helper-builder-binary-assignment-operator-visitor@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-builder-binary-assignment-operator-visitor npm ERR! extraneous: @babel/helper-create-class-features-plugin@7.20.12 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-create-class-features-plugin npm ERR! extraneous: @babel/helper-create-regexp-features-plugin@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-create-regexp-features-plugin npm ERR! extraneous: @babel/helper-define-polyfill-provider@0.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-define-polyfill-provider npm ERR! extraneous: @babel/helper-explode-assignable-expression@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-explode-assignable-expression npm ERR! extraneous: @babel/helper-member-expression-to-functions@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-member-expression-to-functions npm ERR! extraneous: @babel/helper-optimise-call-expression@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-optimise-call-expression npm ERR! extraneous: @babel/helper-remap-async-to-generator@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-remap-async-to-generator npm ERR! extraneous: @babel/helper-replace-supers@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-replace-supers npm ERR! extraneous: @babel/helper-skip-transparent-expression-wrappers@7.20.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-skip-transparent-expression-wrappers npm ERR! extraneous: @babel/helper-wrap-function@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/helper-wrap-function npm ERR! extraneous: @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression npm ERR! extraneous: @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining npm ERR! extraneous: @babel/plugin-proposal-async-generator-functions@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-async-generator-functions npm ERR! extraneous: @babel/plugin-proposal-class-properties@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-class-properties npm ERR! extraneous: @babel/plugin-proposal-class-static-block@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-class-static-block npm ERR! extraneous: @babel/plugin-proposal-decorators@7.20.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-decorators npm ERR! extraneous: @babel/plugin-proposal-dynamic-import@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-dynamic-import npm ERR! extraneous: @babel/plugin-proposal-export-namespace-from@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-export-namespace-from npm ERR! extraneous: @babel/plugin-proposal-json-strings@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-json-strings npm ERR! extraneous: @babel/plugin-proposal-logical-assignment-operators@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-logical-assignment-operators npm ERR! extraneous: @babel/plugin-proposal-nullish-coalescing-operator@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-nullish-coalescing-operator npm ERR! extraneous: @babel/plugin-proposal-numeric-separator@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-numeric-separator npm ERR! extraneous: @babel/plugin-proposal-object-rest-spread@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-object-rest-spread npm ERR! extraneous: @babel/plugin-proposal-optional-catch-binding@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-optional-catch-binding npm ERR! extraneous: @babel/plugin-proposal-optional-chaining@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-optional-chaining npm ERR! extraneous: @babel/plugin-proposal-private-methods@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-private-methods npm ERR! extraneous: @babel/plugin-proposal-private-property-in-object@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-private-property-in-object npm ERR! extraneous: @babel/plugin-proposal-unicode-property-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-proposal-unicode-property-regex npm ERR! extraneous: @babel/plugin-syntax-class-static-block@7.14.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-class-static-block npm ERR! extraneous: @babel/plugin-syntax-decorators@7.19.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-decorators npm ERR! extraneous: @babel/plugin-syntax-dynamic-import@7.8.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-dynamic-import npm ERR! extraneous: @babel/plugin-syntax-export-namespace-from@7.8.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-export-namespace-from npm ERR! extraneous: @babel/plugin-syntax-import-assertions@7.20.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-import-assertions npm ERR! extraneous: @babel/plugin-syntax-jsx@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-jsx npm ERR! extraneous: @babel/plugin-syntax-private-property-in-object@7.14.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-syntax-private-property-in-object npm ERR! extraneous: @babel/plugin-transform-arrow-functions@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-arrow-functions npm ERR! extraneous: @babel/plugin-transform-async-to-generator@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-async-to-generator npm ERR! extraneous: @babel/plugin-transform-block-scoped-functions@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-block-scoped-functions npm ERR! extraneous: @babel/plugin-transform-block-scoping@7.20.15 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-block-scoping npm ERR! extraneous: @babel/plugin-transform-classes@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-classes npm ERR! extraneous: @babel/plugin-transform-computed-properties@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-computed-properties npm ERR! extraneous: @babel/plugin-transform-destructuring@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-destructuring npm ERR! extraneous: @babel/plugin-transform-dotall-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-dotall-regex npm ERR! extraneous: @babel/plugin-transform-duplicate-keys@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-duplicate-keys npm ERR! extraneous: @babel/plugin-transform-exponentiation-operator@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-exponentiation-operator npm ERR! extraneous: @babel/plugin-transform-for-of@7.18.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-for-of npm ERR! extraneous: @babel/plugin-transform-function-name@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-function-name npm ERR! extraneous: @babel/plugin-transform-literals@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-literals npm ERR! extraneous: @babel/plugin-transform-member-expression-literals@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-member-expression-literals npm ERR! extraneous: @babel/plugin-transform-modules-amd@7.20.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-amd npm ERR! extraneous: @babel/plugin-transform-modules-commonjs@7.20.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-commonjs npm ERR! extraneous: @babel/plugin-transform-modules-systemjs@7.20.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-systemjs npm ERR! extraneous: @babel/plugin-transform-modules-umd@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-modules-umd npm ERR! extraneous: @babel/plugin-transform-named-capturing-groups-regex@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-named-capturing-groups-regex npm ERR! extraneous: @babel/plugin-transform-new-target@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-new-target npm ERR! extraneous: @babel/plugin-transform-object-super@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-object-super npm ERR! extraneous: @babel/plugin-transform-parameters@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-parameters npm ERR! extraneous: @babel/plugin-transform-property-literals@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-property-literals npm ERR! extraneous: @babel/plugin-transform-regenerator@7.20.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-regenerator npm ERR! extraneous: @babel/plugin-transform-reserved-words@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-reserved-words npm ERR! extraneous: @babel/plugin-transform-runtime@7.19.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-runtime npm ERR! extraneous: @babel/plugin-transform-shorthand-properties@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-shorthand-properties npm ERR! extraneous: @babel/plugin-transform-spread@7.20.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-spread npm ERR! extraneous: @babel/plugin-transform-sticky-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-sticky-regex npm ERR! extraneous: @babel/plugin-transform-template-literals@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-template-literals npm ERR! extraneous: @babel/plugin-transform-typeof-symbol@7.18.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-typeof-symbol npm ERR! extraneous: @babel/plugin-transform-unicode-escapes@7.18.10 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-unicode-escapes npm ERR! extraneous: @babel/plugin-transform-unicode-regex@7.18.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/plugin-transform-unicode-regex npm ERR! extraneous: @babel/preset-env@7.20.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/preset-env npm ERR! extraneous: @babel/preset-modules@0.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/preset-modules npm ERR! extraneous: @babel/regjsgen@0.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/regjsgen npm ERR! extraneous: @babel/runtime@7.20.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@babel/runtime npm ERR! extraneous: @bcoe/v8-coverage@0.2.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@bcoe/v8-coverage npm ERR! extraneous: @discoveryjs/json-ext@0.5.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@discoveryjs/json-ext npm ERR! extraneous: @gar/promisify@1.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@gar/promisify npm ERR! extraneous: @hapi/address@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/address npm ERR! extraneous: @hapi/formula@3.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/formula npm ERR! extraneous: @hapi/hoek@11.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/hoek npm ERR! extraneous: @hapi/pinpoint@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/pinpoint npm ERR! extraneous: @hapi/tlds@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/tlds npm ERR! extraneous: @hapi/topo@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@hapi/topo npm ERR! extraneous: @humanwhocodes/object-schema@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@humanwhocodes/object-schema npm ERR! extraneous: @ionic/core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/core npm ERR! extraneous: @ionic/utils-array@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-array npm ERR! extraneous: @ionic/utils-object@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-object npm ERR! extraneous: @ionic/utils-process@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-process npm ERR! extraneous: @ionic/utils-stream@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/utils-stream npm ERR! invalid: @ionic/vue-router@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/vue-router npm ERR! invalid: @ionic/vue@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@ionic/vue npm ERR! extraneous: @jest/reporters@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jest/reporters npm ERR! extraneous: @jest/schemas@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jest/schemas npm ERR! extraneous: @jridgewell/resolve-uri@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jridgewell/resolve-uri npm ERR! extraneous: @jridgewell/source-map@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@jridgewell/source-map npm ERR! extraneous: @leichtgewicht/ip-codec@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@leichtgewicht/ip-codec npm ERR! extraneous: @node-ipc/js-queue@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@node-ipc/js-queue npm ERR! extraneous: @nodelib/fs.scandir@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@nodelib/fs.scandir npm ERR! extraneous: @nodelib/fs.stat@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@nodelib/fs.stat npm ERR! extraneous: @npmcli/fs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@npmcli/fs npm ERR! extraneous: @npmcli/move-file@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@npmcli/move-file npm ERR! extraneous: @polka/url@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@polka/url npm ERR! extraneous: @sinclair/typebox@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@sinclair/typebox npm ERR! extraneous: @sinonjs/commons@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@sinonjs/commons npm ERR! extraneous: @sinonjs/fake-timers@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@sinonjs/fake-timers npm ERR! extraneous: @soda/friendly-errors-webpack-plugin@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@soda/friendly-errors-webpack-plugin npm ERR! extraneous: @soda/get-current-script@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@soda/get-current-script npm ERR! extraneous: @tootallnate/once@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@tootallnate/once npm ERR! extraneous: @trysound/sax@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@trysound/sax npm ERR! extraneous: @types/babel__generator@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/babel__generator npm ERR! extraneous: @types/babel__template@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/babel__template npm ERR! extraneous: @types/body-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/body-parser npm ERR! extraneous: @types/bonjour@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/bonjour npm ERR! extraneous: @types/connect-history-api-fallback@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/connect-history-api-fallback npm ERR! extraneous: @types/connect@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/connect npm ERR! extraneous: @types/eslint-scope@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/eslint-scope npm ERR! extraneous: @types/eslint@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/eslint npm ERR! extraneous: @types/estree@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/estree npm ERR! extraneous: @types/express-serve-static-core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/express-serve-static-core npm ERR! extraneous: @types/express@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/express npm ERR! extraneous: @types/fs-extra@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/fs-extra npm ERR! extraneous: @types/html-minifier-terser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/html-minifier-terser npm ERR! extraneous: @types/http-proxy@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/http-proxy npm ERR! extraneous: @types/istanbul-lib-coverage@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/istanbul-lib-coverage npm ERR! extraneous: @types/istanbul-lib-report@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/istanbul-lib-report npm ERR! extraneous: @types/istanbul-reports@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/istanbul-reports npm ERR! invalid: @types/jest@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/jest npm ERR! extraneous: @types/json-schema@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/json-schema npm ERR! extraneous: @types/mime@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/mime npm ERR! extraneous: @types/minimist@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/minimist npm ERR! extraneous: @types/normalize-package-data@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/normalize-package-data npm ERR! extraneous: @types/parse-json@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/parse-json npm ERR! extraneous: @types/qs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/qs npm ERR! extraneous: @types/range-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/range-parser npm ERR! extraneous: @types/retry@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/retry npm ERR! extraneous: @types/semver@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/semver npm ERR! extraneous: @types/serve-index@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/serve-index npm ERR! extraneous: @types/serve-static@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/serve-static npm ERR! extraneous: @types/slice-ansi@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/slice-ansi npm ERR! extraneous: @types/sockjs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/sockjs npm ERR! extraneous: @types/strip-bom@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/strip-bom npm ERR! extraneous: @types/strip-json-comments@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/strip-json-comments npm ERR! extraneous: @types/webpack-env@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/webpack-env npm ERR! extraneous: @types/ws@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/ws npm ERR! extraneous: @types/yargs-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/yargs-parser npm ERR! extraneous: @types/yargs@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@types/yargs npm ERR! invalid: @typescript-eslint/eslint-plugin@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/eslint-plugin npm ERR! invalid: @typescript-eslint/parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/parser npm ERR! extraneous: @typescript-eslint/scope-manager@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/scope-manager npm ERR! extraneous: @typescript-eslint/type-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/type-utils npm ERR! extraneous: @typescript-eslint/types@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/types npm ERR! extraneous: @typescript-eslint/typescript-estree@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/typescript-estree npm ERR! extraneous: @typescript-eslint/utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/utils npm ERR! extraneous: @typescript-eslint/visitor-keys@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@typescript-eslint/visitor-keys npm ERR! extraneous: @vue/babel-helper-vue-jsx-merge-props@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-helper-vue-jsx-merge-props npm ERR! extraneous: @vue/babel-helper-vue-transform-on@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-helper-vue-transform-on npm ERR! extraneous: @vue/babel-plugin-jsx@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-plugin-jsx npm ERR! extraneous: @vue/babel-plugin-transform-vue-jsx@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-plugin-transform-vue-jsx npm ERR! extraneous: @vue/babel-preset-app@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-preset-app npm ERR! extraneous: @vue/babel-preset-jsx@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-preset-jsx npm ERR! extraneous: @vue/babel-sugar-composition-api-inject-h@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-composition-api-inject-h npm ERR! extraneous: @vue/babel-sugar-composition-api-render-instance@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-composition-api-render-instance npm ERR! extraneous: @vue/babel-sugar-functional-vue@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-functional-vue npm ERR! extraneous: @vue/babel-sugar-inject-h@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-inject-h npm ERR! extraneous: @vue/babel-sugar-v-model@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-v-model npm ERR! extraneous: @vue/babel-sugar-v-on@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/babel-sugar-v-on npm ERR! extraneous: @vue/cli-overlay@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-overlay npm ERR! invalid: @vue/cli-plugin-babel@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-babel npm ERR! invalid: @vue/cli-plugin-e2e-cypress@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-e2e-cypress npm ERR! invalid: @vue/cli-plugin-eslint@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-eslint npm ERR! invalid: @vue/cli-plugin-router@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-router npm ERR! invalid: @vue/cli-plugin-typescript@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-typescript npm ERR! invalid: @vue/cli-plugin-unit-jest@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-unit-jest npm ERR! extraneous: @vue/cli-plugin-vuex@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-plugin-vuex npm ERR! invalid: @vue/cli-service@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-service npm ERR! extraneous: @vue/cli-shared-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/cli-shared-utils npm ERR! extraneous: @vue/compiler-core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/compiler-core npm ERR! extraneous: @vue/compiler-ssr@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/compiler-ssr npm ERR! extraneous: @vue/component-compiler-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/component-compiler-utils npm ERR! invalid: @vue/eslint-config-typescript@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/eslint-config-typescript npm ERR! extraneous: @vue/reactivity-transform@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/reactivity-transform npm ERR! extraneous: @vue/reactivity@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/reactivity npm ERR! extraneous: @vue/runtime-core@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/runtime-core npm ERR! invalid: @vue/test-utils@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/test-utils npm ERR! extraneous: @vue/vue-loader-v15@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/vue-loader-v15 npm ERR! invalid: @vue/vue3-jest@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/vue3-jest npm ERR! extraneous: @vue/web-component-wrapper@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@vue/web-component-wrapper npm ERR! extraneous: @webassemblyjs/ast@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/ast npm ERR! extraneous: @webassemblyjs/floating-point-hex-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/floating-point-hex-parser npm ERR! extraneous: @webassemblyjs/helper-api-error@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-api-error npm ERR! extraneous: @webassemblyjs/helper-buffer@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-buffer npm ERR! extraneous: @webassemblyjs/helper-numbers@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-numbers npm ERR! extraneous: @webassemblyjs/helper-wasm-bytecode@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-wasm-bytecode npm ERR! extraneous: @webassemblyjs/helper-wasm-section@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/helper-wasm-section npm ERR! extraneous: @webassemblyjs/ieee754@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/ieee754 npm ERR! extraneous: @webassemblyjs/leb128@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/leb128 npm ERR! extraneous: @webassemblyjs/utf8@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/utf8 npm ERR! extraneous: @webassemblyjs/wasm-edit@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-edit npm ERR! extraneous: @webassemblyjs/wasm-gen@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-gen npm ERR! extraneous: @webassemblyjs/wasm-opt@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-opt npm ERR! extraneous: @webassemblyjs/wasm-parser@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wasm-parser npm ERR! extraneous: @webassemblyjs/wast-printer@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@webassemblyjs/wast-printer npm ERR! extraneous: @xtuc/ieee754@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@xtuc/ieee754 npm ERR! extraneous: @xtuc/long@ /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/@xtuc/long npm ERR! extraneous: abbrev@1.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/abbrev npm ERR! extraneous: accepts@1.3.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/accepts npm ERR! extraneous: acorn-import-assertions@1.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/acorn-import-assertions npm ERR! extraneous: acorn-walk@8.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/acorn-walk npm ERR! extraneous: address@1.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/address npm ERR! extraneous: agentkeepalive@4.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/agentkeepalive npm ERR! extraneous: ajv-formats@2.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ajv-formats npm ERR! extraneous: ajv-keywords@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ajv-keywords npm ERR! extraneous: ajv@8.12.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ajv npm ERR! extraneous: ansi-html-community@0.0.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ansi-html-community npm ERR! extraneous: any-promise@1.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/any-promise npm ERR! extraneous: aproba@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/aproba npm ERR! extraneous: are-we-there-yet@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/are-we-there-yet npm ERR! extraneous: array-flatten@2.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/array-flatten npm ERR! extraneous: array-union@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/array-union npm ERR! extraneous: autoprefixer@10.4.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/autoprefixer npm ERR! extraneous: babel-loader@8.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-loader npm ERR! extraneous: babel-plugin-dynamic-import-node@2.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-dynamic-import-node npm ERR! extraneous: babel-plugin-polyfill-corejs2@0.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-polyfill-corejs2 npm ERR! extraneous: babel-plugin-polyfill-corejs3@0.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-polyfill-corejs3 npm ERR! extraneous: babel-plugin-polyfill-regenerator@0.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/babel-plugin-polyfill-regenerator npm ERR! extraneous: batch@0.6.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/batch npm ERR! extraneous: big.js@5.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/big.js npm ERR! extraneous: binary-extensions@2.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/binary-extensions npm ERR! extraneous: bl@4.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/bl npm ERR! extraneous: body-parser@1.20.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/body-parser npm ERR! extraneous: bonjour-service@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/bonjour-service npm ERR! extraneous: buffer@5.7.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/buffer npm ERR! extraneous: bytes@3.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/bytes npm ERR! extraneous: cacache@16.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cacache npm ERR! extraneous: camel-case@4.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/camel-case npm ERR! extraneous: camelcase@5.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/camelcase npm ERR! extraneous: caniuse-api@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/caniuse-api npm ERR! extraneous: case-sensitive-paths-webpack-plugin@2.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/case-sensitive-paths-webpack-plugin npm ERR! extraneous: char-regex@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/char-regex npm ERR! extraneous: chokidar@3.5.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/chokidar npm ERR! extraneous: chrome-trace-event@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/chrome-trace-event npm ERR! extraneous: clean-css@5.3.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clean-css npm ERR! extraneous: cli-highlight@2.1.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cli-highlight npm ERR! extraneous: cli-spinners@2.7.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cli-spinners npm ERR! extraneous: clipboardy@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clipboardy npm ERR! extraneous: clone-deep@4.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clone-deep npm ERR! extraneous: clone@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/clone npm ERR! extraneous: color-support@1.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/color-support npm ERR! extraneous: colord@2.9.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/colord npm ERR! extraneous: commander@2.20.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/commander npm ERR! extraneous: commondir@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/commondir npm ERR! extraneous: compressible@2.0.18 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/compressible npm ERR! extraneous: compression@1.7.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/compression npm ERR! extraneous: condense-newlines@0.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/condense-newlines npm ERR! extraneous: config-chain@1.1.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/config-chain npm ERR! extraneous: connect-history-api-fallback@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/connect-history-api-fallback npm ERR! extraneous: console-control-strings@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/console-control-strings npm ERR! extraneous: consolidate@0.15.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/consolidate npm ERR! extraneous: content-disposition@0.5.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/content-disposition npm ERR! extraneous: content-type@1.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/content-type npm ERR! extraneous: cookie-signature@1.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cookie-signature npm ERR! extraneous: cookie@0.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cookie npm ERR! extraneous: copy-webpack-plugin@9.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/copy-webpack-plugin npm ERR! extraneous: core-js-compat@3.28.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/core-js-compat npm ERR! extraneous: cosmiconfig@6.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cosmiconfig npm ERR! extraneous: css-declaration-sorter@6.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-declaration-sorter npm ERR! extraneous: css-loader@6.7.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-loader npm ERR! extraneous: css-minimizer-webpack-plugin@3.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-minimizer-webpack-plugin npm ERR! extraneous: css-select@4.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-select npm ERR! extraneous: css-tree@1.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-tree npm ERR! extraneous: css-what@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/css-what npm ERR! extraneous: cssnano-preset-default@5.2.14 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cssnano-preset-default npm ERR! extraneous: cssnano-utils@3.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cssnano-utils npm ERR! extraneous: cssnano@5.1.15 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/cssnano npm ERR! extraneous: csso@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/csso npm ERR! extraneous: csstype@2.6.21 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/csstype npm ERR! extraneous: default-gateway@6.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/default-gateway npm ERR! extraneous: defaults@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/defaults npm ERR! extraneous: define-properties@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/define-properties npm ERR! extraneous: delegates@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/delegates npm ERR! extraneous: depd@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/depd npm ERR! extraneous: destroy@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/destroy npm ERR! extraneous: detect-node@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/detect-node npm ERR! extraneous: dir-glob@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dir-glob npm ERR! extraneous: dns-equal@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dns-equal npm ERR! extraneous: dns-packet@5.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dns-packet npm ERR! extraneous: dom-converter@0.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dom-converter npm ERR! extraneous: dom-serializer@1.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dom-serializer npm ERR! extraneous: domelementtype@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/domelementtype npm ERR! extraneous: domhandler@4.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/domhandler npm ERR! extraneous: domutils@2.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/domutils npm ERR! extraneous: dot-case@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dot-case npm ERR! extraneous: dotenv-expand@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dotenv-expand npm ERR! extraneous: dotenv@10.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/dotenv npm ERR! extraneous: duplexer@0.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/duplexer npm ERR! extraneous: easy-stack@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/easy-stack npm ERR! extraneous: editorconfig@0.15.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/editorconfig npm ERR! extraneous: ee-first@1.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ee-first npm ERR! extraneous: emojis-list@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/emojis-list npm ERR! extraneous: encodeurl@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/encodeurl npm ERR! extraneous: encoding@0.1.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/encoding npm ERR! extraneous: enhanced-resolve@5.12.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/enhanced-resolve npm ERR! extraneous: entities@2.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/entities npm ERR! extraneous: err-code@2.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/err-code npm ERR! extraneous: error-stack-parser@2.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/error-stack-parser npm ERR! extraneous: es-module-lexer@0.9.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/es-module-lexer npm ERR! extraneous: escape-html@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/escape-html npm ERR! extraneous: eslint-plugin-cypress@2.12.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/eslint-plugin-cypress npm ERR! extraneous: eslint-webpack-plugin@3.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/eslint-webpack-plugin npm ERR! extraneous: estree-walker@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/estree-walker npm ERR! extraneous: etag@1.8.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/etag npm ERR! extraneous: event-pubsub@4.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/event-pubsub npm ERR! extraneous: eventemitter3@4.0.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/eventemitter3 npm ERR! extraneous: events@3.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/events npm ERR! extraneous: express@4.18.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/express npm ERR! extraneous: extend-shallow@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/extend-shallow npm ERR! extraneous: fast-glob@3.2.12 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fast-glob npm ERR! extraneous: fastq@1.15.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fastq npm ERR! extraneous: faye-websocket@0.11.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/faye-websocket npm ERR! extraneous: finalhandler@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/finalhandler npm ERR! extraneous: find-cache-dir@3.3.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/find-cache-dir npm ERR! extraneous: follow-redirects@1.15.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/follow-redirects npm ERR! extraneous: fork-ts-checker-webpack-plugin@6.5.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fork-ts-checker-webpack-plugin npm ERR! extraneous: forwarded@0.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/forwarded npm ERR! extraneous: fraction.js@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fraction.js npm ERR! extraneous: fresh@0.5.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fresh npm ERR! extraneous: fs-monkey@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/fs-monkey npm ERR! extraneous: gauge@4.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/gauge npm ERR! extraneous: get-package-type@0.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/get-package-type npm ERR! extraneous: glob-to-regexp@0.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/glob-to-regexp npm ERR! extraneous: globby@11.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/globby npm ERR! extraneous: gzip-size@6.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/gzip-size npm ERR! extraneous: handle-thing@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/handle-thing npm ERR! extraneous: has-property-descriptors@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/has-property-descriptors npm ERR! extraneous: has-unicode@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/has-unicode npm ERR! extraneous: hash-sum@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/hash-sum npm ERR! extraneous: he@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/he npm ERR! extraneous: highlight.js@10.7.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/highlight.js npm ERR! extraneous: hosted-git-info@2.8.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/hosted-git-info npm ERR! extraneous: hpack.js@2.1.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/hpack.js npm ERR! extraneous: html-entities@2.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-entities npm ERR! extraneous: html-escaper@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-escaper npm ERR! extraneous: html-minifier-terser@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-minifier-terser npm ERR! extraneous: html-tags@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-tags npm ERR! extraneous: html-webpack-plugin@5.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/html-webpack-plugin npm ERR! extraneous: htmlparser2@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/htmlparser2 npm ERR! extraneous: http-cache-semantics@4.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-cache-semantics npm ERR! extraneous: http-deceiver@1.2.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-deceiver npm ERR! extraneous: http-errors@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-errors npm ERR! extraneous: http-parser-js@0.5.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-parser-js npm ERR! extraneous: http-proxy-agent@5.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-proxy-agent npm ERR! extraneous: http-proxy-middleware@2.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-proxy-middleware npm ERR! extraneous: http-proxy@1.18.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/http-proxy npm ERR! extraneous: humanize-ms@1.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/humanize-ms npm ERR! extraneous: icss-utils@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/icss-utils npm ERR! extraneous: ieee754@1.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ieee754 npm ERR! extraneous: infer-owner@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/infer-owner npm ERR! extraneous: ip@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ip npm ERR! extraneous: ipaddr.js@1.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ipaddr.js npm ERR! extraneous: is-binary-path@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-binary-path npm ERR! extraneous: is-buffer@1.1.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-buffer npm ERR! extraneous: is-extendable@0.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-extendable npm ERR! extraneous: is-file-esm@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-file-esm npm ERR! extraneous: is-interactive@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-interactive npm ERR! extraneous: is-lambda@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-lambda npm ERR! extraneous: is-plain-obj@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-plain-obj npm ERR! extraneous: is-plain-object@2.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-plain-object npm ERR! extraneous: is-whitespace@0.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/is-whitespace npm ERR! extraneous: isarray@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/isarray npm ERR! extraneous: isobject@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/isobject npm ERR! extraneous: istanbul-lib-report@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/istanbul-lib-report npm ERR! extraneous: istanbul-lib-source-maps@4.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/istanbul-lib-source-maps npm ERR! extraneous: istanbul-reports@3.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/istanbul-reports npm ERR! extraneous: javascript-stringify@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/javascript-stringify npm ERR! extraneous: jest-changed-files@27.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-changed-files npm ERR! extraneous: jest-resolve-dependencies@27.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-resolve-dependencies npm ERR! extraneous: jest-serializer-vue@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-serializer-vue npm ERR! extraneous: jest-transform-stub@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-transform-stub npm ERR! extraneous: jest-watch-typeahead@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-watch-typeahead npm ERR! extraneous: jest-watcher@28.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/jest-watcher npm ERR! extraneous: joi@17.8.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/joi npm ERR! extraneous: js-beautify@1.14.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/js-beautify npm ERR! extraneous: js-message@1.0.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/js-message npm ERR! extraneous: json-parse-better-errors@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/json-parse-better-errors npm ERR! extraneous: kind-of@6.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/kind-of npm ERR! extraneous: klona@2.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/klona npm ERR! extraneous: launch-editor-middleware@2.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/launch-editor-middleware npm ERR! extraneous: launch-editor@2.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/launch-editor npm ERR! extraneous: lilconfig@2.0.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lilconfig npm ERR! extraneous: loader-runner@4.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/loader-runner npm ERR! extraneous: loader-utils@2.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/loader-utils npm ERR! extraneous: lodash.debounce@4.0.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.debounce npm ERR! extraneous: lodash.defaultsdeep@4.6.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.defaultsdeep npm ERR! extraneous: lodash.kebabcase@4.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.kebabcase npm ERR! extraneous: lodash.mapvalues@4.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.mapvalues npm ERR! extraneous: lodash.uniq@4.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lodash.uniq npm ERR! extraneous: lower-case@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lower-case npm ERR! extraneous: lru-cache@4.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/lru-cache npm ERR! extraneous: magic-string@0.25.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/magic-string npm ERR! extraneous: make-dir@3.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/make-dir npm ERR! extraneous: make-fetch-happen@10.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/make-fetch-happen npm ERR! extraneous: mdn-data@2.0.14 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mdn-data npm ERR! extraneous: media-typer@0.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/media-typer npm ERR! extraneous: memfs@3.4.13 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/memfs npm ERR! extraneous: merge-descriptors@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/merge-descriptors npm ERR! extraneous: merge-source-map@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/merge-source-map npm ERR! extraneous: merge2@1.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/merge2 npm ERR! extraneous: methods@1.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/methods npm ERR! extraneous: mime@1.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mime npm ERR! extraneous: mini-css-extract-plugin@2.7.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mini-css-extract-plugin npm ERR! extraneous: minimalistic-assert@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minimalistic-assert npm ERR! extraneous: minipass-collect@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-collect npm ERR! extraneous: minipass-fetch@2.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-fetch npm ERR! extraneous: minipass-flush@1.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-flush npm ERR! extraneous: minipass-pipeline@1.2.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-pipeline npm ERR! extraneous: minipass-sized@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/minipass-sized npm ERR! extraneous: module-alias@2.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/module-alias npm ERR! extraneous: mrmime@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mrmime npm ERR! extraneous: multicast-dns@7.2.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/multicast-dns npm ERR! extraneous: mz@2.7.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/mz npm ERR! extraneous: nanoid@3.3.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/nanoid npm ERR! extraneous: natural-compare-lite@1.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/natural-compare-lite npm ERR! extraneous: negotiator@0.6.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/negotiator npm ERR! extraneous: neo-async@2.6.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/neo-async npm ERR! extraneous: nice-try@1.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/nice-try npm ERR! extraneous: no-case@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/no-case npm ERR! extraneous: node-fetch@2.6.9 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/node-fetch npm ERR! extraneous: node-forge@1.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/node-forge npm ERR! extraneous: node-gyp@9.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/node-gyp npm ERR! extraneous: nopt@6.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/nopt npm ERR! extraneous: normalize-package-data@2.5.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/normalize-package-data npm ERR! extraneous: normalize-range@0.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/normalize-range npm ERR! extraneous: normalize-url@6.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/normalize-url npm ERR! extraneous: npmlog@6.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/npmlog npm ERR! extraneous: object-assign@4.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/object-assign npm ERR! extraneous: object-keys@1.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/object-keys npm ERR! extraneous: object.assign@4.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/object.assign npm ERR! extraneous: obuf@1.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/obuf npm ERR! extraneous: on-finished@2.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/on-finished npm ERR! extraneous: on-headers@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/on-headers npm ERR! extraneous: opener@1.5.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/opener npm ERR! extraneous: ora@5.4.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ora npm ERR! extraneous: p-finally@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/p-finally npm ERR! extraneous: p-retry@4.6.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/p-retry npm ERR! extraneous: param-case@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/param-case npm ERR! extraneous: parse5-htmlparser2-tree-adapter@6.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/parse5-htmlparser2-tree-adapter npm ERR! extraneous: parseurl@1.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/parseurl npm ERR! extraneous: pascal-case@3.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pascal-case npm ERR! extraneous: path-to-regexp@0.1.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/path-to-regexp npm ERR! extraneous: path-type@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/path-type npm ERR! extraneous: pirates@4.0.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pirates npm ERR! extraneous: portfinder@1.0.32 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/portfinder npm ERR! extraneous: postcss-calc@8.2.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-calc npm ERR! extraneous: postcss-colormin@5.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-colormin npm ERR! extraneous: postcss-convert-values@5.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-convert-values npm ERR! extraneous: postcss-discard-comments@5.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-comments npm ERR! extraneous: postcss-discard-duplicates@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-duplicates npm ERR! extraneous: postcss-discard-empty@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-empty npm ERR! extraneous: postcss-discard-overridden@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-discard-overridden npm ERR! extraneous: postcss-loader@6.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-loader npm ERR! extraneous: postcss-merge-longhand@5.1.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-merge-longhand npm ERR! extraneous: postcss-merge-rules@5.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-merge-rules npm ERR! extraneous: postcss-minify-font-values@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-font-values npm ERR! extraneous: postcss-minify-gradients@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-gradients npm ERR! extraneous: postcss-minify-params@5.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-params npm ERR! extraneous: postcss-minify-selectors@5.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-minify-selectors npm ERR! extraneous: postcss-modules-extract-imports@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-extract-imports npm ERR! extraneous: postcss-modules-local-by-default@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-local-by-default npm ERR! extraneous: postcss-modules-scope@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-scope npm ERR! extraneous: postcss-modules-values@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-modules-values npm ERR! extraneous: postcss-normalize-charset@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-charset npm ERR! extraneous: postcss-normalize-display-values@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-display-values npm ERR! extraneous: postcss-normalize-positions@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-positions npm ERR! extraneous: postcss-normalize-repeat-style@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-repeat-style npm ERR! extraneous: postcss-normalize-string@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-string npm ERR! extraneous: postcss-normalize-timing-functions@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-timing-functions npm ERR! extraneous: postcss-normalize-unicode@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-unicode npm ERR! extraneous: postcss-normalize-url@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-url npm ERR! extraneous: postcss-normalize-whitespace@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-normalize-whitespace npm ERR! extraneous: postcss-ordered-values@5.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-ordered-values npm ERR! extraneous: postcss-reduce-initial@5.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-reduce-initial npm ERR! extraneous: postcss-reduce-transforms@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-reduce-transforms npm ERR! extraneous: postcss-svgo@5.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-svgo npm ERR! extraneous: postcss-unique-selectors@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-unique-selectors npm ERR! extraneous: postcss-value-parser@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss-value-parser npm ERR! extraneous: postcss@8.4.21 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/postcss npm ERR! extraneous: prettier@2.8.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/prettier npm ERR! extraneous: pretty-error@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pretty-error npm ERR! extraneous: pretty@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pretty npm ERR! extraneous: process-nextick-args@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/process-nextick-args npm ERR! extraneous: progress-webpack-plugin@1.0.16 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/progress-webpack-plugin npm ERR! extraneous: promise-inflight@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/promise-inflight npm ERR! extraneous: promise-retry@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/promise-retry npm ERR! extraneous: proto-list@1.2.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/proto-list npm ERR! extraneous: proxy-addr@2.0.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/proxy-addr npm ERR! extraneous: pseudomap@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/pseudomap npm ERR! extraneous: qs@6.11.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/qs npm ERR! extraneous: queue-microtask@1.2.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/queue-microtask npm ERR! extraneous: randombytes@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/randombytes npm ERR! extraneous: range-parser@1.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/range-parser npm ERR! extraneous: raw-body@2.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/raw-body npm ERR! extraneous: read-pkg-up@7.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/read-pkg-up npm ERR! extraneous: read-pkg@5.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/read-pkg npm ERR! extraneous: readdirp@3.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/readdirp npm ERR! extraneous: regenerate-unicode-properties@10.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerate-unicode-properties npm ERR! extraneous: regenerate@1.4.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerate npm ERR! extraneous: regenerator-runtime@0.13.11 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerator-runtime npm ERR! extraneous: regenerator-transform@0.15.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regenerator-transform npm ERR! extraneous: regexpu-core@5.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regexpu-core npm ERR! extraneous: regjsparser@0.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/regjsparser npm ERR! extraneous: relateurl@0.2.7 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/relateurl npm ERR! extraneous: renderkid@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/renderkid npm ERR! extraneous: require-from-string@2.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/require-from-string npm ERR! extraneous: retry@0.12.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/retry npm ERR! extraneous: reusify@1.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/reusify npm ERR! extraneous: run-parallel@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/run-parallel npm ERR! extraneous: schema-utils@4.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/schema-utils npm ERR! extraneous: select-hose@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/select-hose npm ERR! extraneous: selfsigned@2.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/selfsigned npm ERR! extraneous: send@0.18.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/send npm ERR! extraneous: serialize-javascript@6.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/serialize-javascript npm ERR! extraneous: serve-index@1.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/serve-index npm ERR! extraneous: serve-static@1.15.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/serve-static npm ERR! extraneous: set-blocking@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/set-blocking npm ERR! extraneous: setprototypeof@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/setprototypeof npm ERR! extraneous: shallow-clone@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/shallow-clone npm ERR! extraneous: shebang-command@1.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/shebang-command npm ERR! extraneous: shell-quote@1.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/shell-quote npm ERR! extraneous: sigmund@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sigmund npm ERR! extraneous: sirv@1.0.19 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sirv npm ERR! extraneous: smart-buffer@4.2.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/smart-buffer npm ERR! extraneous: sockjs@0.3.24 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sockjs npm ERR! extraneous: socks-proxy-agent@7.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/socks-proxy-agent npm ERR! extraneous: socks@2.7.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/socks npm ERR! extraneous: source-map-js@1.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/source-map-js npm ERR! extraneous: sourcemap-codec@1.4.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sourcemap-codec npm ERR! extraneous: spdx-correct@3.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-correct npm ERR! extraneous: spdx-exceptions@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-exceptions npm ERR! extraneous: spdx-expression-parse@3.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-expression-parse npm ERR! extraneous: spdx-license-ids@3.0.12 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdx-license-ids npm ERR! extraneous: spdy-transport@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdy-transport npm ERR! extraneous: spdy@4.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/spdy npm ERR! extraneous: sprintf-js@1.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/sprintf-js npm ERR! extraneous: ssri@9.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ssri npm ERR! extraneous: stable@0.1.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/stable npm ERR! extraneous: stackframe@1.3.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/stackframe npm ERR! extraneous: statuses@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/statuses npm ERR! extraneous: string-length@4.0.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/string-length npm ERR! extraneous: strip-bom@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/strip-bom npm ERR! extraneous: strip-eof@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/strip-eof npm ERR! extraneous: strip-indent@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/strip-indent npm ERR! extraneous: stylehacks@5.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/stylehacks npm ERR! extraneous: supports-hyperlinks@2.3.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/supports-hyperlinks npm ERR! extraneous: svg-tags@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/svg-tags npm ERR! extraneous: svgo@2.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/svgo npm ERR! extraneous: tapable@2.2.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tapable npm ERR! extraneous: terminal-link@2.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/terminal-link npm ERR! extraneous: terser-webpack-plugin@5.3.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/terser-webpack-plugin npm ERR! extraneous: terser@5.16.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/terser npm ERR! extraneous: thenify-all@1.6.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thenify-all npm ERR! extraneous: thenify@3.3.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thenify npm ERR! extraneous: thread-loader@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thread-loader npm ERR! extraneous: thunky@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/thunky npm ERR! extraneous: toidentifier@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/toidentifier npm ERR! extraneous: totalist@1.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/totalist npm ERR! extraneous: tr46@0.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tr46 npm ERR! extraneous: tree-kill@1.2.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tree-kill npm ERR! extraneous: ts-loader@9.4.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/ts-loader npm ERR! extraneous: tsconfig@7.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tsconfig npm ERR! extraneous: tsutils@3.21.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/tsutils npm ERR! extraneous: type-detect@4.0.8 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/type-detect npm ERR! extraneous: type-is@1.6.18 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/type-is npm ERR! extraneous: typedarray-to-buffer@3.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/typedarray-to-buffer npm ERR! extraneous: unicode-canonical-property-names-ecmascript@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-canonical-property-names-ecmascript npm ERR! extraneous: unicode-match-property-ecmascript@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-match-property-ecmascript npm ERR! extraneous: unicode-match-property-value-ecmascript@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-match-property-value-ecmascript npm ERR! extraneous: unicode-property-aliases-ecmascript@2.1.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unicode-property-aliases-ecmascript npm ERR! extraneous: unique-filename@2.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unique-filename npm ERR! extraneous: unique-slug@3.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unique-slug npm ERR! extraneous: unpipe@1.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/unpipe npm ERR! extraneous: utila@0.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/utila npm ERR! extraneous: utils-merge@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/utils-merge npm ERR! extraneous: v8-to-istanbul@8.1.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/v8-to-istanbul npm ERR! extraneous: validate-npm-package-license@3.0.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/validate-npm-package-license npm ERR! extraneous: vary@1.1.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vary npm ERR! extraneous: vue-hot-reload-api@2.3.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-hot-reload-api npm ERR! extraneous: vue-loader@17.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-loader npm ERR! extraneous: vue-style-loader@4.1.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-style-loader npm ERR! extraneous: vue-template-es2015-compiler@1.9.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/vue-template-es2015-compiler npm ERR! extraneous: watchpack@2.4.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/watchpack npm ERR! extraneous: wbuf@1.7.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wbuf npm ERR! extraneous: wcwidth@1.0.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wcwidth npm ERR! extraneous: webpack-bundle-analyzer@4.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-bundle-analyzer npm ERR! extraneous: webpack-chain@6.5.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-chain npm ERR! extraneous: webpack-dev-middleware@5.3.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-dev-middleware npm ERR! extraneous: webpack-dev-server@4.11.1 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-dev-server npm ERR! extraneous: webpack-merge@5.8.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-merge npm ERR! extraneous: webpack-sources@3.2.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-sources npm ERR! extraneous: webpack-virtual-modules@0.4.6 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-virtual-modules npm ERR! extraneous: webpack@5.75.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack npm ERR! extraneous: websocket-driver@0.7.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/websocket-driver npm ERR! extraneous: websocket-extensions@0.1.4 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/websocket-extensions npm ERR! extraneous: whatwg-fetch@3.6.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/whatwg-fetch npm ERR! extraneous: wide-align@1.1.5 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wide-align npm ERR! extraneous: wildcard@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/wildcard npm ERR! extraneous: write-file-atomic@3.0.3 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/write-file-atomic npm ERR! extraneous: yaml@1.10.2 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/yaml npm ERR! extraneous: yorkie@2.0.0 /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/yorkie npm ERR! A complete log of this run can be found in: npm ERR! /Users/luke/.npm/_logs/2023-02-26T00_16_01_328Z-debug-0.log > npm run ionic:serve -- --host=0.0.0.0 --port=8100 > npm run ionic:serve -- --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] > stay-in-touch@0.0.1 ionic:serve [npm] > vue-cli-service serve --host=0.0.0.0 --port=8100 [npm] INFO Starting development server... [npm] INFO Starting development server... [INFO] Waiting for connectivity with npm... [... [npm] [3%] setup (watch run) [npm] [3%] setup (watch run ESLintWebpackPlugin_1) ... [npm] [3%] setup (watch run ESLintWebpackPlugin_1) [npm] /Users/luke/code/github/ltfschoen/lets-stay-in-touch/node_modules/webpack-dev-server/lib/Server.js:2472 [npm] throw error; [npm] ^ [npm] Error: listen EADDRINUSE: address already in use 0.0.0.0:8100 [npm] at Server.setupListenHandle [as _listen2] (node:net:1740:16) [npm] at listenInCluster (node:net:1788:12) [npm] at doListen (node:net:1937:7) [npm] at process.processTicksAndRejections (node:internal/process/task_queues:83:21) { [npm] code: 'EADDRINUSE', [npm] errno: -48, [npm] syscall: 'listen', [npm] address: '0.0.0.0', [npm] port: 8100 [npm] } [npm] Node.js v19.6.0 [ERROR] npm has unexpectedly closed (exit code 1). The Ionic CLI will exit. Please check any output above for error details. [npm] [5%] setup (context module factory) [npm] [6%] setup (before compile) [npm] [6%] setup (before compile ProgressPlugin) [npm] [6%] setup (before compile) [npm] [7%] setup (compile) [npm] [7%] setup (compile ExternalsPlugin) [npm] [7%] setup (compile) [Ionic] source /Users/luke/.nvm/nvm.sh && nvm use && export ANDROID_HOME=~/Library/Android/sdk && npx ionic serve --no-open --external Failed [Ionic] Web Completed. [npm] [8%] setup (compilation) ... [npm] [9%] setup (compilation ESLintWebpackPlugin_1) [INFO] Development server running! Local: http://localhost:8100 External: http://10.1.1.26:8100 Use Ctrl+C to quit this process [npm] [9%] setup (compilation) [npm] [10%] building [npm] [24%] building (15/153 modules) ... ```

then lastly i closed VSCode and the browser tab, and restarted it localhost. i checked with lsof -n -i :8100 | grep LISTEN but didn't stop the process running on port 8100, and did the usual "Debug > Web" and it chose to use port 8101 instead and loaded successfully.

so on localhost it appears to use NVM successfully, i'm just not sure what caused the [Error] npm ERR! code ELSPROBLEMS error (although it automatically resolved that error)

credits: https://gist.github.com/pierrejoubert73/902cc94d79424356a8d20be2b382e1ab

ltfschoen commented 1 year ago

Hey @ltfschoen,

Try out v1.24.0 which was just released. That should hopefully take care of the nvm issue.

With the problem with login, I'll take a look - I know we had a domain change for the redirect not that long ago, so maybe something broke....

hey @dtarnawsky don't mean to bother you, but any updates on investigating the login issue?

dtarnawsky commented 1 year ago

In 1.34.2 we fixed a login issue (The extension uses the Ionic CLI and v7.0.0 had a bug with ionic login that was fixed in 7.0.1).

Ubuntu-based / Linux machines are not something I've actively tested against. I generally test Mac Silicon and Intel as well as Windows. Sounds like something I should try.

dtarnawsky commented 1 year ago

Closing for now as login issue was resolved.

dewald-els commented 1 year ago

I guess the bug is still around? Using Ubuntu 23 with the latest vscode and latest ionic extension.

Terminal output

image

Visual Studio Code

image

husudosu commented 1 year ago

It seems. Also tried to set shell path to /bin/zsh on plugin settings (because I'm using ZSH and did the nvm setup on my .zshrc) . The plguin still not able to find nvm installed node/npm. Tried to provide the path for npm executable like this:

PATH=$PATH:/home/sudosu/.nvm/versions/node/v20.9.0/bin /bin/zsh

The script probably can find the npm executable, but still failing.

image