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

Update everything and add tests for almost everything #16

Merged
merged 47 commits into from
Aug 24, 2013

Conversation

AndreasMadsen
Copy link
Collaborator

Note that last time I checked this depended on tape-testing/testling#47 and the very latest version of buffer-browserify (not yet published).

I needed stream2 in my browser and I was quite surprised to see how outdated this module was. I ended up updating everything since I figured I would get other incompatibility if I didn't. So here it is, the Pull Request of doom. It took me more that 2 full days of boring work so I really hope this doesn't gets pulled aside.

This also adds about 2100 tests that I took from nodecore and I have rewritten the README.md so I contains information about how to use the module (nothing changed here) and how to contribute properly.

I really hope the no tests days are over and that the maintainers of this module will be strict in the future.

Also note that I have changed the version to 2.0.0 since this will likely introduce some breaking changes. I have tried to keep a list about whats changed, but as this was mostly no-brainer copypast this most likely incomplete.

  • assert updated
    • minor cleanup, it now depends more on util
  • child_process throws
  • cluster added and throws
  • dgram throws
  • dns added and throws
  • events updated
    • RemoveListener event
    • module.exports = EventEmitter
    • Constructor call may be required
    • listeners is now always an array copy
  • path updated
    • exports.delimiter added
    • exports.isAbsolute added
    • and a few bug fixes
  • os-browserify added
  • querystring updated
    • encode alias
    • decode alias
  • updated string_decoder
    • checks that the encoding is supported
    • note CESU-8, UTF-16LE, UCS-2, CESU-8 is not supported, dude to what appears to be a buffer issue
  • updated timers
    • This now includes a setImmediate shim
  • tls added and throws
  • tty fixed
    • tty.isatty just returns false
    • ReadStream throws
    • WriteStream throws
  • url updated
    • primary performance
  • util updated
    • inspect now accept options object
    • isFunction added
    • isObject added
    • isUndefined added
    • isSymbol added
    • isString added
    • isNumber added
    • isNullOrUndefined added
    • isNull added
    • isBoolean added
  • updated streams
    • this includes all the stream2 stuff
  • internal _shim module added

Browser support:

  • Safari: latest
  • Chrome: latest
  • Firefox: latest
  • Opera: latest
  • Internet Explore: 8, 9, 10

This is failing because of an incomplete util module
This is failing because of a missing WIP _shims.js file
Note this requires the PR-23 in buffer-browserify fix
Note punycode related test has been removed
@michaelficarra
Copy link

Amazing! I was going to have to do this as part of michaelficarra/commonjs-everywhere#72. You're a hero.

@AndreasMadsen
Copy link
Collaborator Author

@michaelficarra thanks, I really appreciate those words.

Relative paths increases the complexity of any require
implementation and this is also how node.js works
@alexgorbatchev
Copy link
Owner

Fantastic work!

alexgorbatchev added a commit that referenced this pull request Aug 24, 2013
@alexgorbatchev alexgorbatchev merged commit e3d1e73 into alexgorbatchev:master Aug 24, 2013
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.

4 participants