diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..b048bcc --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,50 @@ +version: 2.1 + +jobs: + publish-image: + docker: + - image: cimg/aws:2023.01 + environment: + CODEARTIFACT_ENV: PROD + ECR_ENV: QA + SERVICE_NAME: "anticorruption-layer" + OUT_DIR: "buildscripts" + steps: + - checkout + - setup_remote_docker: + docker_layer_caching: true + - run: + name: "Setup deploy scripts" + command: | + git clone -b v1.4 https://github.com/topcoder-platform/tc-deploy-scripts ../${OUT_DIR} + cp ./../${OUT_DIR}/awsconfiguration.sh . + - run: + name: "Authenticate with AWS CodeArtifact and Build Docker Image" + command: | + ./awsconfiguration.sh ${CODEARTIFACT_ENV} + source awsenvconf + aws codeartifact login --tool npm --repository topcoder-framework --domain topcoder --domain-owner $AWS_ACCOUNT_ID --region $AWS_REGION --namespace @topcoder-framework + cp ~/.npmrc . + rm -f awsenvconf + docker build -t ${SERVICE_NAME}:${CIRCLE_SHA1} . + - run: + name: "Set AWS environment variables" + command: | + ./awsconfiguration.sh ${ECR_ENV} + - run: + name: "Publish docker image" + command: | + source awsenvconf + aws ecr get-login-password | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com + docker tag ${SERVICE_NAME}:${CIRCLE_SHA1} $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/${SERVICE_NAME}:${CIRCLE_SHA1} + docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/${SERVICE_NAME}:${CIRCLE_SHA1} + +workflows: + version: 2 + publish: + jobs: + - "publish-image": + context: "org-global" + filters: + branches: + only: "feature/circleci-setup" diff --git a/Dockerfile b/Dockerfile index edf85cc..2c5562f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,27 @@ -FROM node:18.11.0-alpine3.16 as ts-compile -WORKDIR /usr/tc-acl +FROM node:18.14.1-alpine3.17 as ts-compile +WORKDIR /usr/anticorruption-layer +COPY yarn*.lock ./ COPY package*.json ./ COPY tsconfig*.json ./ -RUN npm install +COPY .npmrc ./ +RUN yarn install --frozen-lockfile --production=false COPY . ./ -RUN npm run build:app +RUN yarn build:app -FROM node:18.11.0-alpine3.16 as ts-remove -WORKDIR /usr/tc-acl -COPY --from=ts-compile /usr/tc-acl/package*.json ./ -COPY --from=ts-compile /usr/tc-acl/dist ./ -RUN npm install --omit=dev +FROM node:18.14.1-alpine3.17 as ts-remove +WORKDIR /usr/anticorruption-layer +COPY --from=ts-compile /usr/anticorruption-layer/yarn*.lock ./ +COPY --from=ts-compile /usr/anticorruption-layer/package*.json ./ +COPY --from=ts-compile /usr/anticorruption-layer/dist ./ +COPY --from=ts-compile /usr/anticorruption-layer/.npmrc ./ +RUN yarn install --frozen-lockfile --production=false FROM gcr.io/distroless/nodejs:18 -WORKDIR /usr/tc-acl -COPY --from=ts-remove /usr/tc-acl ./ +WORKDIR /usr/anticorruption-layer +COPY --from=ts-remove /usr/anticorruption-layer ./ USER 1000 +ENV GRPC_SERVER_PORT=40020 +ENV GRPC_SERVER_HOST=localhost +ENV GRPC_RDB_SERVER_HOST=localhost +ENV GRPC_RDB_SERVER_PORT=9090 CMD ["server.js"] - - diff --git a/package.json b/package.json index 9215999..e4e8b33 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "license": "ISC", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@topcoder-framework/client-relational": "v0.4.23-ci.0", - "@topcoder-framework/lib-common": "^0.4.24-ci.0", + "@topcoder-framework/client-relational": "^0.4.3", + "@topcoder-framework/lib-common": "^0.4.3", "dayjs": "^1.11.5", "dotenv": "^16.0.3", "grpc-server-reflection": "^0.1.5", @@ -28,21 +28,21 @@ "uuidv4": "^6.2.13" }, "devDependencies": { - "@types/lodash": "^4.14.186", - "@types/node": "18.11.18", - "ts-node-dev": "^2.0.0", - "ts-proto": "^1.126.1", - "typescript": "^4.9.4", "@commitlint/cli": "^17.3.0", "@commitlint/config-conventional": "^17.3.0", "@commitlint/config-lerna-scopes": "^17.2.1", + "@types/lodash": "^4.14.186", + "@types/node": "18.11.18", "@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/parser": "^5.47.1", "commitlint": "^17.3.0", "eslint": "^8.30.0", - "prettier": "^2.8.1", "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.2.1" + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.1", + "ts-node-dev": "^2.0.0", + "ts-proto": "^1.126.1", + "typescript": "^4.9.4" }, "volta": { "node": "18.13.0", diff --git a/src/common/Util.ts b/src/common/Util.ts index d41c391..b6aaa1c 100644 --- a/src/common/Util.ts +++ b/src/common/Util.ts @@ -1,4 +1,6 @@ +import { Row, Value as RelationalValue } from "@topcoder-framework/client-relational"; import { Operator, ScanCriteria, Value } from "@topcoder-framework/lib-common"; +import _ from "lodash"; export class Util { public static toScanCriteria(criteria: { [key: string]: any }): ScanCriteria[] { @@ -11,4 +13,76 @@ export class Util { } as ScanCriteria) ); } + + public static toIntValue(val: number): RelationalValue { + return { + value: { + $case: "intValue", + intValue: val, + }, + }; + } + + public static toFloatValue(val: number): RelationalValue { + return { + value: { + $case: "floatValue", + floatValue: val, + }, + }; + } + + public static toStringValue(val: string): RelationalValue { + return { + value: { + $case: "stringValue", + stringValue: val, + }, + }; + } + + public static toDatetimeValue(val: string): RelationalValue { + return { + value: { + $case: "datetimeValue", + datetimeValue: val, + }, + }; + } + + public static parseRow(row: Row): any { + const obj: any = {}; + for (const key of Object.keys(row.values)) { + if (row.values[key].value?.$case) { + obj[_.camelCase(key)] = _.get(row.values[key].value, row.values[key].value!.$case); + } + } + return obj; + } + + public static formatDate(str: string | undefined) { + if (str == null || str.length == 0) { + return undefined; + } + try { + let date = new Date(str); + let year = date.getFullYear(); + let month = (date.getMonth() + 1).toString().padStart(2, "0"); + let day = date.getDate().toString().padStart(2, "0"); + let hours = date.getHours().toString().padStart(2, "0"); + let minutes = date.getMinutes().toString().padStart(2, "0"); + let seconds = date.getSeconds().toString().padStart(2, "0"); + let milliseconds = date.getMilliseconds().toString().padStart(3, "0"); + + return ( + [year, month, day].join("-") + + " " + + [hours, minutes, seconds].join(":") + + "." + + milliseconds + ); + } catch { + return undefined; + } + } } diff --git a/src/helper/ChallengeHelper.ts b/src/helper/ChallengeHelper.ts index b76f8bd..8e6e197 100644 --- a/src/helper/ChallengeHelper.ts +++ b/src/helper/ChallengeHelper.ts @@ -1,4 +1,5 @@ import { Query, QueryBuilder } from "@topcoder-framework/client-relational"; +import { Util } from "../common/Util"; import { ObserverResourceInfoToAdd, ResourceInfoTypeIds } from "../config/constants"; import { CreateChallengeInput_Phase, @@ -11,7 +12,6 @@ import { ProjectPhaseSchema } from "../schema/project/ProjectPhase"; import { PrizeSchema } from "../schema/project_payment/Prize"; import { ResourceSchema } from "../schema/resource/Resource"; import { ResourceInfoSchema } from "../schema/resource/ResourceInfo"; -import Util from "./Util"; class ChallengeHelper { public getChallengeCreateQuery( diff --git a/src/helper/util.ts b/src/helper/util.ts deleted file mode 100644 index 71727ee..0000000 --- a/src/helper/util.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { Row, Value } from "@topcoder-framework/client-relational"; -import _ from "lodash"; - -class Util { - public toIntValue(val: number): Value { - return { - value: { - $case: "intValue", - intValue: val, - }, - }; - } - - public toFloatValue(val: number): Value { - return { - value: { - $case: "floatValue", - floatValue: val, - }, - }; - } - - public toStringValue(val: string): Value { - return { - value: { - $case: "stringValue", - stringValue: val, - }, - }; - } - - public toDatetimeValue(val: string): Value { - return { - value: { - $case: "datetimeValue", - datetimeValue: val, - }, - }; - } - - public parseRow(row: Row): any { - const obj: any = {}; - for (const key of Object.keys(row.values)) { - if (row.values[key].value?.$case) { - obj[_.camelCase(key)] = _.get(row.values[key].value, row.values[key].value!.$case); - } - } - return obj; - } - - public formatDate(str: string | undefined) { - if (str == null || str.length == 0) { - return undefined; - } - try { - let date = new Date(str); - let year = date.getFullYear(); - let month = (date.getMonth() + 1).toString().padStart(2, "0"); - let day = date.getDate().toString().padStart(2, "0"); - let hours = date.getHours().toString().padStart(2, "0"); - let minutes = date.getMinutes().toString().padStart(2, "0"); - let seconds = date.getSeconds().toString().padStart(2, "0"); - let milliseconds = date.getMilliseconds().toString().padStart(3, "0"); - - return ( - [year, month, day].join("-") + - " " + - [hours, minutes, seconds].join(":") + - "." + - milliseconds - ); - } catch { - return undefined; - } - } -} - -export default new Util(); diff --git a/yarn.lock b/yarn.lock index 77d7be5..cc2ca61 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,16 +23,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@commitlint/cli@^17.3.0", "@commitlint/cli@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.3.tgz#49583a7946b4030e7e6d9caafac44307835fb05e" - integrity sha512-IPTS7AZuBHgD0gl24El8HwuDM9zJN9JLa5KmZUQoFD1BQeGGdzAYJOnAr85CeJWpTDok0BGHDL0+4odnH0iTyA== - dependencies: - "@commitlint/format" "^17.4.0" - "@commitlint/lint" "^17.4.3" - "@commitlint/load" "^17.4.2" - "@commitlint/read" "^17.4.2" - "@commitlint/types" "^17.4.0" +"@commitlint/cli@^17.3.0", "@commitlint/cli@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.4.tgz#36df08bfa31dbb9a2b6b1d7187a31e578f001a06" + integrity sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g== + dependencies: + "@commitlint/format" "^17.4.4" + "@commitlint/lint" "^17.4.4" + "@commitlint/load" "^17.4.4" + "@commitlint/read" "^17.4.4" + "@commitlint/types" "^17.4.4" execa "^5.0.0" lodash.isfunction "^3.0.9" resolve-from "5.0.0" @@ -40,9 +40,9 @@ yargs "^17.0.0" "@commitlint/config-conventional@^17.3.0": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.3.tgz#c732d29181c3a4d5f65b01a7bb5989edd5c470cf" - integrity sha512-8EsY2iDw74hCk3hIQSg7/E0R8/KtPjnFPZVwmmHxcjhZjkSykmxysefICPDnbI3xgxfov0zwL1WKDHM8zglJdw== + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.4.tgz#f30b1e5b2e48ce5799a483c200c52f218a98efcc" + integrity sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ== dependencies: conventional-changelog-conventionalcommits "^5.0.0" @@ -56,20 +56,20 @@ resolve-pkg "2.0.0" semver "7.3.8" -"@commitlint/config-validator@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.0.tgz#2cb229672a22476cf1f21bedbfcd788e5da5b54f" - integrity sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA== +"@commitlint/config-validator@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.4.tgz#d0742705719559a101d2ee49c0c514044af6d64d" + integrity sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" ajv "^8.11.0" -"@commitlint/ensure@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.0.tgz#3de65768bfccb9956ec3a0ecd8a415421bf315e5" - integrity sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw== +"@commitlint/ensure@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.4.tgz#a36e7719bdb9c2b86c8b8c2e852b463a7bfda5fa" + integrity sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" lodash.snakecase "^4.1.1" @@ -81,41 +81,41 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== -"@commitlint/format@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.0.tgz#1c80cf3a6274ff9b3d3c0dd150a97882d557aa0f" - integrity sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA== +"@commitlint/format@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.4.tgz#0f6e1b4d7a301c7b1dfd4b6334edd97fc050b9f5" + integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" chalk "^4.1.0" -"@commitlint/is-ignored@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.2.tgz#2d40a34e071c3e595e485fafe8460457a7b7af9d" - integrity sha512-1b2Y2qJ6n7bHG9K6h8S4lBGUl6kc7mMhJN9gy1SQfUZqe92ToDjUTtgNWb6LbzR1X8Cq4SEus4VU8Z/riEa94Q== +"@commitlint/is-ignored@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.4.tgz#82e03f1abe2de2c0c8c162a250b8d466225e922b" + integrity sha512-Y3eo1SFJ2JQDik4rWkBC4tlRIxlXEFrRWxcyrzb1PUT2k3kZ/XGNuCDfk/u0bU2/yS0tOA/mTjFsV+C4qyACHw== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" semver "7.3.8" -"@commitlint/lint@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.3.tgz#20be03992b33edd26ba8d07e210c08173069371e" - integrity sha512-GnPsqEYmXIB/MaBhRMzkiDJWyjuLrKad4xoxKO4N6Kc19iqjR4DPc/bl2dxeW9kUmtrAtefOzIEzJAevpA5y2w== +"@commitlint/lint@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.4.tgz#0ecd70b44ec5f4823c2e00e0c4b04ebd41d42856" + integrity sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw== dependencies: - "@commitlint/is-ignored" "^17.4.2" - "@commitlint/parse" "^17.4.2" - "@commitlint/rules" "^17.4.3" - "@commitlint/types" "^17.4.0" + "@commitlint/is-ignored" "^17.4.4" + "@commitlint/parse" "^17.4.4" + "@commitlint/rules" "^17.4.4" + "@commitlint/types" "^17.4.4" -"@commitlint/load@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.2.tgz#551875c3e1dce6dc0375dc9c8ad551de8ba35de4" - integrity sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw== +"@commitlint/load@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.4.tgz#13fcb553572f265339801cde6dd10ee5eea07f5e" + integrity sha512-z6uFIQ7wfKX5FGBe1AkOF4l/ShOQsaa1ml/nLMkbW7R/xF8galGS7Zh0yHvzVp/srtfS0brC+0bUfQfmpMPFVQ== dependencies: - "@commitlint/config-validator" "^17.4.0" + "@commitlint/config-validator" "^17.4.4" "@commitlint/execute-rule" "^17.4.0" - "@commitlint/resolve-extends" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/resolve-extends" "^17.4.4" + "@commitlint/types" "^17.4.4" "@types/node" "*" chalk "^4.1.0" cosmiconfig "^8.0.0" @@ -132,47 +132,47 @@ resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== -"@commitlint/parse@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.2.tgz#b0f8a257a1f93387a497408b0b4cadba60ee3359" - integrity sha512-DK4EwqhxfXpyCA+UH8TBRIAXAfmmX4q9QRBz/2h9F9sI91yt6mltTrL6TKURMcjUVmgaB80wgS9QybNIyVBIJA== +"@commitlint/parse@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.4.tgz#8311b12f2b730de6ea0679ae2a37b386bcc5b04b" + integrity sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/read@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.2.tgz#4880a05271fb44cefa54d365a17d5753496a6de0" - integrity sha512-hasYOdbhEg+W4hi0InmXHxtD/1favB4WdwyFxs1eOy/DvMw6+2IZBmATgGOlqhahsypk4kChhxjAFJAZ2F+JBg== +"@commitlint/read@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.4.tgz#de6ec00aad827764153009aa54517e3df2154555" + integrity sha512-B2TvUMJKK+Svzs6eji23WXsRJ8PAD+orI44lVuVNsm5zmI7O8RSGJMvdEZEikiA4Vohfb+HevaPoWZ7PiFZ3zA== dependencies: "@commitlint/top-level" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" fs-extra "^11.0.0" git-raw-commits "^2.0.0" minimist "^1.2.6" -"@commitlint/resolve-extends@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.0.tgz#9023da6c70c4ebd173b4b0995fe29f27051da2d3" - integrity sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ== +"@commitlint/resolve-extends@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz#8f931467dea8c43b9fe38373e303f7c220de6fdc" + integrity sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A== dependencies: - "@commitlint/config-validator" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/config-validator" "^17.4.4" + "@commitlint/types" "^17.4.4" import-fresh "^3.0.0" lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.3.tgz#e5e7bf472102447a283b7643ca7240d757a72bb7" - integrity sha512-xHReDfE3Z+O9p1sXeEhPRSk4FifBsC4EbXzvQ4aa0ykQe+n/iZDd4CrFC/Oiv2K9BU4ZnFHak30IbMLa4ks1Rw== +"@commitlint/rules@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.4.tgz#9b33f41e5eb529f916396bac7c62e61f0edd6791" + integrity sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ== dependencies: - "@commitlint/ensure" "^17.4.0" + "@commitlint/ensure" "^17.4.4" "@commitlint/message" "^17.4.2" "@commitlint/to-lines" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" execa "^5.0.0" "@commitlint/to-lines@^17.4.0": @@ -187,10 +187,10 @@ dependencies: find-up "^5.0.0" -"@commitlint/types@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.0.tgz#c7c2b97b959f6175c164632bf26208ce417b3f31" - integrity sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA== +"@commitlint/types@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" + integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== dependencies: chalk "^4.1.0" @@ -217,17 +217,17 @@ strip-json-comments "^3.1.1" "@grpc/grpc-js@^1.7.1", "@grpc/grpc-js@^1.8.0": - version "1.8.8" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.8.8.tgz#a7c6765d0302f47ba67c0ce3cb79718d6b028248" - integrity sha512-4gfDqMLXTrorvYTKA1jL22zLvVwiHJ73t6Re1OHwdCFRjdGTDOVtSJuaWhtHaivyeDGg0LeCkmU77MTKoV3wPA== + version "1.8.9" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.8.9.tgz#84e9167dc80b0c3a98608e14b839458bf0df684d" + integrity sha512-xzsl2HamhovnZddS/2pMF4Q+FgwINaBvxoFGQ+G54Lo7Xsge36VvfDO/TDkL7FofmrRK/X5weRvwlJh7rKwN4w== dependencies: "@grpc/proto-loader" "^0.7.0" "@types/node" ">=12.12.47" "@grpc/proto-loader@^0.7.0": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.4.tgz#4946a84fbf47c3ddd4e6a97acb79d69a9f47ebf2" - integrity sha512-MnWjkGwqQ3W8fx94/c1CwqLsNmHHv2t0CFn+9++6+cDphC1lolpg9M2OU0iebIjK//pBNX9e94ho+gjx6vz39w== + version "0.7.5" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.5.tgz#ee9e7488fa585dc6b0f7fe88cd39723a3e64c906" + integrity sha512-mfcTuMbFowq1wh/Rn5KQl6qb95M21Prej3bewD9dUQMurYGVckGO/Pbe2Ocwto6sD05b/mxZLspvqwx60xO2Rg== dependencies: "@types/long" "^4.0.1" lodash.camelcase "^4.3.0" @@ -346,24 +346,24 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@topcoder-framework/client-relational@v0.4.23-ci.0": - version "0.4.1-ci.0" - resolved "http://localhost:4873/@topcoder-framework%2fclient-relational/-/client-relational-0.4.1-ci.0.tgz#8d24d9e92b34eaddffc7291d723e02e3420b0518" - integrity sha512-p9m3QoQKj0w8PMkD8h2rNdhLAJjfeSFu3/lC2dgDhT2ncmthIofQZgIExeXfgoXE7RyFiKeb5pkhur3SAwxIFQ== +"@topcoder-framework/client-relational@^0.4.3": + version "0.4.3" + resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/client-relational/-/client-relational-0.4.3.tgz#c36aa64e117b23ceddc81d648d6568b6a31af44f" + integrity sha512-N39BneVhIgB5TWAQRFeMBiQzFS2YnGcx3BBI/sfvnD0V1EC8+4GK26PytYy+JVPm9EzF0dceKX4UGA+luUD2gQ== dependencies: "@grpc/grpc-js" "^1.8.0" - "@topcoder-framework/lib-common" "0.4.1-ci.0" - topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.14" + "@topcoder-framework/lib-common" "^0.4.3" + topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.17" tslib "^2.4.1" -"@topcoder-framework/lib-common@0.4.1-ci.0", "@topcoder-framework/lib-common@^0.4.24-ci.0": - version "0.4.1-ci.0" - resolved "http://localhost:4873/@topcoder-framework%2flib-common/-/lib-common-0.4.1-ci.0.tgz#b9f41e8514fcfef31cd12fbdcf78d4a6fbf5223a" - integrity sha512-W/Zf6lizs/SOT4g8bXUSqavEB/qJMAYQILe7msOFs/eBmFfD5gHawtwXRxaTuxPUgY2LeybHAnjOS39XtDgjWA== +"@topcoder-framework/lib-common@^0.4.3": + version "0.4.3" + resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/lib-common/-/lib-common-0.4.3.tgz#3c992482860ec89f151235d24c9efa2be55e30ba" + integrity sha512-0eB6l146r+uSuHoLV7wPC58mZedAabLwkqDeeuh6h5dB0G+esYNBfbr1Hugim0lR8q0Rlny0aqx4ysz2Rf6Ebg== dependencies: "@grpc/grpc-js" "^1.8.0" rimraf "^3.0.2" - topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.14" + topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.17" tslib "^2.4.1" "@tsconfig/node10@^1.0.7": @@ -407,9 +407,9 @@ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "18.13.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" - integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== + version "18.14.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" + integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== "@types/node@18.11.18": version "18.11.18" @@ -447,13 +447,13 @@ integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@typescript-eslint/eslint-plugin@^5.47.1": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a" - integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ== + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" + integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/type-utils" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/type-utils" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -463,71 +463,71 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5.47.1": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" - integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" + integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" - integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ== +"@typescript-eslint/scope-manager@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" + integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988" - integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ== +"@typescript-eslint/type-utils@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" + integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== dependencies: - "@typescript-eslint/typescript-estree" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" - integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== +"@typescript-eslint/types@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" + integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== -"@typescript-eslint/typescript-estree@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" - integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA== +"@typescript-eslint/typescript-estree@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" + integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47" - integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw== +"@typescript-eslint/utils@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" + integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" - integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ== +"@typescript-eslint/visitor-keys@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" + integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== dependencies: - "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -761,12 +761,12 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== commitlint@^17.3.0: - version "17.4.3" - resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-17.4.3.tgz#10fc4140fc8a46bbeb7aa0e7367b08534efb9928" - integrity sha512-3MGkngRG3x3KY5uKWxgyKK7WU5apelorn4jeJsu8aCotuaoPXYtZX8Ym7a/ZzB19UUuWADnKWVTWBePvweu3aA== + version "17.4.4" + resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-17.4.4.tgz#884031ff5be10cc7a508f6f214e95543f9a2e020" + integrity sha512-trjD7/aJ3FyCMNRhP27QorPjvlE9m0AIlLKcusS6r8aDaDJQ8/MQMmANMv3LvjVx1SKy1MTSF0/oUw3T3If/EA== dependencies: - "@commitlint/cli" "^17.4.3" - "@commitlint/types" "^17.4.0" + "@commitlint/cli" "^17.4.4" + "@commitlint/types" "^17.4.4" compare-func@^2.0.0: version "2.0.0" @@ -1056,9 +1056,9 @@ espree@^9.4.0: eslint-visitor-keys "^3.3.0" esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + version "1.4.2" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" + integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== dependencies: estraverse "^5.1.0" @@ -2253,13 +2253,9 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.13": - version "1.0.0" - resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/ec60de2e97774b279a95f03c1b4e5ece05644a15" - -"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.14": +"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.17": version "1.0.0" - resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/e654e805f0073b0a7de25e08f2aec0aa005bbb15" + resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/59d8fca8a16906d1a45bfa2f11bba73ce42388d4" tree-kill@^1.2.2: version "1.2.2" @@ -2501,9 +2497,9 @@ yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^17.0.0: - version "17.6.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" - integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== + version "17.7.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.0.tgz#b21e9af1e0a619a2a9c67b1133219b2975a07985" + integrity sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ== dependencies: cliui "^8.0.1" escalade "^3.1.1"