Unexpected token Function : Async Function - javascript

I am having issue deploying a application developed in node js. It uses Docker framework and is being deployed on Pivotal.
On pushing the app to Pivotal I get the following error
/home/vcap/app/node_modules/popsicle-transport-http/dist/index.js:372
return async function (req, next) {
SyntaxError: Unexpected token function,
Which prevents the app from starting.
Now I understand that the error can be caused due to the version of node not supporting async call. The app is not developed by me but it's upon me to deploy it on Pivotal.
I have ran the following commands to update npm and node
npm install -g npm stable
npm install -g node
and checked versions
npm -v
v6.10.2
node -v
v10.15.1
Then build the solution
docker build -t helloworld .
Then pushed the app to pivotal which produces the above error.
I have looked at the git page for popsicle and can't see anything been discussed on similar issue.
Any suggestions?

Related

I get the following Error in Node.js `Uncaught SyntaxError: Invalid or unexpected token`

C:\Users\User 1\Desktop\nlp_samurai\nlp_samurai\>npm install --save
If I run this command in Node.js Terminal I get the following Error Uncaught SyntaxError: Invalid or unexpected token..I need to run this command to install all the required Node.js modules for a project from github..Check the project In this link for better understanding
The issue you have is trying to call the command npm install --save with the directory name in it, instead of running the command from the directory.
The command mentioned on the project's page is meant to install the projects dependencies. It has to be run in the directory nlp_samurai\nlp_samurai\. The easiest way to get there is to call cd [directory name] (Change Directory) and then run npm install --save.
You can check out this tutorial to learn more about navigation in the Windows command line.

Npm install/run dev fails for not finding Git Bash

I have a Javascript project set using React.js. Npm install for nodemon package version 2.0.7 fails with following errors:
It seems that the installation is trying to spawn Git Bash but without success.
Should the installation spawn bash.exe from the folder C:\Program Files\Git\bin instead
of C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Git\Git Bash?
Same error message happens when running npm run dev to start the Node server:
Same errors happen when run from Git Bash.
Earlier nodemon version 1.10.0 installation succeeds with no errors.
I have
OS Windows 10
npm version 6.14.8
node version 14.15.0
git version 2.28.0.windows.1
I think my Git is set to environment path variable correctly.
What could be causing this error?

Nodejs Cannot Read Property When Running in Docker

I'm trying to run the example Neo4j Node project in Docker containers but I'm having an issue with the Node part. The project runs fine locally but when I run it in a docker container I get this error:
const neo4j = window.neo4j;
^
ReferenceError: window is not defined
I have pretty much no JavaScript / Node experience so just looking for any help to point me in the right direciton.
My dockerfile looks like this:
FROM node:10
WORKDIR /app
COPY package.json /app
COPY package-lock.json /app
RUN npm config set strict-ssl false
RUN npm cache clean --force && npm install && npm install -g serve
#RUN npm install
COPY . /app
RUN npm run build
COPY serve.json dist/serve.json
CMD ["node", "src/app.js"]
EXPOSE 8080
The demo project is: https://github.com/neo4j-examples/movies-javascript-bolt
UPDATE
The comment from Amir seems to have solved the original issue. This was to change
const neo4j = window.neo4j;
to
const neo4j = require("neo4j-driver");
with neo4j-driver being the name of the module.
Now I'm getting this similar issue if anyone has any ideas:
$(function () {
^
ReferenceError: $ is not defined

Can`t make gRPC work with Electron.js

I`m making an Electron app that should connect by grpc to remote host and call some functions from there.
But I keep getting the following error:
Uncaught Error: A dynamic link library (DLL) initialization routine failed.
\?\D:\Projects\demo-app\node_modules\grpc\src\node\extension_binary\grpc_node.node
I tried to:
establish grpc connection from main and from renderer processes of Electron
install dependencies as npm install --unsafe-perm
but nothing works.
Error
The gRPC package is distributed with precompiled binaries for Electron, including on Windows, but you have to specify that you're using Electron when you do the installation. The following should work:
npm install grpc --runtime=electron --target=<electron version>
If you're using a native module, you'll need to rebuild them against your current electron node version.
There is a package called electron-rebuild that will do this for you. Basic instructions:
npm install --save-dev electron-rebuild
Then, whenever you install a new npm package, rerun electron-rebuild:
./node_modules/.bin/electron-rebuild
Or if you're on Windows:
.\node_modules\.bin\electron-rebuild.cmd

Express module not found when installed with NPM

When I try to run the app.js file created by express, I get the following error:
$ node app.js
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'express'
at Function._resolveFilename (module.js:320:11)
When I type in express --version I get a return statement of 2.3.3. I used npm to install express. I had to manually make npm using these instructions:
git clone http://github.com/isaacs/npm.git
cd npm
sudo make install
The error is Error: Cannot find module 'express'.
Do I need to do something after installing npm and express in order to make express see the modules created by npm?
My node is version: 0.4.6
My express is version: 2.3.3
My npm is version: 1.0.6
Express is installed globally. I used the -g flag to install it.
Edit: When I try "node -e require.paths" I get:
[ '/home/user/.node_modules',
'/home/user/.node_libraries',
'/usr/local/lib/node' ]
So, node isn't detecting the npm installation. How do I get node to detect the npm installation?
Install express
npm install -g express
Create a new app
express your_app
cd into app directory
cd your_app
use npm link to resolve modules
npm link express
Use local installs for require(), and global installs for command-line apps.
If you need both, use the npm link command.
On Ubuntu 12.04 you have to add the export NODE_PATH=/usr/local/lib/node_modules to your /.bashrc to use globally installed modules.
It appears that while npm had been updated to install global modules into /usr/local/lib/node_modules, Node's own require.paths does not yet reflect this change.
There are two reasonable solutions:
Add the following code to the top of your application:
require.paths.push('/usr/local/lib/node_modules');
Pro: non-invasive, easy to add
Con: requires discipline, future versions of node will restrict access to require.paths
As root, execute:
ln -s /usr/local/lib/node_modules /usr/local/lib/node
Pro: reasonably non-invasive
Con: requires root, modifies linux fs, might not survive system updates
I had the same problem. This worked for me though:
Seems like npm (now?) installs node modules to /usr/local/lib/node_modules/ and not /usr/local/lib/node/
What I did was simply to copy everything from node_modules to node: sudo cp -r /usr/local/lib/node_modules/* usr/local/lib/node/ and now it seems to be working for me.
Hope this helps you :-)
What about NODE_PATH=/usr/local/lib/node_modules in .bashrc or .bash_profile? I think it's the real correct way.
Set NODE_PATH=NODE_HOME\node_modules.
I'm using windows 7 and it works fine.
It may happen, if you're using windows, that the environment variable NODE_PATH is not set, and thus when you execute node fileName.js it won't find the libraries.
Check for the variable on your console, and if not present, create it. Give it the NODE_HOME\node_modules value, where NODE_HOME is your node install dir. This path is where npm install puts every module upon downloading.
require.paths is removed, use the NODE_PATH environment variable instead.
It looks like the easiest way to do this is to run npm install from your app's folder. This tells npm to hook everything up.
It's the last instruction after express <appname>:
...
dont forget to install dependencies:
$ cd <appname> && npm install
Finally with Linux a good way to do is to use the command : sudo apt-get install node-express
But with express 4 we must use express-generator to make app skeleton, install it with 'npm install express-generator -g', and then run 'express myapp' command.
see also install express
for mac users
cd /usr/local/lib/node
sudo ln -s ../node_modules/* ./$1
I installed gulp and when I ran this gulp command in the command line I got a gulp: command not found error. It appeared that it installed gulp in my local folder that is /home/YOURUSERNAME/.node/lib/node_modules and not in the global npm folder.
You can check npm root folder by running this command: npm root -g, which was returning my personal directory /home/YOURUSERNAME/.node/lib/node_modules and not the expected /usr/local/lib/node_modules.
You can fix this by running npm config set prefix /usr/local command.
For all problems with express with a mac computer:
The solution is:
chown to your user the .npm folder :
sudo chown -R Webmaste /Users/webmaste/.npm/
At your test folder or your folder:
sudo npm install -g express#2.5.8
Invoke express from your actual location:
/usr/local/share/npm/bin/express
sudo cd . && npm install
Finally:
node app
the final message in the console should look like this:
Express server listening on port 3000 in development mode

Categories

Resources