almighty-tool 0.0.21 → 0.0.22

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/bun.lockb CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "almighty-tool",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "description": "Almighty Tool",
5
5
  "author": "happy",
6
6
  "private": false,
@@ -38,7 +38,6 @@
38
38
  "base64-js": "^1.5.1",
39
39
  "dayjs": "^1.11.7",
40
40
  "deepmerge": "^4.3.0",
41
- "esno": "^4.8.0",
42
41
  "inflection": "^3.0.0",
43
42
  "is-what": "^4.1.8",
44
43
  "lodash": "^4.17.21",
@@ -48,6 +47,7 @@
48
47
  "node-rsa": "^1.1.1",
49
48
  "qs": "^6.11.0",
50
49
  "tslib": "^2.4.0",
50
+ "tsx": "^4.19.2",
51
51
  "typescript": "^4.5.5",
52
52
  "uuid": "^9.0.0",
53
53
  "yargs": "^17.7.2",
@@ -0,0 +1,126 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import mustache from 'mustache';
4
+ import inflection from 'inflection';
5
+ import yargs from 'yargs';
6
+
7
+ /** 生成代码选项 */
8
+ export interface CodeUtilGenerateOptions {
9
+ /** 模板变量 */
10
+ data: any;
11
+ /** 模板文件路径 */
12
+ templatePath: string;
13
+ /** 目标文件路径 */
14
+ targetPath: string;
15
+ }
16
+
17
+ /** 获取生成数据选项 */
18
+ export interface CodeUtilGetGenerateDataOptions {
19
+ /** 模型名称 */
20
+ modelName: string;
21
+ /** 模块路径 */
22
+ modulePath: string;
23
+ }
24
+
25
+ export interface CodeUtilGetGenerateData {
26
+ /* 小驼峰 eg. authCollection */
27
+ FirstLowerModelName: string;
28
+ /* 小驼峰复数 eg. authCollections */
29
+ FirstLowerModelsName: string;
30
+ /* 模块路径 eg. service-forum/src/modules/auth */
31
+ ModulePath: string;
32
+ /* 大驼峰 eg. AuthCollection */
33
+ ModelName: string;
34
+ /* 大驼峰复数 eg. AuthCollections */
35
+ ModelsName: string;
36
+ /* 连字符 eg. auth-collection */
37
+ KebabCaseModelName: string;
38
+ /* 连字符复数 eg. auth-collections */
39
+ KebabCaseModelsName: string;
40
+ /* 下划线 eg. auth_collection */
41
+ UnderscoreModelName: string;
42
+ /* 下划线复数 eg. auth_collections */
43
+ UnderscoreModelsName: string;
44
+ /** 其他值 */
45
+ [key: string]: string;
46
+ }
47
+
48
+ const codeUtil = {
49
+ /**
50
+ * 通过模板生成代码
51
+ * @param options 生成选项
52
+ */
53
+ generate: (options: CodeUtilGenerateOptions) => {
54
+ const { data: variables, templatePath, targetPath } = options;
55
+
56
+ // 检查模板文件是否存在
57
+ if (!fs.existsSync(templatePath)) {
58
+ throw new Error(`Template file not found: ${templatePath}`);
59
+ }
60
+
61
+ // 确保目标目录存在
62
+ const targetDir = path.dirname(targetPath);
63
+ if (!fs.existsSync(targetDir)) {
64
+ fs.mkdirSync(targetDir, { recursive: true });
65
+ }
66
+
67
+ // 读取模板内容
68
+ const template = fs.readFileSync(templatePath, 'utf-8');
69
+
70
+ // 使用变量渲染模板
71
+ const result = mustache.render(template, variables);
72
+
73
+ // 写入目标文件
74
+ fs.writeFileSync(targetPath, result, 'utf-8');
75
+ },
76
+
77
+ /** 获取布尔值 */
78
+ getBooleanValue: (value: string | boolean) => {
79
+ return ['true', true].includes(value);
80
+ },
81
+
82
+ /**
83
+ * 获取生成数据
84
+ * @param options 获取生成数据选项
85
+ */
86
+ getGenerateData: (options: CodeUtilGetGenerateDataOptions) => {
87
+ if (!options.modelName) {
88
+ throw new Error('modelName is required');
89
+ }
90
+
91
+ if (!options.modulePath) {
92
+ throw new Error('modulePath is required');
93
+ }
94
+
95
+ const ModulePath = options.modulePath;
96
+ const ModelName = inflection.camelize(options.modelName);
97
+ const ModelsName = inflection.pluralize(ModelName);
98
+ const UnderscoreModelName = inflection.underscore(ModelName);
99
+ const UnderscoreModelsName = inflection.underscore(ModelsName);
100
+ const KebabCaseModelName = inflection.dasherize(UnderscoreModelName);
101
+ const KebabCaseModelsName = inflection.dasherize(UnderscoreModelsName);
102
+ const FirstLowerModelName = inflection.camelize(ModelName, true);
103
+ const FirstLowerModelsName = inflection.camelize(ModelsName, true);
104
+
105
+ const data: CodeUtilGetGenerateData = {
106
+ FirstLowerModelName,
107
+ FirstLowerModelsName,
108
+ ModulePath,
109
+ ModelName,
110
+ ModelsName,
111
+ KebabCaseModelName,
112
+ KebabCaseModelsName,
113
+ UnderscoreModelName,
114
+ UnderscoreModelsName,
115
+ };
116
+
117
+ return data;
118
+ },
119
+
120
+ /** 获取命令行参数 */
121
+ getArgv: () => {
122
+ return yargs(process.argv).argv as Record<string, any>;
123
+ },
124
+ };
125
+
126
+ export default codeUtil;
package/tsconfig.json CHANGED
@@ -4,6 +4,6 @@
4
4
  "outDir": "./lib",
