UNPKG

spinjs

Version:

[![Join the chat at https://gitter.im/sysgears/spinjs](https://badges.gitter.im/sysgears/spinjs.svg)](https://gitter.im/sysgears/spinjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![npm version](https://badge.fury.io/js/spi

36 lines (32 loc) 1.05 kB
import * as os from 'os'; import * as path from 'path'; import { Builder } from '../../Builder'; import Spin from '../../Spin'; export const hasParallelLoalder = (builder: Builder) => { return !!builder.require.probe('thread-loader'); }; export const addParalleLoaders = (builder: Builder, spin: Spin, compilerRules) => { const cacheLoader = builder.require.probe('cache-loader'); const threadLoader = builder.require.probe('thread-loader'); const result = compilerRules.slice(0); if (threadLoader) { result.unshift({ loader: 'thread-loader', options: spin.createConfig(builder, 'threadLoader', { workers: os.cpus().length - 1 }) }); } if (cacheLoader && !!builder.cache) { result.unshift({ loader: 'cache-loader', options: spin.createConfig(builder, 'cacheLoader', { cacheDirectory: path.join( typeof builder.cache === 'string' && builder.cache !== 'auto' ? builder.cache : '.cache', 'cache-loader' ) }) }); } return result; };