Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@magic-engineering/components
Advanced tools
This repo contains a set of React components that we at Magic can use to build our apps. We use scss to author our styles and bootstrap. The goal of this project is to be able to integrate as seamless as possible in existing and new projects built with Re
This repo contains a set of React components that we at Magic can use to build our apps. We use scss to author our styles and bootstrap. The goal of this project is to be able to integrate as seamless as possible in existing and new projects built with React.
The Magic Components package can be installed via npm with a regular install command:
npm install @magic-engineering/components
# or
yarn add @magic-engineering/components
In order to successfully use Magic Components you need to import the compiled css file that defines the styling rules for entire set of components. Afterwards you can import any component and it'll be ready and styled.
import "@magic-engineering/components/dist/magic-components.css";
import { Button } from "@magic-engineering/components";
// Now you can use it
<Button label="Sign up" onClick={handleOnSignup} />;
Everyone is more than welcomed to contribute and maintain the components that we have. Before starting to write any component code please read the following description of how to do it and how the repository is structured.
The entire suite of components is getting bundled as one package. That package is then published onto npm under @magic-engineering/components
. The bundle is created using microbundle a tool that compiles to modern output formats and compresses the static assets.
For actual testing we use unit tests in order to lock functionality of a certain component. For viewing the end result of a certain component we use storybook
. For exploring different uses of a certain component we have a local ./sandbox
folder where you can play around with the production version of the package.
This component library is maintain independently of the other projects that we own. How we consume this library is by publishing it to npm
and install it where we need. That means in order to publish new versions of the library we need to actually publish a new version onto the npm
network.
Before we can publish we need to make sure we properly bump the version of the package. The process of actually compiling the library is done separately, so that is not something you need to be worried about to be doing manually.
Let's get started!
npm version patch
patch
here refers to the type of version we wanna bump. The version should respect the semver spectrum: <major>.<minor>.<patch>
.
After all that, open a MR against master
branch and merge it when pipeline succeeds.
After the above step is done, the master
pipeline will have a Publish
manual step enabled. Click on that step which will trigger the npm
publishing process of the new version.
That's it.
FAQs
This repo contains a set of React components that we at Magic can use to build our apps. We use scss to author our styles and bootstrap. The goal of this project is to be able to integrate as seamless as possible in existing and new projects built with Re
We found that @magic-engineering/components demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.