Scott, thanks for the response.
As you can see in the log/error information I included, it is detecting my
proxy settings; and the proxy information it shows (I removed parts of the
hostname in my message) are correct.
> [INFO] --- frontend-maven-plugin:1.1:npm (npm install) @ nifi-web-ui
> [INFO] Found proxies: [m-proxy{protocol='http', host='proxy..com',
> port=8080}, m-proxy-https{protocol='https', host='proxy..com',
> port=8080}] [INFO] Running 'npm --cache-min Infinity install
> --https-proxy=
> http://proxy..com:8080 --proxy=http://proxy..com:8080' in
> C:\\nifi\nifi-nar-bundles\nifi-framework-bundle\nifi-
> framework\nifi-web\nifi-web-ui\target\frontend-working-directory
> [INFO]
I also already tried changing NPM versions:
> I tried just updating the version numbers for the components involved, and the
> build does complete, but I'm left with a copy of NiFi Web UI that doesn't
> work after deployment.
Since you have had success with running newer versions with the NiFi Registry
build, I copied those version numbers over into NiFi Web UI's pom.xml. When I
do this the build succeeds, but the Web UI will not load all the way in Chrome.
In the JavaScript console I see several errors:
Navigated to http://localhost:8080/nifi/
localhost/:61 GET http://localhost:8080/nifi/assets/angular/angular.min.js
net::ERR_ABORTED
localhost/:62 GET
http://localhost:8080/nifi/assets/angular-messages/angular-messages.min.js
net::ERR_ABORTED
localhost/:65 GET
http://localhost:8080/nifi/assets/angular-aria/angular-aria.min.js
net::ERR_ABORTED
localhost/:66 GET
http://localhost:8080/nifi/assets/angular-animate/angular-animate.min.js
net::ERR_ABORTED
(index):61 GET http://localhost:8080/nifi/assets/angular/angular.min.js
net::ERR_ABORTED
(index):62 GET
http://localhost:8080/nifi/assets/angular-messages/angular-messages.min.js
net::ERR_ABORTED
angular-resource.js:8 Uncaught TypeError: Cannot read property '$$minErr' of
undefined at angular-resource.js:8 at angular-resource.js:6
angular-route.js:24 Uncaught TypeError: Cannot read property 'module' of
undefined at angular-route.js:24 at angular-route.js:6
(index):65 GET
http://localhost:8080/nifi/assets/angular-aria/angular-aria.min.js
net::ERR_ABORTED
(index):66 GET
http://localhost:8080/nifi/assets/angular-animate/angular-animate.min.js
net::ERR_ABORTED
angular-material.min.js:7 Uncaught TypeError: Cannot read property 'module' of
undefined at angular-material.min.js:7 at angular-material.min.js:7 at
angular-material.min.js:15
jquery.min.js:2 jQuery.Deferred exception: Cannot read property 'module' of
undefined TypeError: Cannot read property 'module' of undefined at
HTMLDocument.<anonymous>
(http://localhost:8080/nifi/js/nf/canvas/nf-canvas-all.js?1.6.0-SNAPSHOT:77:5364)
at j (http://localhost:8080/nifi/assets/jquery/dist/jquery.min.js:2:29948) at
k (http://localhost:8080/nifi/assets/jquery/dist/jquery.min.js:2:30262)
undefined
jquery.min.js:2 Uncaught TypeError: Cannot read property 'module' of undefined
at HTMLDocument.<anonymous> (nf-canvas-all.js?1.6.0-SNAPSHOT:77) at j
(jquery.min.js:2) at k (jquery.min.js:2)
This is why I was hoping someone with more UI development experience could try
updating the version numbers and see if they can work out the issues.
Thanks!
Peter
-----Original Message-----
From: Scott Aslan [mailto:[email protected]]
Sent: Tuesday, March 20, 2018 23:11
To: [email protected]
Subject: [EXT] Re: Help with frontend-maven-plugin?
Hey there Peter,
I am not sure that the frontend-maven-plugin is out of date or old (the last
commit was November 2017). NiFi is running version 1.1 of this plugin and NiFi
Registry is running version 1.5. The frontend-maven-plugin downloads versions
of Node and npm from https://nodejs.org/dist, extracts them and puts them into
a node folder created in your installation directory. You can change the
version of this maven plugin here
<https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml#L362>.
Node will only be "installed" locally to your project. It will not be installed
globally on the whole system (and it will not interfere with any Node
installations already present). Node then installs npm. If the issue you are
encountering is with the version of npm, then you can change the version of
node or npm in the pom.xml here
<https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml#L27>
. If you have configured proxy settings for Maven
<http://maven.apache.org/guides/mini/guide-proxies.html> in your settings.xml
file, the frontend-maven-plugin will automatically use the proxy for
downloading node and npm, as well as passing the proxy to npm commands
<https://docs.npmjs.com/misc/config#proxy>.
-Scott
On Tue, Mar 20, 2018 at 5:02 AM, Peter Wicks (pwicks)
<[email protected]<mailto:[email protected]>>
wrote:
> The version of "frontend-maven-plugin" used in NiFi is out of date,
> and the versions of NPM and Node referenced by it are also a bit old.
>
> I wouldn't bring this up, except there is a bug in this version of NPM
> that can cause issues when trying to download NPM packages via proxy server.
>
> This is the error I'm seeing:
>
> [INFO] --- frontend-maven-plugin:1.1:npm (npm install) @ nifi-web-ui
> --- [INFO] Found proxies: [m-proxy{protocol='http', host='proxy..com',
> port=8080}, m-proxy-https{protocol='https', host='proxy..com',
> port=8080}] [INFO] Running 'npm --cache-min Infinity install
> --https-proxy=
> http://proxy..com:8080 --proxy=http://proxy..com:8080' in
> C:\\nifi\nifi-nar-bundles\nifi-framework-bundle\nifi-
> framework\nifi-web\nifi-web-ui\target\frontend-working-directory
> [INFO]
>
> .......
>
> [ERROR] npm http GET https://registry.npmjs.org/d3/4.13.0
> [ERROR] npm ERR! TypeError: Request path contains unescaped characters.
> [ERROR] npm ERR! at new ClientRequest (_http_client.js:53:11)
> [ERROR] npm ERR! at TunnelingAgent.exports.request (http.js:31:10)
>
>
>
> I've been successful building if I leave the proxy behind, but I can
> only do that outside of work... which makes it hard. I tried just
> updating the version numbers for the components involved, and the
> build does complete, but I'm left with a copy of NiFi Web UI that doesn't
> work after deployment.
>
> Thoughts? It would be great of one of the UI developers who's more
> familiar with NPM/Node could look at this maybe?
>
> Thanks,
> Peter
>