feat(cli): find root dir

This commit is contained in:
陈嘉涵
2019-12-12 17:19:31 +08:00
parent 71415e467d
commit c86d3d166f
5 changed files with 35 additions and 21 deletions
+25 -11
View File
@@ -1,14 +1,28 @@
import { get } from 'lodash';
import { join, isAbsolute } from 'path';
import { existsSync } from 'fs-extra';
import { join, dirname, isAbsolute } from 'path';
function findRootDir(dir: string): string {
if (dir === '/') {
return '/';
}
if (existsSync(join(dir, 'vant.config.js'))) {
return dir;
}
return findRootDir(dirname(dir));
}
export const CWD = process.cwd();
export const ES_DIR = join(CWD, 'es');
export const LIB_DIR = join(CWD, 'lib');
export const DOCS_DIR = join(CWD, 'docs');
export const SITE_DIST_DIR = join(CWD, 'site');
export const VANT_CONFIG_FILE = join(CWD, 'vant.config.js');
export const PACKAGE_JSON_FILE = join(CWD, 'package.json');
export const WEBPACK_CONFIG_FILE = join(CWD, 'webpack.config.js');
export const ROOT = findRootDir(CWD);
export const ES_DIR = join(ROOT, 'es');
export const LIB_DIR = join(ROOT, 'lib');
export const DOCS_DIR = join(ROOT, 'docs');
export const SITE_DIST_DIR = join(ROOT, 'site');
export const VANT_CONFIG_FILE = join(ROOT, 'vant.config.js');
export const PACKAGE_JSON_FILE = join(ROOT, 'package.json');
export const WEBPACK_CONFIG_FILE = join(ROOT, 'webpack.config.js');
export const DIST_DIR = join(__dirname, '../../dist');
export const CONFIG_DIR = join(__dirname, '../config');
@@ -19,10 +33,10 @@ export const SITE_MODILE_SHARED_FILE = join(DIST_DIR, 'site-mobile-shared.js');
export const SITE_DESKTOP_SHARED_FILE = join(DIST_DIR, 'site-desktop-shared.js');
export const STYPE_DEPS_JSON_FILE = join(DIST_DIR, 'style-deps.json');
export const JEST_CONFIG_FILE = join(CONFIG_DIR, 'jest.config.js');
export const BABEL_CONFIG_FILE = join(CONFIG_DIR, 'babel.config.js');
export const POSTCSS_CONFIG_FILE = join(CONFIG_DIR, 'postcss.config.js');
export const JEST_INIT_FILE = join(CONFIG_DIR, 'jest.init.js');
export const JEST_CONFIG_FILE = join(CONFIG_DIR, 'jest.config.js');
export const JEST_TRANSFORM_FILE = join(CONFIG_DIR, 'jest.transform.js');
export const JEST_FILE_MOCK_FILE = join(CONFIG_DIR, 'jest.file-mock.js');
export const JEST_STYLE_MOCK_FILE = join(CONFIG_DIR, 'jest.style-mock.js');
@@ -47,10 +61,10 @@ function getSrcDir() {
return srcDir;
}
return join(CWD, srcDir);
return join(ROOT, srcDir);
}
return join(CWD, 'src');
return join(ROOT, 'src');
}
export const SRC_DIR = getSrcDir();