感谢您支持fast-crud,请按如下规范提交issue
如果有条件,请尽量在github上提交
一、问题描述
采用fast-crud的项目如果采用vue-tsc进行语法检查,会诱发下面的错误:
node_modules/@fast-crud/fast-crud/src/use/use-compute.ts:6:30 - error TS2345: Argument of type 'typeof import("/Users/aston/vue/soybean-fast/node_modules/@types/lodash-es/index")' is not assignable to parameter of type 'Object'.
Types of property 'toString' are incompatible.
Type '(value: any) => string' is not assignable to type '() => string'.
6 const eachDeep = getEachDeep(_);
~
node_modules/@fast-crud/fast-crud/src/use/use-compute.ts:95:41 - error TS2339: Property 'computeFn' does not exist on type 'never'.
95 _.set(targetValue, key, value.computeFn(context));
~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-crud.ts:13:16 - error TS6133: 'cloneDeep' is declared but its value is never read.
13 const { merge, cloneDeep } = useMerge();
~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:1:17 - error TS6133: 'nextTick' is declared but its value is never read.
1 import { toRaw, nextTick } from "vue";
~~~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:175:23 - error TS2339: Property 'valueBuilder' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'valueBuilder' does not exist on type 'Function'.
175 return column.valueBuilder != null;
~~~~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:182:19 - error TS2339: Property 'valueBuilder' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'valueBuilder' does not exist on type 'Function'.
182 builder.valueBuilder({
~~~~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:183:32 - error TS2339: Property 'key' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'key' does not exist on type 'Function'.
183 value: row[builder.key],
~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:186:26 - error TS2339: Property 'key' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'key' does not exist on type 'Function'.
186 key: builder.key,
~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:187:29 - error TS2339: Property 'column' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'column' does not exist on type 'Function'.
187 column: builder.column
~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:199:20 - error TS2339: Property 'valueResolve' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'valueResolve' does not exist on type 'Function'.
199 if (column.valueResolve) {
~~~~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/use/use-expose.ts:200:18 - error TS2339: Property 'valueResolve' does not exist on type 'Function | (() => string) | (() => string) | (() => Object) | ((v: PropertyKey) => boolean) | ((v: Object) => boolean) | ((v: PropertyKey) => boolean)'.
Property 'valueResolve' does not exist on type 'Function'.
200 column.valueResolve({
~~~~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/utils/util.vite.ts:41:29 - error TS2339: Property 'default' does not exist on type 'never'.
41 app.component(key, item.default);
~~~~~~~
node_modules/@fast-crud/fast-crud/src/utils/util.vite.ts:52:9 - error TS2532: Object is possibly 'undefined'.
52 if (result?.length <= 1) {
~~~~~~~~~~~~~~
node_modules/@fast-crud/fast-crud/src/utils/util.vite.ts:56:16 - error TS2531: Object is possibly 'null'.
56 let name = result[1];
~~~~~~
node_modules/@fast-crud/fast-crud/src/utils/util.vite.ts:83:21 - error TS2339: Property 'default' does not exist on type 'never'.
83 map[key] = item.default;
~~~~~~~
错误检查无法从tsconfig文件中通过排除node_modules的方式排除。
使用版本:1.2.3
不过我往回检查了几个版本,似乎问题都存在。
vue-tsc目前是常用的类型检查工具。