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]> 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 >
