Kikobeats / is-emoji-keyword

Check if a word is a emoji shortcut.
MIT License
14 stars 3 forks source link

An in-range update of should is breaking the build 🚨 #7

Closed greenkeeper[bot] closed 7 years ago

greenkeeper[bot] commented 7 years ago

Version 12.0.0 of should just got published.

Branch Build failing 🚨
Dependency should
Current Version 11.2.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As should is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this :muscle:

Status Details - ❌ **continuous-integration/travis-ci/push** The Travis CI build failed [Details](https://travis-ci.org/Kikobeats/is-emoji-keyword/builds/269221284?utm_source=github_status&utm_medium=notification)

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:

greenkeeper[bot] commented 7 years ago

After pinning to 11.2.1 your tests are still failing. The reported issue might not affect your project. These imprecisions are caused by inconsistent test results.