Update all Pulumi dependencies to latest and fix deployment tsconfig.json (#541)

This commit is contained in:
Dotan Simha 2022-10-26 16:27:35 +09:00 committed by GitHub
parent 0e030f1406
commit 5773754785
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 171 additions and 295 deletions

View file

@ -445,6 +445,28 @@ jobs:
if: always()
run: cat integration-tests/*.log
pulumi-typecheck:
name: Pulumi Typecheck
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Install Node
uses: actions/setup-node@v2
with:
node-version-file: .node-version
- name: Install Dependencies
run: yarn --frozen-lockfile
working-directory: deployment
- name: Typecheck
run: yarn typecheck
working-directory: deployment
integration-tests-ff:
name: Integration Tests (with Feature Flags enabled)
runs-on: ubuntu-latest

View file

@ -53,7 +53,7 @@ const storageAccount = new azure.storage.Account(`hive${envName}`, {
accountReplicationType: 'LRS',
accountTier: 'Standard',
accountKind: 'StorageV2',
allowBlobPublicAccess: true,
publicNetworkAccessEnabled: true,
});
const storageContainer = new azure.storage.Container('deploy-artifacts', {

View file

@ -1,21 +1,20 @@
{
"name": "@hive/deployment",
"scripts": {
"test": "jest"
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@types/mime-types": "2.1.1",
"@types/node": "17.0.17",
"typescript": "4.7.4"
"@types/node": "18.11.5",
"typescript": "4.8.4"
},
"dependencies": {
"@manypkg/get-packages": "1.1.3",
"@pulumi/azure": "4.37.0",
"@pulumi/azure-native": "1.56.0",
"@pulumi/azure": "5.23.0",
"@pulumi/cloudflare": "4.12.1",
"@pulumi/kubernetes": "3.19.0",
"@pulumi/kubernetes": "3.22.0",
"@pulumi/kubernetesx": "0.1.6",
"@pulumi/pulumi": "3.43.1",
"@pulumi/pulumi": "3.44.1",
"@pulumi/random": "4.8.2",
"pg-connection-string": "2.5.0"
}

View file

@ -5,12 +5,14 @@
"target": "es2016",
"module": "commonjs",
"moduleResolution": "node",
"typeRoots": ["./node_modules/@types"],
"sourceMap": true,
"experimentalDecorators": true,
"pretty": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"forceConsistentCasingInFileNames": true
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true
},
"files": ["index.ts"]
"include": ["types.ts", "index.ts", "utils/*c*/*.ts", "services/**/*.ts"]
}

View file

