@cgzair/cgz-fabric 1.1.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +41 -1
- package/lib/config/_commitlintrc.js.ejs +1 -1
- package/lib/config/_eslintrc.js.ejs +1 -1
- package/lib/config/_markdownlint.json.ejs +1 -1
- package/lib/config/_prettierrc.js.ejs +1 -1
- package/lib/config/_stylelintrc.js.ejs +1 -1
- package/lib/constants/index.js +65 -1
- package/lib/index.js +20 -1
- package/lib/scripts/install.js +146 -1
- package/lib/utils/extension.js +26 -1
- package/lib/utils/generate-template.js +60 -1
- package/package.json +4 -4
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,42 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const commander_1 = require("commander");
|
|
18
|
+
const cgz_core_1 = require("@cgzair/cgz-core");
|
|
19
|
+
const install_1 = __importDefault(require("./scripts/install"));
|
|
20
|
+
const extension_1 = __importDefault(require("./utils/extension"));
|
|
21
|
+
const cwd = process.cwd();
|
|
22
|
+
const currentPkg = (0, cgz_core_1.getCurrentPkg)(path_1.default.resolve(__dirname, "../"));
|
|
23
|
+
commander_1.program
|
|
24
|
+
.version(currentPkg.version, "-v")
|
|
25
|
+
.description(`${currentPkg.name} 是《信息技术部前端编码手册》的配套 CLI 工具,一键接入符合前端研发部门的编码规范,提高项目研发效率。`);
|
|
26
|
+
commander_1.program
|
|
27
|
+
.command("install")
|
|
28
|
+
.alias("i")
|
|
29
|
+
.description("交互式生成适用于当前项目的编码规范")
|
|
30
|
+
.option("--vsc", "写入 .vscode 推荐配置")
|
|
31
|
+
.option("--ext", "安装 vscode 推荐扩展")
|
|
32
|
+
.action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
if (cmd.ext) {
|
|
34
|
+
(0, extension_1.default)();
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
yield (0, install_1.default)({
|
|
38
|
+
cwd,
|
|
39
|
+
}, cmd.vsc);
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
commander_1.program.parse(process.argv);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
extends: ["<%= eslint === 'javascript' ? 'eslint-config-cgz' :
|
|
2
|
+
extends: ["<%= eslint === 'javascript' ? '@cgzair/eslint-config-cgz' : `@cgzair/eslint-config-cgz/${eslint}` %>"<%_ if (prettier) { _%>, "prettier"<%_ } _%>],
|
|
3
3
|
};
|
package/lib/constants/index.js
CHANGED
|
@@ -1 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MARKDOWN_LINT_IGNORE_PATTERN = exports.STYLELINT_IGNORE_PATTERN = exports.STYLELINT_FILE_EXT = exports.PROJECT_CATEGORYS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 可支持的项目分类
|
|
6
|
+
*/
|
|
7
|
+
exports.PROJECT_CATEGORYS = [
|
|
8
|
+
{
|
|
9
|
+
name: "非 React、Vue、Node.js 的项目(JavaScript)",
|
|
10
|
+
value: "javascript",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: "非 React、Vue、Node.js 的项目(TypeScript)",
|
|
14
|
+
value: "typescript",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "React 项目(JavaScript)",
|
|
18
|
+
value: "react",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "React 项目(TypeScript)",
|
|
22
|
+
value: "typescript/react",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: "Vue 项目(JavaScript)",
|
|
26
|
+
value: "vue",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "Vue 项目(TypeScript)",
|
|
30
|
+
value: "typescript/vue",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: "Node.js 项目(JavaScript)",
|
|
34
|
+
value: "node",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: "Node.js 项目(TypeScript)",
|
|
38
|
+
value: "typescript/node",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: "使用 ES5 及之前版本 JavaScript 的老项目",
|
|
42
|
+
value: "es5",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "uni-app 项目(JavaScript)",
|
|
46
|
+
value: "uni-app",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "uni-app 项目(TypeScript)",
|
|
50
|
+
value: "typescript/uni-app",
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
/**
|
|
54
|
+
* stylelint 支持文件扩展名,
|
|
55
|
+
* 暂不支持小程序
|
|
56
|
+
*/
|
|
57
|
+
exports.STYLELINT_FILE_EXT = [".css", ".scss", ".less"];
|
|
58
|
+
/**
|
|
59
|
+
* stylelint 扫描忽略的文件或文件目录
|
|
60
|
+
*/
|
|
61
|
+
exports.STYLELINT_IGNORE_PATTERN = ["build", "statics", "dist"];
|
|
62
|
+
/**
|
|
63
|
+
* markdownLint 扫描忽略的文件或文件目录
|
|
64
|
+
*/
|
|
65
|
+
exports.MARKDOWN_LINT_IGNORE_PATTERN = ["node_modules/", "build", "dist", "statics"];
|
package/lib/index.js
CHANGED
|
@@ -1 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.init = void 0;
|
|
16
|
+
const install_1 = __importDefault(require("./scripts/install"));
|
|
17
|
+
const init = (options, vscode) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
return yield (0, install_1.default)(options, vscode);
|
|
19
|
+
});
|
|
20
|
+
exports.init = init;
|
package/lib/scripts/install.js
CHANGED
|
@@ -1 +1,146 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const execa_1 = __importDefault(require("execa"));
|
|
17
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
18
|
+
const cgz_core_1 = require("@cgzair/cgz-core");
|
|
19
|
+
const extension_1 = __importDefault(require("../utils/extension"));
|
|
20
|
+
const generate_template_1 = __importDefault(require("../utils/generate-template"));
|
|
21
|
+
const constants_1 = require("../constants");
|
|
22
|
+
let step = 0;
|
|
23
|
+
/**
|
|
24
|
+
* 选择项目类型
|
|
25
|
+
* @returns {Promise<string>}
|
|
26
|
+
*/
|
|
27
|
+
const handleEslint = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const { type } = yield inquirer_1.default.prompt({
|
|
29
|
+
type: "list",
|
|
30
|
+
name: "type",
|
|
31
|
+
message: `第 ${++step} 步,请选择项目类型:`,
|
|
32
|
+
choices: constants_1.PROJECT_CATEGORYS,
|
|
33
|
+
});
|
|
34
|
+
return type;
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* 选择是否启用 stylelint
|
|
38
|
+
* @param {boolean} defaultValue
|
|
39
|
+
* @returns {Promise<boolean>}
|
|
40
|
+
*/
|
|
41
|
+
const handleStylelint = (defaultValue) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
const { enable } = yield inquirer_1.default.prompt({
|
|
43
|
+
type: "confirm",
|
|
44
|
+
name: "enable",
|
|
45
|
+
message: `第 ${++step} 步,是否启用 stylelint(若没有样式文件则不需要):`,
|
|
46
|
+
default: defaultValue,
|
|
47
|
+
});
|
|
48
|
+
return enable;
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* 选择是否启用 markdownlint
|
|
52
|
+
* @returns {Promise<boolean>}
|
|
53
|
+
*/
|
|
54
|
+
const handleMarkdownLint = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
const { enable } = yield inquirer_1.default.prompt({
|
|
56
|
+
type: "confirm",
|
|
57
|
+
name: "enable",
|
|
58
|
+
message: `第 ${++step} 步,是否启用 markdownlint:`,
|
|
59
|
+
default: true,
|
|
60
|
+
});
|
|
61
|
+
return enable;
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* 选择是否启用 prettier
|
|
65
|
+
* @returns {Promise<boolean>}
|
|
66
|
+
*/
|
|
67
|
+
const handlePrettier = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
+
const { enable } = yield inquirer_1.default.prompt({
|
|
69
|
+
type: "confirm",
|
|
70
|
+
name: "enable",
|
|
71
|
+
message: `第 ${++step} 步,是否启用 Prettier 格式化代码(推荐始终开启):`,
|
|
72
|
+
default: true,
|
|
73
|
+
});
|
|
74
|
+
return enable;
|
|
75
|
+
});
|
|
76
|
+
exports.default = (options, vscode) => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
const cwd = options.cwd || process.cwd();
|
|
78
|
+
const config = {};
|
|
79
|
+
process.chdir(cwd);
|
|
80
|
+
// 项目类型,据此生成 eslint 相关配置
|
|
81
|
+
if (options.eslint && constants_1.PROJECT_CATEGORYS.some((item) => item.value === options.eslint)) {
|
|
82
|
+
config.eslint = options.eslint;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
config.eslint = yield handleEslint();
|
|
86
|
+
}
|
|
87
|
+
// 是否启用 stylelint
|
|
88
|
+
if (typeof options.stylelint === "boolean") {
|
|
89
|
+
config.stylelint = options.stylelint;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
config.stylelint = yield handleStylelint(!/node/.test(config.eslint));
|
|
93
|
+
}
|
|
94
|
+
// 是否启用 markdownlint
|
|
95
|
+
if (typeof options.markdownlint === "boolean") {
|
|
96
|
+
config.markdownlint = options.markdownlint;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
config.markdownlint = yield handleMarkdownLint();
|
|
100
|
+
}
|
|
101
|
+
// 是否启用 prettier
|
|
102
|
+
if (typeof options.prettier === "boolean") {
|
|
103
|
+
config.prettier = options.prettier;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
config.prettier = yield handlePrettier();
|
|
107
|
+
}
|
|
108
|
+
// 配置 commit 卡点
|
|
109
|
+
cgz_core_1.log.info(`第 ${++step} 步,配置 git commit 卡点`);
|
|
110
|
+
try {
|
|
111
|
+
execa_1.default.sync(`npx`, [`husky`, `install`], {
|
|
112
|
+
cwd,
|
|
113
|
+
});
|
|
114
|
+
execa_1.default.sync(`npx`, [`husky`, `set`, `.husky/commit-msg`, `npx --no-install commitlint --edit "$1"`], {
|
|
115
|
+
cwd,
|
|
116
|
+
});
|
|
117
|
+
execa_1.default.sync(`npx`, [`husky`, `set`, `.husky/pre-commit`, `npx --no-install lint-staged`], {
|
|
118
|
+
cwd,
|
|
119
|
+
});
|
|
120
|
+
(0, cgz_core_1.setScripts)("commit", "git-cz", cwd);
|
|
121
|
+
(0, cgz_core_1.setScripts)("postinstall", "husky install", cwd);
|
|
122
|
+
(0, cgz_core_1.setConfig)("config", {
|
|
123
|
+
commitizen: {
|
|
124
|
+
path: "@commitlint/cz-commitlint",
|
|
125
|
+
},
|
|
126
|
+
}, cwd);
|
|
127
|
+
(0, cgz_core_1.setConfig)("lint-staged", {
|
|
128
|
+
"*.{js,jsx,tsx,ts,vue}": "eslint --cache --fix",
|
|
129
|
+
"*.{scss,less,css}": "stylelint --fix --allow-empty-input",
|
|
130
|
+
"*.md": "markdownlint --fix",
|
|
131
|
+
"*.{js,jsx,tsx,ts,vue,scss,less,css,json,html}": "prettier --write",
|
|
132
|
+
}, cwd);
|
|
133
|
+
cgz_core_1.log.success(`配置 git commit 卡点成功`);
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
cgz_core_1.log.error(error);
|
|
137
|
+
cgz_core_1.log.error(`配置 git commit 卡点失败`);
|
|
138
|
+
}
|
|
139
|
+
cgz_core_1.log.info(`第 ${++step} 步,写入编码规范配置文件`);
|
|
140
|
+
(0, generate_template_1.default)(cwd, config, vscode);
|
|
141
|
+
cgz_core_1.log.success(`写入编码规范配置文件成功`);
|
|
142
|
+
cgz_core_1.log.info(`第 ${++step} 步,安装vscode 扩展`);
|
|
143
|
+
(0, extension_1.default)(cwd);
|
|
144
|
+
// 完成信息。
|
|
145
|
+
cgz_core_1.log.result("初始化完成", path_1.default.resolve(__dirname, "../../"), true);
|
|
146
|
+
});
|
package/lib/utils/extension.js
CHANGED
|
@@ -1 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const cgz_core_1 = require("@cgzair/cgz-core");
|
|
10
|
+
exports.default = (cwd = path_1.default.resolve(__dirname, "../../../")) => {
|
|
11
|
+
try {
|
|
12
|
+
(0, child_process_1.execSync)(`code -v`);
|
|
13
|
+
}
|
|
14
|
+
catch (_a) {
|
|
15
|
+
return cgz_core_1.log.info(`当前系统暂未安装 vscode,扩展安装已跳过,更多请参考:https://code.visualstudio.com/`);
|
|
16
|
+
}
|
|
17
|
+
const extensions = JSON.parse(fs_1.default.readFileSync(path_1.default.resolve(__dirname, "../config/_vscode/extensions.json.ejs"), "utf-8"));
|
|
18
|
+
extensions.recommendations.forEach((item) => {
|
|
19
|
+
cgz_core_1.log.info(`安装 ${item} ...`);
|
|
20
|
+
(0, child_process_1.execSync)(`code --install-extension ${item}`);
|
|
21
|
+
cgz_core_1.log.info(`${item} 安装成功`);
|
|
22
|
+
});
|
|
23
|
+
(0, cgz_core_1.setScripts)("extension", "fabric i --ext", cwd);
|
|
24
|
+
cgz_core_1.log.info(`写入 vscode 扩展 scripts 配置成功`);
|
|
25
|
+
cgz_core_1.log.success(`安装推荐 vscode 扩展成功`);
|
|
26
|
+
};
|
|
@@ -1 +1,60 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const path_1 = __importDefault(require("path"));
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const cgz_core_1 = require("@cgzair/cgz-core");
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const glob_1 = __importDefault(require("glob"));
|
|
11
|
+
const ejs_1 = __importDefault(require("ejs"));
|
|
12
|
+
const constants_1 = require("../constants");
|
|
13
|
+
/**
|
|
14
|
+
* 用户当前 vscode 配置合并
|
|
15
|
+
* @param {string} filepath
|
|
16
|
+
* @param {string} content
|
|
17
|
+
* @returns {string}
|
|
18
|
+
*/
|
|
19
|
+
const mergeVSCodeConfig = (filepath, content) => {
|
|
20
|
+
if (!(0, cgz_core_1.isAccessSync)(filepath))
|
|
21
|
+
return content;
|
|
22
|
+
try {
|
|
23
|
+
const targetData = JSON.parse(fs_1.default.readFileSync(filepath, "utf8"));
|
|
24
|
+
const sourceData = JSON.parse(content);
|
|
25
|
+
return JSON.stringify(lodash_1.default.mergeWith(targetData, sourceData, (target, source) => {
|
|
26
|
+
if (Array.isArray(target) && Array.isArray(source)) {
|
|
27
|
+
return lodash_1.default.union(source.concat(target));
|
|
28
|
+
}
|
|
29
|
+
}), null, 2);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
return "";
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* 配置文件生成
|
|
37
|
+
* @param {string} cwd
|
|
38
|
+
* @param {Record<string, any>} data
|
|
39
|
+
* @param {boolean} [vscode]
|
|
40
|
+
* @param {string} [templatePath=path.resolve(__dirname, "../config")]
|
|
41
|
+
*/
|
|
42
|
+
exports.default = (cwd, data, vscode, templatePath = path_1.default.resolve(__dirname, "../config")) => {
|
|
43
|
+
const templates = glob_1.default.sync(`${vscode ? "_vscode" : "**"}/*.ejs`, { cwd: templatePath });
|
|
44
|
+
// 用户暂无 .vscode 目录自动生成
|
|
45
|
+
if (!(0, cgz_core_1.isAccessSync)(path_1.default.resolve(cwd, ".vscode"))) {
|
|
46
|
+
fs_1.default.mkdirSync(path_1.default.resolve(cwd, ".vscode"));
|
|
47
|
+
}
|
|
48
|
+
for (const name of templates) {
|
|
49
|
+
const filepath = path_1.default.resolve(cwd, name.replace(/\.ejs$/, "").replace(/^_/, "."));
|
|
50
|
+
let content = ejs_1.default.render(fs_1.default.readFileSync(path_1.default.resolve(templatePath, name), "utf8"), Object.assign({ stylelintExt: constants_1.STYLELINT_FILE_EXT, stylelintIgnores: constants_1.STYLELINT_IGNORE_PATTERN, markdownLintIgnores: constants_1.MARKDOWN_LINT_IGNORE_PATTERN }, data));
|
|
51
|
+
// 合并 用户自定义 vscode 配置
|
|
52
|
+
if (/^_vscode/.test(name)) {
|
|
53
|
+
content = mergeVSCodeConfig(filepath, content);
|
|
54
|
+
}
|
|
55
|
+
// 跳过空内容文件
|
|
56
|
+
if (!content.trim())
|
|
57
|
+
continue;
|
|
58
|
+
fs_1.default.writeFileSync(filepath, content, "utf8");
|
|
59
|
+
}
|
|
60
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cgzair/cgz-fabric",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "A collection of configuration files containing prettier, eslint, stylelint, markdown",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@babel/preset-env": "^7.16.10",
|
|
32
32
|
"@babel/preset-react": "^7.16.7",
|
|
33
33
|
"@babel/preset-typescript": "^7.16.7",
|
|
34
|
-
"@cgzair/cgz-core": "^1.
|
|
34
|
+
"@cgzair/cgz-core": "^1.1.1",
|
|
35
35
|
"@cgzair/commitlint-config-cgz": "^1.1.0",
|
|
36
36
|
"@cgzair/eslint-config-cgz": "^1.1.0",
|
|
37
|
-
"@cgzair/markdownlint-config-cgz": "^1.
|
|
37
|
+
"@cgzair/markdownlint-config-cgz": "^1.4.0",
|
|
38
38
|
"@cgzair/prettier-config-cgz": "^1.1.0",
|
|
39
39
|
"@cgzair/stylelint-config-cgz": "^1.1.0",
|
|
40
40
|
"@typescript-eslint/eslint-plugin": "^5.13.0",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"node": ">=12.0.0"
|
|
76
76
|
},
|
|
77
77
|
"license": "MIT",
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "ded6ffbaa1fd7da5cca106fcf1addd7c6bf8b930"
|
|
79
79
|
}
|