@burnish/cli
Version:
a cli for creating vue / react / flutter projects
32 lines (31 loc) • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_extra_1 = __importDefault(require("fs-extra"));
const replace_1 = __importDefault(require("replace"));
const path_1 = __importDefault(require("path"));
const createFlutter_1 = require("./createFlutter");
// trave template and replace projectName
const targetFileDisplayReplace = (projectName, flutterVersion, filePath) => {
const files = fs_extra_1.default.readdirSync(filePath, 'utf-8');
files.forEach(function (filename) {
let filedir = path_1.default.join(filePath, filename);
if (fs_extra_1.default.statSync(filedir).isFile() && filedir.includes('.dart')) {
console.log(`generate ${filedir}`);
replace_1.default({
regex: flutterVersion === 'null-safety' ? createFlutter_1.COMMON_NULL_SAFETY : createFlutter_1.COMMON_WITHOUT_NULL_SAFETY,
replacement: projectName,
paths: [filedir],
recursive: true,
silent: true
});
}
else {
if (fs_extra_1.default.statSync(filedir).isDirectory())
targetFileDisplayReplace(projectName, flutterVersion, filedir); //递归,如果是文件夹,就继续遍历该文件夹下面的文件
}
});
};
exports.default = targetFileDisplayReplace;