@ -1,169 +0,0 @@
import * as pulumi from '@pulumi/pulumi';
import * as resources from '@pulumi/azure-native/resources';
import * as storage from '@pulumi/azure-native/storage';
import * as web from '@pulumi/azure-native/web';
import { tmpdir } from 'os';
import { mkdtempSync, copyFileSync, writeFileSync, mkdirSync, readFileSync } from 'fs';
import { join } from 'path';
import { createHash } from 'crypto';
function createFunctionFolder({
name,
functionDefinition,
functionFile,
}: {
name: string;
functionDefinition: Record<string, any>;
functionFile: string;
}) {
const hostDir = mkdtempSync(join(tmpdir(), Math.random().toString(16).slice(2)));
const fnDir = join(hostDir, name);
mkdirSync(fnDir);
writeFileSync(
join(hostDir, 'host.json'),
JSON.stringify(
{
version: '2.0',
},
null,
2
)
);
copyFileSync(functionFile, join(fnDir, 'index.js'));
writeFileSync(join(fnDir, 'function.json'), JSON.stringify(functionDefinition, null, 2));
return {
checksum: createHash('sha256')
.update(readFileSync(functionFile, 'utf-8'))
.update(JSON.stringify(functionDefinition))
.digest('hex'),
dir: hostDir,
};
}
export class AzureFunction {
constructor(
private config: {
name: string;
envName: string;
functionFile: string;
functionDefinition: Record<string, any>;
env: Record<string, string>;
}
) {}
deployAsJob() {
const resourceGroup = new resources.ResourceGroup(`hive-${this.config.envName}-fn-rg`);
const storageAccount = new storage.StorageAccount(`hive${this.config.envName}fn`, {
resourceGroupName: resourceGroup.name,
sku: {
name: storage.SkuName.Standard_LRS,
},
kind: storage.Kind.StorageV2,
});
const codeContainer = new storage.BlobContainer('functions', {
resourceGroupName: resourceGroup.name,
accountName: storageAccount.name,
});
const { dir, checksum } = createFunctionFolder({
name: this.config.name,
functionDefinition: this.config.functionDefinition,
functionFile: this.config.functionFile,
});
const codeBlob = new storage.Blob(this.config.name, {
resourceGroupName: resourceGroup.name,
accountName: storageAccount.name,
containerName: codeContainer.name,
source: new pulumi.asset.FileArchive(dir),
});
const plan = new web.AppServicePlan('plan', {
resourceGroupName: resourceGroup.name,
sku: {
name: 'Y1',
tier: 'Dynamic',
},
});
const storageConnectionString = getConnectionString(resourceGroup.name, storageAccount.name);
const codeBlobUrl = signedBlobReadUrl(codeBlob, codeContainer, storageAccount, resourceGroup);
const app = new web.WebApp(
`${this.config.name}-${this.config.envName}-fn`,
{
resourceGroupName: resourceGroup.name,
serverFarmId: plan.id,
kind: 'functionapp',
siteConfig: {
appSettings: [
{ name: 'AzureWebJobsStorage', value: storageConnectionString },
{ name: 'FUNCTIONS_EXTENSION_VERSION', value: '~3' },
{ name: 'FUNCTIONS_WORKER_RUNTIME', value: 'node' },
{ name: 'WEBSITE_NODE_DEFAULT_VERSION', value: '~16' },
{ name: 'WEBSITE_RUN_FROM_PACKAGE', value: codeBlobUrl },
{
name: 'FUNCTION_CHECKSUM',
value: checksum,
},
...Object.entries(this.config.env).map(([name, value]) => ({
name,
value,
})),
],
http20Enabled: true,
nodeVersion: '~16',
},
},
{
additionalSecretOutputs: [],
}
);
return {
endpoint: pulumi.interpolate`https://${app.defaultHostName}/api/index`,
};
}
}
function getConnectionString(
resourceGroupName: pulumi.Input<string>,
accountName: pulumi.Input<string>
): pulumi.Output<string> {
// Retrieve the primary storage account key.
const storageAccountKeys = storage.listStorageAccountKeysOutput({
resourceGroupName,
accountName,
});
const primaryStorageKey = storageAccountKeys.keys[0].value;
// Build the connection string to the storage account.
return pulumi.interpolate`DefaultEndpointsProtocol=https;AccountName=${accountName};AccountKey=${primaryStorageKey}`;
}
function signedBlobReadUrl(
blob: storage.Blob,
container: storage.BlobContainer,
account: storage.StorageAccount,
resourceGroup: resources.ResourceGroup
): pulumi.Output<string> {
const blobSAS = storage.listStorageAccountServiceSASOutput({
accountName: account.name,
protocols: storage.HttpProtocol.Https,
sharedAccessExpiryTime: '2030-01-01',
sharedAccessStartTime: '2021-01-01',
resourceGroupName: resourceGroup.name,
resource: storage.SignedResource.C,
permissions: storage.Permissions.R,
canonicalizedResource: pulumi.interpolate`/blob/${account.name}/${container.name}`,
contentType: 'application/json',
cacheControl: 'max-age=5',
contentDisposition: 'inline',
contentEncoding: 'deflate',
});
return pulumi.interpolate`https://${account.name}.blob.core.windows.net/${container.name}/${blob.name}?${blobSAS.serviceSasToken}`;
}

View file

@ -3,21 +3,21 @@ import * as pulumi from '@pulumi/pulumi';
export function serviceLocalEndpoint(service: k8s.types.input.core.v1.Service) {
return pulumi.all([service.metadata, service.spec]).apply(([metadata, spec]) => {
const defaultPort = (spec.ports || [])[0];
const defaultPort = (spec?.ports || [])[0];
const portText = defaultPort ? `:${defaultPort.port}` : '';
return `http://${metadata.name}.${metadata.namespace || 'default'}.svc.cluster.local${portText}`;
return `http://${metadata?.name}.${metadata?.namespace || 'default'}.svc.cluster.local${portText}`;
});
}
export function serviceLocalHost(service: k8s.types.input.core.v1.Service) {
return pulumi.all([service.metadata]).apply(([metadata]) => {
return `${metadata.name}.${metadata.namespace || 'default'}.svc.cluster.local`;
return `${metadata?.name}.${metadata?.namespace || 'default'}.svc.cluster.local`;
});
}
export function serviceLocalMetricsEndpoint(service: k8s.types.input.core.v1.Service) {
return pulumi.all([service.metadata]).apply(([metadata]) => {
return `${metadata.name}.${metadata.namespace || 'default'}.svc.cluster.local:10254/metrics`;
return `${metadata?.name}.${metadata?.namespace || 'default'}.svc.cluster.local:10254/metrics`;
});
}

