
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
@otovo/rainbow
Advanced tools
Otovo's Design System
yarn add @otovo/rainbow @emotion/react @emotion/styled styled-system @styled-system/theme-get
app.js
import { ThemeProvider } from '@emotion/react';
import { theme } from '@otovo/rainbow';
/** Optionally add custom theme overrides */
const customTheme = {
...theme,
colors: {
...theme.colors,
blue_60: 'pink',
},
};
class App extends Component {
render() {
return (
<ThemeProvider theme={customTheme}>
<Page />
</ThemeProvider>
);
}
}
import { H2, BodyM } from '@otovo/rainbow';
import styled from '@emotion/styled';
import { compose, color, space, border } from 'styled-system';
const CustomCard = styled.div`
${compose(color, space, border)}
`;
export default () => (
<CustomCard bg="green.10" p="4" mb="3" borderRadius="2">
<H2 color="green.4">Welcome...</H2>
<BodyM color="green.2">to Zombo.com</BodyM>
</CustomCard>
);
If your project already has babel set up, I highly recommend adding @emotion/babel-plugin
to your project. It provides several benefits, such as added functionality, minification, dead code elimination, source maps. You can read more about it here.
yarn add --dev @emotion/babel-plugin
.babelrc
{
"plugins": ["@emotion"]
}
To learn more about Rainbow, take a look at https://rainbow.otovo.com.
It might also be worth reading up on its dependencies, Emotion and Styled System.
Updates to Rainbow should be reflected in the rainbow-documentation repo.
Before you start making changes to rainbow
, you should set up a link to rainbow-documentation. This will make it a lot easier to test your changes. Linking the repo can be done as follows (assuming you have placed the repos in ~/projects
):
cd ~/projects/rainbow
yarn link
cd ~/projects/rainbow-documentation
yarn link @otovo/rainbow
Alternatively, if you're having trouble with yarn link
(for instance when linking between a yarn@1.x
repo with a yarn@2.x
repo), you can check out yalc
.
cd ~/projects/rainbow
yalc publish
cd ~/projects/rainbow-documentation
yalc add @otovo/rainbow
Great! You're almost set. To rebuild the distribution whenever you change something, run...
yarn dev
Psst! Remember to update the rainbow-documentation
whenever you make changes to rainbow
🤓
To release a new version to NPM, run...
yarn run release
The script will hold your hand through the rest of the process. Remember to use semantic versioning.
Version 4 upgrades to emotion@11.x
. This introduces some breaking changes. For instance @emotion/core
is renamed to @emotion/react
. Make sure to run:
yarn remove @emotion/core
yarn add @emotion/react
Then update all import statements in your project from @emotion/core
to @emotion/react
.
Also, get()
is deprecated. Replace occurrences with alternative syntax:
/** Replace: */
css`
border-top: 1px solid ${get('colors.grey_1')};
`;
/** With: */
css`
border-top: 1px solid ${(props) => props.theme.colors.grey_1};
`;
FAQs
Design system for Otovo
The npm package @otovo/rainbow receives a total of 2 weekly downloads. As such, @otovo/rainbow popularity was classified as not popular.
We found that @otovo/rainbow demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers 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
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.