frptools / collectable

High-performance immutable data structures for modern JavaScript and TypeScript applications. Functional interfaces, deep/composite operations API, mixed mutability API, TypeScript definitions, ES2015 module exports.
MIT License
273 stars 14 forks source link

ALL(style): support Node 4 #48

Closed not-an-aardvark closed 7 years ago

not-an-aardvark commented 7 years ago

This updates the codebase to support Node 4, as described in https://github.com/frptools/collectable/issues/44#issuecomment-314160945. It also adds a Node 4 build to Travis.

Note: As an alternative to changing the syntax of the codebase, another way to do this would be to update the typescript config to compile to ES5. I chose to change the code because it seems like that would result in a much smaller change to the output code, but let me know if it would be better to update the Typescript config instead.

axefrog commented 7 years ago

Thanks, merged and published.

not-an-aardvark commented 7 years ago

I think I made a mistake here. I had been using no-unsupported-features on the built files to detect problematic syntax, but this didn't check the syntax of dependencies. As a result, there's one usage of default parameters in @fprtools/core that prevents this from working with Node 4.

Sorry about that -- I probably should have run the tests on Node 4 locally, but instead I decided to push and let Travis run the Node 4 tests. Travis didn't catch the issue because it's broken from https://github.com/frptools/collectable/issues/44#issuecomment-314394859.

axefrog commented 7 years ago

I've disabled Travis for now, as I'm having trouble getting Docker to run locally and apparently that's the only way to debug the Travis issue. So yeah I guess just do your own builds for testing locally for the time being.

not-an-aardvark commented 7 years ago

To take a guess, could it be a OS-specific issue? That would explain why it's failing on Travis but working everywhere else (and if that is the cause, it would be possible to test with a Linux VM rather than needing to run Travis in Docker).

TylorS commented 7 years ago

https://github.com/vadimdemedes/trevor is a useful tool for figuring out travis issues

axefrog commented 7 years ago

I can't get Docker running locally... something specific to my mangled OS installation.

axefrog commented 7 years ago

@not-an-aardvark Linux VM is a good idea. Might try that later today.