UNPKG

@mega-apps/cli

Version:

Mom builder for all mega modules apps. The recommended basic operation dependency package is attached, and users can check and repair defects in actual applications.

52 lines (41 loc) 1.31 kB
#!/usr/bin/env node /** * 根据文件进行区分,启动不同的runner * nuxt.config.js 表示是Nuxt项目 * vue.config.js 表示是VueCLI创建的项目 */ const fs = require("fs"); const { join } = require("path"); const logger = require("./logger"); const { toolPrefixName, injectVueLoader, applyVuePatch, checkProjectConfigAndSomeFiles, } = require("./utils"); logger.info(`${toolPrefixName} Starting ...`); const workdir = process.cwd(); const fnExistFile = (fileName) => fs.existsSync(join(workdir, fileName)); const foundNuxtConfigFile = ["nuxt.config.js", "nuxt.config.ts"].some( fnExistFile ); const foundVueConfigFile = ["vue.config.js", "vue.config.ts"].some(fnExistFile); // 注入Module.prototype.require require("./inject-module-require.js"); // 注入VueLoader的处理逻辑 injectVueLoader(); // 给Vue打补丁 applyVuePatch(); // 检查工程配置及文件 checkProjectConfigAndSomeFiles(workdir, toolPrefixName); // 启动 if (foundNuxtConfigFile) { logger.info(`${toolPrefixName} Starting nuxt.runner ...`); require("./nuxt.runner"); } else if (foundVueConfigFile) { logger.info(`${toolPrefixName} Starting vuecli.runner ...`); require("./vuecli.runner"); } else { logger.info(`${toolPrefixName} Starting nuxt.runner ...`); require("./nuxt.runner"); }