Skip to content

Commit

Permalink
fix: 修复些bug和完善日志输出
Browse files Browse the repository at this point in the history
affects: @ailhc/excel2all

1. 修复ts声明生成bug
2. 完善日志输出
3. 完善测试
  • Loading branch information
AILHC authored and cobra committed May 10, 2021
1 parent f19c529 commit a313c9b
Show file tree
Hide file tree
Showing 25 changed files with 253 additions and 399 deletions.
2 changes: 1 addition & 1 deletion tool-packages/excel2all/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
`excell2all`
`excel2all`

excel配置表转换工具

Expand Down
76 changes: 76 additions & 0 deletions tool-packages/excel2all/__test__/test-export/dts/tableMap.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
interface ITBase<T> { [key:string]:T}
interface IT_TableMap {
readonly TableTypeSetting?: ITBase<IT_TableTypeSetting>;
readonly ObjTypeSetting?: IT_ObjTypeSetting;
readonly MergeTableSetting?: ITBase<IT_MergeTableSetting>;
}
interface IT_TableTypeSetting {
/** 主键 */
readonly id?: number;
/** 数字 */
readonly field_int?: number;
/** 数字数组 */
readonly field_int_array?: number[];
/** 字符串 */
readonly field_string?: string;
/** 字符串数组 */
readonly field_string_array?: string[];
/** JSON */
readonly field_json?: any;
readonly obj?: {
/** 多列对象:数字字段 */
readonly obj_field_int?: number;
/** 字符串字段 */
readonly obj_field_string?: string;
/** 数字数组字段 */
readonly obj_field_int_array?: number[];
/** 字符串数组字段 */
readonly obj_field_string_array?: string[];
/** json字段 */
readonly obj_field_json?: any;
}
}
interface IT_ObjTypeSetting {
/** 数字 */
readonly Prop1?: number;
/** 数字数组 */
readonly Prop2?: number[];
/** 字符串 */
readonly Prop3?: string;
/** 字符串数组 */
readonly Prop4?: string[];
/** json对象 */
readonly Prop5?: any;
readonly MyObject?: {
/** 嵌套对象测试:主键id */
readonly id?: number;
/** 名字 */
readonly name?: string;
}
}
interface IT_MergeTableSetting {
/** 主键 */
readonly id?: number;
/** 数字 */
readonly field_int?: number;
/** 数字数组 */
readonly field_int_array?: number[];
/** 字符串 */
readonly field_string?: string;
/** 字符串数组 */
readonly field_string_array?: string[];
/** JSON */
readonly field_json?: any;
readonly obj?: {
/** 多列对象:数字字段 */
readonly obj_field_int?: number;
/** 字符串字段 */
readonly obj_field_string?: string;
/** 数字数组字段 */
readonly obj_field_int_array?: number[];
/** 字符串数组字段 */
readonly obj_field_string_array?: string[];
/** json字段 */
readonly obj_field_json?: any;
}
}
40 changes: 31 additions & 9 deletions tool-packages/excel2all/__test__/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,55 @@ const excel2all = require("@ailhc/excel2all")
// import * as mm from "micromatch";
// console.log(mm.any("foo.js",["*.js","!foo.js"]));
// console.log(mm.)
const tableFileDir = path.join(process.cwd(), "test-excel-files");
const tableFileDir = path.join(process.cwd(), "__test__/test-excel-files");
/**
* @type {ITableConvertConfig}
*/
const convertConfig = {
projRoot: "./__test__",
tableFileDir: tableFileDir,
useCache: false,
useMultiThread: false,
threadParseFileMaxNum: 2, //多线程比单线程快一点
cacheFileDirPath: "./test-export/.cache",
// cacheFileDirPath: "./__test__/test-export/.cache",
// customParseHandlerPath: path.join(process.cwd(), "./__test__/testCustomParseHandler.js")
customOutPutTransformerPath: path.join(process.cwd(), "./__test__/testCustomTransformer.js")
};
/**
* @type {IOutputConfig}
*/
const outputConfig = {
clientBundleJsonOutPath: path.join(process.cwd(), "test-export/tbundle.json"),
clientDtsOutDir: path.join(process.cwd(), "test-export/dts"),
clientSingleTableJsonDir: path.join(process.cwd(), "test-export/jsons"),
/**单个配置表json输出目录路径 */
clientSingleTableJsonDir: path.join(process.cwd(), "__test__/test-export/jsons"),
/**合并配置表json文件路径(包含文件名,比如 ./out/bundle.json) */
clientBundleJsonOutPath: path.join(process.cwd(), "__test__/test-export/tbundle.json"),
/**是否生成声明文件,默认不输出 */
isGenDts: true,
/**声明文件输出目录(每个配置表一个声明),默认不输出 */
clientDtsOutDir: path.join(process.cwd(), "__test__/test-export/dts"),

/**是否格式化合并后的json,默认不 */
// isFormatBundleJson: false,
/**是否合并所有声明为一个文件,默认true */
isBundleDts: true,
// bundleDtsFileName:"myTableDTS",
/**是否将json格式压缩,默认否,减少json字段名字符,效果较小 */
isCompress: false,
bundleJsonIsEncode2Base64: false,
preBase64UglyString: "jsjf323fasdffasd00fsdajfkdfaiower+dfjas+=fsakfadfafadfasdfsdafd=fj",
sufBase64UglyString: "jfdjaf12jfd34jdfa8383+/*fdsaf12389*&^$#$#)(__+_)dfasfjlsdfalfafdfadf"
// isZip: true
/**是否Zip压缩,使用zlib */
// isZip: false
};
convertConfig.outputConfig = outputConfig;

excel2all.convert(convertConfig);
//特殊测试案例

//1. 使用缓存
//2. 不使用缓存
//3. 使用多线程
//4. 不使用多线程
//5. 自定义解析
//6. 自定义转换
//7. 指定缓存目录
//8. 指定日志目录
//9. 输出与不输出声明文件
//10. 自定义bundle声明文件名
52 changes: 34 additions & 18 deletions tool-packages/excel2all/dist/cjs/lib/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion tool-packages/excel2all/dist/cjs/lib/index.js.map

Large diffs are not rendered by default.

Loading

0 comments on commit a313c9b

Please sign in to comment.