5
5
  "baseUrl": ".",
6
6
  },
7
- "include": ["src", "tests/unit/scripts/code-generate.ts"],
7
+ "include": ["src"],
8
8
  "exclude": ["node_modules", "tests"]
9
9
  }
@@ -1,44 +0,0 @@
1
- /** 生成代码选项 */
2
- export interface CodeUtilGenerateOptions {
3
- /** 模板变量 */
4
- data: any;
5
- /** 模板文件路径 */
6
- templatePath: string;
7
- /** 目标文件路径 */
8
- targetPath: string;
9
- }
10
- /** 获取生成数据选项 */
11
- export interface CodeUtilGetGenerateDataOptions {
12
- /** 模型名称 */
13
- modelName: string;
14
- /** 模块路径 */
15
- modulePath: string;
16
- }
17
- export interface CodeUtilGetGenerateData {
18
- FirstLowerModelName: string;
19
- FirstLowerModelsName: string;
20
- ModulePath: string;
21
- ModelName: string;
22
- ModelsName: string;
23
- KebabCaseModelName: string;
24
- KebabCaseModelsName: string;
25
- UnderscoreModelName: string;
26
- UnderscoreModelsName: string;
27
- /** 其他值 */
28
- [key: string]: string;
29
- }
30
- declare const codeUtil: {
31
- /**
32
- * 通过模板生成代码
33
- * @param options 生成选项
34
- */
35
- generate: (options: CodeUtilGenerateOptions) => void;
36
- /** 获取布尔值 */
37
- getBooleanValue: (value: string | boolean) => boolean;
38
- /**
39
- * 获取生成数据
40
- * @param options 获取生成数据选项
41
- */
42
- getGenerateData: (options: CodeUtilGetGenerateDataOptions) => CodeUtilGetGenerateData;
43
- };
44
- export default codeUtil;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var fs_1 = (0, tslib_1.__importDefault)(require("fs"));
5
- var path_1 = (0, tslib_1.__importDefault)(require("path"));
6
- var mustache_1 = (0, tslib_1.__importDefault)(require("mustache"));
7
- var inflection_1 = (0, tslib_1.__importDefault)(require("inflection"));
8
- var codeUtil = {
9
- /**
10
- * 通过模板生成代码
11
- * @param options 生成选项
12
- */
13
- generate: function (options) {
14
- var variables = options.data, templatePath = options.templatePath, targetPath = options.targetPath;
15
- // 检查模板文件是否存在
16
- if (!fs_1.default.existsSync(templatePath)) {
17
- throw new Error("Template file not found: ".concat(templatePath));
18
- }
19
- // 确保目标目录存在
20
- var targetDir = path_1.default.dirname(targetPath);
21
- if (!fs_1.default.existsSync(targetDir)) {
22
- fs_1.default.mkdirSync(targetDir, { recursive: true });
23
- }
24
- // 读取模板内容
25
- var template = fs_1.default.readFileSync(templatePath, 'utf-8');
26
- // 使用变量渲染模板
27
- var result = mustache_1.default.render(template, variables);
28
- // 写入目标文件
29
- fs_1.default.writeFileSync(targetPath, result, 'utf-8');
30
- },
31
- /** 获取布尔值 */
32
- getBooleanValue: function (value) {
33
- return ['true', true].includes(value);
34
- },
35
- /**
36
- * 获取生成数据
37
- * @param options 获取生成数据选项
38
- */
39
- getGenerateData: function (options) {
40
- if (!options.modelName) {
41
- throw new Error('modelName is required');
42
- }
43
- if (!options.modulePath) {
44
- throw new Error('modulePath is required');
45
- }
46
- var ModulePath = options.modulePath;
47
- var ModelName = inflection_1.default.camelize(options.modelName);
48
- var ModelsName = inflection_1.default.pluralize(ModelName);
49
- var UnderscoreModelName = inflection_1.default.underscore(ModelName);
50
- var UnderscoreModelsName = inflection_1.default.underscore(ModelsName);
51
- var KebabCaseModelName = inflection_1.default.dasherize(UnderscoreModelName);
52
- var KebabCaseModelsName = inflection_1.default.dasherize(UnderscoreModelsName);
53
- var FirstLowerModelName = inflection_1.default.camelize(ModelName, true);
54
- var FirstLowerModelsName = inflection_1.default.camelize(ModelsName, true);
55
- var data = {
56
- FirstLowerModelName: FirstLowerModelName,
57
- FirstLowerModelsName: FirstLowerModelsName,
58
- ModulePath: ModulePath,
59
- ModelName: ModelName,
60
- ModelsName: ModelsName,
61
- KebabCaseModelName: KebabCaseModelName,
62
- KebabCaseModelsName: KebabCaseModelsName,
63
- UnderscoreModelName: UnderscoreModelName,
64
- UnderscoreModelsName: UnderscoreModelsName,
65
- };
66
- return data;
67
- },
68
- };
69
- exports.default = codeUtil;
70
- //# sourceMappingURL=code.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code.util.js","sourceRoot":"","sources":["../../src/utils/code.util.ts"],"names":[],"mappings":";;;AAAA,uDAAoB;AACpB,2DAAwB;AACxB,mEAAgC;AAChC,uEAAoC;AA2CpC,IAAM,QAAQ,GAAG;IACf;;;OAGG;IACH,QAAQ,EAAE,UAAC,OAAgC;QACjC,IAAM,SAAS,GAA+B,OAAO,KAAtC,EAAE,YAAY,GAAiB,OAAO,aAAxB,EAAE,UAAU,GAAK,OAAO,WAAZ,CAAa;QAE9D,aAAa;QACb,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,mCAA4B,YAAY,CAAE,CAAC,CAAC;SAC7D;QAED,WAAW;QACX,IAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC7B,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC9C;QAED,SAAS;QACT,IAAM,QAAQ,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,WAAW;QACX,IAAM,MAAM,GAAG,kBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEpD,SAAS;QACT,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,YAAY;IACZ,eAAe,EAAE,UAAC,KAAuB;QACvC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,eAAe,EAAE,UAAC,OAAuC;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAM,SAAS,GAAG,oBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzD,IAAM,UAAU,GAAG,oBAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnD,IAAM,mBAAmB,GAAG,oBAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAM,oBAAoB,GAAG,oBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAM,kBAAkB,GAAG,oBAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAM,mBAAmB,GAAG,oBAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAM,mBAAmB,GAAG,oBAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjE,IAAM,oBAAoB,GAAG,oBAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEnE,IAAM,IAAI,GAA4B;YACpC,mBAAmB,qBAAA;YACnB,oBAAoB,sBAAA;YACpB,UAAU,YAAA;YACV,SAAS,WAAA;YACT,UAAU,YAAA;YACV,kBAAkB,oBAAA;YAClB,mBAAmB,qBAAA;YACnB,mBAAmB,qBAAA;YACnB,oBAAoB,sBAAA;SACrB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,kBAAe,QAAQ,CAAC"}