UNPKG

@roots/bud-build

Version:

bud.js core module

64 lines (63 loc) 1.72 kB
import isBoolean from '@roots/bud-support/isBoolean'; /** * CSS loader */ export const css = async ({ makeItem }) => makeItem({ ident: `css`, loader: `css`, }).setOptions(({ hooks: { filter } }) => ({ modules: false, sourceMap: isBoolean(filter(`build.devtool`)) ? filter(`build.devtool`) : true, })); /** * CSS module loader */ export const cssModule = async ({ makeItem }) => makeItem({ ident: `css-module`, loader: `css`, }).setOptions(({ build, hooks: { filter } }) => ({ importLoaders: build.getRule(`css-module`).getUse().length - 2, modules: { namedExport: false }, sourceMap: isBoolean(filter(`build.devtool`)) ? filter(`build.devtool`) : true, })); /** * CSV loader */ export const csv = async ({ makeItem }) => makeItem().setLoader(`csv`).setIdent(`csv`); /** * HTML loader */ export const html = async ({ makeItem }) => makeItem().setLoader(`html`).setIdent(`html`); /** * Style loader */ export const style = async ({ makeItem }) => makeItem().setLoader(`style`).setIdent(`style`); /** * Markdown loader */ export const md = async ({ makeItem }) => makeItem().setIdent(`md`).setLoader(`md`); /** * MiniCss loader */ export const minicss = async ({ makeItem }) => makeItem() .setLoader(`minicss`) .setIdent(`minicss`) .setOptions(app => ({ publicPath: app.publicPath(), })); /** * Raw loader */ export const raw = async ({ makeItem }) => makeItem().setLoader(`raw`).setIdent(`raw`); /** * file-loader */ export const file = async ({ makeItem }) => makeItem().setLoader(`file`).setIdent(`file`); /** * Yml loader */ export const yml = async ({ makeItem }) => makeItem().setLoader(`yml`).setIdent(`yml`);