View file

@ -17,11 +17,83 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.0.0"
"@azure/core-auth@^1.3.0", "@azure/core-auth@^1.4.0":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.4.0.tgz#6fa9661c1705857820dbc216df5ba5665ac36a9e"
integrity sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==
dependencies:
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
"@azure/core-client@^1.5.0":
version "1.6.1"
resolved "https://registry.yarnpkg.com/@azure/core-client/-/core-client-1.6.1.tgz#a1aad3f7c69b6e5d9dddb39fabaeba013eac9313"
integrity sha512-mZ1MSKhZBYoV8GAWceA+PEJFWV2VpdNSpxxcj1wjIAOi00ykRuIQChT99xlQGZWLY3/NApWhSImlFwsmCEs4vA==
dependencies:
"@azure/abort-controller" "^1.0.0"
"@azure/core-auth" "^1.4.0"
"@azure/core-rest-pipeline" "^1.9.1"
"@azure/core-tracing" "^1.0.0"
"@azure/core-util" "^1.0.0"
"@azure/logger" "^1.0.0"
tslib "^2.2.0"
"@azure/core-rest-pipeline@^1.1.0", "@azure/core-rest-pipeline@^1.9.1":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.9.2.tgz#47ee72ca96e2b82e3d1362c29fd7688dc7464527"
integrity sha512-8rXI6ircjenaLp+PkOFpo37tQ1PQfztZkfVj97BIF3RPxHAsoVSgkJtu3IK/bUEWcb7HzXSoyBe06M7ODRkRyw==
dependencies:
"@azure/abort-controller" "^1.0.0"
"@azure/core-auth" "^1.4.0"
"@azure/core-tracing" "^1.0.1"
"@azure/core-util" "^1.0.0"
"@azure/logger" "^1.0.0"
form-data "^4.0.0"
http-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.0"
tslib "^2.2.0"
uuid "^8.3.0"
"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
integrity sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==
dependencies:
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
"@azure/eventgrid@^4.6.0":
version "4.10.0"
resolved "https://registry.yarnpkg.com/@azure/eventgrid/-/eventgrid-4.10.0.tgz#e6dc3f3579da7bf55b61cded35201dbf90ddeea2"
integrity sha512-LKq2Hs8fib8kAe6rCebwISkMfk990it3VsJZWbSVxBxnEchtyabdAqERFRDXPN4yn6joNAeqhhrSxqWkxZwLyg==
dependencies:
"@azure/core-auth" "^1.3.0"
"@azure/core-client" "^1.5.0"
"@azure/core-rest-pipeline" "^1.1.0"
"@azure/core-tracing" "^1.0.0"
"@azure/logger" "^1.0.0"
tslib "^2.2.0"
uuid "^8.3.0"
"@azure/functions@=1.2.2":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@azure/functions/-/functions-1.2.2.tgz#8fcb6aa3a879d3be0dc3d68919f969b054bbe3f3"
integrity sha512-p/dDHq1sG/iAib+eDY4NxskWHoHW1WFzD85s0SfWxc2wVjJbxB0xz/zBF4s7ymjVgTu+0ceipeBk+tmpnt98oA==
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
integrity sha512-aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g==
dependencies:
tslib "^2.2.0"
"@azure/ms-rest-azure-env@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-env/-/ms-rest-azure-env-2.0.0.tgz#45809f89763a480924e21d3c620cd40866771625"
@ -297,25 +369,18 @@
resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
"@pulumi/azure-native@1.56.0":
version "1.56.0"
resolved "https://registry.yarnpkg.com/@pulumi/azure-native/-/azure-native-1.56.0.tgz#d72fad1e6358a7b33d69ca586e247bbbaf536bad"
integrity sha512-KXH/ORxEuCtcjJNRNPphzRytHJ4HWppjeeUV09SBm9ySlmKEGkHkMmOSzN22JIfECbXzF4IAYKCP36IAePTBDg==
dependencies:
"@pulumi/pulumi" "^3.0.0"
"@pulumi/azure@4.37.0":
version "4.37.0"
resolved "https://registry.yarnpkg.com/@pulumi/azure/-/azure-4.37.0.tgz#455ce5707b26e625ac286e4feb3003fa7163686f"
integrity sha512-R3UdFDxKBiKgVGnzlnaE7MbmAt4yxADyw8r5+7y/Ndvf5H0MULXgfY/5/w2/TimvzQGiLpeNu0k5B6pTMdje3w==
"@pulumi/azure@5.23.0":
version "5.23.0"
resolved "https://registry.yarnpkg.com/@pulumi/azure/-/azure-5.23.0.tgz#02759bb5d9e90b6956787be2fb92735ba349d558"
integrity sha512-lCeuIplp3y+5D/FlulN9xloCdd7fkikGQXlpEswwruA/PQl8sfsn7TD/F0qNDA2C79G/YlhKiFdbo81CTOjMDg==
dependencies:
"@azure/eventgrid" "^4.6.0"
"@azure/functions" "=1.2.2"
"@azure/ms-rest-azure-js" "^2.0.1"
"@azure/ms-rest-nodeauth" "^3.0.0"
"@pulumi/pulumi" "^3.0.0"
azure-eventgrid "^1.6.0"
azure-functions-ts-essentials "^1.3.2"
moment "2.24.0"
moment "2.29.4"
node-fetch "^2.3.0"
"@pulumi/cloudflare@4.12.1":
@ -325,12 +390,12 @@
dependencies:
"@pulumi/pulumi" "^3.0.0"
"@pulumi/kubernetes@3.19.0":
version "3.19.0"
resolved "https://registry.yarnpkg.com/@pulumi/kubernetes/-/kubernetes-3.19.0.tgz#1bff768daf2bf7464930103cb0d624b6ce1ae962"
integrity sha512-q592ItkHO0jS+dsZ4+4MlO7mqjAlD0Qvh8a9YGhchiVEZfpgYBk4oYe4PGAFVOOsYH4uR4BNag40gbHIJ7K8qw==
"@pulumi/kubernetes@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@pulumi/kubernetes/-/kubernetes-3.22.0.tgz#a50140dd03afb4750c5e44c4f1e647358078a146"
integrity sha512-+m4yILXE01jfsTrozPLtQ2W629voij52hUWMnghEKTMruQfN9Ez6asFPnmB4PjbdEKV2fx1mHuiz9CGqy76MMg==
dependencies:
"@pulumi/pulumi" "^3.0.0"
"@pulumi/pulumi" "^3.25.0"
"@types/glob" "^5.0.35"
"@types/node-fetch" "^2.1.4"
"@types/tmp" "^0.0.33"
@ -344,10 +409,10 @@
resolved "https://registry.npmjs.org/@pulumi/kubernetesx/-/kubernetesx-0.1.6.tgz#61518ae6a7d37c17998561b8d5290546815bad1d"
integrity sha512-9VL4Yi4b4aLC/obBarJuNkm86kABByUZICYPSTdV396MGZtOc066o2brsB+kWVQcVfkYVXTPrpjIkAwBXXnzGw==
"@pulumi/pulumi@3.43.1":
version "3.43.1"
resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.43.1.tgz#8796065ee73443aa0fc93885a08200e24c8f48c3"
integrity sha512-Dmr7xJXvzMRURLBMCtI0MLy5yQm0THQdPrKF7ShOvVDQMCWNWP3oicDyOtQzAP3ue5YVnQBxjZ5fnUffQdHpMg==
"@pulumi/pulumi@3.44.1", "@pulumi/pulumi@^3.25.0":
version "3.44.1"
resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.44.1.tgz#471f91fa3cf4fe181e3522eaab7f6362e674aaf4"
integrity sha512-y/cl6FKGqfcaAwHtVgdGfNh0cvYGluwCZjKHmkc1lZ0ETM+5QnXY9nKhfjw3nAgXoN89Qyqp8kB1mOUudIyxEw==
dependencies:
"@grpc/grpc-js" "~1.3.8"
"@logdna/tail-file" "^2.0.6"
@ -407,6 +472,11 @@
dependencies:
"@pulumi/pulumi" "^3.0.0"
"@tootallnate/once@2":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
"@types/events@*":
version "3.0.0"
resolved "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@ -449,10 +519,10 @@
resolved "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz#90c5c4a8d72bbbfe53033f122341343249183448"
integrity sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==
"@types/node@17.0.17":
version "17.0.17"
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz#a8ddf6e0c2341718d74ee3dc413a13a042c45a0c"
integrity sha512-e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==
"@types/node@18.11.5":
version "18.11.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.5.tgz#1bc94cf2f9ab5fe33353bc7c79c797dcc5325bef"
integrity sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==
"@types/node@^12.7.1":
version "12.20.42"
@ -559,13 +629,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
async@2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
integrity sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==
dependencies:
lodash "^4.14.0"
async@>=0.6.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
@ -586,14 +649,6 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
azure-eventgrid@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/azure-eventgrid/-/azure-eventgrid-1.6.0.tgz#c9b75bbdb3bb4a57963c329e9301b6129c2fa160"
integrity sha512-MZ84z3NEbRCdqNY0d2C+7PVq6mzNfCw38XLIqRdSNSn6V/rV+HstlgrqvN4vZzxXVhhlzUhYAvl13U5jvvu7LQ==
dependencies:
ms-rest "^2.3.3"
ms-rest-azure "^2.5.5"
azure-functions-ts-essentials@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/azure-functions-ts-essentials/-/azure-functions-ts-essentials-1.3.2.tgz#a0917842ef700125411289e0c5c2f04e0d961d7c"
@ -748,11 +803,6 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
duplexer@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@ -910,6 +960,15 @@ form-data@^3.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
form-data@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@ -1090,6 +1149,15 @@ hosted-git-info@^2.1.4:
resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
dependencies:
"@tootallnate/once" "2"
agent-base "6"
debug "4"
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
@ -1152,11 +1220,6 @@ is-boolean-object@^1.1.0:
dependencies:
call-bind "^1.0.0"
is-buffer@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-callable@^1.1.4, is-callable@^1.2.3:
version "1.2.3"
resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
@ -1216,11 +1279,6 @@ is-regex@^1.1.2:
call-bind "^1.0.2"
has-symbols "^1.0.1"
is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
@ -1351,11 +1409,6 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
lodash@^4.14.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
long@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
@ -1437,41 +1490,10 @@ module-details-from-path@^1.0.3:
resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
moment@2.24.0:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
moment@^2.21.0, moment@^2.22.2:
version "2.29.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
ms-rest-azure@^2.5.5:
version "2.6.0"
resolved "https://registry.yarnpkg.com/ms-rest-azure/-/ms-rest-azure-2.6.0.tgz#2098efec529eecfa0c6e215b69143abcaba12140"
integrity sha512-J6386a9krZ4VtU7CRt+Ypgo9RGf8+d3gjMBkH7zbkM4zzkhbbMOYiPRaZ+bHZcfihkKLlktTgA6rjshTjF329A==
dependencies:
adal-node "^0.1.28"
async "2.6.0"
moment "^2.22.2"
ms-rest "^2.3.2"
request "^2.88.0"
uuid "^3.2.1"
ms-rest@^2.3.2, ms-rest@^2.3.3:
version "2.5.4"
resolved "https://registry.yarnpkg.com/ms-rest/-/ms-rest-2.5.4.tgz#57b42299cf302e45d5e1a734220bf7d4a110167a"
integrity sha512-VeqCbawxRM6nhw0RKNfj7TWL7SL8PB6MypqwgylXCi+u412uvYoyY/kSmO8n06wyd8nIcnTbYToCmSKFMI1mCg==
dependencies:
duplexer "^0.1.1"
is-buffer "^1.1.6"
is-stream "^1.1.0"
moment "^2.21.0"
request "^2.88.0"
through "^2.3.8"
tunnel "0.0.5"
uuid "^3.2.1"
moment@2.29.4:
version "2.29.4"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
ms@2.1.2:
version "2.1.2"
@ -1724,7 +1746,7 @@ regenerator-runtime@^0.13.4:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
"request@>= 2.52.0", request@^2.88.0:
"request@>= 2.52.0":
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@ -1973,11 +1995,6 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
through@^2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@ -2033,6 +2050,11 @@ tslib@^2.0.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
tslib@^2.2.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@ -2040,11 +2062,6 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
tunnel@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.5.tgz#d1532254749ed36620fcd1010865495a1fa9d0ae"
integrity sha512-gj5sdqherx4VZKMcBA4vewER7zdK25Td+z1npBqpbDys4eJrLx+SlYjJvq1bDXs2irkuJM5pf8ktaEQVipkrbA==
tunnel@0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
@ -2055,10 +2072,10 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
typescript@4.7.4:
version "4.7.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
typescript@4.8.4:
version "4.8.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
typescript@~3.7.3:
version "3.7.7"
@ -2114,11 +2131,16 @@ util-promisify@^2.1.0:
dependencies:
object.getownpropertydescriptors "^2.0.3"
uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2:
uuid@^3.1.0, uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
uuid@^8.3.0:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"