
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
style-to-object
Advanced tools
Parse CSS inline style to JavaScript object:
import parse from 'style-to-object';
parse('color: #C0FFEE; background: #BADA55;');
Output:
{ color: '#C0FFEE', background: '#BADA55' }
NPM:
npm install style-to-object --save
Yarn:
yarn add style-to-object
CDN:
<script src="https://unpkg.com/style-to-object@latest/dist/style-to-object.min.js"></script>
<script>
window.StyleToObject(/* string */);
</script>
Import with ES Modules:
import parse from 'style-to-object';
Require with CommonJS:
const parse = require('style-to-object').default;
Parse single declaration:
parse('line-height: 42');
Output:
{ 'line-height': '42' }
Parse multiple declarations:
parse(`
border-color: #ACE;
z-index: 1337;
`);
Output:
{ 'border-color': '#ACE', 'z-index': '1337' }
Parse unknown declarations:
parse('answer: 42;');
Output:
{ 'answer': '42' }
Invalid declarations/arguments:
parse(`
top: ;
right: 1em;
`); // { right: '1em' }
parse(); // null
parse(null); // null
parse(1); // null
parse(true); // null
parse('top:'); // null
parse(':12px'); // null
parse(':'); // null
parse(';'); // null
parse('top'); // throws Error
parse('/*'); // throws Error
If the 2nd argument is a function, then the parser will return null:
parse('color: #f00', () => {}); // null
But the function will iterate through each declaration:
parse('color: #f00', (name, value, declaration) => {
console.log(name); // 'color'
console.log(value); // '#f00'
console.log(declaration); // { type: 'declaration', property: 'color', value: '#f00' }
});
This makes it easy to customize the output:
const style = `
color: red;
background: blue;
`;
const output = [];
function iterator(name, value) {
output.push([name, value]);
}
parse(style, iterator);
console.log(output); // [['color', 'red'], ['background', 'blue']]
Migrated to TypeScript. Iterator excludes Comment. CommonJS requires the .default key:
const parse = require('style-to-object').default;
Release and publish are automated by Release Please.
Similar to style-to-object, css-to-object converts CSS strings into JavaScript objects. The main difference may lie in the API, performance, or additional features provided by the package.
This package is designed to parse CSS strings and may offer more comprehensive parsing capabilities, including selectors and media queries, which goes beyond the inline style conversion provided by style-to-object.
style-parser is another package that can parse inline style strings into objects. It might offer different parsing options or handle edge cases differently compared to style-to-object.
FAQs
Parse CSS inline style to JavaScript object.
We found that style-to-object demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.