Closed Michael-Xie closed 3 years ago
Expected Result
Actual Result
Steps to reproduce
// eslint-disable-next-line import/no-unresolved import { AzureFunction, Context, HttpRequest } from '@azure/functions'; import { SnowflakeDialect } from 'knex-snowflake-dialect';
const knex = require('knex')({ client: SnowflakeDialect as any, connection: process.env.SNOWFLAKE_CONNECTION_STRING, pool: { min: 1, max: 1, }, });
const httpTrigger: AzureFunction = async function ( context: Context, req: HttpRequest, ): Promise { try { if (!req.body) throw new Error('no request body');
const db = knex; console.log({ db }); const result = {}; context.res = { status: 200, body: result, }; } catch (err) { context.log.error(err); context.res = { status: 500, body: err, }; }
};
export default httpTrigger;
**Visual Proof (screenshots, videos, text)**
node_modules/knex/types/index.d.ts:1130:16 - error TS1110: Type expected.
1130 column1: ${TTable1}.${TKey1},
${TTable1}.${TKey1}
node_modules/knex/types/index.d.ts:1131:14 - error TS1005: ';' expected. 1131 column2: `${TTable2}.${TKey2}` ~ node_modules/knex/types/index.d.ts:1132:5 - error TS1128: Declaration or statement expected. 1132 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1132:6 - error TS1128: Declaration or statement expected. 1132 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1132:40 - error TS1005: '(' expected. 1132 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1134:33 - error TS1005: '?' expected. 1134 TTable1 extends TableNames, ~ node_modules/knex/types/index.d.ts:1135:15 - error TS1005: ';' expected. 1135 TTable2 extends TableNames,
node_modules/knex/types/index.d.ts:1136:13 - error TS1005: ';' expected.
1136 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,
node_modules/knex/types/index.d.ts:1136:66 - error TS1005: '(' expected. 1136 TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>, ~ node_modules/knex/types/index.d.ts:1136:84 - error TS1109: Expression expected. 1136 TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>, ~ node_modules/knex/types/index.d.ts:1137:13 - error TS1005: ',' expected. 1137 TKey2 extends StrKey<ResolveTableType<TableType<TTable2>>>,
node_modules/knex/types/index.d.ts:1137:65 - error TS1109: Expression expected.
1137 TKey2 extends StrKey<ResolveTableType<TableType>>, ~
node_modules/knex/types/index.d.ts:1138:43 - error TS1109: Expression expected.
1138 TRecord1 = ResolveTableType, ~
node_modules/knex/types/index.d.ts:1139:65 - error TS1109: Expression expected.
1139 TRecord2 = TRecord1 & ResolveTableType<TableType>, ~
node_modules/knex/types/index.d.ts:1141:5 - error TS1109: Expression expected.
1141 >( ~
node_modules/knex/types/index.d.ts:1142:16 - error TS1005: ')' expected.
1142 tableName: TTable2, ~
node_modules/knex/types/index.d.ts:1143:14 - error TS1005: ',' expected.
1143 column1: ${TTable2}.${TKey2}, ~
${TTable2}.${TKey2}
node_modules/knex/types/index.d.ts:1144:14 - error TS1005: ',' expected.
1144 column2: ${TTable1}.${TKey1} ~
node_modules/knex/types/index.d.ts:1145:6 - error TS1005: ';' expected.
1145 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1145:40 - error TS1005: '(' expected.
node_modules/knex/types/index.d.ts:1147:36 - error TS1005: '?' expected.
1147 TJoinTargetRecord extends {} = any, ~
node_modules/knex/types/index.d.ts:1148:16 - error TS1005: ';' expected.
1148 TRecord2 extends {} = TRecord & TJoinTargetRecord,
node_modules/knex/types/index.d.ts:1148:27 - error TS1128: Declaration or statement expected. 1148 TRecord2 extends {} = TRecord & TJoinTargetRecord, ~ node_modules/knex/types/index.d.ts:1150:5 - error TS1109: Expression expected. 1150 >( ~ node_modules/knex/types/index.d.ts:1151:16 - error TS1005: ')' expected. 1151 tableName: TableDescriptor | AliasDict | QueryCallback, ~ node_modules/knex/types/index.d.ts:1152:14 - error TS1005: ';' expected. 1152 column1: string, ~ node_modules/knex/types/index.d.ts:1153:14 - error TS1005: ';' expected. 1153 column2: string ~ node_modules/knex/types/index.d.ts:1154:5 - error TS1128: Declaration or statement expected. 1154 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1154:6 - error TS1128: Declaration or statement expected. 1154 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1154:40 - error TS1005: '(' expected. 1154 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1156:36 - error TS1005: '?' expected. 1156 TJoinTargetRecord extends {} = any, ~ node_modules/knex/types/index.d.ts:1157:16 - error TS1005: ';' expected. 1157 TRecord2 extends {} = TRecord & TJoinTargetRecord,
node_modules/knex/types/index.d.ts:1157:27 - error TS1128: Declaration or statement expected.
1157 TRecord2 extends {} = TRecord & TJoinTargetRecord, ~
node_modules/knex/types/index.d.ts:1159:5 - error TS1109: Expression expected.
1159 >( ~
node_modules/knex/types/index.d.ts:1160:16 - error TS1005: ')' expected.
1160 tableName: TableDescriptor | AliasDict | QueryCallback, ~
node_modules/knex/types/index.d.ts:1161:14 - error TS1005: ';' expected.
1161 column1: string, ~
node_modules/knex/types/index.d.ts:1162:10 - error TS1005: ';' expected.
1162 raw: Raw ~
node_modules/knex/types/index.d.ts:1163:5 - error TS1128: Declaration or statement expected.
1163 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1163:6 - error TS1128: Declaration or statement expected.
node_modules/knex/types/index.d.ts:1163:40 - error TS1005: '(' expected.
node_modules/knex/types/index.d.ts:1165:33 - error TS1005: '?' expected.
1165 TTable1 extends TableNames, ~
node_modules/knex/types/index.d.ts:1166:15 - error TS1005: ';' expected.
1166 TTable2 extends TableNames,
node_modules/knex/types/index.d.ts:1167:13 - error TS1005: ';' expected. 1167 TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>,
node_modules/knex/types/index.d.ts:1167:66 - error TS1005: '(' expected.
1167 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey, ~
node_modules/knex/types/index.d.ts:1167:84 - error TS1109: Expression expected.
node_modules/knex/types/index.d.ts:1168:13 - error TS1005: ',' expected.
1168 TKey2 extends StrKey<ResolveTableType<TableType>>,
node_modules/knex/types/index.d.ts:1168:65 - error TS1109: Expression expected. 1168 TKey2 extends StrKey<ResolveTableType<TableType<TTable2>>>, ~ node_modules/knex/types/index.d.ts:1169:43 - error TS1109: Expression expected. 1169 TRecord1 = ResolveTableType<TRecord>, ~ node_modules/knex/types/index.d.ts:1170:65 - error TS1109: Expression expected. 1170 TRecord2 = TRecord1 & ResolveTableType<TableType<TTable2>>, ~ node_modules/knex/types/index.d.ts:1172:5 - error TS1109: Expression expected. 1172 >( ~ node_modules/knex/types/index.d.ts:1173:16 - error TS1005: ')' expected. 1173 tableName: TTable2, ~ node_modules/knex/types/index.d.ts:1174:14 - error TS1005: ',' expected. 1174 column1: `${TTable1}.${TKey1}`, ~ node_modules/knex/types/index.d.ts:1175:15 - error TS1005: ',' expected. 1175 operator: string, ~ node_modules/knex/types/index.d.ts:1176:14 - error TS1005: ',' expected. 1176 column2: `${TTable2}.${TKey2}` ~ node_modules/knex/types/index.d.ts:1177:6 - error TS1005: ';' expected. 1177 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1177:40 - error TS1005: '(' expected. 1177 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1179:33 - error TS1005: '?' expected. 1179 TTable1 extends TableNames, ~ node_modules/knex/types/index.d.ts:1180:15 - error TS1005: ';' expected. 1180 TTable2 extends TableNames,
node_modules/knex/types/index.d.ts:1181:13 - error TS1005: ';' expected.
1181 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,
node_modules/knex/types/index.d.ts:1181:66 - error TS1005: '(' expected. 1181 TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>, ~ node_modules/knex/types/index.d.ts:1181:84 - error TS1109: Expression expected. 1181 TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>, ~ node_modules/knex/types/index.d.ts:1182:13 - error TS1005: ',' expected. 1182 TKey2 extends StrKey<ResolveTableType<TableType<TTable2>>>,
node_modules/knex/types/index.d.ts:1182:65 - error TS1109: Expression expected.
1182 TKey2 extends StrKey<ResolveTableType<TableType>>, ~
node_modules/knex/types/index.d.ts:1183:43 - error TS1109: Expression expected.
1183 TRecord1 = ResolveTableType, ~
node_modules/knex/types/index.d.ts:1184:65 - error TS1109: Expression expected.
1184 TRecord2 = TRecord1 & ResolveTableType<TableType>, ~
node_modules/knex/types/index.d.ts:1186:5 - error TS1109: Expression expected.
1186 >( ~
node_modules/knex/types/index.d.ts:1187:16 - error TS1005: ')' expected.
1187 tableName: TTable2, ~
node_modules/knex/types/index.d.ts:1188:14 - error TS1005: ',' expected.
1188 column1: ${TTable2}.${TKey2}, ~
node_modules/knex/types/index.d.ts:1189:15 - error TS1005: ',' expected.
1189 operator: string, ~
node_modules/knex/types/index.d.ts:1190:14 - error TS1005: ',' expected.
1190 column2: ${TTable1}.${TKey1}, ~
node_modules/knex/types/index.d.ts:1191:6 - error TS1005: ';' expected.
1191 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1191:40 - error TS1005: '(' expected.
node_modules/knex/types/index.d.ts:1193:36 - error TS1005: '?' expected.
1193 TJoinTargetRecord extends {} = any, ~
node_modules/knex/types/index.d.ts:1194:16 - error TS1005: ';' expected.
1194 TRecord2 extends {} = TRecord & TJoinTargetRecord,
node_modules/knex/types/index.d.ts:1194:27 - error TS1128: Declaration or statement expected. 1194 TRecord2 extends {} = TRecord & TJoinTargetRecord, ~ node_modules/knex/types/index.d.ts:1196:5 - error TS1109: Expression expected. 1196 >( ~ node_modules/knex/types/index.d.ts:1197:16 - error TS1005: ')' expected. 1197 tableName: TableDescriptor | AliasDict | QueryCallback, ~ node_modules/knex/types/index.d.ts:1198:14 - error TS1005: ';' expected. 1198 column1: string, ~ node_modules/knex/types/index.d.ts:1199:15 - error TS1005: ';' expected. 1199 operator: string, ~ node_modules/knex/types/index.d.ts:1200:14 - error TS1005: ';' expected. 1200 column2: string ~ node_modules/knex/types/index.d.ts:1201:5 - error TS1128: Declaration or statement expected. 1201 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1201:6 - error TS1128: Declaration or statement expected. 1201 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:1201:40 - error TS1005: '(' expected. 1201 ): QueryBuilder<TRecord2, TResult2>; ~ node_modules/knex/types/index.d.ts:2421:1 - error TS1128: Declaration or statement expected. 2421 } ```
resolved this issue when upgrading typescript from 3.3.3 to 4.3.4
another issue came up after this.
Expected Result
Actual Result
Steps to reproduce
const knex = require('knex')({ client: SnowflakeDialect as any, connection: process.env.SNOWFLAKE_CONNECTION_STRING, pool: { min: 1, max: 1, }, });
const httpTrigger: AzureFunction = async function ( context: Context, req: HttpRequest, ): Promise {
try {
if (!req.body) throw new Error('no request body');
};
export default httpTrigger;
node_modules/knex/types/index.d.ts:1130:16 - error TS1110: Type expected.
1130 column1:
${TTable1}.${TKey1}
,node_modules/knex/types/index.d.ts:1136:13 - error TS1005: ';' expected.
1136 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,
node_modules/knex/types/index.d.ts:1137:65 - error TS1109: Expression expected.
1137 TKey2 extends StrKey<ResolveTableType<TableType>>,
~
node_modules/knex/types/index.d.ts:1138:43 - error TS1109: Expression expected.
1138 TRecord1 = ResolveTableType,
~
node_modules/knex/types/index.d.ts:1139:65 - error TS1109: Expression expected.
1139 TRecord2 = TRecord1 & ResolveTableType<TableType>,
~
node_modules/knex/types/index.d.ts:1141:5 - error TS1109: Expression expected.
1141 >( ~
node_modules/knex/types/index.d.ts:1142:16 - error TS1005: ')' expected.
1142 tableName: TTable2, ~
node_modules/knex/types/index.d.ts:1143:14 - error TS1005: ',' expected.
1143 column1:
${TTable2}.${TKey2}
, ~node_modules/knex/types/index.d.ts:1144:14 - error TS1005: ',' expected.
1144 column2:
${TTable1}.${TKey1}
~node_modules/knex/types/index.d.ts:1145:6 - error TS1005: ';' expected.
1145 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1145:40 - error TS1005: '(' expected.
1145 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1147:36 - error TS1005: '?' expected.
1147 TJoinTargetRecord extends {} = any, ~
node_modules/knex/types/index.d.ts:1148:16 - error TS1005: ';' expected.
1148 TRecord2 extends {} = TRecord & TJoinTargetRecord,
node_modules/knex/types/index.d.ts:1157:27 - error TS1128: Declaration or statement expected.
1157 TRecord2 extends {} = TRecord & TJoinTargetRecord, ~
node_modules/knex/types/index.d.ts:1159:5 - error TS1109: Expression expected.
1159 >( ~
node_modules/knex/types/index.d.ts:1160:16 - error TS1005: ')' expected.
1160 tableName: TableDescriptor | AliasDict | QueryCallback, ~
node_modules/knex/types/index.d.ts:1161:14 - error TS1005: ';' expected.
1161 column1: string, ~
node_modules/knex/types/index.d.ts:1162:10 - error TS1005: ';' expected.
1162 raw: Raw ~
node_modules/knex/types/index.d.ts:1163:5 - error TS1128: Declaration or statement expected.
1163 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1163:6 - error TS1128: Declaration or statement expected.
1163 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1163:40 - error TS1005: '(' expected.
1163 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1165:33 - error TS1005: '?' expected.
1165 TTable1 extends TableNames, ~
node_modules/knex/types/index.d.ts:1166:15 - error TS1005: ';' expected.
1166 TTable2 extends TableNames,
node_modules/knex/types/index.d.ts:1167:66 - error TS1005: '(' expected.
1167 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,
~
node_modules/knex/types/index.d.ts:1167:84 - error TS1109: Expression expected.
1167 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,
~
node_modules/knex/types/index.d.ts:1168:13 - error TS1005: ',' expected.
1168 TKey2 extends StrKey<ResolveTableType<TableType>>,
node_modules/knex/types/index.d.ts:1181:13 - error TS1005: ';' expected.
1181 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,
node_modules/knex/types/index.d.ts:1182:65 - error TS1109: Expression expected.
1182 TKey2 extends StrKey<ResolveTableType<TableType>>,
~
node_modules/knex/types/index.d.ts:1183:43 - error TS1109: Expression expected.
1183 TRecord1 = ResolveTableType,
~
node_modules/knex/types/index.d.ts:1184:65 - error TS1109: Expression expected.
1184 TRecord2 = TRecord1 & ResolveTableType<TableType>,
~
node_modules/knex/types/index.d.ts:1186:5 - error TS1109: Expression expected.
1186 >( ~
node_modules/knex/types/index.d.ts:1187:16 - error TS1005: ')' expected.
1187 tableName: TTable2, ~
node_modules/knex/types/index.d.ts:1188:14 - error TS1005: ',' expected.
1188 column1:
${TTable2}.${TKey2}
, ~node_modules/knex/types/index.d.ts:1189:15 - error TS1005: ',' expected.
1189 operator: string, ~
node_modules/knex/types/index.d.ts:1190:14 - error TS1005: ',' expected.
1190 column2:
${TTable1}.${TKey1}
, ~node_modules/knex/types/index.d.ts:1191:6 - error TS1005: ';' expected.
1191 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1191:40 - error TS1005: '(' expected.
1191 ): QueryBuilder<TRecord2, TResult2>; ~
node_modules/knex/types/index.d.ts:1193:36 - error TS1005: '?' expected.
1193 TJoinTargetRecord extends {} = any, ~
node_modules/knex/types/index.d.ts:1194:16 - error TS1005: ';' expected.
1194 TRecord2 extends {} = TRecord & TJoinTargetRecord,