Socket
Book a DemoInstallSign in
Socket

@farmfe/js-plugin-less

Package Overview
Dependencies
Maintainers
3
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@farmfe/js-plugin-less

support less compile for farm.

latest
Source
npmnpm
Version
1.13.0
Version published
Weekly downloads
96
-32.39%
Maintainers
3
Weekly downloads
 
Created
Source

English | 简体中文

Less Plugin for Farm

Support compiling Less in Farm.

Getting Started

To begin, you'll need to install less and @farmfe/js-plugin-less:

npm install less @farmfe/js-plugin-less --save-dev

or

yarn add -D less @farmfe/js-plugin-less

or

pnpm add -D less @farmfe/js-plugin-less

Configuring the plugin in farm.config.ts:

import { defineFarmConfig } from '@farmfe/core/dist/config';
import Less from '@farmfe/js-plugin-less'; //  import the plugin

export default defineFarmConfig({
  compilation: {
    input: {
      index: './index.html',
    },
    output: {
      path: './build',
    },
  },
  plugins: [
    // use the less plugin.
    Less({
      // custom options here
    }),
  ],
});

Options

lessOptions

Type:

type lessOptions = import('less').options | ((loaderContext: LoaderContext) => import('less').options})

Default: { relativeUrls: true }

Here you can pass any Less specific options to the @farm/js-plugin-less.See the Less options for any available options you need.

additionalData

Type:

type additionalData =
  | string
  | ((content: string, resolvePath:string) => string);

Default: undefined

Appends Less code to the actual entry file. In this case, the @farm/js-plugin-less will not override the source but just prepend the entry's content.

In actual development, this becomes useful, we don't need to add new files.

Since you're injecting code, this will break the source mappings in your entry file. Often there's a simpler solution than this, like multiple Less entry files.

string

export default defineFarmConfig({
  compilation: {
    input: {
      index: './index.html',
    },
    output: {
      path: './build',
    },
  },
  plugins: [
    // use the less plugin.
    Less({
      additionalData: `@hoverColor: #f10215;`
    }),
  ],
});

function

export default defineFarmConfig({
  compilation: {
    input: {
      index: './index.html',
    },
    output: {
      path: './build',
    },
  },
 plugins: [farmLessPlugin({
    additionalData: (content:string, resolvePath:string) => {
      if (path.basename(resolvePath,'.less') === 'index') {
        return `@hoverColor: #f10215;` + content;
      }
    },
  }) ],
});

sourceMap

Type: boolean

Default: false

Whether to generate sourceMap

If not set, it will read the compilation.sourcemap configuration in the farm configuration

implementation

Type: string | undefined

Default: undefined

@farm/js-plugin-less compatible with Less 3 and 4 versions

The special implementation option determines which implementation of Less to use. If you not config, it will find the less in you local node_modules.

FAQs

Package last updated on 16 Mar 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