diff --git a/packages/agents/lighthouse/package.json b/packages/agents/lighthouse/package.json index 0ff235729e..4d38b87b30 100644 --- a/packages/agents/lighthouse/package.json +++ b/packages/agents/lighthouse/package.json @@ -32,6 +32,7 @@ "@connext/nxtp-adapters-subgraph": "workspace:*", "@connext/nxtp-txservice": "workspace:*", "@connext/nxtp-utils": "workspace:*", + "@consensys/linea-sdk": "0.1.6", "@eth-optimism/sdk": "2.1.0", "@sinclair/typebox": "0.25.21", "@types/aws-lambda": "8.10.110", diff --git a/packages/agents/lighthouse/src/mockable.ts b/packages/agents/lighthouse/src/mockable.ts index c4360c6c95..2c778bd9d2 100644 --- a/packages/agents/lighthouse/src/mockable.ts +++ b/packages/agents/lighthouse/src/mockable.ts @@ -7,6 +7,7 @@ import { sendWithRelayerWithBackup as _sendWithRelayerWithBackup } from "@connex import { EventFetcher as _EventFetcher, L2TransactionReceipt as _L2TransactionReceipt } from "@arbitrum/sdk"; import { L1ToL2MessageGasEstimator } from "@arbitrum/sdk/dist/lib/message/L1ToL2MessageGasEstimator"; import { getBaseFee as _getBaseFee } from "@arbitrum/sdk/dist/lib/utils/lib"; +import { LineaSDK as _LineaSDK } from "@consensys/linea-sdk"; import { RollupUserLogic__factory as _RollupUserLogic__factory, Outbox__factory as _Outbox__factory, @@ -43,6 +44,8 @@ export const JsonRpcProvider = providers.JsonRpcProvider; export const ZkSyncWeb3Provider = zk.Provider; +export const LineaSDK = _LineaSDK; + export const encodePropagate = (abi: any[], args: any[]): string => { const encodedData = new utils.Interface(abi as string[]).encodeFunctionData("propagate", args); return encodedData; diff --git a/packages/agents/lighthouse/src/tasks/propagate/helpers/linea.ts b/packages/agents/lighthouse/src/tasks/propagate/helpers/linea.ts index 5ff5a5adda..89af788207 100644 --- a/packages/agents/lighthouse/src/tasks/propagate/helpers/linea.ts +++ b/packages/agents/lighthouse/src/tasks/propagate/helpers/linea.ts @@ -1,17 +1,19 @@ import { createLoggingContext, RequestContext } from "@connext/nxtp-utils"; -import { utils } from "ethers"; +import { BigNumber } from "ethers"; +import { LineaSDK, getBestProvider } from "../../../mockable"; import { getContext } from "../propagate"; import { ExtraPropagateParam } from "../operations/propagate"; +import { NoProviderForDomain } from "../errors"; -// example at https://github.com/OffchainLabs/arbitrum-tutorials/blob/master/packages/greeter/scripts/exec.js +// https://docs.linea.build/use-mainnet/bridges-of-linea#manual-vs-automatic-claiming export const getPropagateParams = async ( l2domain: string, l2ChainId: number, l1ChainId: number, _requestContext: RequestContext, ): Promise => { - const { logger } = getContext(); + const { config, logger } = getContext(); const { methodContext, requestContext } = createLoggingContext(getPropagateParams.name, _requestContext); logger.info("Getting propagate params for Linea", requestContext, methodContext, { l2domain, @@ -19,8 +21,36 @@ export const getPropagateParams = async ( l2ChainId, }); - // the additional optional "postman" fee = 0 currently - const _fee = utils.parseEther("0").toString(); + const l2RpcUrl = await getBestProvider(config.chains[l2domain]?.providers ?? []); + if (!l2RpcUrl) { + throw new NoProviderForDomain(l2domain, requestContext, methodContext); + } + const l1RpcUrl = await getBestProvider(config.chains[config.hubDomain]?.providers ?? []); + if (!l1RpcUrl) { + throw new NoProviderForDomain(config.hubDomain, requestContext, methodContext); + } + + // Postman Fee = target layer gas price * (gas estimated + gas limit surplus) * margin + // where target layer gas price is eth_gasPrice on the target layer, gas estimated = 100,000, gas limit surplus = 6000, and margin = 2. + const sdk = new LineaSDK({ + l1RpcUrl: l1RpcUrl, // L1 rpc url + l2RpcUrl: l2RpcUrl, // L2 rpc url + network: config.network === "mainnet" ? "linea-mainnet" : "linea-goerli", // network you want to interact with (either linea-mainnet or linea-goerli) + mode: "read-only", // contract wrapper class mode (read-only or read-write), read-only: only read contracts state, read-write: read contracts state and claim messages + }); + const gasPrice = (await sdk.getL2Contract().get1559Fees()).maxFeePerGas; + + // On linea-goerli claimMessage gasLimit was 83717 + // https://goerli.lineascan.build/tx/0x4c477dfcbc22cd99b461cfe714a6ad60796331d3c13e55a74a6de51c3cd9aab6 + const gasLimit = BigNumber.from("120000"); + + const _fee = gasPrice.mul(gasLimit).toString(); + + logger.info("Got propagate params for Linea", requestContext, methodContext, { + gasPrice: gasPrice.toString(), + gasLimit: gasLimit.toString(), + fee: _fee.toString(), + }); return { _connector: "", _fee, _encodedData: "0x" }; }; diff --git a/packages/agents/lighthouse/test/tasks/propagate/helpers/linea.spec.ts b/packages/agents/lighthouse/test/tasks/propagate/helpers/linea.spec.ts new file mode 100644 index 0000000000..a153d803c0 --- /dev/null +++ b/packages/agents/lighthouse/test/tasks/propagate/helpers/linea.spec.ts @@ -0,0 +1,56 @@ +import { createRequestContext, expect, mkAddress } from "@connext/nxtp-utils"; +import { SinonStub, stub, createStubInstance, SinonStubbedInstance } from "sinon"; +import { NoProviderForDomain } from "../../../../src/tasks/propagate/errors"; + +import { getPropagateParams } from "../../../../src/tasks/propagate/helpers/linea"; +import * as Mockable from "../../../../src/mockable"; +import { getBestProviderMock, propagateCtxMock } from "../../../globalTestHook"; +import { mock } from "../../../mock"; +import { BigNumber } from "ethers"; + +const requestContext = createRequestContext("test"); + +let getL2Contract: SinonStub; + +class MockLineaSDK { + public getL2Contract = getL2Contract; +} + +describe("Helpers: Linea", () => { + describe("#getPropagateParams", () => { + beforeEach(() => { + stub(Mockable, "LineaSDK").value(MockLineaSDK); + getL2Contract = stub().returns({ + get1559Fees: stub().resolves({ + maxFeePerGas: BigNumber.from(10), + maxPriorityFeePerGas: BigNumber.from(1), + }), + } as any); + }); + + it("should throw an error if no provider for spoke domain", async () => { + delete propagateCtxMock.config.chains[mock.domain.B]; + getBestProviderMock.resolves(undefined); + await expect( + getPropagateParams(mock.domain.B, +mock.chain.B, +mock.chain.A, requestContext), + ).to.eventually.be.rejectedWith(NoProviderForDomain); + }); + + it("should throw an error if no provider for hub domain", async () => { + delete propagateCtxMock.config.chains[mock.domain.A]; + getBestProviderMock.resolves(undefined); + await expect( + getPropagateParams(mock.domain.B, +mock.chain.B, +mock.chain.A, requestContext), + ).to.eventually.be.rejectedWith(NoProviderForDomain); + }); + + it("should return necessary data successfully", async () => { + const data = await getPropagateParams(mock.domain.B, +mock.chain.B, +mock.chain.A, requestContext); + expect(data).to.deep.eq({ + _connector: "", + _fee: BigNumber.from(10).mul(BigNumber.from(120000)).toString(), + _encodedData: "0x", + }); + }); + }); +}); diff --git a/packages/deployments/contracts/hardhat.config.ts b/packages/deployments/contracts/hardhat.config.ts index 39253ed0e4..6ea8c7aa6f 100644 --- a/packages/deployments/contracts/hardhat.config.ts +++ b/packages/deployments/contracts/hardhat.config.ts @@ -63,6 +63,7 @@ import "./tasks/bumpTransfer"; import "./tasks/rootmanager/enrollAdminConnector"; import "./tasks/connector/addSpokeRootToAggregate"; import "./tasks/connector/wormholeDeliver"; +import "./tasks/connector/claimLinea"; import { hardhatNetworks } from "./src/config"; tdly.setup({ diff --git a/packages/deployments/contracts/package.json b/packages/deployments/contracts/package.json index d965eb8df6..b15ef8bbaf 100644 --- a/packages/deployments/contracts/package.json +++ b/packages/deployments/contracts/package.json @@ -53,6 +53,7 @@ "@arbitrum/sdk": "3.1.3", "@certusone/wormhole-sdk": "0.9.21", "@connext/nxtp-utils": "workspace:*", + "@consensys/linea-sdk": "^0.1.6", "@gelatonetwork/relay-context": "2.1.0", "@matterlabs/hardhat-zksync-deploy": "0.6.3", "@matterlabs/hardhat-zksync-solc": "0.3.17", diff --git a/packages/deployments/contracts/tasks/connector/claimLinea.ts b/packages/deployments/contracts/tasks/connector/claimLinea.ts new file mode 100644 index 0000000000..a910ffb006 --- /dev/null +++ b/packages/deployments/contracts/tasks/connector/claimLinea.ts @@ -0,0 +1,79 @@ +import { Wallet } from "ethers"; +import { task } from "hardhat/config"; +import { LineaSDK } from "@consensys/linea-sdk"; + +import { Env, getMessagingProtocolConfig, mustGetEnv, ProtocolNetwork } from "../../src/utils"; + +import { getProviderUrlFromHardhatConfig } from "../../src"; + +type TaskArgs = { + hash: string; + networkType?: ProtocolNetwork; + env?: Env; +}; + +export default task("claim-linea", "Claim messages on both of L1 and L2") + .addParam("hash", "The transaction hash of the message sent. network should be origin side.") + .addOptionalParam("env", "Environment of contracts") + .addOptionalParam("networkType", "Type of network of contracts") + .setAction(async ({ hash, networkType: _networkType, env: _env }: TaskArgs, hre) => { + const deployer = Wallet.fromMnemonic(process.env.MNEMONIC!); + + const env = mustGetEnv(_env); + const networkType = _networkType ?? ProtocolNetwork.TESTNET; + console.log("networkType: ", networkType); + console.log("env:", env); + console.log("transaction hash", hash); + console.log("deployer", deployer.address); + + // get config + const protocolConfig = getMessagingProtocolConfig(networkType); + const hub = protocolConfig.hub; + const chainId = hre.network.config.chainId!; + + // Right now this only works on arbitrum, error if that is not the correct network + if (chainId != hub && protocolConfig.configs[chainId].prefix != "Linea") { + throw new Error(`Only linea / linea goerli supported`); + } + + const spoke = hub == 1 ? 59144 : 59140; + const sdk = new LineaSDK({ + l1RpcUrl: getProviderUrlFromHardhatConfig(hub), // L1 rpc url + l2RpcUrl: getProviderUrlFromHardhatConfig(spoke), // L2 rpc url + l1SignerPrivateKey: deployer.privateKey ?? "", // L1 account private key (optional if you use mode = read-only) + l2SignerPrivateKey: deployer.privateKey ?? "", // L2 account private key (optional if you use mode = read-only) + network: hub == 1 ? "linea-mainnet" : "linea-goerli", // network you want to interact with (either linea-mainnet or linea-goerli) + mode: "read-write", // contract wrapper class mode (read-only or read-write), read-only: only read contracts state, read-write: read contracts state and claim messages + }); + + // get L1/L2 contract + const originContract = chainId == hub ? sdk.getL1Contract() : sdk.getL2Contract(); + + // get Message Status + const messages = await originContract.getMessagesByTransactionHash(hash); + + if (!messages?.length) { + throw new Error(`${hash} has no message sent`); + } + console.log("message: ", messages[0]); + + const destContract = chainId == hub ? sdk.getL2Contract() : sdk.getL1Contract(); + + // returns on-chain message status by message hash + const messageStatus = await destContract.getMessageStatus(messages[0].messageHash); + console.log("message status: ", messageStatus); + + if (messageStatus === "CLAIMED") { + console.log("message already claimed!! skipping..."); + } else if (messageStatus === "CLAIMABLE") { + console.log("Claimable message status. "); + let claimMessage = await destContract.claim({ + // claims message by message + ...messages[0], + feeRecipient: deployer.address, // address that will receive fees. by default it is the message sender + }); + console.log(claimMessage); + } else { + console.log("unknown message status. skipping..."); + } + }); diff --git a/yarn.lock b/yarn.lock index dc9afe44fa..d199612cc9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2043,6 +2043,13 @@ __metadata: languageName: node linkType: hard +"@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": + version: 1.6.0 + resolution: "@colors/colors@npm:1.6.0" + checksum: aa209963e0c3218e80a4a20553ba8c0fbb6fa13140540b4e5f97923790be06801fc90172c1114fc8b7e888b3d012b67298cde6b9e81521361becfaee400c662f + languageName: node + linkType: hard + "@commitlint/cli@npm:^17.6.3": version: 17.7.1 resolution: "@commitlint/cli@npm:17.7.1" @@ -2365,6 +2372,7 @@ __metadata: "@connext/nxtp-adapters-subgraph": "workspace:*" "@connext/nxtp-txservice": "workspace:*" "@connext/nxtp-utils": "workspace:*" + "@consensys/linea-sdk": 0.1.6 "@eth-optimism/sdk": 2.1.0 "@graphql-codegen/cli": 3.0.0 "@sinclair/typebox": 0.25.21 @@ -2877,6 +2885,7 @@ __metadata: "@arbitrum/sdk": 3.1.3 "@certusone/wormhole-sdk": 0.9.21 "@connext/nxtp-utils": "workspace:*" + "@consensys/linea-sdk": ^0.1.6 "@eth-optimism/sdk": 2.1.0 "@gelatonetwork/relay-context": 2.1.0 "@matterlabs/hardhat-zksync-deploy": 0.6.3 @@ -2923,6 +2932,27 @@ __metadata: languageName: unknown linkType: soft +"@consensys/linea-sdk@npm:0.1.6, @consensys/linea-sdk@npm:^0.1.6": + version: 0.1.6 + resolution: "@consensys/linea-sdk@npm:0.1.6" + dependencies: + "@enzoferey/ethers-error-parser": ^0.2.3 + "@ethersproject/address": ^5.7.0 + "@ethersproject/contracts": ^5.7.0 + "@ethersproject/providers": ^5.7.2 + better-sqlite3: ^8.4.0 + class-validator: ^0.14.0 + dotenv: ^16.1.4 + ethers: ^5.7.2 + pg: ^8.11.0 + reflect-metadata: ^0.1.13 + typeorm: ^0.3.16 + typeorm-naming-strategies: ^4.1.0 + winston: ^3.9.0 + checksum: 545bbe2cd2fff6aeb06c04fd6210fdd09da7d1f4c7e7bf11cdaea2b437473c157fe25922239c31a3efc54803a858f88eea390833184ab094d10c01b0b92725a5 + languageName: node + linkType: hard + "@coral-xyz/borsh@npm:0.2.6": version: 0.2.6 resolution: "@coral-xyz/borsh@npm:0.2.6" @@ -3119,6 +3149,17 @@ __metadata: languageName: node linkType: hard +"@dabh/diagnostics@npm:^2.0.2": + version: 2.0.3 + resolution: "@dabh/diagnostics@npm:2.0.3" + dependencies: + colorspace: 1.1.x + enabled: 2.0.x + kuler: ^2.0.0 + checksum: 4879600c55c8315a0fb85fbb19057bad1adc08f0a080a8cb4e2b63f723c379bfc4283b68123a2b078d367b327dd8df12fcb27464efe791addc0a48b9df6d79a1 + languageName: node + linkType: hard + "@datadog/native-appsec@npm:2.0.0": version: 2.0.0 resolution: "@datadog/native-appsec@npm:2.0.0" @@ -3310,6 +3351,15 @@ __metadata: languageName: node linkType: hard +"@enzoferey/ethers-error-parser@npm:^0.2.3": + version: 0.2.3 + resolution: "@enzoferey/ethers-error-parser@npm:0.2.3" + peerDependencies: + ethers: ^5.7.0 + checksum: cae3e284da043b61ce78a3a7a30bc76d6b2096e1e0dd13b793b821d6c4e82e1ce29b368ec679bb7adb55e3d4aaa65309ebd0a9671784ee83b0d1b2c1e7af3fd7 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -7515,6 +7565,13 @@ __metadata: languageName: node linkType: hard +"@sqltools/formatter@npm:^1.2.5": + version: 1.2.5 + resolution: "@sqltools/formatter@npm:1.2.5" + checksum: 9b8354e715467d660daa5afe044860b5686bbb1a5cb67a60866b932effafbf5e8b429f19a8ae67cd412065a4f067161f227e182f3664a0245339d5eb1e26e355 + languageName: node + linkType: hard + "@suchipi/femver@npm:^1.0.0": version: 1.0.0 resolution: "@suchipi/femver@npm:1.0.0" @@ -8449,6 +8506,13 @@ __metadata: languageName: node linkType: hard +"@types/triple-beam@npm:^1.3.2": + version: 1.3.4 + resolution: "@types/triple-beam@npm:1.3.4" + checksum: 869641358164a9b87aec710e046c11a65803b7dc3545f33c3365df9590d1059c70592bb35a7fc4099fa746f112ab5a207881ba9fb570e9b1dea4ffd89761d804 + languageName: node + linkType: hard + "@types/unist@npm:^2.0.0": version: 2.0.8 resolution: "@types/unist@npm:2.0.8" @@ -8456,6 +8520,13 @@ __metadata: languageName: node linkType: hard +"@types/validator@npm:^13.7.10": + version: 13.11.5 + resolution: "@types/validator@npm:13.11.5" + checksum: 30b48b4171e0e812e1d5c47dba3a218e1adc30ad024e58e6911d8ed1e381e5db689154c09318c561b8c3b7ca047c1da2b0ac602bf802fd27c9b3773fa2f98099 + languageName: node + linkType: hard + "@types/ws@npm:^7.4.4": version: 7.4.7 resolution: "@types/ws@npm:7.4.7" @@ -9881,6 +9952,13 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de + languageName: node + linkType: hard + "any-signal@npm:^2.1.2": version: 2.1.2 resolution: "any-signal@npm:2.1.2" @@ -9934,6 +10012,13 @@ __metadata: languageName: node linkType: hard +"app-root-path@npm:^3.1.0": + version: 3.1.0 + resolution: "app-root-path@npm:3.1.0" + checksum: e3db3957aee197143a0f6c75e39fe89b19e7244f28b4f2944f7276a9c526d2a7ab2d115b4b2d70a51a65a9a3ca17506690e5b36f75a068a7e5a13f8c092389ba + languageName: node + linkType: hard + "append-transform@npm:^2.0.0": version: 2.0.0 resolution: "append-transform@npm:2.0.0" @@ -11395,6 +11480,17 @@ __metadata: languageName: node linkType: hard +"better-sqlite3@npm:^8.4.0": + version: 8.7.0 + resolution: "better-sqlite3@npm:8.7.0" + dependencies: + bindings: ^1.5.0 + node-gyp: latest + prebuild-install: ^7.1.1 + checksum: f1fa38a9a0e4fcd59ececb67c60371b9638d29c19ce9af034421e8a56c9a77e799bb1411b1c3cb08bb9678e15dfb8985553a9ef4098cf5558e7207a3e019f211 + languageName: node + linkType: hard + "big-integer@npm:1.6.36": version: 1.6.36 resolution: "big-integer@npm:1.6.36" @@ -12799,6 +12895,17 @@ __metadata: languageName: node linkType: hard +"class-validator@npm:^0.14.0": + version: 0.14.0 + resolution: "class-validator@npm:0.14.0" + dependencies: + "@types/validator": ^13.7.10 + libphonenumber-js: ^1.10.14 + validator: ^13.7.0 + checksum: f62e4a0ad24cee68f4b2bc70d32b96de90cb598f96bde362b4dbf4234151af8eb6ae225458312a38fc49fa3959844cf61c60e731a8205e9a570454cff8de2710 + languageName: node + linkType: hard + "classic-level@npm:^1.2.0": version: 1.3.0 resolution: "classic-level@npm:1.3.0" @@ -12847,6 +12954,22 @@ __metadata: languageName: node linkType: hard +"cli-highlight@npm:^2.1.11": + version: 2.1.11 + resolution: "cli-highlight@npm:2.1.11" + dependencies: + chalk: ^4.0.0 + highlight.js: ^10.7.1 + mz: ^2.4.0 + parse5: ^5.1.1 + parse5-htmlparser2-tree-adapter: ^6.0.0 + yargs: ^16.0.0 + bin: + highlight: bin/highlight + checksum: 0a60e60545e39efea78c1732a25b91692017ec40fb6e9497208dc0eeeae69991d3923a8d6e4edd0543db3c395ed14529a33dd4d0353f1679c5b6dded792a8496 + languageName: node + linkType: hard + "cli-progress@npm:^3.12.0": version: 3.12.0 resolution: "cli-progress@npm:3.12.0" @@ -13051,7 +13174,7 @@ __metadata: languageName: node linkType: hard -"color-convert@npm:^1.9.0": +"color-convert@npm:^1.9.0, color-convert@npm:^1.9.3": version: 1.9.3 resolution: "color-convert@npm:1.9.3" dependencies: @@ -13076,13 +13199,23 @@ __metadata: languageName: node linkType: hard -"color-name@npm:^1.1.4, color-name@npm:~1.1.4": +"color-name@npm:^1.0.0, color-name@npm:^1.1.4, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 languageName: node linkType: hard +"color-string@npm:^1.6.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" + dependencies: + color-name: ^1.0.0 + simple-swizzle: ^0.2.2 + checksum: c13fe7cff7885f603f49105827d621ce87f4571d78ba28ef4a3f1a104304748f620615e6bf065ecd2145d0d9dad83a3553f52bb25ede7239d18e9f81622f1cc5 + languageName: node + linkType: hard + "color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" @@ -13099,6 +13232,16 @@ __metadata: languageName: node linkType: hard +"color@npm:^3.1.3": + version: 3.2.1 + resolution: "color@npm:3.2.1" + dependencies: + color-convert: ^1.9.3 + color-string: ^1.6.0 + checksum: f81220e8b774d35865c2561be921f5652117638dcda7ca4029262046e37fc2444ac7bbfdd110cf1fd9c074a4ee5eda8f85944ffbdda26186b602dd9bb05f6400 + languageName: node + linkType: hard + "colorette@npm:^2.0.16, colorette@npm:^2.0.7": version: 2.0.20 resolution: "colorette@npm:2.0.20" @@ -13113,6 +13256,16 @@ __metadata: languageName: node linkType: hard +"colorspace@npm:1.1.x": + version: 1.1.4 + resolution: "colorspace@npm:1.1.4" + dependencies: + color: ^3.1.3 + text-hex: 1.0.x + checksum: bb3934ef3c417e961e6d03d7ca60ea6e175947029bfadfcdb65109b01881a1c0ecf9c2b0b59abcd0ee4a0d7c1eae93beed01b0e65848936472270a0b341ebce8 + languageName: node + linkType: hard + "combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" @@ -13881,7 +14034,7 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.29.1": +"date-fns@npm:^2.29.1, date-fns@npm:^2.29.3": version: 2.30.0 resolution: "date-fns@npm:2.30.0" dependencies: @@ -14094,7 +14247,7 @@ __metadata: languageName: node linkType: hard -"deep-extend@npm:~0.6.0": +"deep-extend@npm:^0.6.0, deep-extend@npm:~0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 @@ -14343,6 +14496,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0": + version: 2.0.2 + resolution: "detect-libc@npm:2.0.2" + checksum: 2b2cd3649b83d576f4be7cc37eb3b1815c79969c8b1a03a40a4d55d83bc74d010753485753448eacb98784abf22f7dbd3911fd3b60e29fda28fed2d1a997944d + languageName: node + linkType: hard + "detect-node-es@npm:^1.1.0": version: 1.1.0 resolution: "detect-node-es@npm:1.1.0" @@ -14645,7 +14805,7 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.0, dotenv@npm:^16.0.3": +"dotenv@npm:^16.0.0, dotenv@npm:^16.0.3, dotenv@npm:^16.1.4": version: 16.3.1 resolution: "dotenv@npm:16.3.1" checksum: 15d75e7279018f4bafd0ee9706593dd14455ddb71b3bcba9c52574460b7ccaf67d5cf8b2c08a5af1a9da6db36c956a04a1192b101ee102a3e0cf8817bbcf3dfd @@ -14843,6 +15003,13 @@ __metadata: languageName: node linkType: hard +"enabled@npm:2.0.x": + version: 2.0.0 + resolution: "enabled@npm:2.0.0" + checksum: 9d256d89f4e8a46ff988c6a79b22fa814b4ffd82826c4fdacd9b42e9b9465709d3b748866d0ab4d442dfc6002d81de7f7b384146ccd1681f6a7f868d2acca063 + languageName: node + linkType: hard + "encode-utf8@npm:^1.0.2": version: 1.0.3 resolution: "encode-utf8@npm:1.0.3" @@ -16375,6 +16542,13 @@ __metadata: languageName: node linkType: hard +"expand-template@npm:^2.0.3": + version: 2.0.3 + resolution: "expand-template@npm:2.0.3" + checksum: 588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -16744,6 +16918,13 @@ __metadata: languageName: node linkType: hard +"fecha@npm:^4.2.0": + version: 4.2.3 + resolution: "fecha@npm:4.2.3" + checksum: f94e2fb3acf5a7754165d04549460d3ae6c34830394d20c552197e3e000035d69732d74af04b9bed3283bf29fe2a9ebdcc0085e640b0be3cc3658b9726265e31 + languageName: node + linkType: hard + "fengari-interop@npm:^0.1.3": version: 0.1.3 resolution: "fengari-interop@npm:0.1.3" @@ -17107,6 +17288,13 @@ __metadata: languageName: node linkType: hard +"fn.name@npm:1.x.x": + version: 1.1.0 + resolution: "fn.name@npm:1.1.0" + checksum: e357144f48cfc9a7f52a82bbc6c23df7c8de639fce049cac41d41d62cabb740cdb9f14eddc6485e29c933104455bdd7a69bb14a9012cef9cd4fa252a4d0cf293 + languageName: node + linkType: hard + "focus-lock@npm:^0.11.6": version: 0.11.6 resolution: "focus-lock@npm:0.11.6" @@ -17762,6 +17950,13 @@ __metadata: languageName: node linkType: hard +"github-from-package@npm:0.0.0": + version: 0.0.0 + resolution: "github-from-package@npm:0.0.0" + checksum: 14e448192a35c1e42efee94c9d01a10f42fe790375891a24b25261246ce9336ab9df5d274585aedd4568f7922246c2a78b8a8cd2571bfe99c693a9718e7dd0e3 + languageName: node + linkType: hard + "glob-base@npm:^0.3.0": version: 0.3.0 resolution: "glob-base@npm:0.3.0" @@ -17917,7 +18112,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.0": +"glob@npm:^8.0.0, glob@npm:^8.1.0": version: 8.1.0 resolution: "glob@npm:8.1.0" dependencies: @@ -18817,6 +19012,13 @@ __metadata: languageName: node linkType: hard +"highlight.js@npm:^10.7.1": + version: 10.7.3 + resolution: "highlight.js@npm:10.7.3" + checksum: defeafcd546b535d710d8efb8e650af9e3b369ef53e28c3dc7893eacfe263200bba4c5fcf43524ae66d5c0c296b1af0870523ceae3e3104d24b7abf6374a4fea + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -19282,7 +19484,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.4, ini@npm:^1.3.5": +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -19721,6 +19923,13 @@ __metadata: languageName: node linkType: hard +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 977e64f54d91c8f169b59afcd80ff19227e9f5c791fa28fa2e5bce355cbaf6c2c356711b734656e80c9dd4a854dd7efcf7894402f1031dfc5de5d620775b4d5f + languageName: node + linkType: hard + "is-bigint@npm:^1.0.1": version: 1.0.4 resolution: "is-bigint@npm:1.0.4" @@ -21266,6 +21475,13 @@ __metadata: languageName: node linkType: hard +"kuler@npm:^2.0.0": + version: 2.0.0 + resolution: "kuler@npm:2.0.0" + checksum: 9e10b5a1659f9ed8761d38df3c35effabffbd19fc6107324095238e4ef0ff044392cae9ac64a1c2dda26e532426485342226b93806bd97504b174b0dcf04ed81 + languageName: node + linkType: hard + "lcid@npm:^1.0.0": version: 1.0.0 resolution: "lcid@npm:1.0.0" @@ -21565,6 +21781,13 @@ __metadata: languageName: node linkType: hard +"libphonenumber-js@npm:^1.10.14": + version: 1.10.49 + resolution: "libphonenumber-js@npm:1.10.49" + checksum: 596b4ed05fbf8c99f384cda802e6afb111accdaf96f9baf2a3ac32c885602583f3e9cba4c4475c3922e9c4f79c63bcdf7e592666b7e14b258cad26f34f51c2e0 + languageName: node + linkType: hard + "libsodium-wrappers@npm:^0.7.6": version: 0.7.13 resolution: "libsodium-wrappers@npm:0.7.13" @@ -22043,6 +22266,20 @@ __metadata: languageName: node linkType: hard +"logform@npm:^2.3.2, logform@npm:^2.4.0": + version: 2.6.0 + resolution: "logform@npm:2.6.0" + dependencies: + "@colors/colors": 1.6.0 + "@types/triple-beam": ^1.3.2 + fecha: ^4.2.0 + ms: ^2.1.1 + safe-stable-stringify: ^2.3.1 + triple-beam: ^1.3.0 + checksum: b9ea74bb75e55379ad0eb3e4d65ae6e8d02bc45b431c218162878bf663997ab9258a73104c2b30e09dd2db288bb83c8bf8748e46689d75f5e7e34cf69378d6df + languageName: node + linkType: hard + "loglevel@npm:^1.8.0": version: 1.8.1 resolution: "loglevel@npm:1.8.1" @@ -22979,7 +23216,7 @@ __metadata: languageName: node linkType: hard -"mkdirp-classic@npm:^0.5.2": +"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": version: 0.5.3 resolution: "mkdirp-classic@npm:0.5.3" checksum: 3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac @@ -23035,6 +23272,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^2.1.3": + version: 2.1.6 + resolution: "mkdirp@npm:2.1.6" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 8a1d09ffac585e55f41c54f445051f5bc33a7de99b952bb04c576cafdf1a67bb4bae8cb93736f7da6838771fbf75bc630430a3a59e1252047d2278690bd150ee + languageName: node + linkType: hard + "mnemonist@npm:0.39.5": version: 0.39.5 resolution: "mnemonist@npm:0.39.5" @@ -23352,6 +23598,17 @@ __metadata: languageName: node linkType: hard +"mz@npm:^2.4.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: ^1.0.0 + object-assign: ^4.0.1 + thenify-all: ^1.0.0 + checksum: 8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 + languageName: node + linkType: hard + "nan@npm:2.14.0": version: 2.14.0 resolution: "nan@npm:2.14.0" @@ -23414,6 +23671,13 @@ __metadata: languageName: node linkType: hard +"napi-build-utils@npm:^1.0.1": + version: 1.0.2 + resolution: "napi-build-utils@npm:1.0.2" + checksum: 06c14271ee966e108d55ae109f340976a9556c8603e888037145d6522726aebe89dd0c861b4b83947feaf6d39e79e08817559e8693deedc2c94e82c5cbd090c7 + languageName: node + linkType: hard + "napi-macros@npm:^2.2.2": version: 2.2.2 resolution: "napi-macros@npm:2.2.2" @@ -23607,6 +23871,15 @@ __metadata: languageName: node linkType: hard +"node-abi@npm:^3.3.0": + version: 3.51.0 + resolution: "node-abi@npm:3.51.0" + dependencies: + semver: ^7.3.5 + checksum: 3fabc9d58f0478767157560249f79c4a9e95082b96700cd8cc470f517bd566dbab82a37c862db3f78d3187be9f19f5cd9822b6f1b7ac7a3254fa70c3e3b38a83 + languageName: node + linkType: hard + "node-abort-controller@npm:^3.0.1": version: 3.1.1 resolution: "node-abort-controller@npm:3.1.1" @@ -24028,7 +24301,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4, object-assign@npm:^4.0.0, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.0.0, object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -24224,6 +24497,15 @@ __metadata: languageName: node linkType: hard +"one-time@npm:^1.0.0": + version: 1.0.0 + resolution: "one-time@npm:1.0.0" + dependencies: + fn.name: 1.x.x + checksum: fd008d7e992bdec1c67f53a2f9b46381ee12a9b8c309f88b21f0223546003fb47e8ad7c1fd5843751920a8d276c63bd4b45670ef80c61fb3e07dbccc962b5c7d + languageName: node + linkType: hard + "onetime@npm:^2.0.0": version: 2.0.1 resolution: "onetime@npm:2.0.1" @@ -24707,6 +24989,29 @@ __metadata: languageName: node linkType: hard +"parse5-htmlparser2-tree-adapter@npm:^6.0.0": + version: 6.0.1 + resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" + dependencies: + parse5: ^6.0.1 + checksum: 1848378b355d027915645c13f13f982e60502d201f53bc2067a508bf2dba4aac08219fc781dcd160167f5f50f0c73f58d20fa4fb3d90ee46762c20234fa90a6d + languageName: node + linkType: hard + +"parse5@npm:^5.1.1": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 613a714af4c1101d1cb9f7cece2558e35b9ae8a0c03518223a4a1e35494624d9a9ad5fad4c13eab66a0e0adccd9aa3d522fc8f5f9cc19789e0579f3fa0bdfc65 + languageName: node + linkType: hard + +"parse5@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + "parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -24956,7 +25261,14 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:^2.5.0": +"pg-cloudflare@npm:^1.1.1": + version: 1.1.1 + resolution: "pg-cloudflare@npm:1.1.1" + checksum: 32aac06b5dc4588bbf78801b6267781bc7e13be672009df949d08e9627ba9fdc26924916665d4de99d47f9b0495301930547488dad889d826856976c7b3f3731 + languageName: node + linkType: hard + +"pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2": version: 2.6.2 resolution: "pg-connection-string@npm:2.6.2" checksum: 22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5 @@ -24970,7 +25282,7 @@ __metadata: languageName: node linkType: hard -"pg-pool@npm:^3.5.2": +"pg-pool@npm:^3.5.2, pg-pool@npm:^3.6.1": version: 3.6.1 resolution: "pg-pool@npm:3.6.1" peerDependencies: @@ -25019,6 +25331,30 @@ __metadata: languageName: node linkType: hard +"pg@npm:^8.11.0": + version: 8.11.3 + resolution: "pg@npm:8.11.3" + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-cloudflare: ^1.1.1 + pg-connection-string: ^2.6.2 + pg-pool: ^3.6.1 + pg-protocol: ^1.6.0 + pg-types: ^2.1.0 + pgpass: 1.x + peerDependencies: + pg-native: ">=3.0.1" + dependenciesMeta: + pg-cloudflare: + optional: true + peerDependenciesMeta: + pg-native: + optional: true + checksum: 8af9468b8969fa0d73a6b349216c8cbc953d938fcae5594f2d24043060e9226a072c8085fc4230172b5576fcab4c39c8563c655f271dc2a9209b6ad5370cafe5 + languageName: node + linkType: hard + "pgpass@npm:1.x": version: 1.0.5 resolution: "pgpass@npm:1.0.5" @@ -25368,6 +25704,28 @@ __metadata: languageName: node linkType: hard +"prebuild-install@npm:^7.1.1": + version: 7.1.1 + resolution: "prebuild-install@npm:7.1.1" + dependencies: + detect-libc: ^2.0.0 + expand-template: ^2.0.3 + github-from-package: 0.0.0 + minimist: ^1.2.3 + mkdirp-classic: ^0.5.3 + napi-build-utils: ^1.0.1 + node-abi: ^3.3.0 + pump: ^3.0.0 + rc: ^1.2.7 + simple-get: ^4.0.0 + tar-fs: ^2.0.0 + tunnel-agent: ^0.6.0 + bin: + prebuild-install: bin.js + checksum: dbf96d0146b6b5827fc8f67f72074d2e19c69628b9a7a0a17d0fad1bf37e9f06922896972e074197fc00a52eae912993e6ef5a0d471652f561df5cb516f3f467 + languageName: node + linkType: hard + "precond@npm:0.2": version: 0.2.3 resolution: "precond@npm:0.2.3" @@ -26005,6 +26363,20 @@ __metadata: languageName: node linkType: hard +"rc@npm:^1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e + languageName: node + linkType: hard + "react-clientside-effect@npm:^1.2.6": version: 1.2.6 resolution: "react-clientside-effect@npm:1.2.6" @@ -26435,6 +26807,13 @@ __metadata: languageName: node linkType: hard +"reflect-metadata@npm:^0.1.13": + version: 0.1.13 + resolution: "reflect-metadata@npm:0.1.13" + checksum: 798d379a7b6f6455501145419505c97dd11cbc23857a386add2b9ef15963ccf15a48d9d15507afe01d4cd74116df8a213247200bac00320bd7c11ddeaa5e8fb4 + languageName: node + linkType: hard + "regenerate@npm:^1.2.1": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -27777,6 +28156,26 @@ __metadata: languageName: node linkType: hard +"simple-get@npm:^4.0.0": + version: 4.0.1 + resolution: "simple-get@npm:4.0.1" + dependencies: + decompress-response: ^6.0.0 + once: ^1.3.1 + simple-concat: ^1.0.0 + checksum: e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e + languageName: node + linkType: hard + +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: ^0.3.1 + checksum: a7f3f2ab5c76c4472d5c578df892e857323e452d9f392e1b5cf74b74db66e6294a1e1b8b390b519fa1b96b5b613f2a37db6cffef52c3f1f8f3c5ea64eb2d54c0 + languageName: node + linkType: hard + "simple-update-notifier@npm:^1.0.7": version: 1.1.0 resolution: "simple-update-notifier@npm:1.1.0" @@ -28383,6 +28782,13 @@ __metadata: languageName: node linkType: hard +"stack-trace@npm:0.0.x": + version: 0.0.10 + resolution: "stack-trace@npm:0.0.10" + checksum: 473036ad32f8c00e889613153d6454f9be0536d430eb2358ca51cad6b95cea08a3cc33cc0e34de66b0dad221582b08ed2e61ef8e13f4087ab690f388362d6610 + languageName: node + linkType: hard + "stacktrace-parser@npm:^0.1.10": version: 0.1.10 resolution: "stacktrace-parser@npm:0.1.10" @@ -28741,7 +29147,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:2.0.1, strip-json-comments@npm:^2.0.1": +"strip-json-comments@npm:2.0.1, strip-json-comments@npm:^2.0.1, strip-json-comments@npm:~2.0.1": version: 2.0.1 resolution: "strip-json-comments@npm:2.0.1" checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 @@ -29060,6 +29466,18 @@ __metadata: languageName: node linkType: hard +"tar-fs@npm:^2.0.0": + version: 2.1.1 + resolution: "tar-fs@npm:2.1.1" + dependencies: + chownr: ^1.1.1 + mkdirp-classic: ^0.5.2 + pump: ^3.0.0 + tar-stream: ^2.1.4 + checksum: f5b9a70059f5b2969e65f037b4e4da2daf0fa762d3d232ffd96e819e3f94665dbbbe62f76f084f1acb4dbdcce16c6e4dac08d12ffc6d24b8d76720f4d9cf032d + languageName: node + linkType: hard + "tar-fs@npm:~1.16.3": version: 1.16.3 resolution: "tar-fs@npm:1.16.3" @@ -29099,7 +29517,7 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:^2.0.0": +"tar-stream@npm:^2.0.0, tar-stream@npm:^2.1.4": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -29217,6 +29635,13 @@ __metadata: languageName: node linkType: hard +"text-hex@npm:1.0.x": + version: 1.0.0 + resolution: "text-hex@npm:1.0.0" + checksum: 1138f68adc97bf4381a302a24e2352f04992b7b1316c5003767e9b0d3367ffd0dc73d65001ea02b07cd0ecc2a9d186de0cf02f3c2d880b8a522d4ccb9342244a + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -29243,6 +29668,24 @@ __metadata: languageName: node linkType: hard +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: ">= 3.1.0 < 4" + checksum: dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: ^1.0.0 + checksum: 84e1b804bfec49f3531215f17b4a6e50fd4397b5f7c1bccc427b9c656e1ecfb13ea79d899930184f78bc2f57285c54d9a50a590c8868f4f0cef5c1d9f898b05e + languageName: node + linkType: hard + "thread-stream@npm:^2.0.0": version: 2.4.0 resolution: "thread-stream@npm:2.4.0" @@ -29582,6 +30025,13 @@ __metadata: languageName: node linkType: hard +"triple-beam@npm:^1.3.0": + version: 1.4.1 + resolution: "triple-beam@npm:1.4.1" + checksum: 2e881a3e8e076b6f2b85b9ec9dd4a900d3f5016e6d21183ed98e78f9abcc0149e7d54d79a3f432b23afde46b0885bdcdcbff789f39bc75de796316961ec07f61 + languageName: node + linkType: hard + "trough@npm:^1.0.0": version: 1.0.5 resolution: "trough@npm:1.0.5" @@ -30132,6 +30582,95 @@ __metadata: languageName: node linkType: hard +"typeorm-naming-strategies@npm:^4.1.0": + version: 4.1.0 + resolution: "typeorm-naming-strategies@npm:4.1.0" + peerDependencies: + typeorm: ^0.2.0 || ^0.3.0 + checksum: 9654f386915532b134e00d10fa50b75d2c63d462a4acafad8d67071548cb41447b67bc5029ea07afae043f504a3e76c0f7526fc16c40081a70ade2a862a92164 + languageName: node + linkType: hard + +"typeorm@npm:^0.3.16": + version: 0.3.17 + resolution: "typeorm@npm:0.3.17" + dependencies: + "@sqltools/formatter": ^1.2.5 + app-root-path: ^3.1.0 + buffer: ^6.0.3 + chalk: ^4.1.2 + cli-highlight: ^2.1.11 + date-fns: ^2.29.3 + debug: ^4.3.4 + dotenv: ^16.0.3 + glob: ^8.1.0 + mkdirp: ^2.1.3 + reflect-metadata: ^0.1.13 + sha.js: ^2.4.11 + tslib: ^2.5.0 + uuid: ^9.0.0 + yargs: ^17.6.2 + peerDependencies: + "@google-cloud/spanner": ^5.18.0 + "@sap/hana-client": ^2.12.25 + better-sqlite3: ^7.1.2 || ^8.0.0 + hdb-pool: ^0.1.6 + ioredis: ^5.0.4 + mongodb: ^5.2.0 + mssql: ^9.1.1 + mysql2: ^2.2.5 || ^3.0.1 + oracledb: ^5.1.0 + pg: ^8.5.1 + pg-native: ^3.0.0 + pg-query-stream: ^4.0.0 + redis: ^3.1.1 || ^4.0.0 + sql.js: ^1.4.0 + sqlite3: ^5.0.3 + ts-node: ^10.7.0 + typeorm-aurora-data-api-driver: ^2.0.0 + peerDependenciesMeta: + "@google-cloud/spanner": + optional: true + "@sap/hana-client": + optional: true + better-sqlite3: + optional: true + hdb-pool: + optional: true + ioredis: + optional: true + mongodb: + optional: true + mssql: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-native: + optional: true + pg-query-stream: + optional: true + redis: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + ts-node: + optional: true + typeorm-aurora-data-api-driver: + optional: true + bin: + typeorm: cli.js + typeorm-ts-node-commonjs: cli-ts-node-commonjs.js + typeorm-ts-node-esm: cli-ts-node-esm.js + checksum: 71fcb2b2e889c759b24add6c6ab7938c9a52f7c206b055f3a2abd77725acfec125b8f303e263381258ee03e52f7d3eb88c1fb893b15750b5237c8fc9db31ed78 + languageName: node + linkType: hard + "typescript@npm:4.9.5": version: 4.9.5 resolution: "typescript@npm:4.9.5" @@ -30798,6 +31337,13 @@ __metadata: languageName: node linkType: hard +"validator@npm:^13.7.0": + version: 13.11.0 + resolution: "validator@npm:13.11.0" + checksum: d1e0c27022681420756da25bc03eb08d5f0c66fb008f8ff02ebc95812b77c6be6e03d3bd05cf80ca702e23eeb73dadd66b4b3683173ea2a0bc7cc72820bee131 + languageName: node + linkType: hard + "value-or-promise@npm:1.0.12, value-or-promise@npm:^1.0.11, value-or-promise@npm:^1.0.12": version: 1.0.12 resolution: "value-or-promise@npm:1.0.12" @@ -32297,6 +32843,36 @@ __metadata: languageName: node linkType: hard +"winston-transport@npm:^4.5.0": + version: 4.6.0 + resolution: "winston-transport@npm:4.6.0" + dependencies: + logform: ^2.3.2 + readable-stream: ^3.6.0 + triple-beam: ^1.3.0 + checksum: 19f06ebdbb57cb14cdd48a23145d418d3bbe538851053303f84f04a8a849bb530b78b1495a175059c1299f92945dc61d5421c4914fee32d9a41bc397d84f26d7 + languageName: node + linkType: hard + +"winston@npm:^3.9.0": + version: 3.11.0 + resolution: "winston@npm:3.11.0" + dependencies: + "@colors/colors": ^1.6.0 + "@dabh/diagnostics": ^2.0.2 + async: ^3.2.3 + is-stream: ^2.0.0 + logform: ^2.4.0 + one-time: ^1.0.0 + readable-stream: ^3.4.0 + safe-stable-stringify: ^2.3.1 + stack-trace: 0.0.x + triple-beam: ^1.3.0 + winston-transport: ^4.5.0 + checksum: ca4454070f7a71b19f53c8c1765c59a013dab220edb49161b2e81917751d3e9edc3382430e4fb050feda04fb8463290ecab7cbc9240ec8d3d3b32a121849bbb0 + languageName: node + linkType: hard + "word-wrap@npm:~1.2.3": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -32759,7 +33335,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:16.2.0, yargs@npm:^16.0.3, yargs@npm:^16.1.0": +"yargs@npm:16.2.0, yargs@npm:^16.0.0, yargs@npm:^16.0.3, yargs@npm:^16.1.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" dependencies: @@ -32793,7 +33369,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.3.1, yargs@npm:^17.7.1": +"yargs@npm:^17.0.0, yargs@npm:^17.3.1, yargs@npm:^17.6.2, yargs@npm:^17.7.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: