Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
react-easter
Advanced tools
Readme
Easily add Easter eggs to your React app
With npm:
$ npm install --save-dev react-easter
Or with Yarn:
$ yarn add react-easter
The usage is very simple, there is just a couple of props to pass.
const EasterEgg = require('react-easter');
// ...
render() {
return (
<EasterEgg
keys={/* Array of keys to type to trigger the easter egg */}
simultaneous={/* Add this prop if keys should be pressed all together */}
timeout={/* Duration to show your easter egg, easter egg is displayed forever if prop is not set */}>
{/* Your easter egg JSX goes here */}
</EasterEgg>
);
}
You can add react-easter
anywhere in your component hierarchy, because it adds a global
keyboard events listener and doesn't stops any event bubbling.
For example:
const EasterEgg = require('react-easter');
export default class YourComponent extends React.Component {
render() {
const konamiCode = [
'arrowup',
'arrowup',
'arrowdown',
'arrowdown',
'arrowleft',
'arrowright',
'arrowleft',
'arrowright',
'b',
'a',
'enter'
];
return (
<EasterEgg keys={konamiCode}
timeout={5000}>
<div class="overlay">
<iframe class="sexy-nude-geek-girls-playing-mario"
src="https://www.youtube.com/embed/DLzxrzFCyOs?autoplay=1"
frameborder="0"
allowfullscreen />
</div>
</EasterEgg>
);
}
}
keys
– Just array of string representing each button to be pressed;simultaneous
– Set this prop if user should press buttons all together;timeout
– Amount of time in milliseconds while easter egg is displayed.All alphabetic letters and numbers could be passed as is, i.e. letter "a" is just "a".
If you use simultaneous
mode and you have the Shift
button in your hotkey combination,
please set the unmodified buttons.
For example, to have a Shift+!
hotkey, you should pass keys={["shift", "1"]}
,
because "Shift" and "1" pressed together produce "!".
Project uses react-shortcut to handle keyboard shortcuts.
Library has ~100% test coverage:
$ npm run test:coverage
> react-easter@1.0.0 test:coverage ~/projects/react-easter
> NODE_ENV=test jest --coverage --no-cache --config .jestrc
PASS test/Component.js
<EasterEgg />
✓ Should render (16ms)
✓ Should handle keys sequently without timeout (1032ms)
✓ Should handle keys sequently with timeout (1011ms)
--------------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
--------------|----------|----------|----------|----------|----------------|
All files | 100 | 77.78 | 100 | 100 | |
Component.js | 100 | 77.78 | 100 | 100 | |
--------------|----------|----------|----------|----------|----------------|
Test Suites: 1 passed, 1 total
Tests: 3 passed, 3 total
Snapshots: 0 total
Time: 3.831s
Ran all test suites.
Library is 100% compatible with airbnb-base for ES5.
Library has the following commands available:
Run the tests:
$ npm test
Run the tests and display test coverage:
$ npm run test:coverage
Run the linter:
$ npm run lint
No building required, library is implemented with ES5 React syntax for better compatibility and shipped as is.
Library is shipped "as is" under MIT License.
Feel free to contribute but don't forget to test everything properly.
FAQs
Easily add easter eggs to your React app
The npm package react-easter receives a total of 18 weekly downloads. As such, react-easter popularity was classified as not popular.
We found that react-easter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.