esm-loader-css
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

esm-loader-css

Node.js ESModule Loader for CSS and related preprocessor stylesheets.

Supported stylesheet filename extensions: .css .less .pcss .postcss .sass .scss .sss .styl

Warning! Using experimental Node.js features and flags, API will likely change. This may be helpful for development and testing, but should not be used in production.

Usage

npm install --save-dev esm-loader-css

We want to import a .css file with Node.js:

/* index.css */
body {
  color: blue;
}
// index.js
import styles from './index.css'

console.dir(styles)
// "body { color: blue }"

Standalone

# node >= 20.7
cat << EOF > ./register.js
import { register } from 'node:module'
register('esm-loader-css', import.meta.url)
EOF
NODE_OPTIONS="--import ./register.js" node index.js

# node < 20.7
NODE_OPTIONS="--loader esm-loader-css" node index.js

Chainable

This loader can be configured, and chained with other loaders, using node-esm-loader.

npm install --save-dev node-esm-loader
// .loaderrc.js
export default {
  loaders: ['esm-loader-css'],
}
# node >= 20.7
NODE_OPTIONS="--import node-esm-loader/register" node index.js

# node < 20.7
NODE_OPTIONS="--loader node-esm-loader" node index.js

Options

Debug
// .loaderrc.js
export default {
  loaders: [
    {
      loader: 'esm-loader-css',
      options: {
        debug: true,
      },
    },
  ],
}

Future

  • Allow customization of valid css filename extensions list via .loaderrc config file?

License

MIT

Package Sidebar

Install

npm i esm-loader-css

Weekly Downloads

1,465

Version

1.0.6

License

MIT

Unpacked Size

6.05 kB

Total Files

4

Last publish

Collaborators

  • brev