New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

esbuild-plugin-less

Package Overview
Dependencies
Maintainers
0
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

esbuild-plugin-less

esbuild plugin for less files

  • 1.3.17
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19K
decreased by-24.26%
Maintainers
0
Weekly downloads
 
Created
Source

esbuild-plugin-less

License: WTFPL TypeScript code style: prettier npm version npm downloads libraries.io FOSSA Status semantic-release

esbuild plugin for LESS files.

Supports all LESS features, including imports, variables, mixins, and more.

Features

  • 💫 Support for all LESS.js features and options
  • 🎨 CSS Modules support with .module.less files
  • 🔄 Watch mode support with automatic rebuilds
  • 🎯 Custom file filtering options
  • 📝 Written in TypeScript

Installation

# Using bun
$ bun add -D esbuild-plugin-less

# Using yarn
$ yarn add -D esbuild-plugin-less

# Using pnpm
$ pnpm add -D esbuild-plugin-less

# Using npm
$ npm install --save-dev esbuild-plugin-less

Basic Usage

import { build } from 'esbuild';
import { lessLoader } from 'esbuild-plugin-less';

build({
  entryPoints: ['src/index.ts'],
  bundle: true,
  outdir: 'dist',
  plugins: [lessLoader()], // That's it!
  loader: {
    '.ts': 'ts',
  },
});

Advanced Configuration

With LESS Options

import { build } from 'esbuild';
import { lessLoader } from 'esbuild-plugin-less';

build({
  entryPoints: ['src/index.ts'],
  bundle: true,
  outdir: 'dist',
  plugins: [
    lessLoader({
      // LESS.js options
      math: 'always',
      globalVars: {
        primaryColor: '#ff0000',
      },
      paths: ['./src/styles'],
      javascriptEnabled: true,
    }),
  ],
});

With Loader Options

import { build } from 'esbuild';
import { lessLoader } from 'esbuild-plugin-less';

build({
  entryPoints: ['src/index.ts'],
  bundle: true,
  outdir: 'dist',
  plugins: [
    lessLoader(
      {}, // LESS options (empty in this example)
      {
        // Loader options
        filter: /\._?less$/, // Custom file filter
        inline: false, // Control if LESS files should be inlined as strings
      },
    ),
  ],
});

CSS Modules Support

The plugin automatically handles .module.less files as CSS Modules. This enables local scoping of styles and generates unique class names.

// styles.module.less
.button {
  color: blue;
}
// Component.ts
import styles from './styles.module.less';
element.className = styles.button; // Will use the generated unique class name

Configuration Options

LESS Options

The plugin accepts all valid options from LESS.js. Here are some commonly used options:

For a complete list of LESS options, see the LESS documentation.

Loader Options

OptionTypeDefaultDescription
filterRegExp/\.less$/Custom filter for processing files
inlinebooleanfalseImport LESS files as strings in TypeScript

License

esbuild-plugin-less is WTFPL licensed.

FOSSA Status

Keywords

FAQs

Package last updated on 08 Feb 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc