@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
58 lines (55 loc) • 2.82 kB
JavaScript
;var _typeof = require("@babel/runtime-corejs2/helpers/typeof");var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");_Object$defineProperty(exports, "__esModule", { value: true });exports["default"] = prettierCode;var paths = _interopRequireWildcard(require("../lib/paths"));function _getRequireWildcardCache(e) {if ("function" != typeof _WeakMap) return null;var r = new _WeakMap(),t = new _WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = _Object$defineProperty && _Object$getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u];}return n["default"] = e, t && t.set(e, n), n;}
var prettier = require('prettier');
var fs = require('fs');
var path = require('path');
function prettierCode() {
var files = [];
_traverseDirSync(paths.SRC, files, {
include: /(wxapi-adapter\.js)|(unity_plugin(?:_\d+\.\d+\.\d+)?\.js)|(webgl\.wasm\.framework\.unityweb\.js)/
});
for (var _i = 0, _files = files; _i < _files.length; _i++) {var file = _files[_i];
var content = fs.readFileSync(file, {
encoding: 'utf-8'
});
if (content) {
var options = {
semi: true,
singleQuote: true,
parser: 'babel'
};
var formattedCode = prettier.format(content, options);
fs.writeFileSync(file, formattedCode, 'utf8');
}
}
}
/**
* 遍历目录文件 同步方法
* @param dir
* @param files 收集的文件列表
*/
var _traverseDirSync = function traverseDirSync(dir, files, options) {
var st = fs.statSync(dir);
if (st && st.isFile()) {
files.push(dir);
return;
}
var list = fs.readdirSync(dir);
list.forEach(function (file) {
var isExclude = options && options.exclude && options.exclude.test(file);
if (!isExclude) {
file = path.join(dir, file);
var stat = fs.statSync(file);
if (stat && stat.isDirectory()) {
_traverseDirSync(file, files, options);
} else {
if (options && options.include) {
if (options.include.test(file)) {
files.push(file);
}
return;
}
files.push(file);
}
}
});
};