Nuxt/packages/cli/src/imports.js
2019-04-15 20:43:27 +04:30

34 lines
916 B
JavaScript

import path from 'path'
const localNodeModules = path.resolve(process.cwd(), 'node_modules')
// Prefer importing modules from local node_modules (for NPX and global bin)
async function _import(modulePath) {
for (const mp of [
path.resolve(localNodeModules, modulePath),
modulePath
]) {
try {
return await import(mp)
} catch (e) {
if (e.code !== 'MODULE_NOT_FOUND') {
throw e
}
}
}
const error = new Error(`Cannot import module '${modulePath}'`)
error.code = 'MODULE_NOT_FOUND'
throw error
}
export const builder = () => _import('@nuxt/builder')
export const webpack = () => _import('@nuxt/webpack')
export const generator = () => _import('@nuxt/generator')
export const core = () => _import('@nuxt/core')
export const tsNode = () => _import('ts-node')
export const nuxtTypescript = () => _import('@nuxt/typescript')
export const importModule = _import