-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Webpack #9
Conversation
@jonnor might be good to merge. Wouldn't release yet until we have noflo/grunt-noflo-browser#14 though |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Get rid of libccv dependencies.
- '0.10' | ||
- '6' | ||
before_install: | ||
- wget https://s3-us-west-2.amazonaws.com/cdn.thegrid.io/caliper/libvips/libccv-0.1.1.tar.gz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nooo, what is this stuff? This is custom C++ libraries. Not cross-compiled for browser either. Not acceptable to include here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The thing is, otherwise we can't install noflo-ccv via NPM, and hence expose its browser components.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be super-happy to not need these native packages, but I wonder how to make NPM skip the deps that need them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So either
- Split out the things with custom Node.js C++ dependencies to another library
- Make the dependencies optional and handle them not existing
- Drop the offending NoFlo libraries from the build
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- libpng-dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same, all this crack introduced by libccv has to stay away. Cannot legitmately say to people that to build NoFlo you need all this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not only noflo-ccv, but also noflo-image and noflo-canvas
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does not change the point. These dependencies are awful and should be completely uneccesary for a browser project. This will mean lots of people on Mac won't be able to build noflo-browser
. Basically no-one on Windows will be able. Even some people Linux people will struggle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is all true. The right approach would be to fix it upstream in the modules with native dependencies:
- https://github.com/noflo/noflo-image
- https://github.com/noflo/noflo-canvas
- https://github.com/noflo/noflo-ccv
But until that is done, I don't really see other options than either including these native deps on Travis, or removing those modules from package.json
. But we need them for bunch of Flowhub demos...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be noted that normal browser builds for NoFlo don't require these. Only projects that use those three modules.
https://github.com/noflo/noflo-browser-app/blob/master/.travis.yml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bergie At the very least, we got to file bugs on all the offending libraries so we can fix it later. If NPM is to be our solution for NoFlo on browser then we've got to find solutions for these kinds of issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe also have a tracking bug here which ties the general-problem together.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bergie what will be our recommendation to future libraries that need some (native) dependecies for Node.js and others/none for browser?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed here, #10
@@ -1,63 +0,0 @@ | |||
{ | |||
"name": "noflo-browser-everything", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yay no component.io
@@ -1,22 +0,0 @@ | |||
{ | |||
"name": "noflo-browser", | |||
"homepage": "https://github.com/noflo/noflo-browser", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yay no bower
runtimeClient = require 'noflo-runtime' | ||
protocolClient = require 'fbp-protocol-client' | ||
noflo = require 'noflo' | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, tests.
Will fix #8 and will fix #6