
Security News
Re-Enabled GitHub Actions Expose Thousands of Repositories to Mini Shai-Hulud
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.
@jesscss/plugin-less-compat
Advanced tools
Less.js compatibility layer for Jess - enables Less plugins and visitors to work with Jess AST
Less.js compatibility layer for Jess. This plugin enables Less.js plugins and visitors to work seamlessly with Jess-compiled stylesheets by providing bidirectional transformation between Jess AST nodes and Less.js AST nodes.
This package is experimental and largely LLM-generated. It was created to explore compatibility between Jess and Less.js plugins, but:
If you need Less.js plugin compatibility, consider:
pnpm add @jesscss/plugin-less-compat
import { Compiler } from '@jesscss/jess';
import lessPlugin from '@jesscss/plugin-less';
import { lessCompatPlugin } from '@jesscss/plugin-less-compat';
import autoprefix from 'less-plugin-autoprefix';
const compiler = new Compiler({
plugins: [
lessPlugin(),
lessCompatPlugin({
visitors: [autoprefix]
})
]
});
const result = await compiler.compile('styles.less');
import { toLessTree, fromLessTree } from '@jesscss/plugin-less-compat/transform';
import customLessVisitor from './custom-visitor';
const jessTree = parseJess(source);
const lessTree = toLessTree(jessTree);
// Apply custom Less visitor
lessTree.accept(customLessVisitor);
// Convert back to Jess
const modifiedJessTree = fromLessTree(lessTree);
import { lessCompatPlugin } from '@jesscss/plugin-less-compat';
import autoprefix from 'less-plugin-autoprefix';
import cleanCSS from 'less-plugin-clean-css';
const compiler = new Compiler({
plugins: [
lessPlugin(),
lessCompatPlugin({
visitors: [
autoprefix,
cleanCSS
]
})
]
});
This package has been tested with:
less-plugin-autoprefix - Automatic vendor prefixingless-plugin-clean-css - CSS minificationless-plugin-dls - Design Language System supportOther Less.js plugins should work, but may require additional testing.
lessCompatPlugin(options?)Creates a Jess plugin that enables Less.js compatibility.
Options:
visitors?: LessVisitor[] - Array of Less.js visitors to applycache?: boolean - Enable conversion caching (default: true)toLessTree(jessRules: Rules)Converts a Jess Rules tree to a Less.js-compatible tree.
fromLessTree(lessTree: LessNode)Converts a Less.js tree back to a Jess Rules tree.
toLessNode(jessNode: Node, options?)Converts a single Jess node to a Less.js-compatible node.
fromLessNode(lessNode: LessNode, options?)Converts a single Less.js node back to a Jess node.
This package is currently in alpha.
Current design notes live in DESIGN.md. Older transition notes were removed from the working tree; use git history for archaeology.
Contributions welcome! Please see the main Jess repository for contribution guidelines.
MIT
FAQs
Less.js compatibility layer for Jess - enables Less plugins and visitors to work with Jess AST
The npm package @jesscss/plugin-less-compat receives a total of 614 weekly downloads. As such, @jesscss/plugin-less-compat popularity was classified as not popular.
We found that @jesscss/plugin-less-compat 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.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.

Research
/Security News
The compromise affects MemTensor's MemOS, an open source memory framework for large language models (LLMs) and AI agents. Both npm package @memtensor/memos-cloud-openclaw-plugin and the PyPI package MemoryOS are compromised. They drop cross-platform Go binaries that exfiltrate developer secrets.