UNPKG

@mypaas/hcm-cli

Version:

Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭建一套功能完备的 Vue 组件库。

82 lines (81 loc) 4.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.STYLE_DIR = exports.SRC_DIR = exports.getVantConfig = exports.getPackageJson = exports.STYLE_EXTS = exports.SCRIPT_EXTS = exports.JEST_STYLE_MOCK_FILE = exports.JEST_FILE_MOCK_FILE = exports.JEST_TRANSFORM_FILE = exports.JEST_CONFIG_FILE = exports.JEST_SETUP_FILE = exports.POSTCSS_CONFIG_FILE = exports.BABEL_CONFIG_FILE = exports.STYPE_DEPS_JSON_FILE = exports.SITE_DESKTOP_SHARED_FILE = exports.SITE_MODILE_SHARED_FILE = exports.PACKAGE_STYLE_FILE = exports.TEST_PACKAGE_ENTRY_FILE = exports.PACKAGE_ENTRY_FILE = exports.CONFIG_DIR = exports.DIST_DIR = exports.CACHE_DIR = exports.ROOT_POSTCSS_CONFIG_FILE = exports.ROOT_WEBPACK_CONFIG_FILE = exports.PACKAGE_JSON_FILE = exports.VANT_CONFIG_FILE = exports.SITE_DIST_DIR = exports.VETUR_DIR = exports.DOCS_DIR = exports.MODULE_DIR = exports.SYSTEM_DIR = exports.LIB_DIR = exports.ES_DIR = exports.ROOT = exports.CWD = exports.GREEN = void 0; const lodash_1 = require("lodash"); const fs_extra_1 = require("fs-extra"); const path_1 = require("path"); function findRootDir(dir) { if (fs_extra_1.existsSync(path_1.join(dir, 'vant.config.js'))) { return dir; } const parentDir = path_1.dirname(dir); if (dir === parentDir) { return dir; } return findRootDir(parentDir); } // Colors exports.GREEN = '#07c160'; // Root paths exports.CWD = process.cwd(); exports.ROOT = findRootDir(exports.CWD); exports.ES_DIR = path_1.join(exports.ROOT, 'es'); exports.LIB_DIR = path_1.join(exports.ROOT, 'lib'); exports.SYSTEM_DIR = path_1.join(exports.ROOT, 'system'); exports.MODULE_DIR = path_1.join(exports.ROOT, 'amd'); exports.DOCS_DIR = path_1.join(exports.ROOT, 'docs'); exports.VETUR_DIR = path_1.join(exports.ROOT, 'vetur'); exports.SITE_DIST_DIR = path_1.join(exports.ROOT, 'site'); exports.VANT_CONFIG_FILE = path_1.join(exports.ROOT, 'vant.config.js'); exports.PACKAGE_JSON_FILE = path_1.join(exports.ROOT, 'package.json'); exports.ROOT_WEBPACK_CONFIG_FILE = path_1.join(exports.ROOT, 'webpack.config.js'); exports.ROOT_POSTCSS_CONFIG_FILE = path_1.join(exports.ROOT, 'postcss.config.js'); exports.CACHE_DIR = path_1.join(exports.ROOT, 'node_modules/.cache'); // Relative paths exports.DIST_DIR = path_1.join(__dirname, '../../dist'); exports.CONFIG_DIR = path_1.join(__dirname, '../config'); // Dist files exports.PACKAGE_ENTRY_FILE = path_1.join(exports.DIST_DIR, 'package-entry.js'); exports.TEST_PACKAGE_ENTRY_FILE = path_1.join(exports.DIST_DIR, 'jest-package-entry.js'); exports.PACKAGE_STYLE_FILE = path_1.join(exports.DIST_DIR, 'package-style.css'); exports.SITE_MODILE_SHARED_FILE = path_1.join(exports.DIST_DIR, 'site-mobile-shared.js'); exports.SITE_DESKTOP_SHARED_FILE = path_1.join(exports.DIST_DIR, 'site-desktop-shared.js'); exports.STYPE_DEPS_JSON_FILE = path_1.join(exports.DIST_DIR, 'style-deps.json'); // Config files exports.BABEL_CONFIG_FILE = path_1.join(exports.CONFIG_DIR, 'babel.config.js'); exports.POSTCSS_CONFIG_FILE = path_1.join(exports.CONFIG_DIR, 'postcss.config.js'); exports.JEST_SETUP_FILE = path_1.join(exports.CONFIG_DIR, 'jest.setup.js'); exports.JEST_CONFIG_FILE = path_1.join(exports.CONFIG_DIR, 'jest.config.js'); exports.JEST_TRANSFORM_FILE = path_1.join(exports.CONFIG_DIR, 'jest.transform.js'); exports.JEST_FILE_MOCK_FILE = path_1.join(exports.CONFIG_DIR, 'jest.file-mock.js'); exports.JEST_STYLE_MOCK_FILE = path_1.join(exports.CONFIG_DIR, 'jest.style-mock.js'); exports.SCRIPT_EXTS = ['.js', '.jsx', '.vue', '.ts', '.tsx']; exports.STYLE_EXTS = ['.css', '.less', '.scss']; function getPackageJson() { delete require.cache[exports.PACKAGE_JSON_FILE]; return require(exports.PACKAGE_JSON_FILE); } exports.getPackageJson = getPackageJson; function getVantConfig() { delete require.cache[exports.VANT_CONFIG_FILE]; try { return require(exports.VANT_CONFIG_FILE); } catch (err) { return {}; } } exports.getVantConfig = getVantConfig; function getSrcDir() { const vantConfig = getVantConfig(); const srcDir = lodash_1.get(vantConfig, 'build.srcDir'); if (srcDir) { if (path_1.isAbsolute(srcDir)) { return srcDir; } return path_1.join(exports.ROOT, srcDir); } return path_1.join(exports.ROOT, 'src'); } exports.SRC_DIR = getSrcDir(); exports.STYLE_DIR = path_1.join(exports.SRC_DIR, 'style');