function _loadModule(moduleName) {
	let modulePath
	// Check if module exists
	try {
		modulePath = require.resolve(moduleName)
	} catch (err) {
		switch (err.code) {
		case 'MODULE_NOT_FOUND':
			const error = new Error(`Processor ${moduleName} not found. Please install it first (npm install ${moduleName} --save-dev)`)
			error.code = 'MODULE_NOT_INSTALLED'
			throw error
		default:
			throw err
		}
	}

	//Check if module version is supported
	const f = finder(modulePath)
	const moduleVersion = f.next().value.version
	const compatibleVersion = compatibleProcessors[moduleName]

	if(!semver.satisfies(moduleVersion, compatibleVersion)) {
		const error = new Error(`Processor ${moduleName} (${moduleVersion}) is not compatible. Required version: ${compatibleVersion}`)
		error.code = 'MODULE_NOT_COMPATIBLE'
		throw error
	}

	return require(moduleName)
}
function _loadModule(moduleName) {
	let modulePath
	
	try {
		modulePath = require.resolve(moduleName)
	} catch (err) {
		switch (err.code) {
		case 'MODULE_NOT_FOUND':
			const error = new Error(`Processor ${moduleName} not found. Please install it first (npm install ${moduleName} --save-dev)`)
			error.code = 'MODULE_NOT_INSTALLED'
			throw error
		default:
			throw err
		}
	}

	
	const f = finder(modulePath)
	const moduleVersion = f.next().value.version
	const compatibleVersion = compatibleProcessors[moduleName]

	if(!semver.satisfies(moduleVersion, compatibleVersion)) {
		const error = new Error(`Processor ${moduleName} (${moduleVersion}) is not compatible. Required version: ${compatibleVersion}`)
		error.code = 'MODULE_NOT_COMPATIBLE'
		throw error
	}

	return require(moduleName)
}
function _loadModule ( moduleName ) { let modulePath // Check if module exists try { modulePath = require . resolve ( moduleName ) } catch ( err ) { switch ( err . code ) { case 'MODULE_NOT_FOUND' : const error = new Error ( ` ${ moduleName } ${ moduleName } ` ) error . code = 'MODULE_NOT_INSTALLED' throw error default : throw err } } //Check if module version is supported const f = finder ( modulePath ) const moduleVersion = f . next ( ) . value . version const compatibleVersion = compatibleProcessors [ moduleName ] if ( ! semver . satisfies ( moduleVersion , compatibleVersion ) ) { const error = new Error ( ` ${ moduleName } ${ moduleVersion } ${ compatibleVersion } ` ) error . code = 'MODULE_NOT_COMPATIBLE' throw error } return require ( moduleName ) }
A module for loading a style processor
@module loadProcessor
 
Loads a module in 3 Steps.
1. Check if module is compatible
1. Check if module is installed
2. Check if module version is compatible
3. Load the module

@private
@param {String} moduleName
@returns {Promise} processor
A module for loading a style processor @module loadProcessor Loads a module in 3 Steps . 1 . Check if module is compatible 1 . Check if module is installed 2 . Check if module version is compatible 3 . Load the module