jcblw / geode

:earth_americas: wrapper for www.geonames.org written in javascript as a node module
58 stars 19 forks source link

Update should to the latest version 🚀 #59

Closed greenkeeper[bot] closed 7 years ago

greenkeeper[bot] commented 7 years ago

Version 12.0.0 of should just got published.

Dependency should
Current Version 11.2.1
Type devDependency

The version 12.0.0 is not covered by your current version range.

Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.

I recommend you look into these changes and try to get onto the latest version of should. Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.


Release Notes Better Map Set equality

Map/Set/WeakMap/WeakSet equality checks

User @BridgeAR pointed to a number of bugs and inconcistency in Map/Set/WeakMap/WeakSet checks. To fix all this things, i switched map and set equality checks to do key checks defined in standard instead of value checks.
Typical example that was working before this release:

const m1 = new Map([[{ a: 1 }, 11]]);
const m2 = new Map([[{ a: 1 }, 11]]);

m1.should.be.eql(m2)

And not this example is breaking. At first view it is a bit unclear why it should not be so. Consider another example:

const m1 = new Map([[{}, 11], [{}, 12]]);
const m2 = new Map([[{}, 11], [{}, 12]]);

m1.should.be.eql(m2)

This example is not that clear if it should assert or not, right? (it should).

As Map and Set (as their weak equavalents) allows to use any type value/ref as key, perfectly equal by value (what should.js do) {} and {} is not equal by reference. In should.js i am always trying to limit users to do not shoot themselfs in their foots and just do right thing if possible and when possible. That is why both examples will throw assertions starting 12.0.0.

Consistency in bundles

For the long time (probably several years now) browser bundle and node bundle has little differences in globals.
To make them sync i am doing such changes to bundles:

  1. Browser bundle will not contain window.Should any more (with capital S). It was deprecated for the long time. Just use window.should as is.
  2. Node bundle change global.should to be should function instead of getter attached to Object.prototype.
Commits

The new version differs by 12 commits.

  • 52dc121 Release 12.0.0
  • 6c1e6bd Prettier all
  • 6114e76 Update years
  • 670df30 Merge branch 'master' of github.com:shouldjs/should.js
  • ecf8033 Update tools
  • e4d0acc Normalize entry points
  • f4adabb Set zuul to use 2 last versions of browsers
  • 8114b5d Merge pull request #143 from isayme/issue/aboveOrEqual-belowOrEqual
  • 02ec6a0 fix error message for aboveOrEqual & belowOrEqual
  • 031888e Merge pull request #140 from carldunham/feature/cd/add-equals-eqls
  • 1e4909b Add for readability: equals, eqls
  • 4a53d94 Release 11.2.1

See the full diff

Not sure how things should work exactly? There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html) and of course you may always [ask my humans](https://github.com/greenkeeperio/greenkeeper/issues/new).

Your Greenkeeper Bot :palm_tree: