UNPKG

@directus/extensions-sdk

Version:

A toolkit to develop extensions to extend Directus

49 lines (48 loc) 1.79 kB
import path from 'path'; import { EXTENSION_PKG_KEY } from '@directus/extensions'; import fse from 'fs-extra'; import {} from 'ora'; const checkBuiltCode = { name: 'built-code', handler: async (spinner, reports) => { spinner.text = 'Check for built code'; let codePath = '/dist'; const packagePath = path.resolve('package.json'); if (await fse.pathExists(packagePath)) { const packageFile = await fse.readJson(packagePath); if (packageFile[EXTENSION_PKG_KEY]) { const { path } = packageFile[EXTENSION_PKG_KEY]; if (path) { const message = `Path ${path} found in ${EXTENSION_PKG_KEY}`; spinner.text = message; reports.push({ level: 'info', message: `${checkBuiltCode.name}: ${message}`, }); codePath = path; } } } if (typeof codePath === 'string') { codePath = { app: codePath }; } Object.keys(codePath).forEach(async (key) => { if (!(await fse.pathExists(path.resolve(codePath[key])))) { spinner.fail(); const message = `No ${codePath[key]} directory`; reports.push({ level: 'error', message: `${checkBuiltCode.name}: ${message}`, }); throw new Error(message); } }); const message = 'Valid built code directory'; reports.push({ level: 'info', message: `${checkBuiltCode.name}: ${message}`, }); return (spinner.text = message); }, }; export default checkBuiltCode;