New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

rollup-plugin-cssifyfromdb

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rollup-plugin-cssifyfromdb

Transforms custom annotations in source files, replacing them with a CSS style object from a Mongo DB

latest
npmnpm
Version
0.0.13
Version published
Maintainers
1
Created
Source

cssifyFromDB

A Rollup plugin that transforms @CSSify annotations inside FormantJS component templates, replacing them with CSS style objects fetched from a MongoDB design-system database. This plugin is thought to be used in conjonction with rollup-plugin-import-paths.

Installation

npm install rollup-plugin-cssifyFromDB

Example Usage

(rollup.config ad-hoc files are part of the formantJS distrib, example given here is somewhat theoritical)

In your rollup.config.mjs:

import cssifyFromDB from "rollup-plugin-cssifyFromDB";

export default {
  input: "src/index.js",
  plugins: [
    cssifyFromDB({
      dbURL: "mongodb://localhost:27017/themed_components",
      include: "**/*.js",
      exclude: "node_modules/**",
    }),
  ],
};

Example

In a FormantJS component template:

/**
 * @def ClickableComponent
 *
 * @CSSify styleName : ClickableComponentHost
 * @CSSify styleName : ClickableComponentMemberView
 * @CSSifyTheme themeName : basic-light
 */

Inside the same file:

var slotDef = new ComponentTemplate({
    type: "ComponentWithView",
    view : new ViewTemplate({
      nodeName: "pseudo-tag", /**@CSSifyStyle componentStyle : ClickableComponentHost */
    }),
    states: []
  }),
});

During the build, the plugin will replace @CSSifyStyle placeholders with style data from the DB. For example:

states: [],
sWrapper: CreateStyle(
  hostStyles
)

Where hostStyles is injected from MongoDB:

var hostStyles = [
  {
    "selector": ":host, div",
    "boxSizing": "border-box",
    "background": "none",
    "border": "0",
    "boxShadow": "none",
    "margin": "0",
    "outline": "0",
    "padding": "0",
    "verticalAlign": "baseline"
  }
];

Annotations

  • @CSSify styleName : <name> Fetches and injects a style definition by name.
  • @CSSifyTheme themeName : <theme> Applies a theme to the component’s styles.
  • /**@CSSifyStyle componentStyle : <name> */ Placeholder annotation replaced with the final CreateStyle(...) call.
  • /**@CSSifyDEBUG*/ Enables verbose logging during transformation.

FAQs

Package last updated on 21 Oct 2025

Did you know?

Socket

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.

Install

Related posts