@azure-tools/typespec-python 0.8.3 → 0.8.5
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/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +68 -68
- package/dist/src/emitter.js.map +1 -1
- package/package.json +22 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAoBH,WAAW,EAMd,MAAM,oBAAoB,CAAC;AA+C5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAgChD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAuBvE"}
|
package/dist/src/emitter.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getPagedResult, getLroMetadata } from "@azure-tools/typespec-azure-core";
|
|
2
|
-
import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary,
|
|
2
|
+
import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, listServices, getNamespaceFullName, } from "@typespec/compiler";
|
|
3
3
|
import { getAuthentication, getHeaderFieldName, getHttpOperation, getPathParamName, getQueryParamName, getServers, isStatusCode, isHeader, } from "@typespec/http";
|
|
4
4
|
import { getAddedOnVersions } from "@typespec/versioning";
|
|
5
|
-
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, getClientFormat, createSdkContext,
|
|
5
|
+
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, getClientFormat, createSdkContext, getLibraryName, getAllModels, isInternal, getSdkSimpleType, getSdkListOrDict, getSdkUnion, getSdkEnum, getSdkConstant, getSdkModelPropertyType, } from "@azure-tools/typespec-client-generator-core";
|
|
6
6
|
import { getResourceOperation } from "@typespec/rest";
|
|
7
7
|
import { resolveModuleRoot, saveCodeModelAsYaml } from "./external-process.js";
|
|
8
8
|
import { dirname } from "path";
|
|
@@ -79,7 +79,7 @@ function handleDiscriminator(context, type, model) {
|
|
|
79
79
|
for (const childModel of type.derivedModels) {
|
|
80
80
|
const modelType = getType(context, childModel);
|
|
81
81
|
for (const property of modelType.properties) {
|
|
82
|
-
if (property.
|
|
82
|
+
if (property.wireName === discriminator.propertyName) {
|
|
83
83
|
modelType.discriminatorValue = property.type.value;
|
|
84
84
|
property.isDiscriminator = true;
|
|
85
85
|
model.discriminatedSubtypes[property.type.value] = modelType;
|
|
@@ -226,8 +226,8 @@ function getBodyType(context, route) {
|
|
|
226
226
|
const bodyTypeInResponse = getEffectiveSchemaType(context, responseBody.type);
|
|
227
227
|
// response body type is reosurce type, and request body type (if templated) contains resource type
|
|
228
228
|
if (bodyTypeInResponse === resourceType &&
|
|
229
|
-
bodyModel.
|
|
230
|
-
bodyModel.
|
|
229
|
+
bodyModel.templateMapper &&
|
|
230
|
+
bodyModel.templateMapper.args.some((it) => {
|
|
231
231
|
return it.kind === "Model" || it.kind === "Union" ? it === bodyTypeInResponse : false;
|
|
232
232
|
})) {
|
|
233
233
|
bodyModel = resourceType;
|
|
@@ -257,7 +257,7 @@ function emitBodyParameter(context, httpOperation) {
|
|
|
257
257
|
return {
|
|
258
258
|
contentTypes,
|
|
259
259
|
type,
|
|
260
|
-
|
|
260
|
+
wireName: (_c = (_b = body.parameter) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : "body",
|
|
261
261
|
location: "body",
|
|
262
262
|
...base,
|
|
263
263
|
defaultContentType: ((_e = (_d = body.parameter) === null || _d === void 0 ? void 0 : _d.default) !== null && _e !== void 0 ? _e : contentTypes.includes("application/json")) ? "application/json" : contentTypes[0],
|
|
@@ -274,7 +274,7 @@ function emitParameter(context, parameter, implementation) {
|
|
|
274
274
|
type = type["valueType"];
|
|
275
275
|
}
|
|
276
276
|
const paramMap = {
|
|
277
|
-
|
|
277
|
+
wireName: parameter.type === "path" ? parameter.param.name : parameter.name,
|
|
278
278
|
location: parameter.type,
|
|
279
279
|
type: type,
|
|
280
280
|
implementation: implementation,
|
|
@@ -284,6 +284,15 @@ function emitParameter(context, parameter, implementation) {
|
|
|
284
284
|
if (parameter.format === "csv") {
|
|
285
285
|
paramMap["delimiter"] = "comma";
|
|
286
286
|
}
|
|
287
|
+
else if (parameter.format === "ssv") {
|
|
288
|
+
paramMap["delimiter"] = "space";
|
|
289
|
+
}
|
|
290
|
+
else if (parameter.format === "tsv") {
|
|
291
|
+
paramMap["delimiter"] = "tab";
|
|
292
|
+
}
|
|
293
|
+
else if (parameter.format === "pipes") {
|
|
294
|
+
paramMap["delimiter"] = "pipe";
|
|
295
|
+
}
|
|
287
296
|
else {
|
|
288
297
|
paramMap["explode"] = true;
|
|
289
298
|
}
|
|
@@ -316,7 +325,7 @@ function emitContentTypeParameter(bodyParameter, inOverload, inOverriden) {
|
|
|
316
325
|
inOverriden: inOverriden,
|
|
317
326
|
location: "header",
|
|
318
327
|
optional: true,
|
|
319
|
-
|
|
328
|
+
wireName: "Content-Type",
|
|
320
329
|
type: KnownTypes.string,
|
|
321
330
|
};
|
|
322
331
|
}
|
|
@@ -335,7 +344,7 @@ function emitFlattenedParameter(bodyParameter, property) {
|
|
|
335
344
|
isApiVersion: bodyParameter["isApiVersion"],
|
|
336
345
|
location: "other",
|
|
337
346
|
optional: property["optional"],
|
|
338
|
-
|
|
347
|
+
wireName: null,
|
|
339
348
|
skipUrlEncoding: false,
|
|
340
349
|
type: property["type"],
|
|
341
350
|
defaultToUnsetSentinel: true,
|
|
@@ -372,7 +381,7 @@ function emitAcceptParameter(inOverload, inOverriden) {
|
|
|
372
381
|
inOverriden: inOverriden,
|
|
373
382
|
location: "header",
|
|
374
383
|
optional: false,
|
|
375
|
-
|
|
384
|
+
wireName: "Accept",
|
|
376
385
|
skipUrlEncoding: false,
|
|
377
386
|
type: getConstantType("application/json"),
|
|
378
387
|
};
|
|
@@ -385,7 +394,7 @@ function emitResponseHeaders(context, headers) {
|
|
|
385
394
|
for (const [key, value] of Object.entries(headers)) {
|
|
386
395
|
retval.push({
|
|
387
396
|
type: getEntityType(context, value),
|
|
388
|
-
|
|
397
|
+
wireName: key,
|
|
389
398
|
});
|
|
390
399
|
}
|
|
391
400
|
return retval;
|
|
@@ -395,28 +404,39 @@ function isAzureCoreModel(t) {
|
|
|
395
404
|
t.namespace !== undefined &&
|
|
396
405
|
["Azure.Core", "Azure.Core.Foundations"].includes(getNamespaceFullName(t.namespace)));
|
|
397
406
|
}
|
|
398
|
-
function
|
|
399
|
-
|
|
407
|
+
function hasDefaultStatusCode(response) {
|
|
408
|
+
return response.statusCode === "*";
|
|
409
|
+
}
|
|
410
|
+
function emitResponse(context, response, innerResponse, operation) {
|
|
411
|
+
var _a, _b;
|
|
400
412
|
let type = undefined;
|
|
413
|
+
let resultProperty = undefined;
|
|
401
414
|
if ((_a = innerResponse.body) === null || _a === void 0 ? void 0 : _a.type) {
|
|
402
415
|
let modelType = undefined;
|
|
403
416
|
if (innerResponse.body.type.kind === "Model") {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
417
|
+
const lroMeta = getLroMetadata(context.program, operation);
|
|
418
|
+
if (!hasDefaultStatusCode(response) && lroMeta) {
|
|
419
|
+
modelType = lroMeta.logicalResult;
|
|
420
|
+
if (((_b = lroMeta.finalStep) === null || _b === void 0 ? void 0 : _b.target.kind) === "ModelProperty") {
|
|
421
|
+
resultProperty = lroMeta.finalStep.target.name;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
else {
|
|
425
|
+
modelType = getEffectiveSchemaType(context, innerResponse.body.type);
|
|
426
|
+
}
|
|
408
427
|
}
|
|
409
|
-
|
|
410
|
-
// hacky sorry. we want a dummy type here so we get the accept parameter
|
|
411
|
-
// we don't want to generate the paged models
|
|
428
|
+
if (modelType && modelType.decorators.find((d) => d.decorator.name === "$pagedResult")) {
|
|
412
429
|
type = getType(context, Array.from(modelType.properties.values())[0].type);
|
|
413
430
|
}
|
|
431
|
+
else if (modelType && !isAzureCoreModel(modelType)) {
|
|
432
|
+
type = getType(context, modelType);
|
|
433
|
+
}
|
|
414
434
|
else if (!modelType) {
|
|
415
435
|
type = getType(context, innerResponse.body.type);
|
|
416
436
|
}
|
|
417
437
|
}
|
|
418
438
|
const statusCodes = [];
|
|
419
|
-
if (response
|
|
439
|
+
if (hasDefaultStatusCode(response)) {
|
|
420
440
|
statusCodes.push("default");
|
|
421
441
|
}
|
|
422
442
|
else {
|
|
@@ -428,6 +448,7 @@ function emitResponse(context, response, innerResponse) {
|
|
|
428
448
|
addedOn: getAddedOnVersion(context, response.type),
|
|
429
449
|
discriminator: "basic",
|
|
430
450
|
type: type,
|
|
451
|
+
resultProperty: resultProperty,
|
|
431
452
|
};
|
|
432
453
|
}
|
|
433
454
|
function emitOperation(context, operation, operationGroupName) {
|
|
@@ -455,6 +476,7 @@ function addPagingInformation(context, operation, emittedOperation) {
|
|
|
455
476
|
if (pagedResult === undefined) {
|
|
456
477
|
throw Error("Trying to add paging information, but not paging metadata for this operation");
|
|
457
478
|
}
|
|
479
|
+
getType(context, pagedResult.modelType)["pageResultModel"] = true;
|
|
458
480
|
emittedOperation["itemName"] = pagedResult.itemsPath;
|
|
459
481
|
emittedOperation["itemType"] = getType(context, pagedResult.itemsProperty.type);
|
|
460
482
|
emittedOperation["continuationTokenName"] = pagedResult.nextLinkPath;
|
|
@@ -524,9 +546,9 @@ function emitBasicOperation(context, operation, operationGroupName) {
|
|
|
524
546
|
const isOverriden = false;
|
|
525
547
|
for (const response of httpOperation.responses) {
|
|
526
548
|
for (const innerResponse of response.responses) {
|
|
527
|
-
const emittedResponse = emitResponse(context, response, innerResponse);
|
|
549
|
+
const emittedResponse = emitResponse(context, response, innerResponse, operation);
|
|
528
550
|
if (emittedResponse["type"] &&
|
|
529
|
-
parameters.filter((e) => e.
|
|
551
|
+
parameters.filter((e) => e.wireName.toLowerCase() === "accept").length === 0) {
|
|
530
552
|
parameters.push(emitAcceptParameter(isOverload, isOverriden));
|
|
531
553
|
}
|
|
532
554
|
if (isErrorModel(context.program, response.type)) {
|
|
@@ -546,7 +568,7 @@ function emitBasicOperation(context, operation, operationGroupName) {
|
|
|
546
568
|
}
|
|
547
569
|
else {
|
|
548
570
|
bodyParameter = emitBodyParameter(context, httpOperation);
|
|
549
|
-
if (parameters.filter((e) => e.
|
|
571
|
+
if (parameters.filter((e) => e.wireName.toLowerCase() === "content-type").length === 0) {
|
|
550
572
|
parameters.push(emitContentTypeParameter(bodyParameter, isOverload, isOverriden));
|
|
551
573
|
}
|
|
552
574
|
if (bodyParameter.type.type === "model" && bodyParameter.type.base === "json") {
|
|
@@ -555,7 +577,7 @@ function emitBasicOperation(context, operation, operationGroupName) {
|
|
|
555
577
|
bodyParameter.defaultToUnsetSentinel = true;
|
|
556
578
|
}
|
|
557
579
|
for (const property of bodyParameter.type.properties) {
|
|
558
|
-
bodyParameter["propertyToParameterName"][property["
|
|
580
|
+
bodyParameter["propertyToParameterName"][property["wireName"]] = property["clientName"];
|
|
559
581
|
parameters.push(emitFlattenedParameter(bodyParameter, property));
|
|
560
582
|
}
|
|
561
583
|
}
|
|
@@ -585,35 +607,16 @@ function emitBasicOperation(context, operation, operationGroupName) {
|
|
|
585
607
|
},
|
|
586
608
|
];
|
|
587
609
|
}
|
|
588
|
-
function
|
|
589
|
-
|
|
590
|
-
// Only "read" should be readOnly
|
|
591
|
-
const visibility = getVisibility(context.program, type);
|
|
592
|
-
if (visibility) {
|
|
593
|
-
return visibility.includes("read");
|
|
594
|
-
}
|
|
595
|
-
else {
|
|
596
|
-
return false;
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
function emitProperty(context, property) {
|
|
600
|
-
var _a;
|
|
601
|
-
let clientDefaultValue = undefined;
|
|
602
|
-
const propertyDefaultKind = (_a = property.default) === null || _a === void 0 ? void 0 : _a.kind;
|
|
603
|
-
if (property.default &&
|
|
604
|
-
(propertyDefaultKind === "Number" || propertyDefaultKind === "String" || propertyDefaultKind === "Boolean")) {
|
|
605
|
-
clientDefaultValue = property.default.value;
|
|
606
|
-
}
|
|
607
|
-
const [clientName, jsonName] = getPropertyNames(context, property);
|
|
610
|
+
function emitProperty(context, type) {
|
|
611
|
+
const sdkProperty = getSdkModelPropertyType(context, type);
|
|
608
612
|
return {
|
|
609
|
-
clientName: camelToSnakeCase(
|
|
610
|
-
|
|
611
|
-
type: getEntityType(context,
|
|
612
|
-
optional:
|
|
613
|
-
description:
|
|
614
|
-
addedOn: getAddedOnVersion(context,
|
|
615
|
-
readonly:
|
|
616
|
-
clientDefaultValue: clientDefaultValue,
|
|
613
|
+
clientName: camelToSnakeCase(sdkProperty.name),
|
|
614
|
+
wireName: sdkProperty.wireName,
|
|
615
|
+
type: getEntityType(context, type),
|
|
616
|
+
optional: sdkProperty.optional,
|
|
617
|
+
description: sdkProperty.doc,
|
|
618
|
+
addedOn: getAddedOnVersion(context, type),
|
|
619
|
+
readonly: sdkProperty.readonly,
|
|
617
620
|
};
|
|
618
621
|
}
|
|
619
622
|
function getName(context, type) {
|
|
@@ -623,8 +626,8 @@ function getName(context, type) {
|
|
|
623
626
|
}
|
|
624
627
|
else {
|
|
625
628
|
const modelName = getLibraryName(context, type);
|
|
626
|
-
if (type.
|
|
627
|
-
return modelName + type.
|
|
629
|
+
if (type.templateMapper && type.templateMapper.args.length > 0) {
|
|
630
|
+
return modelName + type.templateMapper.args.map((it) => (it.kind === "Model" ? it.name : "")).join("");
|
|
628
631
|
}
|
|
629
632
|
else {
|
|
630
633
|
return modelName;
|
|
@@ -652,9 +655,6 @@ function emitModel(context, type) {
|
|
|
652
655
|
internal: isInternal(context, type),
|
|
653
656
|
};
|
|
654
657
|
}
|
|
655
|
-
function intOrFloat(value) {
|
|
656
|
-
return value.toString().indexOf(".") === -1 ? "integer" : "float";
|
|
657
|
-
}
|
|
658
658
|
function enumName(name) {
|
|
659
659
|
if (name.toUpperCase() === name) {
|
|
660
660
|
return name;
|
|
@@ -678,9 +678,6 @@ function emitEnum(context, type) {
|
|
|
678
678
|
values: sdkType.values.map((x) => emitEnumMember(x)),
|
|
679
679
|
};
|
|
680
680
|
}
|
|
681
|
-
function constantType(value, valueType) {
|
|
682
|
-
return { type: "constant", value: value, valueType: { type: valueType } };
|
|
683
|
-
}
|
|
684
681
|
function emitCredential(auth) {
|
|
685
682
|
let credential_type = {};
|
|
686
683
|
if (auth.type === "oauth2") {
|
|
@@ -762,11 +759,14 @@ function emitListOrDict(context, type) {
|
|
|
762
759
|
function mapCadlType(context, type) {
|
|
763
760
|
switch (type.kind) {
|
|
764
761
|
case "Number":
|
|
765
|
-
return constantType(type.value, intOrFloat(type.value));
|
|
766
762
|
case "String":
|
|
767
|
-
return constantType(type.value, "string");
|
|
768
763
|
case "Boolean":
|
|
769
|
-
|
|
764
|
+
const sdkType = getSdkConstant(context, type);
|
|
765
|
+
return {
|
|
766
|
+
type: sdkType.kind,
|
|
767
|
+
value: sdkType.value,
|
|
768
|
+
valueType: emitSimpleType(context, sdkType.valueType),
|
|
769
|
+
};
|
|
770
770
|
case "Model":
|
|
771
771
|
return emitListOrDict(context, type);
|
|
772
772
|
}
|
|
@@ -883,7 +883,7 @@ function emitServerParams(context, namespace) {
|
|
|
883
883
|
description: "Service host",
|
|
884
884
|
clientName: "endpoint",
|
|
885
885
|
clientDefaultValue: null,
|
|
886
|
-
|
|
886
|
+
wireName: "$host",
|
|
887
887
|
location: "path",
|
|
888
888
|
type: KnownTypes.string,
|
|
889
889
|
implementation: "Client",
|
|
@@ -916,7 +916,7 @@ function emitServerParams(context, namespace) {
|
|
|
916
916
|
description: "Service host",
|
|
917
917
|
clientName: "endpoint",
|
|
918
918
|
clientDefaultValue: server.url,
|
|
919
|
-
|
|
919
|
+
wireName: "$host",
|
|
920
920
|
location: "path",
|
|
921
921
|
type: KnownTypes.string,
|
|
922
922
|
implementation: "Client",
|
|
@@ -955,7 +955,7 @@ function emitCredentialParam(context, namespace) {
|
|
|
955
955
|
description: "Credential needed for the client to connect to Azure.",
|
|
956
956
|
clientName: "credential",
|
|
957
957
|
location: "other",
|
|
958
|
-
|
|
958
|
+
wireName: "credential",
|
|
959
959
|
implementation: "Client",
|
|
960
960
|
skipUrlEncoding: true,
|
|
961
961
|
inOverload: false,
|
|
@@ -984,7 +984,7 @@ function getApiVersionParameter(context) {
|
|
|
984
984
|
description: "Api Version",
|
|
985
985
|
implementation: "Client",
|
|
986
986
|
location: "query",
|
|
987
|
-
|
|
987
|
+
wireName: "api-version",
|
|
988
988
|
skipUrlEncoding: false,
|
|
989
989
|
optional: false,
|
|
990
990
|
inDocString: true,
|
package/dist/src/emitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-python",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "Cadl emitter for Python SDKs",
|
|
6
6
|
"homepage": "https://github.com/Azure/autorest.python",
|
|
@@ -34,35 +34,32 @@
|
|
|
34
34
|
"get-autorest-python-path.cjs"
|
|
35
35
|
],
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@typespec
|
|
38
|
-
"@typespec
|
|
39
|
-
"@typespec/
|
|
40
|
-
"@
|
|
37
|
+
"@azure-tools/typespec-azure-core": ">=0.30.0 <1.0.0",
|
|
38
|
+
"@azure-tools/typespec-client-generator-core": ">=0.30.0 <1.0.0",
|
|
39
|
+
"@typespec/compiler": ">=0.44.0 <1.0.0",
|
|
40
|
+
"@typespec/http": ">=0.44.0 <1.0.0",
|
|
41
|
+
"@typespec/rest": ">=0.44.0 <1.0.0",
|
|
42
|
+
"@typespec/versioning": ">=0.44.0 <1.0.0"
|
|
41
43
|
},
|
|
42
44
|
"dependencies": {
|
|
43
45
|
"js-yaml": "~4.1.0",
|
|
44
|
-
"@
|
|
45
|
-
"@azure-tools/typespec-client-generator-core": "~0.30.0-dev.4",
|
|
46
|
-
"@autorest/python": "^6.4.10"
|
|
46
|
+
"@autorest/python": "^6.4.12"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@types/js-yaml": "~4.0.
|
|
52
|
-
"@
|
|
53
|
-
"@
|
|
54
|
-
"@typespec/
|
|
55
|
-
"@typespec/
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"@azure-tools/cadl-ranch-expect": "~0.2.2",
|
|
64
|
-
"@typespec/openapi": "~0.43.0",
|
|
65
|
-
"prettier": "^2.7.1"
|
|
49
|
+
"@azure-tools/cadl-ranch-expect": "~0.3.0",
|
|
50
|
+
"@azure-tools/cadl-ranch-specs": "~0.14.10",
|
|
51
|
+
"@types/js-yaml": "~4.0.5",
|
|
52
|
+
"@types/mocha": "~10.0.1",
|
|
53
|
+
"@types/node": "^18.16.3",
|
|
54
|
+
"@typespec/eslint-config-typespec": "~0.7.0",
|
|
55
|
+
"@typespec/openapi": ">=0.44.0 <1.0.0",
|
|
56
|
+
"c8": "~7.13.0",
|
|
57
|
+
"eslint": "^8.39.0",
|
|
58
|
+
"eslint-plugin-deprecation": "^1.4.1",
|
|
59
|
+
"mocha": "~10.2.0",
|
|
60
|
+
"prettier": "^2.8.8",
|
|
61
|
+
"rimraf": "~5.0.0",
|
|
62
|
+
"typescript": "^5.0.4"
|
|
66
63
|
},
|
|
67
64
|
"scripts": {
|
|
68
65
|
"clean": "rimraf ./dist ./temp",
|