@risklab/styler

中文文档
1.1.0发布于 2026/11/02Apache-2.0TypeScriptESM + CJS零依赖

Typed atomic styling engine for production application interfaces.

原始使用文档

RiskLab Styler

RiskLab Styler is a typed, zero-runtime-dependency atomic styling engine for production application interfaces.

It provides deterministic atomic classes, nested selectors, conditional rules, theme-variable contracts, variant recipes, conflict-safe composition, runtime injection, isolated registries, hydration, and server-side collection.

RiskLab Styler catalog showing a JSON style contract compiled live into atomic CSS rules

Live catalog: rpwalsh.github.io/?view=all

import { create, createVariants, defineVars, createTheme, props } from '@risklab/styler';

const vars = defineVars({ color: { accent: '' }, space: { md: 0 } }, 'app');
const darkTheme = createTheme(vars, { color: { accent: '#22d3ee' }, space: { md: 12 } });

const styles = create({
  root: {
    display: 'grid',
    gap: vars.space.md,
    color: vars.color.accent,
    ':hover': { opacity: 0.92 },
    '@media (min-width: 60rem)': { gridTemplateColumns: '18rem 1fr' },
  },
});

const button = createVariants({
  base: { display: 'inline-flex', alignItems: 'center' },
  variants: {
    size: { sm: { height: 28 }, lg: { height: 44 } },
    tone: { normal: { color: 'white' }, critical: { color: '#ef4444' } },
  },
  defaults: { size: 'sm', tone: 'normal' },
});

const className = props(darkTheme, styles.root, button({ size: 'lg' })).className;

Server rendering uses createServerStyleCollector from @risklab/styler/server.

Build-time and configuration-driven applications can compile a strict JSON style document with compileStyleDocument from @risklab/styler/compiler. The compiler returns deterministic CSS plus class and animation manifests, so an application can ship extracted CSS without enabling runtime injection.

Licensed under Apache-2.0.

版本与发布记录

@risklab/styler 共发布 3 个版本,首次发布于 2026/11/02;过去 12 个月发布了 3 个版本。

版本发布日期距今
1.1.0latest2026/11/021 天前
0.0.0-stage2026/11/021 天前
1.0.02026/07/173 个月前

关于 @risklab/styler 的常见问题

@risklab/styler 是什么?

用于生产应用程序接口的类型化原子样式引擎。

如何安装 @risklab/styler?

在项目目录运行 npm install @risklab/styler,或使用 pnpm add / yarn add / bun add。

@risklab/styler 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@risklab/styler 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@risklab/styler 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@risklab/styler 可以商用吗?

@risklab/styler 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@risklab/styler 还在维护吗?

最新版本 1.1.0 发布于 2026/11/02(1 天前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/11/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。