Help with frontend-maven-plugin?

2018-03-20 Thread Peter Wicks (pwicks)
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


Re: Help with frontend-maven-plugin?

2018-03-20 Thread Scott Aslan
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
.
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

. If you have configured proxy settings for Maven
 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 .

-Scott

On Tue, Mar 20, 2018 at 5:02 AM, Peter Wicks (pwicks) 
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
>


RE: [EXT] Re: Help with frontend-maven-plugin?

2018-03-20 Thread Peter Wicks (pwicks)
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. 
(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. (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:scottyas...@gmail.com]
Sent: Tuesday, March 20, 2018 23:11
To: dev@nifi.apache.org
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 

Re: [EXT] Re: Help with frontend-maven-plugin?

2018-03-20 Thread Scott Aslan
Ok, I see the problem now. Thank you for the javascript errors. I opened
this ticket to solve the issue:
https://issues.apache.org/jira/browse/NIFI-4998

Will you please cherry-pick from this PR:
https://github.com/apache/nifi/pull/2571 and confirm that it fixes the
issue you are seeing?

-Scott

On Tue, Mar 20, 2018 at 11:10 PM, Peter Wicks (pwicks) 
wrote:

> 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. (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. (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:scottyas...@gmail.com]
> Sent: Tuesday, March 20, 2018 23:11
> To: dev@nifi.apache.org
> 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/