1.0.9 • Published 11 months ago

@squirrelnetwork/esbuild-sass-modules-plugin v1.0.9

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
11 months ago

esbuild-sass-modules-plugin

A sass module loader plugin for esbuild.

npm package version license

This plugin allows .scss and .sass files to be imported as modules in javascript files.

Warning: this module does not work with SASS 1.63.0 because of https://github.com/sass/dart-sass/issues/1995

The issue has been fixed as of SASS 1.63.4

Note: this package is a module.

Install

Using NPM

$ npm install --save-dev @squirrelnetwork/esbuild-sass-modules-plugin

Using Yarn

$ yarn add -D @squirrelnetwork/esbuild-sass-modules-plugin

Basic usage

import esb from 'esbuild';
import sassModules from '@squirrelnetwork/esbuild-sass-modules-plugin';

await esb.build(
	{ bundle: true
	, sourceRoot: 'src/'
	, entryPoints: [ 'src/index.js' ]
	, outfile: 'build/app.js'
	, plugins: [ sassModules() ]
	}
);

Resolvers

Resolvers modify the behavior of the plugin when importing files.

Bundle resolver

import 'source.scss';

Inline resolver

import style from 'inline:source.scss';

// contains the compiled css text
console.log(style);

File resolver

import style from 'file:source.scss';

// contains the text path to be fetched
fetch(style)
	.then(css => console.log(css));

PostCSS and its plugins

Just set the postcss.use to true to enable PostCSS and set postcss.plugins to an array of plugins.

Autoprefixer example

import esb from 'esbuild';
import sassModules from '@squirrelnetwork/esbuild-sass-modules-plugin';
import autoprefixer from 'autoprefixer';

await esb.build(
	{ bundle: true
	, sourceRoot: 'src/'
	, entryPoints: [ 'src/index.js' ]
	, outfile: 'build/app.js'
	, plugins:
		[ sassModules(
			{ postcss:
				{ use: true
				, plugins: [ autoprefixer ]
				}
			}
		)
		]
	}
);

Documentation

See the wiki of this project.

Squirrel Network

1.0.9

11 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

1 year ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago