@azure/app-configuration 1.4.1-alpha.20230406.2 → 1.4.1
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/index.js +11 -96
- package/dist/index.js.map +1 -1
- package/dist-esm/samples-dev/featureFlag.js +12 -5
- package/dist-esm/samples-dev/featureFlag.js.map +1 -1
- package/dist-esm/samples-dev/getSettingOnlyIfChanged.js +13 -6
- package/dist-esm/samples-dev/getSettingOnlyIfChanged.js.map +1 -1
- package/dist-esm/samples-dev/helloworld.js +12 -5
- package/dist-esm/samples-dev/helloworld.js.map +1 -1
- package/dist-esm/samples-dev/helloworldWithLabels.js +12 -5
- package/dist-esm/samples-dev/helloworldWithLabels.js.map +1 -1
- package/dist-esm/samples-dev/listConfigurationSettings.js +23 -9
- package/dist-esm/samples-dev/listConfigurationSettings.js.map +1 -1
- package/dist-esm/samples-dev/listRevisions.js +25 -11
- package/dist-esm/samples-dev/listRevisions.js.map +1 -1
- package/dist-esm/samples-dev/optimisticConcurrencyViaEtag.js +13 -6
- package/dist-esm/samples-dev/optimisticConcurrencyViaEtag.js.map +1 -1
- package/dist-esm/samples-dev/secretReference.js +12 -5
- package/dist-esm/samples-dev/secretReference.js.map +1 -1
- package/dist-esm/samples-dev/setReadOnlySample.js +13 -6
- package/dist-esm/samples-dev/setReadOnlySample.js.map +1 -1
- package/dist-esm/samples-dev/updateSyncTokenSample.js +12 -5
- package/dist-esm/samples-dev/updateSyncTokenSample.js.map +1 -1
- package/dist-esm/src/generated/src/appConfiguration.js +10 -18
- package/dist-esm/src/generated/src/appConfiguration.js.map +1 -1
- package/dist-esm/src/generated/src/models/index.js +17 -72
- package/dist-esm/src/generated/src/models/index.js.map +1 -1
- package/dist-esm/src/generated/src/models/parameters.js +1 -78
- package/dist-esm/src/generated/src/models/parameters.js.map +1 -1
- package/dist-esm/test/public/featureFlag.spec.js +36 -22
- package/dist-esm/test/public/featureFlag.spec.js.map +1 -1
- package/dist-esm/test/public/secretReference.spec.js +35 -21
- package/dist-esm/test/public/secretReference.spec.js.map +1 -1
- package/dist-esm/test/public/utils/testHelpers.js +50 -22
- package/dist-esm/test/public/utils/testHelpers.js.map +1 -1
- package/package.json +5 -5
|
@@ -53,73 +53,101 @@ export function createAppConfigurationClientForTests(options) {
|
|
|
53
53
|
return new AppConfigurationClient(connectionString, options);
|
|
54
54
|
}
|
|
55
55
|
export async function deleteKeyCompletely(keys, client) {
|
|
56
|
-
var e_1,
|
|
56
|
+
var _a, e_1, _b, _c;
|
|
57
57
|
const settingsIterator = client.listConfigurationSettings({
|
|
58
58
|
keyFilter: keys.join(","),
|
|
59
59
|
});
|
|
60
60
|
try {
|
|
61
|
-
for (var settingsIterator_1 = __asyncValues(settingsIterator), settingsIterator_1_1; settingsIterator_1_1 = await settingsIterator_1.next(),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
for (var _d = true, settingsIterator_1 = __asyncValues(settingsIterator), settingsIterator_1_1; settingsIterator_1_1 = await settingsIterator_1.next(), _a = settingsIterator_1_1.done, !_a;) {
|
|
62
|
+
_c = settingsIterator_1_1.value;
|
|
63
|
+
_d = false;
|
|
64
|
+
try {
|
|
65
|
+
const setting = _c;
|
|
66
|
+
if (setting.isReadOnly) {
|
|
67
|
+
await client.setReadOnly(setting, false);
|
|
68
|
+
}
|
|
69
|
+
await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
_d = true;
|
|
65
73
|
}
|
|
66
|
-
await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
76
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
70
77
|
finally {
|
|
71
78
|
try {
|
|
72
|
-
if (
|
|
79
|
+
if (!_d && !_a && (_b = settingsIterator_1.return)) await _b.call(settingsIterator_1);
|
|
73
80
|
}
|
|
74
81
|
finally { if (e_1) throw e_1.error; }
|
|
75
82
|
}
|
|
76
83
|
}
|
|
77
84
|
export async function deleteEverySetting() {
|
|
78
|
-
var e_2,
|
|
85
|
+
var _a, e_2, _b, _c;
|
|
79
86
|
const client = createAppConfigurationClientForTests();
|
|
80
87
|
const settingsList = client.listConfigurationSettings({});
|
|
81
88
|
try {
|
|
82
|
-
for (var settingsList_1 = __asyncValues(settingsList), settingsList_1_1; settingsList_1_1 = await settingsList_1.next(),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
89
|
+
for (var _d = true, settingsList_1 = __asyncValues(settingsList), settingsList_1_1; settingsList_1_1 = await settingsList_1.next(), _a = settingsList_1_1.done, !_a;) {
|
|
90
|
+
_c = settingsList_1_1.value;
|
|
91
|
+
_d = false;
|
|
92
|
+
try {
|
|
93
|
+
const setting = _c;
|
|
94
|
+
await client.setReadOnly({ key: setting.key, label: setting.label }, false);
|
|
95
|
+
await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
_d = true;
|
|
99
|
+
}
|
|
86
100
|
}
|
|
87
101
|
}
|
|
88
102
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
89
103
|
finally {
|
|
90
104
|
try {
|
|
91
|
-
if (
|
|
105
|
+
if (!_d && !_a && (_b = settingsList_1.return)) await _b.call(settingsList_1);
|
|
92
106
|
}
|
|
93
107
|
finally { if (e_2) throw e_2.error; }
|
|
94
108
|
}
|
|
95
109
|
}
|
|
96
110
|
export async function toSortedArray(pagedIterator, compareFn) {
|
|
97
|
-
var e_3,
|
|
111
|
+
var _a, e_3, _b, _c, _d, e_4, _e, _f;
|
|
98
112
|
const settings = [];
|
|
99
113
|
try {
|
|
100
|
-
for (var pagedIterator_1 = __asyncValues(pagedIterator), pagedIterator_1_1; pagedIterator_1_1 = await pagedIterator_1.next(),
|
|
101
|
-
|
|
102
|
-
|
|
114
|
+
for (var _g = true, pagedIterator_1 = __asyncValues(pagedIterator), pagedIterator_1_1; pagedIterator_1_1 = await pagedIterator_1.next(), _a = pagedIterator_1_1.done, !_a;) {
|
|
115
|
+
_c = pagedIterator_1_1.value;
|
|
116
|
+
_g = false;
|
|
117
|
+
try {
|
|
118
|
+
const setting = _c;
|
|
119
|
+
settings.push(setting);
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
_g = true;
|
|
123
|
+
}
|
|
103
124
|
}
|
|
104
125
|
}
|
|
105
126
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
106
127
|
finally {
|
|
107
128
|
try {
|
|
108
|
-
if (
|
|
129
|
+
if (!_g && !_a && (_b = pagedIterator_1.return)) await _b.call(pagedIterator_1);
|
|
109
130
|
}
|
|
110
131
|
finally { if (e_3) throw e_3.error; }
|
|
111
132
|
}
|
|
112
133
|
let settingsViaPageIterator = [];
|
|
113
134
|
try {
|
|
114
|
-
for (var
|
|
115
|
-
|
|
116
|
-
|
|
135
|
+
for (var _h = true, _j = __asyncValues(pagedIterator.byPage()), _k; _k = await _j.next(), _d = _k.done, !_d;) {
|
|
136
|
+
_f = _k.value;
|
|
137
|
+
_h = false;
|
|
138
|
+
try {
|
|
139
|
+
const page = _f;
|
|
140
|
+
settingsViaPageIterator = settingsViaPageIterator.concat(page.items);
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
_h = true;
|
|
144
|
+
}
|
|
117
145
|
}
|
|
118
146
|
}
|
|
119
147
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
120
148
|
finally {
|
|
121
149
|
try {
|
|
122
|
-
if (
|
|
150
|
+
if (!_h && !_d && (_e = _j.return)) await _e.call(_j);
|
|
123
151
|
}
|
|
124
152
|
finally { if (e_4) throw e_4.error; }
|
|
125
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../../../test/public/utils/testHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AppConfigurationClient, AppConfigurationClientOptions } from \"../../../src\";\nimport {\n ConfigurationSetting,\n ListConfigurationSettingPage,\n ListRevisionsPage,\n} from \"../../../src\";\nimport { Recorder, RecorderStartOptions, env, isPlaybackMode } from \"@azure-tools/test-recorder\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { TokenCredential } from \"@azure/identity\";\nimport { assert } from \"chai\";\nimport { createTestCredential } from \"@azure-tools/test-credential\";\n\nlet connectionStringNotPresentWarning = false;\nlet tokenCredentialsNotPresentWarning = false;\n\nexport interface CredsAndEndpoint {\n credential: TokenCredential;\n endpoint: string;\n}\n\nexport async function startRecorder(that: Mocha.Context): Promise<Recorder> {\n const recorderStartOptions: RecorderStartOptions = {\n envSetupForPlayback: {\n APPCONFIG_CONNECTION_STRING:\n \"Endpoint=https://myappconfig.azconfig.io;Id=123456;Secret=123456\",\n AZ_CONFIG_ENDPOINT: \"https://myappconfig.azconfig.io\",\n AZURE_CLIENT_ID: \"azure_client_id\",\n AZURE_CLIENT_SECRET: \"azure_client_secret\",\n AZURE_TENANT_ID: \"azuretenantid\",\n },\n };\n\n const recorder = new Recorder(that.currentTest);\n await recorder.start(recorderStartOptions);\n return recorder;\n}\n\nexport function getTokenAuthenticationCredential(): CredsAndEndpoint {\n const requiredEnvironmentVariables = [\n \"AZ_CONFIG_ENDPOINT\",\n \"AZURE_CLIENT_ID\",\n \"AZURE_TENANT_ID\",\n \"AZURE_CLIENT_SECRET\",\n ];\n\n for (const name of requiredEnvironmentVariables) {\n const value = env[name];\n\n if (value == null) {\n if (tokenCredentialsNotPresentWarning) {\n tokenCredentialsNotPresentWarning = true;\n }\n\n throw new Error(\"Invalid value for requiredEnvironmentVariables\");\n }\n }\n\n return {\n credential: createTestCredential(),\n endpoint: env[\"AZ_CONFIG_ENDPOINT\"]!,\n };\n}\n\nexport function createAppConfigurationClientForTests<\n Options extends AppConfigurationClientOptions = AppConfigurationClientOptions\n>(options?: Options): AppConfigurationClient {\n const connectionString = env[\"APPCONFIG_CONNECTION_STRING\"];\n\n if (connectionString == null) {\n if (!connectionStringNotPresentWarning) {\n connectionStringNotPresentWarning = true;\n }\n throw new Error(\"Invalid value for APPCONFIG_CONNECTION_STRING\");\n }\n\n return new AppConfigurationClient(connectionString, options);\n}\n\nexport async function deleteKeyCompletely(\n keys: string[],\n client: AppConfigurationClient\n): Promise<void> {\n const settingsIterator = client.listConfigurationSettings({\n keyFilter: keys.join(\",\"),\n });\n\n for await (const setting of settingsIterator) {\n if (setting.isReadOnly) {\n await client.setReadOnly(setting, false);\n }\n\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function deleteEverySetting(): Promise<void> {\n const client = createAppConfigurationClientForTests();\n const settingsList = client.listConfigurationSettings({});\n\n for await (const setting of settingsList) {\n await client.setReadOnly({ key: setting.key, label: setting.label }, false);\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function toSortedArray(\n pagedIterator: PagedAsyncIterableIterator<\n ConfigurationSetting,\n ListConfigurationSettingPage | ListRevisionsPage\n >,\n compareFn?: (a: ConfigurationSetting, b: ConfigurationSetting) => number\n): Promise<ConfigurationSetting[]> {\n const settings: ConfigurationSetting[] = [];\n\n for await (const setting of pagedIterator) {\n settings.push(setting);\n }\n\n let settingsViaPageIterator: ConfigurationSetting[] = [];\n\n for await (const page of pagedIterator.byPage()) {\n settingsViaPageIterator = settingsViaPageIterator.concat(page.items);\n }\n\n // just a sanity-check\n assert.deepEqual(settings, settingsViaPageIterator);\n\n settings.sort((a, b) =>\n compareFn\n ? compareFn(a, b)\n : `${a.key}-${a.label}-${a.value}`.localeCompare(`${b.key}-${b.label}-${b.value}`)\n );\n\n return settings;\n}\n\nexport function assertEqualSettings(\n expected: Pick<ConfigurationSetting, \"key\" | \"value\" | \"label\" | \"isReadOnly\">[],\n actual: ConfigurationSetting[]\n): void {\n actual = actual.map((setting) => {\n return {\n key: setting.key,\n label: setting.label || undefined,\n value: setting.value,\n isReadOnly: setting.isReadOnly,\n };\n });\n\n assert.deepEqual(expected, actual);\n}\n\nexport async function assertThrowsRestError(\n testFunction: () => Promise<any>,\n expectedStatusCode: number,\n message: string = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (err: any) {\n if (!(err instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (err.name === \"RestError\") {\n const restError = err as RestError;\n assert.equal(expectedStatusCode, restError.statusCode, message);\n return err;\n }\n\n assert.fail(`${message}: Caught error but wasn't a RestError: ${err}`);\n }\n\n return new Error(\"We won't reach this - both cases above throw because of assert.fail()\");\n}\n\nexport async function assertThrowsAbortError(\n testFunction: () => Promise<any>,\n message = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (e: any) {\n if (!(e instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (isPlaybackMode() && (e.name === \"FetchError\" || e.name === \"AbortError\")) {\n return e;\n } else {\n assert.equal(e.name, \"AbortError\");\n return e;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../../../test/public/utils/testHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AppConfigurationClient, AppConfigurationClientOptions } from \"../../../src\";\nimport {\n ConfigurationSetting,\n ListConfigurationSettingPage,\n ListRevisionsPage,\n} from \"../../../src\";\nimport { Recorder, RecorderStartOptions, env, isPlaybackMode } from \"@azure-tools/test-recorder\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { TokenCredential } from \"@azure/identity\";\nimport { assert } from \"chai\";\nimport { createTestCredential } from \"@azure-tools/test-credential\";\n\nlet connectionStringNotPresentWarning = false;\nlet tokenCredentialsNotPresentWarning = false;\n\nexport interface CredsAndEndpoint {\n credential: TokenCredential;\n endpoint: string;\n}\n\nexport async function startRecorder(that: Mocha.Context): Promise<Recorder> {\n const recorderStartOptions: RecorderStartOptions = {\n envSetupForPlayback: {\n APPCONFIG_CONNECTION_STRING:\n \"Endpoint=https://myappconfig.azconfig.io;Id=123456;Secret=123456\",\n AZ_CONFIG_ENDPOINT: \"https://myappconfig.azconfig.io\",\n AZURE_CLIENT_ID: \"azure_client_id\",\n AZURE_CLIENT_SECRET: \"azure_client_secret\",\n AZURE_TENANT_ID: \"azuretenantid\",\n },\n };\n\n const recorder = new Recorder(that.currentTest);\n await recorder.start(recorderStartOptions);\n return recorder;\n}\n\nexport function getTokenAuthenticationCredential(): CredsAndEndpoint {\n const requiredEnvironmentVariables = [\n \"AZ_CONFIG_ENDPOINT\",\n \"AZURE_CLIENT_ID\",\n \"AZURE_TENANT_ID\",\n \"AZURE_CLIENT_SECRET\",\n ];\n\n for (const name of requiredEnvironmentVariables) {\n const value = env[name];\n\n if (value == null) {\n if (tokenCredentialsNotPresentWarning) {\n tokenCredentialsNotPresentWarning = true;\n }\n\n throw new Error(\"Invalid value for requiredEnvironmentVariables\");\n }\n }\n\n return {\n credential: createTestCredential(),\n endpoint: env[\"AZ_CONFIG_ENDPOINT\"]!,\n };\n}\n\nexport function createAppConfigurationClientForTests<\n Options extends AppConfigurationClientOptions = AppConfigurationClientOptions\n>(options?: Options): AppConfigurationClient {\n const connectionString = env[\"APPCONFIG_CONNECTION_STRING\"];\n\n if (connectionString == null) {\n if (!connectionStringNotPresentWarning) {\n connectionStringNotPresentWarning = true;\n }\n throw new Error(\"Invalid value for APPCONFIG_CONNECTION_STRING\");\n }\n\n return new AppConfigurationClient(connectionString, options);\n}\n\nexport async function deleteKeyCompletely(\n keys: string[],\n client: AppConfigurationClient\n): Promise<void> {\n const settingsIterator = client.listConfigurationSettings({\n keyFilter: keys.join(\",\"),\n });\n\n for await (const setting of settingsIterator) {\n if (setting.isReadOnly) {\n await client.setReadOnly(setting, false);\n }\n\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function deleteEverySetting(): Promise<void> {\n const client = createAppConfigurationClientForTests();\n const settingsList = client.listConfigurationSettings({});\n\n for await (const setting of settingsList) {\n await client.setReadOnly({ key: setting.key, label: setting.label }, false);\n await client.deleteConfigurationSetting({ key: setting.key, label: setting.label });\n }\n}\n\nexport async function toSortedArray(\n pagedIterator: PagedAsyncIterableIterator<\n ConfigurationSetting,\n ListConfigurationSettingPage | ListRevisionsPage\n >,\n compareFn?: (a: ConfigurationSetting, b: ConfigurationSetting) => number\n): Promise<ConfigurationSetting[]> {\n const settings: ConfigurationSetting[] = [];\n\n for await (const setting of pagedIterator) {\n settings.push(setting);\n }\n\n let settingsViaPageIterator: ConfigurationSetting[] = [];\n\n for await (const page of pagedIterator.byPage()) {\n settingsViaPageIterator = settingsViaPageIterator.concat(page.items);\n }\n\n // just a sanity-check\n assert.deepEqual(settings, settingsViaPageIterator);\n\n settings.sort((a, b) =>\n compareFn\n ? compareFn(a, b)\n : `${a.key}-${a.label}-${a.value}`.localeCompare(`${b.key}-${b.label}-${b.value}`)\n );\n\n return settings;\n}\n\nexport function assertEqualSettings(\n expected: Pick<ConfigurationSetting, \"key\" | \"value\" | \"label\" | \"isReadOnly\">[],\n actual: ConfigurationSetting[]\n): void {\n actual = actual.map((setting) => {\n return {\n key: setting.key,\n label: setting.label || undefined,\n value: setting.value,\n isReadOnly: setting.isReadOnly,\n };\n });\n\n assert.deepEqual(expected, actual);\n}\n\nexport async function assertThrowsRestError(\n testFunction: () => Promise<any>,\n expectedStatusCode: number,\n message: string = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (err: any) {\n if (!(err instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (err.name === \"RestError\") {\n const restError = err as RestError;\n assert.equal(expectedStatusCode, restError.statusCode, message);\n return err;\n }\n\n assert.fail(`${message}: Caught error but wasn't a RestError: ${err}`);\n }\n\n return new Error(\"We won't reach this - both cases above throw because of assert.fail()\");\n}\n\nexport async function assertThrowsAbortError(\n testFunction: () => Promise<any>,\n message = \"\"\n): Promise<Error> {\n try {\n await testFunction();\n assert.fail(`${message}: No error thrown`);\n } catch (e: any) {\n if (!(e instanceof Error)) {\n throw new Error(\"Error is not recognized\");\n }\n if (isPlaybackMode() && (e.name === \"FetchError\" || e.name === \"AbortError\")) {\n return e;\n } else {\n assert.equal(e.name, \"AbortError\");\n return e;\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@azure/app-configuration",
|
|
3
3
|
"author": "Microsoft Corporation",
|
|
4
4
|
"description": "An isomorphic client library for the Azure App Configuration service.",
|
|
5
|
-
"version": "1.4.1
|
|
5
|
+
"version": "1.4.1",
|
|
6
6
|
"sdk-type": "client",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"node",
|
|
@@ -92,14 +92,14 @@
|
|
|
92
92
|
"tslib": "^2.2.0"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
|
-
"@azure/dev-tool": "
|
|
96
|
-
"@azure/eslint-plugin-azure-sdk": "
|
|
95
|
+
"@azure/dev-tool": "^1.0.0",
|
|
96
|
+
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
|
|
97
97
|
"@azure/eventgrid": "^4.9.0",
|
|
98
98
|
"@azure/identity": "^2.0.1",
|
|
99
99
|
"@azure/keyvault-secrets": "^4.2.0",
|
|
100
100
|
"@azure-tools/test-credential": "^1.0.0",
|
|
101
101
|
"@azure-tools/test-recorder": "^3.0.0",
|
|
102
|
-
"@azure/test-utils": "
|
|
102
|
+
"@azure/test-utils": "^1.0.0",
|
|
103
103
|
"@microsoft/api-extractor": "^7.31.1",
|
|
104
104
|
"@types/chai": "^4.1.6",
|
|
105
105
|
"@types/mocha": "^7.0.2",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"rimraf": "^3.0.0",
|
|
128
128
|
"sinon": "^9.0.2",
|
|
129
129
|
"ts-node": "^10.0.0",
|
|
130
|
-
"typescript": "~
|
|
130
|
+
"typescript": "~5.0.0",
|
|
131
131
|
"uglify-js": "^3.4.9",
|
|
132
132
|
"uuid": "^8.3.0",
|
|
133
133
|
"cross-env": "^7.0.2"
|