Skip to content
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

Merged
merged 19 commits into from
Jan 10, 2017
Merged

Webpack #9

merged 19 commits into from
Jan 10, 2017

Conversation

bergie
Copy link
Member

@bergie bergie commented Jan 9, 2017

Will fix #8 and will fix #6

@bergie bergie mentioned this pull request Jan 10, 2017
10 tasks
@bergie bergie changed the title WIP: Webpack Webpack Jan 10, 2017
@bergie
Copy link
Member Author

bergie commented Jan 10, 2017

@jonnor might be good to merge. Wouldn't release yet until we have noflo/grunt-noflo-browser#14 though

@bergie bergie requested a review from jonnor January 10, 2017 11:47
Copy link
Member

@jonnor jonnor left a 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
Copy link
Member

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.

Copy link
Member Author

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.

Copy link
Member Author

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

Copy link
Member

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
Copy link
Member

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.

Copy link
Member Author

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

Copy link
Member

@jonnor jonnor Jan 10, 2017

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.

Copy link
Member Author

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:

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

Copy link
Member Author

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

Copy link
Member

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.

Copy link
Member

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.

Copy link
Member

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?

Copy link
Member

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",
Copy link
Member

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",
Copy link
Member

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'

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, tests.

@jonnor jonnor merged commit 2e30682 into master Jan 10, 2017
@jonnor jonnor deleted the webpack branch January 10, 2017 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port to WebPack WebRTC support fails to load over HTTPS
2 participants