From d6648c28bcab30b64fa0d0961a8c65a002f98f30 Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 13 Jan 2023 18:18:51 +0100 Subject: [PATCH 01/25] chore: separate deploy from polywrap project --- packages/cli/src/commands/deploy.ts | 28 ++---- packages/cli/src/lib/deploy/PolywrapDeploy.ts | 96 +++++++++++++++++++ packages/cli/src/lib/deploy/index.ts | 1 + .../cli/src/lib/project/PolywrapProject.ts | 88 ++--------------- 4 files changed, 113 insertions(+), 100 deletions(-) create mode 100644 packages/cli/src/lib/deploy/PolywrapDeploy.ts diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 01f635a6fc..93bf55899c 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -6,10 +6,10 @@ import { DeployPackage, intlMsg, parseManifestFileOption, - PolywrapProject, DeployJob, DeployStep, parseLogFileOption, + PolywrapDeploy, } from "../lib"; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; @@ -70,20 +70,12 @@ async function run(options: Required): Promise { const { manifestFile, outputFile, verbose, quiet, logFile } = options; const logger = createLogger({ verbose, quiet, logFile }); - const project = new PolywrapProject({ - rootDir: nodePath.dirname(manifestFile), - polywrapManifestPath: manifestFile, - logger, - }); - await project.validate(); - - const deployManifest = await project.getDeployManifest(); - - if (!deployManifest) { - throw new Error("No deploy manifest found."); - } + const deployer = await PolywrapDeploy.create( + nodePath.dirname(manifestFile), + logger + ); - const allStepsFromAllJobs = Object.entries(deployManifest.jobs).flatMap( + const allStepsFromAllJobs = Object.entries(deployer.manifest.jobs).flatMap( ([jobName, job]) => { return job.steps.map((step) => ({ jobName, @@ -98,11 +90,11 @@ async function run(options: Required): Promise { sanitizePackages(packageNames); - await project.cacheDeployModules(packageNames); + await deployer.cacheDeployModules(packageNames); const packageMapEntries = await Promise.all( packageNames.map(async (packageName) => { - const deployerPackage = await project.getDeployModule(packageName); + const deployerPackage = await deployer.getDeployModule(packageName); return [packageName, deployerPackage]; }) ); @@ -121,9 +113,9 @@ async function run(options: Required): Promise { }; } - validateManifestWithExts(deployManifest, stepToPackageMap); + validateManifestWithExts(deployer.manifest, stepToPackageMap); - const jobs = Object.entries(deployManifest.jobs).map(([jobName, job]) => { + const jobs = Object.entries(deployer.manifest.jobs).map(([jobName, job]) => { const steps: DeployStep[] = job.steps.map((step) => { return new DeployStep({ name: step.name, diff --git a/packages/cli/src/lib/deploy/PolywrapDeploy.ts b/packages/cli/src/lib/deploy/PolywrapDeploy.ts new file mode 100644 index 0000000000..4f840de359 --- /dev/null +++ b/packages/cli/src/lib/deploy/PolywrapDeploy.ts @@ -0,0 +1,96 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ + +import { Deployer } from "./deployer"; +import { loadDeployManifest, loadDeployManifestExt } from "../project"; +import { CacheDirectory } from "../CacheDirectory"; +import { Logger } from "../logging"; + +import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; +import { Schema as JsonSchema } from "jsonschema"; +import path from "path"; + +interface PolywrapDeployConfig { + cache: CacheDirectory; + logger: Logger; + defaultModulesCached: boolean; +} + +export class PolywrapDeploy { + public static cacheLayout = { + root: "wasm/", + deployDir: "deploy/", + deployModulesDir: "deploy/modules/", + }; + public manifest: DeployManifest; + private _config: PolywrapDeployConfig; + + private constructor( + manifest: DeployManifest, + cache: CacheDirectory, + logger: Logger + ) { + this._config = { + logger, + cache, + defaultModulesCached: false, + }; + this.manifest = manifest; + } + + public static async create( + manifest: string, + logger: Logger + ): Promise { + const deployManifest = await loadDeployManifest(manifest, logger); + const cache = new CacheDirectory({ + rootDir: manifest, + subDir: PolywrapDeploy.cacheLayout.root, + }); + return new PolywrapDeploy(deployManifest, cache, logger); + } + + public async getDeployModule( + moduleName: string + ): Promise<{ deployer: Deployer; manifestExt: JsonSchema | undefined }> { + if (!this._config.defaultModulesCached) { + throw new Error("Deploy modules have not been cached"); + } + + const cachePath = this._config.cache.getCachePath( + `${PolywrapDeploy.cacheLayout.deployModulesDir}/${moduleName}` + ); + + const manifestExtPath = path.join(cachePath, "polywrap.deploy.ext.json"); + + const manifestExt = await loadDeployManifestExt( + manifestExtPath, + this._config.logger + ); + + return { + // eslint-disable-next-line @typescript-eslint/no-require-imports + deployer: require(cachePath).default as Deployer, + manifestExt, + }; + } + + public async cacheDeployModules(modules: string[]): Promise { + if (this._config.defaultModulesCached) { + return; + } + + this._config.cache.removeCacheDir( + PolywrapDeploy.cacheLayout.deployModulesDir + ); + + for await (const deployModule of modules) { + await this._config.cache.copyIntoCache( + `${PolywrapDeploy.cacheLayout.deployModulesDir}/${deployModule}`, + `${__dirname}/../defaults/deploy-modules/${deployModule}/*`, + { up: true } + ); + } + + this._config.defaultModulesCached = true; + } +} diff --git a/packages/cli/src/lib/deploy/index.ts b/packages/cli/src/lib/deploy/index.ts index 121bf0b949..21fc4d11ca 100644 --- a/packages/cli/src/lib/deploy/index.ts +++ b/packages/cli/src/lib/deploy/index.ts @@ -5,6 +5,7 @@ import { Schema as JsonSchema } from "jsonschema"; export * from "./deployer"; export * from "./step"; export * from "./job"; +export * from "./PolywrapDeploy"; export interface DeployPackage { deployer: Deployer; diff --git a/packages/cli/src/lib/project/PolywrapProject.ts b/packages/cli/src/lib/project/PolywrapProject.ts index b6f11e3101..029323f985 100644 --- a/packages/cli/src/lib/project/PolywrapProject.ts +++ b/packages/cli/src/lib/project/PolywrapProject.ts @@ -5,14 +5,12 @@ import { Project, ProjectConfig } from "."; import { isPolywrapManifestLanguage, loadBuildManifest, - loadDeployManifest, - loadDeployManifestExt, loadPolywrapManifest, PolywrapManifestLanguage, polywrapManifestLanguages, polywrapManifestLanguageToBindLanguage, } from "./manifests"; -import { Deployer } from "../deploy"; +import { PolywrapDeploy } from "../deploy"; import { resetDir } from "../system"; import { createUUID } from "../helpers"; @@ -26,7 +24,6 @@ import { BindOptions, BindOutput, bindSchema } from "@polywrap/schema-bind"; import { WrapAbi } from "@polywrap/schema-parse"; import regexParser from "regex-parser"; import path from "path"; -import { Schema as JsonSchema } from "jsonschema"; import fs from "fs"; import fsExtra from "fs-extra"; @@ -61,13 +58,10 @@ export class PolywrapProject extends Project { buildUuidFile: "build/uuid", buildProjectDir: "build/project", buildLinkedPackagesDir: "build/linked-packages/", - deployDir: "deploy/", - deployModulesDir: "deploy/modules/", }; private _polywrapManifest: PolywrapManifest | undefined; private _buildManifest: BuildManifest | undefined; - private _deployManifest: DeployManifest | undefined; - private _defaultDeployModulesCached = false; + private _deployer: PolywrapDeploy | undefined; constructor(protected _config: PolywrapProjectConfig) { super(_config, { @@ -85,12 +79,10 @@ export class PolywrapProject extends Project { public reset(): void { this._polywrapManifest = undefined; this._buildManifest = undefined; - this._deployManifest = undefined; - this._defaultDeployModulesCached = false; + this._deployer = undefined; this._cache.removeCacheDir( PolywrapProject.cacheLayout.buildLinkedPackagesDir ); - this._cache.removeCacheDir(PolywrapProject.cacheLayout.deployDir); } public async validate(): Promise { @@ -338,73 +330,13 @@ export class PolywrapProject extends Project { } } - public async getDeployManifestDir(): Promise { - const manifestPath = await this.getDeployManifestPath(); - - if (manifestPath) { - return path.dirname(manifestPath); - } else { - return undefined; - } - } - public async getDeployManifest(): Promise { - if (!this._deployManifest) { - const manifestPath = await this.getDeployManifestPath(); - - if (manifestPath) { - this._deployManifest = await loadDeployManifest( - manifestPath, - this.logger - ); - } - } - return this._deployManifest; - } - - public async getDeployModule( - moduleName: string - ): Promise<{ deployer: Deployer; manifestExt: JsonSchema | undefined }> { - if (!this._defaultDeployModulesCached) { - throw new Error("Deploy modules have not been cached"); - } - - const cachePath = this._cache.getCachePath( - `${PolywrapProject.cacheLayout.deployModulesDir}/${moduleName}` - ); - - const manifestExtPath = path.join(cachePath, "polywrap.deploy.ext.json"); - - const manifestExt = await loadDeployManifestExt( - manifestExtPath, - this.logger - ); - - return { - // eslint-disable-next-line @typescript-eslint/no-require-imports - deployer: require(cachePath).default as Deployer, - manifestExt, - }; - } - - public async cacheDeployModules(modules: string[]): Promise { - if (this._defaultDeployModulesCached) { - return; - } - - this._cache.removeCacheDir(PolywrapProject.cacheLayout.deployModulesDir); - - for await (const deployModule of modules) { - await this._cache.copyIntoCache( - `${PolywrapProject.cacheLayout.deployModulesDir}/${deployModule}`, - `${__dirname}/../defaults/deploy-modules/${deployModule}/*`, - { up: true } - ); + if (this._deployer) { + return this._deployer.manifest; } - this._defaultDeployModulesCached = true; + return undefined; } - public async getManifestPaths(absolute = false): Promise { const root = this.getManifestDir(); const paths = [ @@ -421,14 +353,6 @@ export class PolywrapProject extends Project { ); } - const deployManifestPath = await this.getDeployManifestPath(); - - if (deployManifestPath) { - paths.push( - absolute ? deployManifestPath : path.relative(root, deployManifestPath) - ); - } - return paths; } From 4600b86764c273ca7aa89e78281c559a3d740d65 Mon Sep 17 00:00:00 2001 From: Cesar Date: Fri, 13 Jan 2023 19:04:10 +0100 Subject: [PATCH 02/25] chore: change deploy default manifest string --- packages/cli/src/commands/deploy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 93bf55899c..da91259cea 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -18,7 +18,7 @@ import nodePath from "path"; import yaml from "yaml"; import { validate } from "jsonschema"; -const defaultManifestStr = defaultPolywrapManifest.join(" | "); +const defaultManifestStr = "polywrap.deploy.yaml"; const pathStr = intlMsg.commands_deploy_options_o_path(); export interface DeployCommandOptions extends BaseCommandOptions { From 40bd450b4cc204f7e30ff2749dbe97c5f14fd3b9 Mon Sep 17 00:00:00 2001 From: Cesar Date: Sat, 14 Jan 2023 13:34:04 +0100 Subject: [PATCH 03/25] chore(cli/deploy): fix manifest path in deploy command --- packages/cli/src/__tests__/e2e/deploy.spec.ts | 2 +- packages/cli/src/commands/deploy.ts | 13 ++++--------- packages/cli/src/lib/deploy/PolywrapDeploy.ts | 8 ++++---- .../ipfs-resolver/src/__tests__/e2e.spec.ts | 2 +- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/packages/cli/src/__tests__/e2e/deploy.spec.ts b/packages/cli/src/__tests__/e2e/deploy.spec.ts index 79db96eee2..59d2ebb819 100644 --- a/packages/cli/src/__tests__/e2e/deploy.spec.ts +++ b/packages/cli/src/__tests__/e2e/deploy.spec.ts @@ -18,7 +18,7 @@ Deploys Polywrap Projects Options: -m, --manifest-file Path to the Polywrap Deploy manifest file - (default: polywrap.yaml | polywrap.yml) + (default: polywrap.deploy.yaml) -o, --output-file Output file path for the deploy result -v, --verbose Verbose output (default: false) -q, --quiet Suppress output (default: false) diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index da91259cea..8f04527285 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -2,7 +2,6 @@ import { Command, Program, BaseCommandOptions } from "./types"; import { createLogger } from "./utils/createLogger"; import { - defaultPolywrapManifest, DeployPackage, intlMsg, parseManifestFileOption, @@ -53,10 +52,9 @@ export const deploy: Command = { ) .action(async (options: Partial) => { await run({ - manifestFile: parseManifestFileOption( - options.manifestFile, - defaultPolywrapManifest - ), + manifestFile: parseManifestFileOption(options.manifestFile, [ + defaultManifestStr, + ]), outputFile: options.outputFile || false, verbose: options.verbose || false, quiet: options.quiet || false, @@ -70,10 +68,7 @@ async function run(options: Required): Promise { const { manifestFile, outputFile, verbose, quiet, logFile } = options; const logger = createLogger({ verbose, quiet, logFile }); - const deployer = await PolywrapDeploy.create( - nodePath.dirname(manifestFile), - logger - ); + const deployer = await PolywrapDeploy.create(manifestFile, logger); const allStepsFromAllJobs = Object.entries(deployer.manifest.jobs).flatMap( ([jobName, job]) => { diff --git a/packages/cli/src/lib/deploy/PolywrapDeploy.ts b/packages/cli/src/lib/deploy/PolywrapDeploy.ts index 4f840de359..0a0c48a3c5 100644 --- a/packages/cli/src/lib/deploy/PolywrapDeploy.ts +++ b/packages/cli/src/lib/deploy/PolywrapDeploy.ts @@ -8,6 +8,7 @@ import { Logger } from "../logging"; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; import { Schema as JsonSchema } from "jsonschema"; import path from "path"; +import nodePath from "path"; interface PolywrapDeployConfig { cache: CacheDirectory; @@ -17,9 +18,8 @@ interface PolywrapDeployConfig { export class PolywrapDeploy { public static cacheLayout = { - root: "wasm/", - deployDir: "deploy/", - deployModulesDir: "deploy/modules/", + root: "deploy/", + deployModulesDir: "modules/", }; public manifest: DeployManifest; private _config: PolywrapDeployConfig; @@ -43,7 +43,7 @@ export class PolywrapDeploy { ): Promise { const deployManifest = await loadDeployManifest(manifest, logger); const cache = new CacheDirectory({ - rootDir: manifest, + rootDir: nodePath.dirname(manifest), subDir: PolywrapDeploy.cacheLayout.root, }); return new PolywrapDeploy(deployManifest, cache, logger); diff --git a/packages/js/plugins/uri-resolvers/ipfs-resolver/src/__tests__/e2e.spec.ts b/packages/js/plugins/uri-resolvers/ipfs-resolver/src/__tests__/e2e.spec.ts index 62fd2615c0..c47e1a8219 100644 --- a/packages/js/plugins/uri-resolvers/ipfs-resolver/src/__tests__/e2e.spec.ts +++ b/packages/js/plugins/uri-resolvers/ipfs-resolver/src/__tests__/e2e.spec.ts @@ -48,7 +48,7 @@ describe("IPFS Plugin", () => { fail("Expected response to be a wrapper"); } - const manifest = await result.value.wrapper.getManifest({}); + const manifest = await result.value.wrapper.getManifest(); expect(manifest?.name).toBe("SimpleStorage"); }); From 68f362decdf13b7d447a21b59d5ab5ed7cbe48bc Mon Sep 17 00:00:00 2001 From: Cesar Date: Sat, 14 Jan 2023 14:19:08 +0100 Subject: [PATCH 04/25] chore(js/test-env): fix deploy on test env js --- packages/js/test-env/src/index.ts | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/packages/js/test-env/src/index.ts b/packages/js/test-env/src/index.ts index 4079a48a05..2a9caeaed9 100644 --- a/packages/js/test-env/src/index.ts +++ b/packages/js/test-env/src/index.ts @@ -266,10 +266,7 @@ export async function buildAndDeployWrapper({ ensDomain: string; ipfsCid: string; }> { - const manifestPath = `${wrapperAbsPath}/polywrap.yaml`; - const tempManifestFilename = `polywrap-temp.yaml`; const tempDeployManifestFilename = `polywrap.deploy-temp.yaml`; - const tempManifestPath = path.join(wrapperAbsPath, tempManifestFilename); const tempDeployManifestPath = path.join( wrapperAbsPath, tempDeployManifestFilename @@ -280,26 +277,6 @@ export async function buildAndDeployWrapper({ await buildWrapper(wrapperAbsPath, undefined, codegen); - // manually configure manifests - const { __type, ...polywrapManifest } = deserializePolywrapManifest( - fs.readFileSync(manifestPath, "utf-8") - ); - - fs.writeFileSync( - tempManifestPath, - yaml.stringify( - { - ...polywrapManifest, - extensions: { - ...polywrapManifest.extensions, - deploy: `./${tempDeployManifestFilename}`, - }, - }, - null, - 2 - ) - ); - const deployManifest: Omit = { format: "0.2.0", jobs: { @@ -348,7 +325,7 @@ export async function buildAndDeployWrapper({ stdout: deployStdout, stderr: deployStderr, } = await runCLI({ - args: ["deploy", "--manifest-file", tempManifestPath], + args: ["deploy", "--manifest-file", tempDeployManifestPath], }); if (deployExitCode !== 0) { @@ -359,8 +336,6 @@ export async function buildAndDeployWrapper({ } // remove manually configured manifests - - fs.unlinkSync(tempManifestPath); fs.unlinkSync(tempDeployManifestPath); // get the IPFS CID of the published package From e5be4d0d5e94fb480c34339813badcb55b4348bd Mon Sep 17 00:00:00 2001 From: Cesar Date: Sat, 14 Jan 2023 14:19:40 +0100 Subject: [PATCH 05/25] chore(cli/deploy): add constant as default manifest string in deploy --- packages/cli/src/__tests__/e2e/deploy.spec.ts | 2 +- packages/cli/src/commands/deploy.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/cli/src/__tests__/e2e/deploy.spec.ts b/packages/cli/src/__tests__/e2e/deploy.spec.ts index 59d2ebb819..36732a0287 100644 --- a/packages/cli/src/__tests__/e2e/deploy.spec.ts +++ b/packages/cli/src/__tests__/e2e/deploy.spec.ts @@ -18,7 +18,7 @@ Deploys Polywrap Projects Options: -m, --manifest-file Path to the Polywrap Deploy manifest file - (default: polywrap.deploy.yaml) + (default: polywrap.deploy.yaml | polywrap.deploy.yml) -o, --output-file Output file path for the deploy result -v, --verbose Verbose output (default: false) -q, --quiet Suppress output (default: false) diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 8f04527285..5681f3c012 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -9,6 +9,7 @@ import { DeployStep, parseLogFileOption, PolywrapDeploy, + defaultDeployManifest, } from "../lib"; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; @@ -17,7 +18,7 @@ import nodePath from "path"; import yaml from "yaml"; import { validate } from "jsonschema"; -const defaultManifestStr = "polywrap.deploy.yaml"; +const defaultManifestStr = defaultDeployManifest.join(" | "); const pathStr = intlMsg.commands_deploy_options_o_path(); export interface DeployCommandOptions extends BaseCommandOptions { @@ -52,9 +53,10 @@ export const deploy: Command = { ) .action(async (options: Partial) => { await run({ - manifestFile: parseManifestFileOption(options.manifestFile, [ - defaultManifestStr, - ]), + manifestFile: parseManifestFileOption( + options.manifestFile, + defaultDeployManifest + ), outputFile: options.outputFile || false, verbose: options.verbose || false, quiet: options.quiet || false, From 12352218d8c85e7ca8f9d88f8c7c28a081af0622 Mon Sep 17 00:00:00 2001 From: Cesar Date: Sat, 14 Jan 2023 15:05:32 +0100 Subject: [PATCH 06/25] chore(cli): remove deployer attribute from polywrap project --- .../cli/src/lib/project/PolywrapProject.ts | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/packages/cli/src/lib/project/PolywrapProject.ts b/packages/cli/src/lib/project/PolywrapProject.ts index 029323f985..06e17da228 100644 --- a/packages/cli/src/lib/project/PolywrapProject.ts +++ b/packages/cli/src/lib/project/PolywrapProject.ts @@ -10,13 +10,11 @@ import { polywrapManifestLanguages, polywrapManifestLanguageToBindLanguage, } from "./manifests"; -import { PolywrapDeploy } from "../deploy"; import { resetDir } from "../system"; import { createUUID } from "../helpers"; import { BuildManifest, - DeployManifest, PolywrapManifest, } from "@polywrap/polywrap-manifest-types-js"; import { normalizePath } from "@polywrap/os-js"; @@ -61,7 +59,6 @@ export class PolywrapProject extends Project { }; private _polywrapManifest: PolywrapManifest | undefined; private _buildManifest: BuildManifest | undefined; - private _deployer: PolywrapDeploy | undefined; constructor(protected _config: PolywrapProjectConfig) { super(_config, { @@ -79,7 +76,6 @@ export class PolywrapProject extends Project { public reset(): void { this._polywrapManifest = undefined; this._buildManifest = undefined; - this._deployer = undefined; this._cache.removeCacheDir( PolywrapProject.cacheLayout.buildLinkedPackagesDir ); @@ -307,36 +303,6 @@ export class PolywrapProject extends Project { } } - /// Polywrap Deploy Manifest (polywrap.deploy.yaml) - - public async getDeployManifestPath(): Promise { - const polywrapManifest = await this.getManifest(); - - // If a custom deploy manifest path is configured - if (this._config.deployManifestPath) { - return this._config.deployManifestPath; - } - // If the polywrap.yaml manifest specifies a custom deploy manifest - else if (polywrapManifest.extensions?.deploy) { - this._config.deployManifestPath = path.join( - this.getManifestDir(), - polywrapManifest.extensions.deploy - ); - return this._config.deployManifestPath; - } - // No deploy manifest found - else { - return undefined; - } - } - - public async getDeployManifest(): Promise { - if (this._deployer) { - return this._deployer.manifest; - } - - return undefined; - } public async getManifestPaths(absolute = false): Promise { const root = this.getManifestDir(); const paths = [ From 02e72737f6894a6bcf75f5699da622d3412660be Mon Sep 17 00:00:00 2001 From: Cesar Date: Sun, 15 Jan 2023 20:19:24 +0100 Subject: [PATCH 07/25] chore: fix plugins & deploy cli tests --- packages/cli/src/__tests__/e2e/deploy.spec.ts | 3 +- packages/js/test-env/src/index.ts | 28 ++----------------- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/packages/cli/src/__tests__/e2e/deploy.spec.ts b/packages/cli/src/__tests__/e2e/deploy.spec.ts index 36732a0287..9bb0605697 100644 --- a/packages/cli/src/__tests__/e2e/deploy.spec.ts +++ b/packages/cli/src/__tests__/e2e/deploy.spec.ts @@ -18,7 +18,8 @@ Deploys Polywrap Projects Options: -m, --manifest-file Path to the Polywrap Deploy manifest file - (default: polywrap.deploy.yaml | polywrap.deploy.yml) + (default: polywrap.deploy.yaml | + polywrap.deploy.yml) -o, --output-file Output file path for the deploy result -v, --verbose Verbose output (default: false) -q, --quiet Suppress output (default: false) diff --git a/packages/js/test-env/src/index.ts b/packages/js/test-env/src/index.ts index 2a9caeaed9..c27b0dd97c 100644 --- a/packages/js/test-env/src/index.ts +++ b/packages/js/test-env/src/index.ts @@ -7,10 +7,7 @@ import axios from "axios"; import fs from "fs"; import yaml from "yaml"; import { Uri } from "@polywrap/core-js"; -import { - DeployManifest, - deserializePolywrapManifest, -} from "@polywrap/polywrap-manifest-types-js"; +import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; export const ensAddresses = { ensAddress: "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", @@ -367,10 +364,7 @@ export async function buildAndDeployWrapperToHttp({ name?: string; codegen?: boolean; }): Promise<{ uri: string }> { - const manifestPath = `${wrapperAbsPath}/polywrap.yaml`; - const tempManifestFilename = `polywrap-temp.yaml`; const tempDeployManifestFilename = `polywrap.deploy-temp.yaml`; - const tempManifestPath = path.join(wrapperAbsPath, tempManifestFilename); const tempDeployManifestPath = path.join( wrapperAbsPath, tempDeployManifestFilename @@ -380,22 +374,6 @@ export async function buildAndDeployWrapperToHttp({ const postUrl = `${httpProvider}/wrappers/local/${wrapperName}`; await buildWrapper(wrapperAbsPath, undefined, codegen); - - // manually configure manifests - - const { __type, ...polywrapManifest } = deserializePolywrapManifest( - fs.readFileSync(manifestPath, "utf-8") - ); - - polywrapManifest.extensions = { - ...polywrapManifest.extensions, - deploy: `./${tempDeployManifestFilename}`, - }; - fs.writeFileSync( - tempManifestPath, - yaml.stringify({ ...polywrapManifest }, null, 2) - ); - const deployManifest: Omit = { format: "0.2.0", jobs: { @@ -425,7 +403,7 @@ export async function buildAndDeployWrapperToHttp({ stdout: deployStdout, stderr: deployStderr, } = await runCLI({ - args: ["deploy", "--manifest-file", tempManifestPath], + args: ["deploy", "--manifest-file", tempDeployManifestPath], }); if (deployExitCode !== 0) { @@ -436,8 +414,6 @@ export async function buildAndDeployWrapperToHttp({ } // remove manually configured manifests - - fs.unlinkSync(tempManifestPath); fs.unlinkSync(tempDeployManifestPath); return { From 625c884909e9fc0974d19351e3ab5950074ef7bc Mon Sep 17 00:00:00 2001 From: Cesar Date: Mon, 16 Jan 2023 22:11:39 +0100 Subject: [PATCH 08/25] feat(polywrap-manifest/0.4): remove deploy from polywrap manifest --- .../polywrap/src/formats/polywrap/0.4.0.ts | 72 ++ .../polywrap/src/formats/polywrap/index.ts | 11 +- .../polywrap/migrators/0.3.0_to_0.4.0.ts | 15 + .../src/formats/polywrap/migrators/index.ts | 14 +- .../polywrap/src/formats/polywrap/validate.ts | 2 + .../polywrap/formats/polywrap/0.4.0.json | 97 +++ .../wasm/assemblyscript/polywrap.yaml | 3 +- .../templates/wasm/interface/polywrap.yaml | 6 +- packages/templates/wasm/rust/polywrap.yaml | 3 +- .../cases/cli/docgen/001-sanity/polywrap.yaml | 2 +- .../001-sanity-assemblyscript/polywrap.yaml | 2 +- .../codegen/002-sanity-rust/polywrap.yaml | 2 +- .../cli/wasm/deploy/001-sanity/polywrap.yaml | 3 +- .../cli/wasm/deploy/002-no-ext/polywrap.yaml | 3 +- .../deploy/003-invalid-config/polywrap.yaml | 3 +- .../deploy/004-fail-between/polywrap.yaml | 5 +- .../005-non-loaded-env-var/polywrap.yaml | 3 +- yarn.lock | 754 ++++++++++++------ 18 files changed, 726 insertions(+), 274 deletions(-) create mode 100644 packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts create mode 100644 packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts create mode 100644 packages/manifests/polywrap/formats/polywrap/0.4.0.json diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts new file mode 100644 index 0000000000..f58e74132f --- /dev/null +++ b/packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts @@ -0,0 +1,72 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +/* tslint:disable */ +/** + * This file was automatically generated by json-schema-to-typescript. + * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, + * and run json-schema-to-typescript to regenerate this file. + */ + +export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ + format: "0.4.0"; + /** + * Basic project properties. + */ + project: { + /** + * Name of this project. + */ + name: string; + /** + * Type of this project. + */ + type: string; + }; + /** + * Project source files. + */ + source: { + /** + * Path to the project's entry point. + */ + module?: string; + /** + * Path to the project's graphql schema. + */ + schema: string; + /** + * Specify ABIs to be used for the import URIs within your schema. + */ + import_abis?: ImportAbis[]; + }; + /** + * Project resources folder + */ + resources?: string; + /** + * Project extension files (build, deploy, infra). + */ + extensions?: { + /** + * Path to the project build manifest file. + */ + build?: string; + /** + * Path to project infra manifest file. + */ + infra?: string; + }; + __type: "PolywrapManifest"; +} +export interface ImportAbis { + /** + * One of the schema's import URI. + */ + uri: string; + /** + * Path to a local ABI (or schema). Supported file formats: [*.graphql, *.info, *.json, *.yaml] + */ + abi: string; +} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap/index.ts index f2f3db1d33..15c21e6b0d 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/index.ts @@ -14,11 +14,15 @@ import { import { PolywrapManifest as PolywrapManifest_0_3_0, } from "./0.3.0"; +import { + PolywrapManifest as PolywrapManifest_0_4_0, +} from "./0.4.0"; export { PolywrapManifest_0_1_0, PolywrapManifest_0_2_0, PolywrapManifest_0_3_0, + PolywrapManifest_0_4_0, }; export enum PolywrapManifestFormats { @@ -27,6 +31,7 @@ export enum PolywrapManifestFormats { "v0.1.0" = "0.1.0", "v0.2.0" = "0.2.0", "v0.3.0" = "0.3.0", + "v0.4.0" = "0.4.0", } export const PolywrapManifestSchemaFiles: Record = { @@ -35,18 +40,20 @@ export const PolywrapManifestSchemaFiles: Record = { "0.1.0": "formats/polywrap/0.1.0.json", "0.2.0": "formats/polywrap/0.2.0.json", "0.3.0": "formats/polywrap/0.3.0.json", + "0.4.0": "formats/polywrap/0.4.0.json", } export type AnyPolywrapManifest = | PolywrapManifest_0_1_0 | PolywrapManifest_0_2_0 | PolywrapManifest_0_3_0 + | PolywrapManifest_0_4_0 -export type PolywrapManifest = PolywrapManifest_0_3_0; +export type PolywrapManifest = PolywrapManifest_0_4_0; -export const latestPolywrapManifestFormat = PolywrapManifestFormats["v0.3.0"] +export const latestPolywrapManifestFormat = PolywrapManifestFormats["v0.4.0"] export { migratePolywrapManifest } from "./migrate"; diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts new file mode 100644 index 0000000000..1351f0f006 --- /dev/null +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts @@ -0,0 +1,15 @@ +import { ILogger } from "@polywrap/logging-js"; +import { PolywrapManifest as OldManifest } from "../0.3.0"; +import { PolywrapManifest as NewManifest } from "../0.4.0"; + +export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { + if (migrate.extensions?.deploy) { + logger?.warn( + `The Polywrap Deploy Manifest does not needs to be defined in the Polywrap Manifest, feel free to remove it.` + ); + } + return { + ...migrate, + format: "0.4.0", + }; +} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts index a879480d60..cc377561c0 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts @@ -1,21 +1,27 @@ import { Migrator } from "../../../migrations"; import { migrate as migrate_0_1_0_to_0_2_0 } from "./0.1.0_to_0.2.0"; import { migrate as migrate_0_2_0_to_0_3_0 } from "./0.2.0_to_0.3.0"; +import { migrate as migrate_0_3_0_to_0_4_0 } from "./0.3.0_to_0.4.0"; export const migrators: Migrator[] = [ { from: "0.1", to: "0.2.0", - migrate: migrate_0_1_0_to_0_2_0 + migrate: migrate_0_1_0_to_0_2_0, }, { from: "0.1.0", to: "0.2.0", - migrate: migrate_0_1_0_to_0_2_0 + migrate: migrate_0_1_0_to_0_2_0, }, { from: "0.2.0", to: "0.3.0", - migrate: migrate_0_2_0_to_0_3_0 - } + migrate: migrate_0_2_0_to_0_3_0, + }, + { + from: "0.3.0", + to: "0.4.0", + migrate: migrate_0_3_0_to_0_4_0, + }, ]; diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts b/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts index 3bef8152c2..11ab97a548 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts @@ -12,6 +12,7 @@ import { import PolywrapManifestSchema_0_1_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.1.0.json"; import PolywrapManifestSchema_0_2_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.2.0.json"; import PolywrapManifestSchema_0_3_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.3.0.json"; +import PolywrapManifestSchema_0_4_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.4.0.json"; import { Schema, @@ -30,6 +31,7 @@ const schemas: PolywrapManifestSchemas = { "0.1.0": PolywrapManifestSchema_0_1_0, "0.2.0": PolywrapManifestSchema_0_2_0, "0.3.0": PolywrapManifestSchema_0_3_0, + "0.4.0": PolywrapManifestSchema_0_4_0, }; const validator = new Validator(); diff --git a/packages/manifests/polywrap/formats/polywrap/0.4.0.json b/packages/manifests/polywrap/formats/polywrap/0.4.0.json new file mode 100644 index 0000000000..9411c5f124 --- /dev/null +++ b/packages/manifests/polywrap/formats/polywrap/0.4.0.json @@ -0,0 +1,97 @@ +{ + "id": "PolywrapManifest", + "type": "object", + "additionalProperties": false, + "required": ["format", "project", "source"], + "properties": { + "format": { + "description": "Polywrap manifest format version.", + "type": "string", + "enum": ["0.4.0"] + }, + "project": { + "description": "Basic project properties.", + "type": "object", + "additionalProperties": false, + "required": ["name", "type"], + "properties": { + "name": { + "description": "Name of this project.", + "type": "string", + "pattern": "^[a-zA-Z0-9\\-\\_]+$" + }, + "type": { + "description": "Type of this project.", + "type": "string", + "pattern": "^((interface)|(wasm\\/[a-z0-9]+))$" + } + } + }, + "source": { + "description": "Project source files.", + "type": "object", + "additionalProperties": false, + "required": ["schema"], + "properties": { + "module": { + "description": "Path to the project's entry point.", + "type": "string", + "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*$" + }, + "schema": { + "description": "Path to the project's graphql schema.", + "type": "string", + "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.graphql$" + }, + "import_abis": { + "description": "Specify ABIs to be used for the import URIs within your schema.", + "type": "array", + "items": { + "$ref": "#/definitions/import_abis" + } + } + } + }, + "resources": { + "description": "Project resources folder", + "type": "string", + "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*\\/?$" + }, + "extensions": { + "description": "Project extension files (build, deploy, infra).", + "type": "object", + "additionalProperties": false, + "properties": { + "build": { + "description": "Path to the project build manifest file.", + "type": "string", + "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" + }, + "infra": { + "description": "Path to project infra manifest file.", + "type": "string", + "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" + } + } + } + }, + "definitions": { + "import_abis": { + "type": "object", + "additionalProperties": false, + "properties": { + "uri": { + "description": "One of the schema's import URI.", + "type": "string", + "pattern": "^[wrap://]*[a-z\\-\\_0-9]+\\/.+$" + }, + "abi": { + "description": "Path to a local ABI (or schema). Supported file formats: [*.graphql, *.info, *.json, *.yaml]", + "type": "string", + "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.(info|graphql|json|yaml)$" + } + }, + "required": ["uri", "abi"] + } + } +} diff --git a/packages/templates/wasm/assemblyscript/polywrap.yaml b/packages/templates/wasm/assemblyscript/polywrap.yaml index 64b9b7bdac..118fc20f35 100644 --- a/packages/templates/wasm/assemblyscript/polywrap.yaml +++ b/packages/templates/wasm/assemblyscript/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.2.0 +format: 0.4.0 project: name: template-wasm-as type: wasm/assemblyscript @@ -7,4 +7,3 @@ source: schema: ./src/schema.graphql extensions: build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml diff --git a/packages/templates/wasm/interface/polywrap.yaml b/packages/templates/wasm/interface/polywrap.yaml index d5af4debe2..454ce3f1fe 100644 --- a/packages/templates/wasm/interface/polywrap.yaml +++ b/packages/templates/wasm/interface/polywrap.yaml @@ -1,8 +1,6 @@ -format: 0.2.0 +format: 0.4.0 project: name: TODO type: interface source: - schema: ./schema.graphql -extensions: - deploy: ./polywrap.deploy.yaml + schema: ./schema.graphql \ No newline at end of file diff --git a/packages/templates/wasm/rust/polywrap.yaml b/packages/templates/wasm/rust/polywrap.yaml index 24ccfa6842..77b5f55895 100644 --- a/packages/templates/wasm/rust/polywrap.yaml +++ b/packages/templates/wasm/rust/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.2.0 +format: 0.4.0 project: name: template-wasm-rs type: wasm/rust @@ -7,4 +7,3 @@ source: schema: ./src/schema.graphql extensions: build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml diff --git a/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml b/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml index 41f2c060ad..ee9034f333 100644 --- a/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml +++ b/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: test-project type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml b/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml index 41f2c060ad..ee9034f333 100644 --- a/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: test-project type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml b/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml index 3a344ae3d0..55eecfe9bc 100644 --- a/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: ObjectTypes type: wasm/rust diff --git a/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml index f0635136a6..c214fba8f3 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: deploy-sanity type: wasm/assemblyscript @@ -7,4 +7,3 @@ source: module: ./src/index.ts extensions: build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml diff --git a/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml index 3a9de54e00..790228ec2d 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: deploy-no-ext type: wasm/assemblyscript @@ -7,4 +7,3 @@ source: module: ./src/index.ts extensions: build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml index b8db5ce441..e9ef523a47 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: deploy-invalid-config type: wasm/assemblyscript @@ -7,4 +7,3 @@ source: module: ./src/index.ts extensions: build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml diff --git a/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml index f16c86eebd..b22a39d53e 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: deploy-fail-between type: wasm/assemblyscript @@ -6,5 +6,4 @@ source: schema: ./schema.graphql module: ./src/index.ts extensions: - build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml index f0635136a6..c214fba8f3 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: deploy-sanity type: wasm/assemblyscript @@ -7,4 +7,3 @@ source: module: ./src/index.ts extensions: build: ./polywrap.build.yaml - deploy: ./polywrap.deploy.yaml diff --git a/yarn.lock b/yarn.lock index 519e4c6dc0..d3a824db1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -124,10 +124,10 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.9.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733" - integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.9.0": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== "@babel/core@7.9.0": version "7.9.0" @@ -152,32 +152,32 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.4.5", "@babel/core@^7.7.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" - integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.5" - "@babel/parser" "^7.20.5" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" + json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.20.5", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" - integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== +"@babel/generator@^7.20.7", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== dependencies: - "@babel/types" "^7.20.5" + "@babel/types" "^7.20.7" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -196,27 +196,29 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.8.7": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" - integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.8.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: - "@babel/compat-data" "^7.20.0" + "@babel/compat-data" "^7.20.5" "@babel/helper-validator-option" "^7.18.6" browserslist "^4.21.3" + lru-cache "^5.1.1" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.2", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.8.3": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz#327154eedfb12e977baa4ecc72e5806720a85a06" - integrity sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7", "@babel/helper-create-class-features-plugin@^7.8.3": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819" + integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": @@ -266,12 +268,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== dependencies: - "@babel/types" "^7.18.9" + "@babel/types" "^7.20.7" "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.8.3": version "7.18.6" @@ -280,19 +282,19 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.9.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" - integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.9.0": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" "@babel/helper-simple-access" "^7.20.2" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.2" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -306,7 +308,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": +"@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== @@ -316,25 +318,26 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/helper-simple-access@^7.19.4", "@babel/helper-simple-access@^7.20.2": +"@babel/helper-simple-access@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: "@babel/types" "^7.20.2" -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== @@ -373,14 +376,14 @@ "@babel/traverse" "^7.20.5" "@babel/types" "^7.20.5" -"@babel/helpers@^7.20.5", "@babel/helpers@^7.9.0": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" - integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== +"@babel/helpers@^7.20.7", "@babel/helpers@^7.9.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" "@babel/highlight@^7.18.6", "@babel/highlight@^7.8.3": version "7.18.6" @@ -391,10 +394,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.5", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" - integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -404,21 +407,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" "@babel/plugin-proposal-async-generator-functions@^7.20.1", "@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" - integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -439,12 +442,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-decorators@7.8.3": @@ -481,11 +484,11 @@ "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": @@ -521,15 +524,15 @@ "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.20.2", "@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz#a556f59d555f06961df1e572bb5eca864c84022d" - integrity sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-parameters" "^7.20.7" "@babel/plugin-proposal-optional-catch-binding@^7.18.6", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.18.6" @@ -547,13 +550,13 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.18.6": @@ -730,20 +733,20 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-arrow-functions@^7.18.6", "@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-async-to-generator@^7.18.6", "@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-transform-block-scoped-functions@^7.18.6", "@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.18.6" @@ -753,38 +756,39 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2", "@babel/plugin-transform-block-scoping@^7.8.3": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz#401215f9dc13dc5262940e2e527c9536b3d7f237" - integrity sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-classes@^7.20.2", "@babel/plugin-transform-classes@^7.9.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz#c0033cf1916ccf78202d04be4281d161f6709bb2" - integrity sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-compilation-targets" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.18.9", "@babel/plugin-transform-computed-properties@^7.8.3": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" "@babel/plugin-transform-destructuring@^7.20.2", "@babel/plugin-transform-destructuring@^7.8.3": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz#c23741cfa44ddd35f5e53896e88c75331b8b2792" - integrity sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -850,30 +854,30 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.19.6", "@babel/plugin-transform-modules-amd@^7.9.0": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" - integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-modules-commonjs@^7.19.6", "@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" - integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-simple-access" "^7.19.4" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" "@babel/plugin-transform-modules-systemjs@^7.19.6", "@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" - integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6", "@babel/plugin-transform-modules-umd@^7.9.0": @@ -907,10 +911,10 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.8.7": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz#f8f9186c681d10c3de7620c916156d893c8a019e" - integrity sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ== +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.8.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -964,15 +968,15 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.9.1": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" - integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz#025d85a1935fd7e19dfdcb1b1d4df34d4da484f7" + integrity sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.19.0" + "@babel/types" "^7.20.7" "@babel/plugin-transform-react-pure-annotations@^7.18.6": version "7.18.6" @@ -1015,12 +1019,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.19.0", "@babel/plugin-transform-spread@^7.8.3": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-transform-sticky-regex@^7.18.6", "@babel/plugin-transform-sticky-regex@^7.8.3": version "7.18.6" @@ -1044,11 +1048,11 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.9.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz#91515527b376fc122ba83b13d70b01af8fe98f3f" - integrity sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz#673f49499cd810ae32a1ea5f3f8fab370987e055" + integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.2" + "@babel/helper-create-class-features-plugin" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-typescript" "^7.20.0" @@ -1258,9 +1262,9 @@ "@babel/plugin-transform-typescript" "^7.9.0" "@babel/runtime-corejs3@^7.12.1": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz#63dae945963539ab0ad578efbf3eff271e7067ae" - integrity sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz#a1e5ea3d758ba6beb715210142912e3f29981d84" + integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== dependencies: core-js-pure "^3.25.1" regenerator-runtime "^0.13.11" @@ -1273,41 +1277,41 @@ regenerator-runtime "^0.13.4" "@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" - integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== dependencies: regenerator-runtime "^0.13.11" -"@babel/template@^7.18.10", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.8.6": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.8.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" - integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" + integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" + "@babel/generator" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" - integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" @@ -3207,9 +3211,9 @@ integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g== "@opentelemetry/api@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.3.0.tgz#27c6f776ac3c1c616651e506a89f438a0ed6a055" - integrity sha512-YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.0.tgz#2c91791a9ba6ca0a0f4aaac5e45d58df13639ac8" + integrity sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g== "@opentelemetry/core@1.6.0": version "1.6.0" @@ -3288,6 +3292,57 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74" integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ== +"@polywrap/asyncify-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.10.0-pre.6.tgz#6f756bc2456da6df095652dd61b19fc4fc5a39af" + integrity sha512-dC/W7o1KpQLlag2ojoyHYFuUjuD2VGrMcW4PFJsXmXtMsNu1N9kzOEQsnVKF+oi6MPQB3rDkdkZ2x/RIs5hqzg== + +"@polywrap/client-config-builder-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.10.0-pre.6.tgz#1e24ed932c86531b77836c5d948a22374a78e9f2" + integrity sha512-qZaJN5RkOTT7+QRh9AWEYDr6zLpK6fVCprb8DXNnBB5NIiJ6TcdyUx6mp/aJrFSI7a8/6j0aVb8j6YPownl7yw== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/ens-resolver-plugin-js" "0.10.0-pre.6" + "@polywrap/ethereum-plugin-js" "0.10.0-pre.6" + "@polywrap/fs-plugin-js" "0.10.0-pre.6" + "@polywrap/fs-resolver-plugin-js" "0.10.0-pre.6" + "@polywrap/http-plugin-js" "0.10.0-pre.6" + "@polywrap/http-resolver-plugin-js" "0.10.0-pre.6" + "@polywrap/ipfs-plugin-js" "0.10.0-pre.6" + "@polywrap/ipfs-resolver-plugin-js" "0.10.0-pre.6" + "@polywrap/logger-plugin-js" "0.10.0" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.6" + "@polywrap/uri-resolvers-js" "0.10.0-pre.6" + concurrent-plugin-js "0.1.1" + +"@polywrap/client-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.10.0-pre.6.tgz#560f9dcc860142d3b00beaf9518159acb5df940f" + integrity sha512-HMRRqL5M5QsUeYathJHTqE656IKu4xikQCNxZufJd6ZqTx+7cKeExtfhaGteMVo9SE7AuCl5wcL2rmw24PE5Ew== + dependencies: + "@polywrap/client-config-builder-js" "0.10.0-pre.6" + "@polywrap/core-client-js" "0.10.0-pre.6" + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/msgpack-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/tracing-js" "0.10.0-pre.6" + "@polywrap/uri-resolver-extensions-js" "0.10.0-pre.6" + "@polywrap/uri-resolvers-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + +"@polywrap/core-client-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.10.0-pre.6.tgz#5d56c630c7c5b0273aa27b4fc9024f5cb24bd0b4" + integrity sha512-+RqHTq3cFNVAGrh/Yk1+8ZRvhakDV2x8A9ZcMRtugRubZktKc7N4WRhc9OMiIORBxts072BdQRmVGKk/BXV4xQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/msgpack-js" "0.10.0-pre.6" + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/tracing-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + "@polywrap/core-js@0.10.0-pre.5": version "0.10.0-pre.5" resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.5.tgz#8457f168235faae19342a87aed6ddce44a56fb59" @@ -3299,6 +3354,73 @@ graphql "15.5.0" graphql-tag "2.10.4" +"@polywrap/core-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.10.0-pre.6.tgz#7751267b8472473bf3774d441fd75ebe348685e3" + integrity sha512-JP9qk0gS1r1fyRqe2Wp/3tzyDEn3DqeVSC+53aBNEk8uMLIJSUI184JXusVNVafwbLgMxOcJ6vZlhb0x5orrWQ== + dependencies: + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/tracing-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + graphql "15.5.0" + graphql-tag "2.10.4" + +"@polywrap/ens-resolver-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/ens-resolver-plugin-js/-/ens-resolver-plugin-js-0.10.0-pre.6.tgz#bebd73f8a1221f8fc78f100d1d1be4cfae999572" + integrity sha512-24QsSaQwVwY30/KKqVxeNIOnrGxeAPo/TOeeWGB8sBxMxhwXArm/L0ldN7Bgr3H4OYjtyRY2qqx1UHyK8ty97w== + dependencies: + "@ethersproject/address" "5.0.7" + "@ethersproject/basex" "5.0.7" + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + ethers "5.0.7" + +"@polywrap/ethereum-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/ethereum-plugin-js/-/ethereum-plugin-js-0.10.0-pre.6.tgz#a7652e518829543512bed44ce956fea9ae9646b7" + integrity sha512-tIhYCg1kZvL50dHFFgv8SUVYvGUo2rDW9Ge8pLuLJnY9uIsBzv4ZqBsyTG6VKTb03RpxI4Y6gEGGNc4u10xQvw== + dependencies: + "@ethersproject/address" "5.0.7" + "@ethersproject/providers" "5.0.7" + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + ethers "5.0.7" + +"@polywrap/fs-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/fs-plugin-js/-/fs-plugin-js-0.10.0-pre.6.tgz#f0277875e0273abdccf0f1e851848527997b7733" + integrity sha512-UvEkSw6mD/JTExwaGWxJ3byfxJBR3lFebLVrYEEscoMe0el0dHseO/PJuhP+Kih7AdRo5zbsNvG+KIqKobI5qg== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + +"@polywrap/fs-resolver-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/fs-resolver-plugin-js/-/fs-resolver-plugin-js-0.10.0-pre.6.tgz#94b48d2eb87d940a2b1cf5822b3b6cc8ca7f606c" + integrity sha512-oXRO/9X0NtXwor4QFzQxFJfkbuoVG5mCW2BgMPwtxihXvmJow6bvsSz95Uhy6c4bKmoHHYo/ORLbsAi/Gg5JTA== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + +"@polywrap/http-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/http-plugin-js/-/http-plugin-js-0.10.0-pre.6.tgz#331be6aec3249c90e355078f49e37d0e187b0d0f" + integrity sha512-6osndYNTcypf8dAi0BHi/4IixSxq2Ti3zgJedRYSwdxjE0uJGQWPSlm+dQlmzI4vYWmXhDpxETpvXizpoOfLMQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + axios "0.21.4" + +"@polywrap/http-resolver-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/http-resolver-plugin-js/-/http-resolver-plugin-js-0.10.0-pre.6.tgz#4b5c6a60a814f3900ef9cba60d6d302c41669a4d" + integrity sha512-Y0VLQ3PuCtfe0+1YlsTFRj8DL67K0HcFwaWvYQ0RfMM0iV2B3riQHk0VjrFoEXlU+qSmuG5lsj56IcGF1kuMLQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/plugin-js" "0.10.0-pre.6" + abort-controller "3.0.0" + "@polywrap/ipfs-http-client-lite@0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@polywrap/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.0.tgz#b8caf4b4f39413e591aff4367023a04cb6df83a1" @@ -3315,6 +3437,29 @@ pull-stream-to-async-iterator "^1.0.2" querystring "^0.2.0" +"@polywrap/ipfs-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/ipfs-plugin-js/-/ipfs-plugin-js-0.10.0-pre.6.tgz#a3f19eeff44279202525b998ea4a1b6b1002aacc" + integrity sha512-7J6ejZr9Y7RZJkQjQaMt3zAYr1FzrNOeYt7oD/EZBix0fbzxTLz2ZTIhRyU3M0yaTv8uETi4z3IZrXZmqEl1EQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/ipfs-http-client-lite" "0.3.0" + "@polywrap/plugin-js" "0.10.0-pre.6" + abort-controller "3.0.0" + is-ipfs "1.0.3" + multiformats "9.7.0" + +"@polywrap/ipfs-resolver-plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/ipfs-resolver-plugin-js/-/ipfs-resolver-plugin-js-0.10.0-pre.6.tgz#9a261e3973d0ef84b5fe230fcfd65a0d09618148" + integrity sha512-w3iovKnbDv5MHVc6aBkdoj7M90EBMB0B4N1WF7inPS+yJp6sKGQGNf0po3inQ8VZam7m0n1Bj9T6CWURoV/CIQ== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/ipfs-http-client-lite" "0.3.0" + "@polywrap/plugin-js" "0.10.0-pre.6" + abort-controller "3.0.0" + is-ipfs "1.0.3" + "@polywrap/logger-plugin-js@0.10.0": version "0.10.0" resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.10.0.tgz#9fc10532e86642d7e8eb3fc7a34494cb077610bd" @@ -3330,6 +3475,13 @@ dependencies: "@msgpack/msgpack" "2.7.2" +"@polywrap/msgpack-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.10.0-pre.6.tgz#22f884cbadc959c685851f0981b4616d28f106ff" + integrity sha512-RlUAh/6IKAnDdEDxDwWCzwQswd3DU7JUaD0PpWok45BemxBTNmLMcSkKKlK8zXntVHGR/9E8UqadsDjQDxgEUg== + dependencies: + "@msgpack/msgpack" "2.7.2" + "@polywrap/plugin-js@0.10.0-pre.5": version "0.10.0-pre.5" resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.5.tgz#5bd416cb7f52f001144222e5bc83d1e94ff23cb4" @@ -3341,6 +3493,17 @@ "@polywrap/tracing-js" "0.10.0-pre.5" "@polywrap/wrap-manifest-types-js" "0.10.0-pre.5" +"@polywrap/plugin-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.10.0-pre.6.tgz#ab51539d3ece260aebb028edf6cb4e57504a031d" + integrity sha512-7lxNwv3btb4KsA4ol0lC381YPZLdqAnjQTOa3FiGGYdlpFs8gB0FUTcIZZ2xrROCksliDEuX5Mt8Y8J2X8q9gA== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/msgpack-js" "0.10.0-pre.6" + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/tracing-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + "@polywrap/react@0.10.0-pre.6": version "0.10.0-pre.6" resolved "https://registry.yarnpkg.com/@polywrap/react/-/react-0.10.0-pre.6.tgz#10bc4aedb0d3ff21ff3dc8100bedaaae06d1c3b4" @@ -3355,6 +3518,11 @@ resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.5.tgz#b703878cf7426dee0edc1a2649f79a06153b403e" integrity sha512-5ATKBdqSS/qmSfJDrQBBq4d34b3Al381bJWJ8nWlcyt8ybo2CqHwQuv/dD02elmhS2G3EK/p/sZCbD1st8CZYw== +"@polywrap/result@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.6.tgz#ec5fbe2f8a828bd586c67d9243b4a46e8f42e423" + integrity sha512-IQeaS/4Wdbl+TI59J0+WOpRUQWY7F85QwfRLEH2hZnbMKaCuJB1ski9/0D4soEDiTGF5+PY9rQCB/nNrj5rYJg== + "@polywrap/tracing-js@0.10.0-pre.5": version "0.10.0-pre.5" resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.5.tgz#3408c469c64a1f4e6f059f40d04c6b6e6328e76f" @@ -3367,6 +3535,50 @@ "@opentelemetry/sdk-trace-base" "1.6.0" "@opentelemetry/sdk-trace-web" "1.6.0" +"@polywrap/tracing-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.10.0-pre.6.tgz#ef1b8640d4c0a7a0a1f347931ae8b4f7494d287d" + integrity sha512-2IxLGRn3VdkMyq/aSo9H97oC6D+5+/JEp6mxvo4SxFROnt/0Ua9vs/8VhxBkIKPUglYFCug91T/CWTN0BhzvSw== + dependencies: + "@fetsorn/opentelemetry-console-exporter" "0.0.3" + "@opentelemetry/api" "1.2.0" + "@opentelemetry/exporter-trace-otlp-http" "0.32.0" + "@opentelemetry/resources" "1.6.0" + "@opentelemetry/sdk-trace-base" "1.6.0" + "@opentelemetry/sdk-trace-web" "1.6.0" + +"@polywrap/uri-resolver-extensions-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.10.0-pre.6.tgz#45ab587ed00c47bea8ffa5ea227d654694dc66ef" + integrity sha512-pS0PeF3SVDFn5DWSSeAiK5G+pfIzxrlu8EXk8F4xXdLXCQV93rTufLNUbh9XudvTmqcqgRC8CefvrnWI4sK7bg== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/uri-resolvers-js" "0.10.0-pre.6" + "@polywrap/wasm-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + +"@polywrap/uri-resolvers-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.10.0-pre.6.tgz#9c4a09fe426139ac3bf9609e4607d5ec2d9c2731" + integrity sha512-AT6H1z9Ck4cScRxxTeYT6DkydE1d1utK978Uyp/EF4OZ4OGbSWDdCJ3/6Kc+wSGAGPe5XoYMV805BpQqqjKueA== + dependencies: + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + +"@polywrap/wasm-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.10.0-pre.6.tgz#79f3bc29d771ba34fc222811f33d2b26a37f53ee" + integrity sha512-tXkfheTjJI7gn1KmD49Yb3FrQ4UpGuRJI5eaTucE9CKmlo7bKO8wn7e+3y1VxZPpGA1CZEqSdY5qPHRwSA5pcg== + dependencies: + "@polywrap/asyncify-js" "0.10.0-pre.6" + "@polywrap/core-js" "0.10.0-pre.6" + "@polywrap/msgpack-js" "0.10.0-pre.6" + "@polywrap/result" "0.10.0-pre.6" + "@polywrap/tracing-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-types-js" "0.10.0-pre.6" + "@polywrap/wrap-manifest-schemas@0.9.3": version "0.9.3" resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-schemas/-/wrap-manifest-schemas-0.9.3.tgz#cdf950bb8951fba72afd8300aaf9a0a8159d7c37" @@ -3381,6 +3593,15 @@ jsonschema "1.4.0" semver "7.3.5" +"@polywrap/wrap-manifest-types-js@0.10.0-pre.6": + version "0.10.0-pre.6" + resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.10.0-pre.6.tgz#1171be90c00ab5fe687f5b9bd1c7b32bb79e5d00" + integrity sha512-70Q+rCnB807m3au+pfP+/MimHacg7Wz2gMS5Q34GA5NGt5Qj0vdyqBjIYbIsyerMjO/gxHrf4CxKl+0+elX0fQ== + dependencies: + json-schema-ref-parser "9.0.9" + jsonschema "1.4.0" + semver "7.3.5" + "@sinclair/typebox@^0.24.1": version "0.24.51" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" @@ -3609,9 +3830,9 @@ "@types/node" "*" "@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + version "4.1.6" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" + integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== dependencies: "@types/node" "*" @@ -3698,9 +3919,9 @@ integrity sha512-wH6Tu9mbiOt0n5EvdoWy0VGQaJMHfLIxY/6wS0xLC7CV1taM6gESEzcYy0ZlWvxxiiljYvfDIvz4hHbUUDRlhw== "@types/node@*": - version "18.11.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.17.tgz#5c009e1d9c38f4a2a9d45c0b0c493fe6cdb4bcb5" - integrity sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng== + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== "@types/node@12.12.26": version "12.12.26" @@ -3800,9 +4021,9 @@ "@types/yargs-parser" "*" "@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + version "15.0.15" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158" + integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== dependencies: "@types/yargs-parser" "*" @@ -4278,9 +4499,9 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: uri-js "^4.2.2" ajv@^8.0.1: - version "8.11.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" - integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -4696,9 +4917,9 @@ aws-sign2@~0.7.0: integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== axios@0.21.2: version "0.21.2" @@ -5524,9 +5745,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001400: - version "1.0.30001439" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz#ab7371faeb4adff4b74dad1718a6fd122e45d9cb" - integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== + version "1.0.30001445" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001445.tgz#cf2d4eb93f2bcdf0310de9dd6d18be271bc0b447" + integrity sha512-8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg== capture-exit@^2.0.0: version "2.0.0" @@ -6230,16 +6451,16 @@ copyfiles@2.4.1: yargs "^16.1.0" core-js-compat@^3.25.1, core-js-compat@^3.6.2: - version "3.26.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.26.1.tgz#0e710b09ebf689d719545ac36e49041850f943df" - integrity sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A== + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.1.tgz#b5695eb25c602d72b1d30cbfba3cb7e5e4cf0a67" + integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== dependencies: browserslist "^4.21.4" core-js-pure@^3.25.1: - version "3.26.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.26.1.tgz#653f4d7130c427820dcecd3168b594e8bb095a33" - integrity sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ== + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.1.tgz#ede4a6b8440585c7190062757069c01d37a19dca" + integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw== core-js@^2.4.0: version "2.6.12" @@ -6247,9 +6468,9 @@ core-js@^2.4.0: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.5.0: - version "3.26.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.26.1.tgz#7a9816dabd9ee846c1c0fe0e8fcad68f3709134e" - integrity sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA== + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.1.tgz#23cc909b315a6bb4e418bf40a52758af2103ba46" + integrity sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww== core-util-is@1.0.2: version "1.0.2" @@ -7279,26 +7500,32 @@ error-ex@^1.2.0, error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" - integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== dependencies: + available-typed-arrays "^1.0.5" call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + globalthis "^1.0.3" gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" + internal-slot "^1.0.4" + is-array-buffer "^3.0.1" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" + is-typed-array "^1.1.10" is-weakref "^1.0.2" object-inspect "^1.12.2" object-keys "^1.1.1" @@ -7307,13 +7534,24 @@ es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4: safe-regex-test "^1.0.0" string.prototype.trimend "^1.0.6" string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" es-array-method-boxes-properly@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -7423,12 +7661,13 @@ eslint-config-react-app@^5.2.1: confusing-browser-globals "^1.0.9" eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.4: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" - resolve "^1.20.0" + is-core-module "^2.11.0" + resolve "^1.22.1" eslint-loader@3.0.3: version "3.0.3" @@ -8077,9 +8316,9 @@ fast-memoize@^2.5.2: integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== fastq@^1.6.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" - integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -8743,7 +8982,7 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" -globalthis@^1.0.1: +globalthis@^1.0.1, globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== @@ -8895,6 +9134,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -9416,7 +9660,7 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.3: +internal-slot@^1.0.3, internal-slot@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== @@ -9640,6 +9884,15 @@ is-arguments@^1.0.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -9713,7 +9966,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.5.0, is-core-module@^2.9.0: +is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== @@ -10024,7 +10277,7 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10, is-typed-array@^1.1.3: +is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: version "1.1.10" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== @@ -11309,10 +11562,10 @@ json3@^3.3.2: resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== -json5@2.x, json5@^2.1.2, json5@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" - integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== +json5@2.x, json5@^2.1.2, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== json5@^1.0.1: version "1.0.2" @@ -11725,9 +11978,9 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: js-tokens "^3.0.0 || ^4.0.0" lottie-web@^5.1.3: - version "5.10.0" - resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.10.0.tgz#72563f22efdcf2b8f7e8359743514930ebaf5f8c" - integrity sha512-q2hfqKrGXNkwjSSZjKxf3fWMi0e3ZBc03qBkVWoGbwUJ7BcG+9YXjMPtmmhitzk8Nc6VQ5PRnh9yInPdfq0PZg== + version "5.10.1" + resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.10.1.tgz#fde8e6be374afc3906f78b4152ada9be44ce3ccf" + integrity sha512-u17bVNf/vA3oK9Wkyb1Vpo83WUIEQwaT0GeEN0qcvaExizyJ/RjmcbjSDj0CnwQCtpGqTgYhqprCC7cTWuXMNw== lower-case@^2.0.2: version "2.0.2" @@ -12086,9 +12339,9 @@ minimalistic-crypto-utils@^1.0.1: integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@*: - version "5.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" - integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== + version "6.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.0.4.tgz#cbada37326e86dc19434874a04e29df0ba64cb17" + integrity sha512-9SQupyyavjdAc1VFjJS/5kdtFtlLAhKSWt7HocG0h/npy626jYrGegSslcM7Xxet5z0U9GOx9YbcpyIjBzn7tA== dependencies: brace-expansion "^2.0.1" @@ -12613,9 +12866,9 @@ nock@13.0.7: propagate "^2.0.0" node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== dependencies: whatwg-url "^5.0.0" @@ -12970,9 +13223,9 @@ object-hash@^2.0.1: integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== object-is@^1.0.1: version "1.1.5" @@ -14361,9 +14614,9 @@ prettier@2.2.1: integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== prettier@^2.6.2: - version "2.8.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" - integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== + version "2.8.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" + integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== pretty-bytes@^5.1.0: version "5.6.0" @@ -14600,9 +14853,9 @@ punycode@^1.2.4: integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + version "2.2.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.2.0.tgz#2092cc57cd2582c38e4e7e8bb869dc8d3148bc74" + integrity sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw== q@^1.1.2, q@^1.5.1: version "1.5.1" @@ -15357,7 +15610,7 @@ resolve@1.15.0: dependencies: path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.22.1, resolve@^1.3.2, resolve@^1.8.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -16994,6 +17247,15 @@ type@^2.7.2: resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -17699,7 +17961,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== -which-typed-array@^1.1.2: +which-typed-array@^1.1.2, which-typed-array@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== From b8015ac743fd959f00405e17da673d4faa249bf3 Mon Sep 17 00:00:00 2001 From: Cesar Date: Mon, 16 Jan 2023 22:15:14 +0100 Subject: [PATCH 09/25] chore(polywrap/manifest): improve migrator warn message --- .../polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts index 1351f0f006..99d1bf9183 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts @@ -5,7 +5,7 @@ import { PolywrapManifest as NewManifest } from "../0.4.0"; export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { if (migrate.extensions?.deploy) { logger?.warn( - `The Polywrap Deploy Manifest does not needs to be defined in the Polywrap Manifest, feel free to remove it.` + `The Polywrap Deploy Manifest does not needs to be defined in the Polywrap Manifest, please remove it` ); } return { From 34f82b7442d979499f7c9226cb348fe8b3efe967 Mon Sep 17 00:00:00 2001 From: Cesar Date: Tue, 17 Jan 2023 15:14:23 +0100 Subject: [PATCH 10/25] js/manifest: remove deploy attribute in polywrap migration 0.4 --- .../polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts index 99d1bf9183..d2c52deef7 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts @@ -5,8 +5,9 @@ import { PolywrapManifest as NewManifest } from "../0.4.0"; export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { if (migrate.extensions?.deploy) { logger?.warn( - `The Polywrap Deploy Manifest does not needs to be defined in the Polywrap Manifest, please remove it` + `The Polywrap Deploy Manifest ('extensions.deploy') is no longer used within the Polywrap Manifest and has been removed` ); + delete migrate.extensions.deploy; } return { ...migrate, From 3255016ba98d2febeac10a0567524b5b2c68fd59 Mon Sep 17 00:00:00 2001 From: Cesar Date: Tue, 17 Jan 2023 15:30:50 +0100 Subject: [PATCH 11/25] tests/cli: remove deploy attribute from manifest --- packages/test-cases/cases/cli/manifest/samples/polywrap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/test-cases/cases/cli/manifest/samples/polywrap.yaml b/packages/test-cases/cases/cli/manifest/samples/polywrap.yaml index 1d06aebd1b..7e0867be24 100644 --- a/packages/test-cases/cases/cli/manifest/samples/polywrap.yaml +++ b/packages/test-cases/cases/cli/manifest/samples/polywrap.yaml @@ -4,4 +4,3 @@ language: wasm/assemblyscript schema: ./src/schema.graphql module: ./src/index.ts build: ./polywrap.build.yaml -deploy: ./polywrap.deploy.yaml From fe54a5af328c612110abf5cce177e69416534ea4 Mon Sep 17 00:00:00 2001 From: Cesar Date: Tue, 17 Jan 2023 15:06:32 +0100 Subject: [PATCH 12/25] cli: deployer & deploy module renamed --- packages/cli/src/commands/deploy.ts | 6 ++-- .../ens-recursive-name-register/index.ts | 4 +-- .../lib/defaults/deploy-modules/ens/index.ts | 4 +-- .../lib/defaults/deploy-modules/http/index.ts | 4 +-- .../deploy-modules/ipfs-test/index.ts | 4 +-- .../lib/defaults/deploy-modules/ipfs/index.ts | 4 +-- .../deploy/{PolywrapDeploy.ts => Deployer.ts} | 33 +++++++++++-------- packages/cli/src/lib/deploy/deployer.ts | 5 --- packages/cli/src/lib/deploy/index.ts | 7 ++-- packages/cli/src/lib/deploy/step.ts | 10 +++--- .../polywrap/migrators/0.3.0_to_0.4.0.ts | 1 + yarn.lock | 6 ++-- 12 files changed, 44 insertions(+), 44 deletions(-) rename packages/cli/src/lib/deploy/{PolywrapDeploy.ts => Deployer.ts} (73%) delete mode 100644 packages/cli/src/lib/deploy/deployer.ts diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 5681f3c012..d266aedbcf 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -8,7 +8,7 @@ import { DeployJob, DeployStep, parseLogFileOption, - PolywrapDeploy, + Deployer, defaultDeployManifest, } from "../lib"; @@ -70,7 +70,7 @@ async function run(options: Required): Promise { const { manifestFile, outputFile, verbose, quiet, logFile } = options; const logger = createLogger({ verbose, quiet, logFile }); - const deployer = await PolywrapDeploy.create(manifestFile, logger); + const deployer = await Deployer.create(manifestFile, logger); const allStepsFromAllJobs = Object.entries(deployer.manifest.jobs).flatMap( ([jobName, job]) => { @@ -117,7 +117,7 @@ async function run(options: Required): Promise { return new DeployStep({ name: step.name, uriOrStepResult: step.uri, - deployer: stepToPackageMap[step.name].deployer, + deployModule: stepToPackageMap[step.name].deployModule, config: step.config ?? {}, }); }); diff --git a/packages/cli/src/lib/defaults/deploy-modules/ens-recursive-name-register/index.ts b/packages/cli/src/lib/defaults/deploy-modules/ens-recursive-name-register/index.ts index 7255d1711e..dc14f4b2ac 100644 --- a/packages/cli/src/lib/defaults/deploy-modules/ens-recursive-name-register/index.ts +++ b/packages/cli/src/lib/defaults/deploy-modules/ens-recursive-name-register/index.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-require-imports */ /* eslint-disable @typescript-eslint/no-var-requires */ -import { Deployer } from "../../../deploy"; +import { DeployModule } from "../../../deploy"; import { Wallet } from "@ethersproject/wallet"; import { JsonRpcProvider } from "@ethersproject/providers"; @@ -13,7 +13,7 @@ import { import { embeddedWrappers } from "@polywrap/test-env-js"; import { PolywrapClient } from "@polywrap/client-js"; -class ENSRecursiveNameRegisterPublisher implements Deployer { +class ENSRecursiveNameRegisterPublisher implements DeployModule { async execute( uri: Uri, config: { diff --git a/packages/cli/src/lib/defaults/deploy-modules/ens/index.ts b/packages/cli/src/lib/defaults/deploy-modules/ens/index.ts index 8be5bcb826..393b6784fb 100644 --- a/packages/cli/src/lib/defaults/deploy-modules/ens/index.ts +++ b/packages/cli/src/lib/defaults/deploy-modules/ens/index.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-require-imports */ /* eslint-disable @typescript-eslint/no-var-requires */ -import { Deployer } from "../../../deploy"; +import { DeployModule } from "../../../deploy"; import { Wallet } from "@ethersproject/wallet"; import { JsonRpcProvider } from "@ethersproject/providers"; @@ -15,7 +15,7 @@ import { PolywrapClient } from "@polywrap/client-js"; const contentHash = require("content-hash"); -class ENSPublisher implements Deployer { +class ENSPublisher implements DeployModule { async execute( uri: Uri, config: { diff --git a/packages/cli/src/lib/defaults/deploy-modules/http/index.ts b/packages/cli/src/lib/defaults/deploy-modules/http/index.ts index 1b2f60bba5..f552265733 100644 --- a/packages/cli/src/lib/defaults/deploy-modules/http/index.ts +++ b/packages/cli/src/lib/defaults/deploy-modules/http/index.ts @@ -1,4 +1,4 @@ -import { Deployer } from "../../../deploy/deployer"; +import { DeployModule } from "../../../deploy"; import { Uri } from "@polywrap/core-js"; import FormData from "form-data"; @@ -33,7 +33,7 @@ const dirToFormData = (baseDirPath: string) => { return formData; }; -class HTTPDeployer implements Deployer { +class HTTPDeployer implements DeployModule { async execute(uri: Uri, config?: { postUrl: string }): Promise { if (!isValidUri(uri)) { throw new Error( diff --git a/packages/cli/src/lib/defaults/deploy-modules/ipfs-test/index.ts b/packages/cli/src/lib/defaults/deploy-modules/ipfs-test/index.ts index a184f256b6..8a9084e21e 100644 --- a/packages/cli/src/lib/defaults/deploy-modules/ipfs-test/index.ts +++ b/packages/cli/src/lib/defaults/deploy-modules/ipfs-test/index.ts @@ -1,8 +1,8 @@ -import { Deployer } from "../../../deploy/deployer"; +import { DeployModule } from "../../../deploy"; import { Uri } from "@polywrap/core-js"; -class IPFSDeployer implements Deployer { +class IPFSDeployer implements DeployModule { // eslint-disable-next-line @typescript-eslint/naming-convention async execute(_: Uri, __: unknown): Promise { return new Uri(`ipfs/Qm`); diff --git a/packages/cli/src/lib/defaults/deploy-modules/ipfs/index.ts b/packages/cli/src/lib/defaults/deploy-modules/ipfs/index.ts index 060517d75d..446d033840 100644 --- a/packages/cli/src/lib/defaults/deploy-modules/ipfs/index.ts +++ b/packages/cli/src/lib/defaults/deploy-modules/ipfs/index.ts @@ -1,4 +1,4 @@ -import { Deployer } from "../../../deploy/deployer"; +import { DeployModule } from "../../../deploy"; import { Uri } from "@polywrap/core-js"; @@ -8,7 +8,7 @@ const { globSource } = IPFSClient; const isValidUri = (uri: Uri) => uri.authority === "fs"; -class IPFSDeployer implements Deployer { +class IPFSDeployer implements DeployModule { async execute(uri: Uri, config?: { gatewayUri: string }): Promise { if (!isValidUri(uri)) { throw new Error( diff --git a/packages/cli/src/lib/deploy/PolywrapDeploy.ts b/packages/cli/src/lib/deploy/Deployer.ts similarity index 73% rename from packages/cli/src/lib/deploy/PolywrapDeploy.ts rename to packages/cli/src/lib/deploy/Deployer.ts index 0a0c48a3c5..118febbe2a 100644 --- a/packages/cli/src/lib/deploy/PolywrapDeploy.ts +++ b/packages/cli/src/lib/deploy/Deployer.ts @@ -1,28 +1,32 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -import { Deployer } from "./deployer"; import { loadDeployManifest, loadDeployManifestExt } from "../project"; import { CacheDirectory } from "../CacheDirectory"; import { Logger } from "../logging"; +import { Uri } from "@polywrap/core-js"; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; import { Schema as JsonSchema } from "jsonschema"; import path from "path"; import nodePath from "path"; -interface PolywrapDeployConfig { +export interface DeployModule { + execute(uri: Uri, config?: unknown): Promise; +} + +interface DeployerConfig { cache: CacheDirectory; logger: Logger; defaultModulesCached: boolean; } -export class PolywrapDeploy { +export class Deployer { public static cacheLayout = { root: "deploy/", deployModulesDir: "modules/", }; public manifest: DeployManifest; - private _config: PolywrapDeployConfig; + private _config: DeployerConfig; private constructor( manifest: DeployManifest, @@ -40,24 +44,27 @@ export class PolywrapDeploy { public static async create( manifest: string, logger: Logger - ): Promise { + ): Promise { const deployManifest = await loadDeployManifest(manifest, logger); const cache = new CacheDirectory({ rootDir: nodePath.dirname(manifest), - subDir: PolywrapDeploy.cacheLayout.root, + subDir: Deployer.cacheLayout.root, }); - return new PolywrapDeploy(deployManifest, cache, logger); + return new Deployer(deployManifest, cache, logger); } public async getDeployModule( moduleName: string - ): Promise<{ deployer: Deployer; manifestExt: JsonSchema | undefined }> { + ): Promise<{ + deployModule: DeployModule; + manifestExt: JsonSchema | undefined; + }> { if (!this._config.defaultModulesCached) { throw new Error("Deploy modules have not been cached"); } const cachePath = this._config.cache.getCachePath( - `${PolywrapDeploy.cacheLayout.deployModulesDir}/${moduleName}` + `${Deployer.cacheLayout.deployModulesDir}/${moduleName}` ); const manifestExtPath = path.join(cachePath, "polywrap.deploy.ext.json"); @@ -69,7 +76,7 @@ export class PolywrapDeploy { return { // eslint-disable-next-line @typescript-eslint/no-require-imports - deployer: require(cachePath).default as Deployer, + deployModule: require(cachePath).default as DeployModule, manifestExt, }; } @@ -79,13 +86,11 @@ export class PolywrapDeploy { return; } - this._config.cache.removeCacheDir( - PolywrapDeploy.cacheLayout.deployModulesDir - ); + this._config.cache.removeCacheDir(Deployer.cacheLayout.deployModulesDir); for await (const deployModule of modules) { await this._config.cache.copyIntoCache( - `${PolywrapDeploy.cacheLayout.deployModulesDir}/${deployModule}`, + `${Deployer.cacheLayout.deployModulesDir}/${deployModule}`, `${__dirname}/../defaults/deploy-modules/${deployModule}/*`, { up: true } ); diff --git a/packages/cli/src/lib/deploy/deployer.ts b/packages/cli/src/lib/deploy/deployer.ts deleted file mode 100644 index 42d19d3bd8..0000000000 --- a/packages/cli/src/lib/deploy/deployer.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Uri } from "@polywrap/core-js"; - -export interface Deployer { - execute(uri: Uri, config?: unknown): Promise; -} diff --git a/packages/cli/src/lib/deploy/index.ts b/packages/cli/src/lib/deploy/index.ts index 21fc4d11ca..de3b2ed61e 100644 --- a/packages/cli/src/lib/deploy/index.ts +++ b/packages/cli/src/lib/deploy/index.ts @@ -1,13 +1,12 @@ -import { Deployer } from "./deployer"; +import { DeployModule } from "./Deployer"; import { Schema as JsonSchema } from "jsonschema"; -export * from "./deployer"; +export * from "./Deployer"; export * from "./step"; export * from "./job"; -export * from "./PolywrapDeploy"; export interface DeployPackage { - deployer: Deployer; + deployModule: DeployModule; manifestExt: JsonSchema | undefined; } diff --git a/packages/cli/src/lib/deploy/step.ts b/packages/cli/src/lib/deploy/step.ts index 47262a6882..a02a53ec81 100644 --- a/packages/cli/src/lib/deploy/step.ts +++ b/packages/cli/src/lib/deploy/step.ts @@ -1,4 +1,4 @@ -import { Deployer } from "./deployer"; +import { DeployModule } from "./Deployer"; import { Uri } from "@polywrap/core-js"; @@ -14,24 +14,24 @@ export interface StepResult { interface StepArgs { name: string; uriOrStepResult: UriOrPrevStepResult; - deployer: Deployer; + deployModule: DeployModule; config: Record; } export class DeployStep { public name: string; - public deployer: Deployer; + public deployModule: DeployModule; public uriOrStepResult: string; public config: Record; constructor(args: StepArgs) { this.name = args.name; - this.deployer = args.deployer; + this.deployModule = args.deployModule; this.uriOrStepResult = args.uriOrStepResult; this.config = args.config; } public async run(uri: Uri, config: Record): Promise { - return await this.deployer.execute(uri, config); + return await this.deployModule.execute(uri, config); } } diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts index d2c52deef7..f458ad4438 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts @@ -14,3 +14,4 @@ export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { format: "0.4.0", }; } +Deployer \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index d3a824db1d..2d7fa83f0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12339,9 +12339,9 @@ minimalistic-crypto-utils@^1.0.1: integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@*: - version "6.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.0.4.tgz#cbada37326e86dc19434874a04e29df0ba64cb17" - integrity sha512-9SQupyyavjdAc1VFjJS/5kdtFtlLAhKSWt7HocG0h/npy626jYrGegSslcM7Xxet5z0U9GOx9YbcpyIjBzn7tA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.0.tgz#e0eafd0a19977f5accebd4b3909a34f6611d4288" + integrity sha512-eqe4xaKs1/JmNylXNFY2f41n3jNZAZTZlmOitWd71YazZlvvXMtzL+gK67jRKhrTQmHfrCbErYWV8z9Nz4aNuQ== dependencies: brace-expansion "^2.0.1" From 89e96d06f12ba264e9be3090604c0ee67459f4b2 Mon Sep 17 00:00:00 2001 From: Cesar Date: Tue, 17 Jan 2023 15:08:21 +0100 Subject: [PATCH 13/25] chore: remove non necessary change --- .../polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts index f458ad4438..d2c52deef7 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts @@ -14,4 +14,3 @@ export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { format: "0.4.0", }; } -Deployer \ No newline at end of file From 61b76ea73d1727dedf907cfa1fa92cbca3778420 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 17 Jan 2023 19:57:24 -0500 Subject: [PATCH 14/25] chore: rename lib/deploy/ modules --- .../cli/src/lib/deploy/{job.ts => DeployJob.ts} | 2 +- packages/cli/src/lib/deploy/DeployModule.ts | 5 +++++ packages/cli/src/lib/deploy/DeployPackage.ts | 8 ++++++++ .../cli/src/lib/deploy/{step.ts => DeployStep.ts} | 2 +- packages/cli/src/lib/deploy/Deployer.ts | 6 +----- packages/cli/src/lib/deploy/index.ts | 15 ++++----------- 6 files changed, 20 insertions(+), 18 deletions(-) rename packages/cli/src/lib/deploy/{job.ts => DeployJob.ts} (99%) create mode 100644 packages/cli/src/lib/deploy/DeployModule.ts create mode 100644 packages/cli/src/lib/deploy/DeployPackage.ts rename packages/cli/src/lib/deploy/{step.ts => DeployStep.ts} (94%) diff --git a/packages/cli/src/lib/deploy/job.ts b/packages/cli/src/lib/deploy/DeployJob.ts similarity index 99% rename from packages/cli/src/lib/deploy/job.ts rename to packages/cli/src/lib/deploy/DeployJob.ts index e43f1c986f..8bdb21921c 100644 --- a/packages/cli/src/lib/deploy/job.ts +++ b/packages/cli/src/lib/deploy/DeployJob.ts @@ -1,4 +1,4 @@ -import { DeployStep, StepName, StepResult, UriOrPrevStepResult } from "./step"; +import { DeployStep, StepName, StepResult, UriOrPrevStepResult } from "./DeployStep"; import { Logger } from "../logging"; import { Uri } from "@polywrap/core-js"; diff --git a/packages/cli/src/lib/deploy/DeployModule.ts b/packages/cli/src/lib/deploy/DeployModule.ts new file mode 100644 index 0000000000..a7c9b50c70 --- /dev/null +++ b/packages/cli/src/lib/deploy/DeployModule.ts @@ -0,0 +1,5 @@ +import { Uri } from "@polywrap/core-js"; + +export interface DeployModule { + execute(uri: Uri, config?: unknown): Promise; +} diff --git a/packages/cli/src/lib/deploy/DeployPackage.ts b/packages/cli/src/lib/deploy/DeployPackage.ts new file mode 100644 index 0000000000..40dae48adb --- /dev/null +++ b/packages/cli/src/lib/deploy/DeployPackage.ts @@ -0,0 +1,8 @@ +import { DeployModule } from "./DeployModule"; + +import { Schema as JsonSchema } from "jsonschema"; + +export interface DeployPackage { + deployModule: DeployModule; + manifestExt: JsonSchema | undefined; +} diff --git a/packages/cli/src/lib/deploy/step.ts b/packages/cli/src/lib/deploy/DeployStep.ts similarity index 94% rename from packages/cli/src/lib/deploy/step.ts rename to packages/cli/src/lib/deploy/DeployStep.ts index a02a53ec81..d917e6b93a 100644 --- a/packages/cli/src/lib/deploy/step.ts +++ b/packages/cli/src/lib/deploy/DeployStep.ts @@ -1,4 +1,4 @@ -import { DeployModule } from "./Deployer"; +import { DeployModule } from "./DeployModule"; import { Uri } from "@polywrap/core-js"; diff --git a/packages/cli/src/lib/deploy/Deployer.ts b/packages/cli/src/lib/deploy/Deployer.ts index 118febbe2a..2a0f1f7efa 100644 --- a/packages/cli/src/lib/deploy/Deployer.ts +++ b/packages/cli/src/lib/deploy/Deployer.ts @@ -1,19 +1,15 @@ /* eslint-disable @typescript-eslint/no-var-requires */ +import { DeployModule } from "./DeployModule"; import { loadDeployManifest, loadDeployManifestExt } from "../project"; import { CacheDirectory } from "../CacheDirectory"; import { Logger } from "../logging"; -import { Uri } from "@polywrap/core-js"; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; import { Schema as JsonSchema } from "jsonschema"; import path from "path"; import nodePath from "path"; -export interface DeployModule { - execute(uri: Uri, config?: unknown): Promise; -} - interface DeployerConfig { cache: CacheDirectory; logger: Logger; diff --git a/packages/cli/src/lib/deploy/index.ts b/packages/cli/src/lib/deploy/index.ts index de3b2ed61e..fe4fba86bc 100644 --- a/packages/cli/src/lib/deploy/index.ts +++ b/packages/cli/src/lib/deploy/index.ts @@ -1,12 +1,5 @@ -import { DeployModule } from "./Deployer"; - -import { Schema as JsonSchema } from "jsonschema"; - export * from "./Deployer"; -export * from "./step"; -export * from "./job"; - -export interface DeployPackage { - deployModule: DeployModule; - manifestExt: JsonSchema | undefined; -} +export * from "./DeployModule"; +export * from "./DeployPackage"; +export * from "./DeployStep"; +export * from "./DeployJob"; From 5de86de3a3f8f455bdf6bca5ecba763c5a4e6990 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 17 Jan 2023 21:11:09 -0500 Subject: [PATCH 15/25] break: remove extensions from project manifests --- .../polywrap/formats/polywrap.app/0.3.0.json | 22 --- .../formats/polywrap.build/0.3.0.json | 129 ++++++++++++++++++ .../formats/polywrap.plugin/0.3.0.json | 22 --- .../polywrap/formats/polywrap/0.3.0.json | 22 --- .../polywrap/formats/polywrap/0.4.0.json | 97 ------------- 5 files changed, 129 insertions(+), 163 deletions(-) create mode 100644 packages/manifests/polywrap/formats/polywrap.build/0.3.0.json delete mode 100644 packages/manifests/polywrap/formats/polywrap/0.4.0.json diff --git a/packages/manifests/polywrap/formats/polywrap.app/0.3.0.json b/packages/manifests/polywrap/formats/polywrap.app/0.3.0.json index 7b03d2c784..5fdc78f219 100644 --- a/packages/manifests/polywrap/formats/polywrap.app/0.3.0.json +++ b/packages/manifests/polywrap/formats/polywrap.app/0.3.0.json @@ -46,28 +46,6 @@ } } } - }, - "extensions": { - "description": "Project extension files (build, deploy, infra).", - "type": "object", - "additionalProperties": false, - "properties": { - "build": { - "description": "Path to the project build manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "deploy": { - "description": "Path to project deploy manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "infra": { - "description": "Path to project infra manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - } - } } }, "definitions": { diff --git a/packages/manifests/polywrap/formats/polywrap.build/0.3.0.json b/packages/manifests/polywrap/formats/polywrap.build/0.3.0.json new file mode 100644 index 0000000000..c5d06070b2 --- /dev/null +++ b/packages/manifests/polywrap/formats/polywrap.build/0.3.0.json @@ -0,0 +1,129 @@ +{ + "id": "BuildManifest", + "type": "object", + "additionalProperties": false, + "required": ["format", "project"], + "properties": { + "format": { + "description": "Polywrap build manifest format version.", + "type": "string", + "enum": ["0.3.0"] + }, + "project": { + "description": "Path to the project manifest file.", + "type": "string", + "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" + }, + "strategies": { + "description": "Custom build image configurations.", + "type": "object", + "additionalProperties": false, + "properties": { + "image": { + "$ref": "#/definitions/image" + }, + "local": { + "$ref": "#/definitions/local" + }, + "vm": { + "$ref": "#/definitions/vm" + } + } + }, + "linked_packages": { + "description": "Locally linked packages into docker build image.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Package name.", + "type": "string" + }, + "path": { + "description": "Path to linked package directory.", + "type": "string" + }, + "filter": { + "description": "Ignore files matching this regex in linked package directory.", + "type": "string" + } + }, + "required": ["name", "path"] + } + }, + "config": { + "description": "General configurations.", + "type": "object" + } + }, + "definitions": { + "image": { + "description": "Docker image strategy configuration", + "type": "object", + "properties": { + "name": { + "description": "Docker image name.", + "type": "string", + "pattern": "^[a-zA-Z0-9\\-\\_]+$" + }, + "dockerfile": { + "description": "Docker image file name.", + "type": "string", + "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/Dockerfile(.mustache)?$" + }, + "buildx": { + "description": "Configuration options for Docker Buildx, set to true for default value.", + "type": ["object", "boolean"], + "additionalProperties": false, + "properties": { + "cache": { + "description": "Path to cache directory, set to true for default value, set to false to disable caching.", + "type": ["string", "boolean"], + "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*$" + }, + "removeBuilder": { + "description": "Remove the builder instance.", + "type": "boolean" + } + } + }, + "removeImage": { + "description": "Remove the image.", + "type": "boolean" + } + } + }, + "local": { + "description": "Local build strategy configuration", + "type": "object", + "additionalProperties": false, + "properties": { + "scriptPath": { + "description": "Custom script path for local build", + "type": "string" + } + } + }, + "vm": { + "description": "Docker VM strategy configuration", + "type": "object", + "additionalProperties": false, + "properties": { + "baseImage": { + "description": "Base image for the Docker VM", + "type": "string", + "pattern": "^([a-zA-Z0-9\\-\\_]+\\/)?[a-zA-Z0-9\\-\\_]+:[a-zA-Z0-9\\-\\_\\.]+$" + }, + "defaultIncludes": { + "description": "Files to include in build VM container, by default", + "type": "array", + "items": { + "type": "string" + } + } + } + } + } +} diff --git a/packages/manifests/polywrap/formats/polywrap.plugin/0.3.0.json b/packages/manifests/polywrap/formats/polywrap.plugin/0.3.0.json index f2a3bc3a32..a8dc3fa7f0 100644 --- a/packages/manifests/polywrap/formats/polywrap.plugin/0.3.0.json +++ b/packages/manifests/polywrap/formats/polywrap.plugin/0.3.0.json @@ -51,28 +51,6 @@ } } } - }, - "extensions": { - "description": "Project extension files (build, deploy, infra).", - "type": "object", - "additionalProperties": false, - "properties": { - "build": { - "description": "Path to the project build manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "deploy": { - "description": "Path to project deploy manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "infra": { - "description": "Path to project infra manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - } - } } }, "definitions": { diff --git a/packages/manifests/polywrap/formats/polywrap/0.3.0.json b/packages/manifests/polywrap/formats/polywrap/0.3.0.json index dc75b66f1e..0e9dba0f41 100644 --- a/packages/manifests/polywrap/formats/polywrap/0.3.0.json +++ b/packages/manifests/polywrap/formats/polywrap/0.3.0.json @@ -56,28 +56,6 @@ "description": "Project resources folder", "type": "string", "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*\\/?$" - }, - "extensions": { - "description": "Project extension files (build, deploy, infra).", - "type": "object", - "additionalProperties": false, - "properties": { - "build": { - "description": "Path to the project build manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "deploy": { - "description": "Path to project deploy manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "infra": { - "description": "Path to project infra manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - } - } } }, "definitions": { diff --git a/packages/manifests/polywrap/formats/polywrap/0.4.0.json b/packages/manifests/polywrap/formats/polywrap/0.4.0.json deleted file mode 100644 index 9411c5f124..0000000000 --- a/packages/manifests/polywrap/formats/polywrap/0.4.0.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "id": "PolywrapManifest", - "type": "object", - "additionalProperties": false, - "required": ["format", "project", "source"], - "properties": { - "format": { - "description": "Polywrap manifest format version.", - "type": "string", - "enum": ["0.4.0"] - }, - "project": { - "description": "Basic project properties.", - "type": "object", - "additionalProperties": false, - "required": ["name", "type"], - "properties": { - "name": { - "description": "Name of this project.", - "type": "string", - "pattern": "^[a-zA-Z0-9\\-\\_]+$" - }, - "type": { - "description": "Type of this project.", - "type": "string", - "pattern": "^((interface)|(wasm\\/[a-z0-9]+))$" - } - } - }, - "source": { - "description": "Project source files.", - "type": "object", - "additionalProperties": false, - "required": ["schema"], - "properties": { - "module": { - "description": "Path to the project's entry point.", - "type": "string", - "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*$" - }, - "schema": { - "description": "Path to the project's graphql schema.", - "type": "string", - "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.graphql$" - }, - "import_abis": { - "description": "Specify ABIs to be used for the import URIs within your schema.", - "type": "array", - "items": { - "$ref": "#/definitions/import_abis" - } - } - } - }, - "resources": { - "description": "Project resources folder", - "type": "string", - "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*\\/?$" - }, - "extensions": { - "description": "Project extension files (build, deploy, infra).", - "type": "object", - "additionalProperties": false, - "properties": { - "build": { - "description": "Path to the project build manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "infra": { - "description": "Path to project infra manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - } - } - } - }, - "definitions": { - "import_abis": { - "type": "object", - "additionalProperties": false, - "properties": { - "uri": { - "description": "One of the schema's import URI.", - "type": "string", - "pattern": "^[wrap://]*[a-z\\-\\_0-9]+\\/.+$" - }, - "abi": { - "description": "Path to a local ABI (or schema). Supported file formats: [*.graphql, *.info, *.json, *.yaml]", - "type": "string", - "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.(info|graphql|json|yaml)$" - } - }, - "required": ["uri", "abi"] - } - } -} From a2c54e72074b112e59cd4b7a940cc52a8eccc204 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 17 Jan 2023 21:11:40 -0500 Subject: [PATCH 16/25] chore: update js polywrap manifest bindings + migration functions --- .../src/formats/polywrap.app/0.3.0.ts | 17 --- .../src/formats/polywrap.build/0.3.0.ts | 105 ++++++++++++++++++ .../src/formats/polywrap.build/index.ts | 11 +- .../migrators/0.2.0_to_0.3.0.ts | 10 ++ .../formats/polywrap.build/migrators/index.ts | 6 + .../src/formats/polywrap.build/validate.ts | 2 + .../src/formats/polywrap.plugin/0.3.0.ts | 17 --- .../polywrap/src/formats/polywrap/0.3.0.ts | 17 --- .../polywrap/src/formats/polywrap/0.4.0.ts | 72 ------------ .../polywrap/src/formats/polywrap/index.ts | 11 +- .../polywrap/migrators/0.2.0_to_0.3.0.ts | 11 ++ .../polywrap/migrators/0.3.0_to_0.4.0.ts | 16 --- .../src/formats/polywrap/migrators/index.ts | 8 +- .../polywrap/src/formats/polywrap/validate.ts | 2 - 14 files changed, 146 insertions(+), 159 deletions(-) create mode 100644 packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts create mode 100644 packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts delete mode 100644 packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts delete mode 100644 packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.app/0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap.app/0.3.0.ts index 318fab58a1..4f8ddd6137 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.app/0.3.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.app/0.3.0.ts @@ -37,23 +37,6 @@ export interface AppManifest { */ import_abis?: ImportAbis[]; }; - /** - * Project extension files (build, deploy, infra). - */ - extensions?: { - /** - * Path to the project build manifest file. - */ - build?: string; - /** - * Path to project deploy manifest file. - */ - deploy?: string; - /** - * Path to project infra manifest file. - */ - infra?: string; - }; __type: "AppManifest"; } export interface ImportAbis { diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts new file mode 100644 index 0000000000..565eacb168 --- /dev/null +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts @@ -0,0 +1,105 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +/* tslint:disable */ +/** + * This file was automatically generated by json-schema-to-typescript. + * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, + * and run json-schema-to-typescript to regenerate this file. + */ + +export interface BuildManifest { + /** + * Polywrap build manifest format version. + */ + format: "0.3.0"; + /** + * Path to the project manifest file. + */ + project: string; + /** + * Custom build image configurations. + */ + strategies?: { + image?: Image; + local?: Local; + vm?: Vm; + }; + /** + * Locally linked packages into docker build image. + */ + linked_packages?: { + /** + * Package name. + */ + name: string; + /** + * Path to linked package directory. + */ + path: string; + /** + * Ignore files matching this regex in linked package directory. + */ + filter?: string; + }[]; + /** + * General configurations. + */ + config?: { + [k: string]: unknown; + }; + __type: "BuildManifest"; +} +/** + * Docker image strategy configuration + */ +export interface Image { + /** + * Docker image name. + */ + name?: string; + /** + * Docker image file name. + */ + dockerfile?: string; + /** + * Configuration options for Docker Buildx, set to true for default value. + */ + buildx?: + | { + /** + * Path to cache directory, set to true for default value, set to false to disable caching. + */ + cache?: string | boolean; + /** + * Remove the builder instance. + */ + removeBuilder?: boolean; + } + | boolean; + /** + * Remove the image. + */ + removeImage?: boolean; + [k: string]: unknown; +} +/** + * Local build strategy configuration + */ +export interface Local { + /** + * Custom script path for local build + */ + scriptPath?: string; +} +/** + * Docker VM strategy configuration + */ +export interface Vm { + /** + * Base image for the Docker VM + */ + baseImage?: string; + /** + * Files to include in build VM container, by default + */ + defaultIncludes?: string[]; +} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts index ddf68f920f..b4a26a8ef2 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts @@ -11,10 +11,14 @@ import { import { BuildManifest as BuildManifest_0_2_0, } from "./0.2.0"; +import { + BuildManifest as BuildManifest_0_3_0, +} from "./0.3.0"; export { BuildManifest_0_1_0, BuildManifest_0_2_0, + BuildManifest_0_3_0, }; export enum BuildManifestFormats { @@ -22,6 +26,7 @@ export enum BuildManifestFormats { "v0.1" = "0.1", "v0.1.0" = "0.1.0", "v0.2.0" = "0.2.0", + "v0.3.0" = "0.3.0", } export const BuildManifestSchemaFiles: Record = { @@ -29,17 +34,19 @@ export const BuildManifestSchemaFiles: Record = { "0.1": "formats/polywrap.build/0.1.0.json", "0.1.0": "formats/polywrap.build/0.1.0.json", "0.2.0": "formats/polywrap.build/0.2.0.json", + "0.3.0": "formats/polywrap.build/0.3.0.json", } export type AnyBuildManifest = | BuildManifest_0_1_0 | BuildManifest_0_2_0 + | BuildManifest_0_3_0 -export type BuildManifest = BuildManifest_0_2_0; +export type BuildManifest = BuildManifest_0_3_0; -export const latestBuildManifestFormat = BuildManifestFormats["v0.2.0"] +export const latestBuildManifestFormat = BuildManifestFormats["v0.3.0"] export { migrateBuildManifest } from "./migrate"; diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts new file mode 100644 index 0000000000..9a6acc7383 --- /dev/null +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts @@ -0,0 +1,10 @@ +import { BuildManifest as OldManifest } from "../0.2.0"; +import { BuildManifest as NewManifest } from "../0.3.0"; + +export function migrate(old: OldManifest): NewManifest { + return { + ...old, + project: "polywrap.yaml", + format: "0.3.0" + }; +} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts index 2c882af9fa..f4fd249faa 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts @@ -1,5 +1,6 @@ import { Migrator } from "../../../migrations"; import { migrate as migrate_0_1_0_to_0_2_0 } from "./0.1.0_to_0.2.0"; +import { migrate as migrate_0_2_0_to_0_3_0 } from "./0.2.0_to_0.3.0"; export const migrators: Migrator[] = [ { @@ -11,5 +12,10 @@ export const migrators: Migrator[] = [ from: "0.1.0", to: "0.2.0", migrate: migrate_0_1_0_to_0_2_0 + }, + { + from: "0.2.0", + to: "0.3.0", + migrate: migrate_0_2_0_to_0_3_0 } ]; \ No newline at end of file diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts index 6235c0a461..8aa5688f8e 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts @@ -11,6 +11,7 @@ import { import BuildManifestSchema_0_1_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap.build/0.1.0.json"; import BuildManifestSchema_0_2_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap.build/0.2.0.json"; +import BuildManifestSchema_0_3_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap.build/0.3.0.json"; import { Schema, @@ -28,6 +29,7 @@ const schemas: BuildManifestSchemas = { "0.1": BuildManifestSchema_0_1_0, "0.1.0": BuildManifestSchema_0_1_0, "0.2.0": BuildManifestSchema_0_2_0, + "0.3.0": BuildManifestSchema_0_3_0, }; const validator = new Validator(); diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.plugin/0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap.plugin/0.3.0.ts index 20065fa286..7482a8895c 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.plugin/0.3.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.plugin/0.3.0.ts @@ -41,23 +41,6 @@ export interface PluginManifest { */ import_abis?: ImportAbis[]; }; - /** - * Project extension files (build, deploy, infra). - */ - extensions?: { - /** - * Path to the project build manifest file. - */ - build?: string; - /** - * Path to project deploy manifest file. - */ - deploy?: string; - /** - * Path to project infra manifest file. - */ - infra?: string; - }; __type: "PluginManifest"; } export interface ImportAbis { diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts index 0aa9a1ba51..30ead910b1 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts @@ -45,23 +45,6 @@ export interface PolywrapManifest { * Project resources folder */ resources?: string; - /** - * Project extension files (build, deploy, infra). - */ - extensions?: { - /** - * Path to the project build manifest file. - */ - build?: string; - /** - * Path to project deploy manifest file. - */ - deploy?: string; - /** - * Path to project infra manifest file. - */ - infra?: string; - }; __type: "PolywrapManifest"; } export interface ImportAbis { diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts deleted file mode 100644 index f58e74132f..0000000000 --- a/packages/js/manifests/polywrap/src/formats/polywrap/0.4.0.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -/* tslint:disable */ -/** - * This file was automatically generated by json-schema-to-typescript. - * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, - * and run json-schema-to-typescript to regenerate this file. - */ - -export interface PolywrapManifest { - /** - * Polywrap manifest format version. - */ - format: "0.4.0"; - /** - * Basic project properties. - */ - project: { - /** - * Name of this project. - */ - name: string; - /** - * Type of this project. - */ - type: string; - }; - /** - * Project source files. - */ - source: { - /** - * Path to the project's entry point. - */ - module?: string; - /** - * Path to the project's graphql schema. - */ - schema: string; - /** - * Specify ABIs to be used for the import URIs within your schema. - */ - import_abis?: ImportAbis[]; - }; - /** - * Project resources folder - */ - resources?: string; - /** - * Project extension files (build, deploy, infra). - */ - extensions?: { - /** - * Path to the project build manifest file. - */ - build?: string; - /** - * Path to project infra manifest file. - */ - infra?: string; - }; - __type: "PolywrapManifest"; -} -export interface ImportAbis { - /** - * One of the schema's import URI. - */ - uri: string; - /** - * Path to a local ABI (or schema). Supported file formats: [*.graphql, *.info, *.json, *.yaml] - */ - abi: string; -} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap/index.ts index 15c21e6b0d..f2f3db1d33 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/index.ts @@ -14,15 +14,11 @@ import { import { PolywrapManifest as PolywrapManifest_0_3_0, } from "./0.3.0"; -import { - PolywrapManifest as PolywrapManifest_0_4_0, -} from "./0.4.0"; export { PolywrapManifest_0_1_0, PolywrapManifest_0_2_0, PolywrapManifest_0_3_0, - PolywrapManifest_0_4_0, }; export enum PolywrapManifestFormats { @@ -31,7 +27,6 @@ export enum PolywrapManifestFormats { "v0.1.0" = "0.1.0", "v0.2.0" = "0.2.0", "v0.3.0" = "0.3.0", - "v0.4.0" = "0.4.0", } export const PolywrapManifestSchemaFiles: Record = { @@ -40,20 +35,18 @@ export const PolywrapManifestSchemaFiles: Record = { "0.1.0": "formats/polywrap/0.1.0.json", "0.2.0": "formats/polywrap/0.2.0.json", "0.3.0": "formats/polywrap/0.3.0.json", - "0.4.0": "formats/polywrap/0.4.0.json", } export type AnyPolywrapManifest = | PolywrapManifest_0_1_0 | PolywrapManifest_0_2_0 | PolywrapManifest_0_3_0 - | PolywrapManifest_0_4_0 -export type PolywrapManifest = PolywrapManifest_0_4_0; +export type PolywrapManifest = PolywrapManifest_0_3_0; -export const latestPolywrapManifestFormat = PolywrapManifestFormats["v0.4.0"] +export const latestPolywrapManifestFormat = PolywrapManifestFormats["v0.3.0"] export { migratePolywrapManifest } from "./migrate"; diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts index 8424c0eda4..f1f3f6b0c1 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts @@ -8,6 +8,17 @@ export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { `The Polywrap Meta Manifest has been deprecated, please use the new "resources" field in the Polywrap Manifest.` ); } + if (migrate.extensions?.build) { + logger?.warn( + `The Polywrap Build Manifest now references the Polywrap Manifest directly, please use the new "project" field in the Polywrap Build Manifest.` + ); + } + if (migrate.extensions) { + logger?.warn( + `The Polywrap Manifest Extensions concept has been removed, and instead has been renamed to Command Manifests.` + ); + delete migrate.extensions; + } return { ...migrate, format: "0.3.0", diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts deleted file mode 100644 index d2c52deef7..0000000000 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.3.0_to_0.4.0.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ILogger } from "@polywrap/logging-js"; -import { PolywrapManifest as OldManifest } from "../0.3.0"; -import { PolywrapManifest as NewManifest } from "../0.4.0"; - -export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { - if (migrate.extensions?.deploy) { - logger?.warn( - `The Polywrap Deploy Manifest ('extensions.deploy') is no longer used within the Polywrap Manifest and has been removed` - ); - delete migrate.extensions.deploy; - } - return { - ...migrate, - format: "0.4.0", - }; -} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts index cc377561c0..5c2307d249 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/index.ts @@ -1,7 +1,6 @@ import { Migrator } from "../../../migrations"; import { migrate as migrate_0_1_0_to_0_2_0 } from "./0.1.0_to_0.2.0"; import { migrate as migrate_0_2_0_to_0_3_0 } from "./0.2.0_to_0.3.0"; -import { migrate as migrate_0_3_0_to_0_4_0 } from "./0.3.0_to_0.4.0"; export const migrators: Migrator[] = [ { @@ -18,10 +17,5 @@ export const migrators: Migrator[] = [ from: "0.2.0", to: "0.3.0", migrate: migrate_0_2_0_to_0_3_0, - }, - { - from: "0.3.0", - to: "0.4.0", - migrate: migrate_0_3_0_to_0_4_0, - }, + } ]; diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts b/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts index 11ab97a548..3bef8152c2 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/validate.ts @@ -12,7 +12,6 @@ import { import PolywrapManifestSchema_0_1_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.1.0.json"; import PolywrapManifestSchema_0_2_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.2.0.json"; import PolywrapManifestSchema_0_3_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.3.0.json"; -import PolywrapManifestSchema_0_4_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap/0.4.0.json"; import { Schema, @@ -31,7 +30,6 @@ const schemas: PolywrapManifestSchemas = { "0.1.0": PolywrapManifestSchema_0_1_0, "0.2.0": PolywrapManifestSchema_0_2_0, "0.3.0": PolywrapManifestSchema_0_3_0, - "0.4.0": PolywrapManifestSchema_0_4_0, }; const validator = new Validator(); From 53ba833e1bb5059360307c161dc27b4830779a00 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 17 Jan 2023 21:13:03 -0500 Subject: [PATCH 17/25] chore: move deployer logic into Deployer class --- packages/cli/src/commands/deploy.ts | 131 +-------------- packages/cli/src/lib/deploy/Deployer.ts | 150 ++++++++++++++++-- .../cli/src/lib/project/PolywrapProject.ts | 1 - 3 files changed, 144 insertions(+), 138 deletions(-) diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index d266aedbcf..0e40a6c97d 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -2,21 +2,16 @@ import { Command, Program, BaseCommandOptions } from "./types"; import { createLogger } from "./utils/createLogger"; import { - DeployPackage, intlMsg, parseManifestFileOption, - DeployJob, - DeployStep, parseLogFileOption, Deployer, defaultDeployManifest, } from "../lib"; -import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; import fs from "fs"; -import nodePath from "path"; +import path from "path"; import yaml from "yaml"; -import { validate } from "jsonschema"; const defaultManifestStr = defaultDeployManifest.join(" | "); const pathStr = intlMsg.commands_deploy_options_o_path(); @@ -26,9 +21,6 @@ export interface DeployCommandOptions extends BaseCommandOptions { outputFile: string | false; } -type ManifestJob = DeployManifest["jobs"][number]; -type ManifestStep = ManifestJob["steps"][number]; - export const deploy: Command = { setup: (program: Program) => { program @@ -71,69 +63,10 @@ async function run(options: Required): Promise { const logger = createLogger({ verbose, quiet, logFile }); const deployer = await Deployer.create(manifestFile, logger); - - const allStepsFromAllJobs = Object.entries(deployer.manifest.jobs).flatMap( - ([jobName, job]) => { - return job.steps.map((step) => ({ - jobName, - ...step, - })); - } - ); - - const packageNames = [ - ...new Set(allStepsFromAllJobs.map((step) => step.package)), - ]; - - sanitizePackages(packageNames); - - await deployer.cacheDeployModules(packageNames); - - const packageMapEntries = await Promise.all( - packageNames.map(async (packageName) => { - const deployerPackage = await deployer.getDeployModule(packageName); - return [packageName, deployerPackage]; - }) - ); - - const packageMap = Object.fromEntries(packageMapEntries); - - const stepToPackageMap: Record< - string, - DeployPackage & { jobName: string } - > = {}; - - for (const step of allStepsFromAllJobs) { - stepToPackageMap[step.name] = { - ...packageMap[step.package], - jobName: step.jobName, - }; - } - - validateManifestWithExts(deployer.manifest, stepToPackageMap); - - const jobs = Object.entries(deployer.manifest.jobs).map(([jobName, job]) => { - const steps: DeployStep[] = job.steps.map((step) => { - return new DeployStep({ - name: step.name, - uriOrStepResult: step.uri, - deployModule: stepToPackageMap[step.name].deployModule, - config: step.config ?? {}, - }); - }); - - return new DeployJob({ - name: jobName, - steps, - config: job.config ?? {}, - logger, - }); - }); - - const jobResults = await Promise.all(jobs.map((job) => job.run())); + const jobResults = await deployer.run(); if (outputFile) { - const outputFileExt = nodePath.extname(outputFile).substring(1); + const outputFileExt = path.extname(outputFile).substring(1); if (!outputFileExt) throw new Error("Require output file extension"); switch (outputFileExt) { case "yaml": @@ -153,61 +86,3 @@ async function run(options: Required): Promise { } process.exit(0); } - -function sanitizePackages(packages: string[]) { - const unrecognizedPackages: string[] = []; - - const availableDeployers = fs.readdirSync( - nodePath.join(__dirname, "..", "lib", "defaults", "deploy-modules") - ); - - packages.forEach((p) => { - if (!availableDeployers.includes(p)) { - unrecognizedPackages.push(p); - } - }); - - if (unrecognizedPackages.length) { - throw new Error( - `Unrecognized packages: ${unrecognizedPackages.join(", ")}` - ); - } -} - -function validateManifestWithExts( - deployManifest: DeployManifest, - stepToPackageMap: Record -) { - const errors = Object.entries(stepToPackageMap).flatMap( - ([stepName, step]) => { - const jobEntry = Object.entries(deployManifest.jobs).find( - ([jobName]) => jobName === step.jobName - ) as [string, ManifestJob]; - - const job = jobEntry[1]; - - const stepToValidate = job.steps.find( - (s) => s.name === stepName - ) as ManifestStep; - - return step.manifestExt - ? validate( - { - ...job.config, - ...stepToValidate.config, - }, - step.manifestExt - ).errors - : []; - } - ); - - if (errors.length) { - throw new Error( - [ - `Validation errors encountered while sanitizing DeployManifest format ${deployManifest.format}`, - ...errors.map((error) => error.toString()), - ].join("\n") - ); - } -} diff --git a/packages/cli/src/lib/deploy/Deployer.ts b/packages/cli/src/lib/deploy/Deployer.ts index 2a0f1f7efa..f86087e00d 100644 --- a/packages/cli/src/lib/deploy/Deployer.ts +++ b/packages/cli/src/lib/deploy/Deployer.ts @@ -1,14 +1,23 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -import { DeployModule } from "./DeployModule"; -import { loadDeployManifest, loadDeployManifestExt } from "../project"; -import { CacheDirectory } from "../CacheDirectory"; -import { Logger } from "../logging"; +import { + DeployStep, + DeployModule, + DeployPackage, + DeployJob, + DeployJobResult +} from "."; +import { + loadDeployManifest, + loadDeployManifestExt, + CacheDirectory, + Logger +} from ".."; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; -import { Schema as JsonSchema } from "jsonschema"; +import { Schema as JsonSchema, validate } from "jsonschema"; import path from "path"; -import nodePath from "path"; +import fs from "fs"; interface DeployerConfig { cache: CacheDirectory; @@ -16,6 +25,9 @@ interface DeployerConfig { defaultModulesCached: boolean; } +type DeployManifestJob = DeployManifest["jobs"][number]; +type DeployManifestStep = DeployManifestJob["steps"][number]; + export class Deployer { public static cacheLayout = { root: "deploy/", @@ -43,13 +55,95 @@ export class Deployer { ): Promise { const deployManifest = await loadDeployManifest(manifest, logger); const cache = new CacheDirectory({ - rootDir: nodePath.dirname(manifest), + rootDir: path.dirname(manifest), subDir: Deployer.cacheLayout.root, }); return new Deployer(deployManifest, cache, logger); } - public async getDeployModule( + public async run(): Promise { + const allStepsFromAllJobs = Object.entries(this.manifest.jobs).flatMap( + ([jobName, job]) => { + return job.steps.map((step) => ({ + jobName, + ...step, + })); + } + ); + + const packageNames = [ + ...new Set(allStepsFromAllJobs.map((step) => step.package)), + ]; + + this._sanitizePackages(packageNames); + + await this._cacheDeployModules(packageNames); + + const packageMapEntries = await Promise.all( + packageNames.map(async (packageName) => { + const deployerPackage = await this._getDeployModule(packageName); + return [packageName, deployerPackage]; + }) + ); + + const packageMap = Object.fromEntries(packageMapEntries); + + const stepToPackageMap: Record< + string, + DeployPackage & { jobName: string } + > = {}; + + for (const step of allStepsFromAllJobs) { + stepToPackageMap[step.name] = { + ...packageMap[step.package], + jobName: step.jobName, + }; + } + + this._validateManifestWithExts(this.manifest, stepToPackageMap); + + const jobs = Object.entries(this.manifest.jobs).map(([jobName, job]) => { + const steps: DeployStep[] = job.steps.map((step) => { + return new DeployStep({ + name: step.name, + uriOrStepResult: step.uri, + deployModule: stepToPackageMap[step.name].deployModule, + config: step.config ?? {}, + }); + }); + + return new DeployJob({ + name: jobName, + steps, + config: job.config ?? {}, + logger: this._config.logger, + }); + }); + + return await Promise.all(jobs.map((job) => job.run())); + } + + private _sanitizePackages(packages: string[]) { + const unrecognizedPackages: string[] = []; + + const availableDeployers = fs.readdirSync( + path.join(__dirname, "..", "defaults", "deploy-modules") + ); + + packages.forEach((p) => { + if (!availableDeployers.includes(p)) { + unrecognizedPackages.push(p); + } + }); + + if (unrecognizedPackages.length) { + throw new Error( + `Unrecognized packages: ${unrecognizedPackages.join(", ")}` + ); + } + } + + private async _getDeployModule( moduleName: string ): Promise<{ deployModule: DeployModule; @@ -77,7 +171,7 @@ export class Deployer { }; } - public async cacheDeployModules(modules: string[]): Promise { + private async _cacheDeployModules(modules: string[]): Promise { if (this._config.defaultModulesCached) { return; } @@ -94,4 +188,42 @@ export class Deployer { this._config.defaultModulesCached = true; } + + private _validateManifestWithExts( + deployManifest: DeployManifest, + stepToPackageMap: Record + ) { + const errors = Object.entries(stepToPackageMap).flatMap( + ([stepName, step]) => { + const jobEntry = Object.entries(deployManifest.jobs).find( + ([jobName]) => jobName === step.jobName + ) as [string, DeployManifestJob]; + + const job = jobEntry[1]; + + const stepToValidate = job.steps.find( + (s) => s.name === stepName + ) as DeployManifestStep; + + return step.manifestExt + ? validate( + { + ...job.config, + ...stepToValidate.config, + }, + step.manifestExt + ).errors + : []; + } + ); + + if (errors.length) { + throw new Error( + [ + `Validation errors encountered while sanitizing DeployManifest format ${deployManifest.format}`, + ...errors.map((error) => error.toString()), + ].join("\n") + ); + } + } } diff --git a/packages/cli/src/lib/project/PolywrapProject.ts b/packages/cli/src/lib/project/PolywrapProject.ts index 06e17da228..eb7878de3e 100644 --- a/packages/cli/src/lib/project/PolywrapProject.ts +++ b/packages/cli/src/lib/project/PolywrapProject.ts @@ -28,7 +28,6 @@ import fsExtra from "fs-extra"; export interface PolywrapProjectConfig extends ProjectConfig { polywrapManifestPath: string; buildManifestPath?: string; - deployManifestPath?: string; } export interface BuildManifestConfig { From d320568c0531b278054aae734ba289776707533c Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 18 Jan 2023 01:06:55 -0500 Subject: [PATCH 18/25] chore: add back build extension --- .../src/formats/polywrap.build/0.3.0.ts | 105 -------------- .../src/formats/polywrap.build/index.ts | 11 +- .../migrators/0.2.0_to_0.3.0.ts | 10 -- .../formats/polywrap.build/migrators/index.ts | 6 - .../src/formats/polywrap.build/validate.ts | 2 - .../polywrap/src/formats/polywrap/0.3.0.ts | 9 ++ .../polywrap/migrators/0.2.0_to_0.3.0.ts | 12 +- .../formats/polywrap.build/0.3.0.json | 129 ------------------ .../polywrap/formats/polywrap/0.3.0.json | 12 ++ 9 files changed, 30 insertions(+), 266 deletions(-) delete mode 100644 packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts delete mode 100644 packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts delete mode 100644 packages/manifests/polywrap/formats/polywrap.build/0.3.0.json diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts deleted file mode 100644 index 565eacb168..0000000000 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/0.3.0.ts +++ /dev/null @@ -1,105 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -/* tslint:disable */ -/** - * This file was automatically generated by json-schema-to-typescript. - * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, - * and run json-schema-to-typescript to regenerate this file. - */ - -export interface BuildManifest { - /** - * Polywrap build manifest format version. - */ - format: "0.3.0"; - /** - * Path to the project manifest file. - */ - project: string; - /** - * Custom build image configurations. - */ - strategies?: { - image?: Image; - local?: Local; - vm?: Vm; - }; - /** - * Locally linked packages into docker build image. - */ - linked_packages?: { - /** - * Package name. - */ - name: string; - /** - * Path to linked package directory. - */ - path: string; - /** - * Ignore files matching this regex in linked package directory. - */ - filter?: string; - }[]; - /** - * General configurations. - */ - config?: { - [k: string]: unknown; - }; - __type: "BuildManifest"; -} -/** - * Docker image strategy configuration - */ -export interface Image { - /** - * Docker image name. - */ - name?: string; - /** - * Docker image file name. - */ - dockerfile?: string; - /** - * Configuration options for Docker Buildx, set to true for default value. - */ - buildx?: - | { - /** - * Path to cache directory, set to true for default value, set to false to disable caching. - */ - cache?: string | boolean; - /** - * Remove the builder instance. - */ - removeBuilder?: boolean; - } - | boolean; - /** - * Remove the image. - */ - removeImage?: boolean; - [k: string]: unknown; -} -/** - * Local build strategy configuration - */ -export interface Local { - /** - * Custom script path for local build - */ - scriptPath?: string; -} -/** - * Docker VM strategy configuration - */ -export interface Vm { - /** - * Base image for the Docker VM - */ - baseImage?: string; - /** - * Files to include in build VM container, by default - */ - defaultIncludes?: string[]; -} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts index b4a26a8ef2..ddf68f920f 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/index.ts @@ -11,14 +11,10 @@ import { import { BuildManifest as BuildManifest_0_2_0, } from "./0.2.0"; -import { - BuildManifest as BuildManifest_0_3_0, -} from "./0.3.0"; export { BuildManifest_0_1_0, BuildManifest_0_2_0, - BuildManifest_0_3_0, }; export enum BuildManifestFormats { @@ -26,7 +22,6 @@ export enum BuildManifestFormats { "v0.1" = "0.1", "v0.1.0" = "0.1.0", "v0.2.0" = "0.2.0", - "v0.3.0" = "0.3.0", } export const BuildManifestSchemaFiles: Record = { @@ -34,19 +29,17 @@ export const BuildManifestSchemaFiles: Record = { "0.1": "formats/polywrap.build/0.1.0.json", "0.1.0": "formats/polywrap.build/0.1.0.json", "0.2.0": "formats/polywrap.build/0.2.0.json", - "0.3.0": "formats/polywrap.build/0.3.0.json", } export type AnyBuildManifest = | BuildManifest_0_1_0 | BuildManifest_0_2_0 - | BuildManifest_0_3_0 -export type BuildManifest = BuildManifest_0_3_0; +export type BuildManifest = BuildManifest_0_2_0; -export const latestBuildManifestFormat = BuildManifestFormats["v0.3.0"] +export const latestBuildManifestFormat = BuildManifestFormats["v0.2.0"] export { migrateBuildManifest } from "./migrate"; diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts deleted file mode 100644 index 9a6acc7383..0000000000 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/0.2.0_to_0.3.0.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BuildManifest as OldManifest } from "../0.2.0"; -import { BuildManifest as NewManifest } from "../0.3.0"; - -export function migrate(old: OldManifest): NewManifest { - return { - ...old, - project: "polywrap.yaml", - format: "0.3.0" - }; -} diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts index f4fd249faa..2c882af9fa 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/migrators/index.ts @@ -1,6 +1,5 @@ import { Migrator } from "../../../migrations"; import { migrate as migrate_0_1_0_to_0_2_0 } from "./0.1.0_to_0.2.0"; -import { migrate as migrate_0_2_0_to_0_3_0 } from "./0.2.0_to_0.3.0"; export const migrators: Migrator[] = [ { @@ -12,10 +11,5 @@ export const migrators: Migrator[] = [ from: "0.1.0", to: "0.2.0", migrate: migrate_0_1_0_to_0_2_0 - }, - { - from: "0.2.0", - to: "0.3.0", - migrate: migrate_0_2_0_to_0_3_0 } ]; \ No newline at end of file diff --git a/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts b/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts index 8aa5688f8e..6235c0a461 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap.build/validate.ts @@ -11,7 +11,6 @@ import { import BuildManifestSchema_0_1_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap.build/0.1.0.json"; import BuildManifestSchema_0_2_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap.build/0.2.0.json"; -import BuildManifestSchema_0_3_0 from "@polywrap/polywrap-manifest-schemas/formats/polywrap.build/0.3.0.json"; import { Schema, @@ -29,7 +28,6 @@ const schemas: BuildManifestSchemas = { "0.1": BuildManifestSchema_0_1_0, "0.1.0": BuildManifestSchema_0_1_0, "0.2.0": BuildManifestSchema_0_2_0, - "0.3.0": BuildManifestSchema_0_3_0, }; const validator = new Validator(); diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts index 30ead910b1..8beccd2eb4 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/0.3.0.ts @@ -45,6 +45,15 @@ export interface PolywrapManifest { * Project resources folder */ resources?: string; + /** + * Project extension manifest files. + */ + extensions?: { + /** + * Path to the project build manifest file. + */ + build?: string; + }; __type: "PolywrapManifest"; } export interface ImportAbis { diff --git a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts index f1f3f6b0c1..5c9398f8b5 100644 --- a/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts +++ b/packages/js/manifests/polywrap/src/formats/polywrap/migrators/0.2.0_to_0.3.0.ts @@ -7,17 +7,19 @@ export function migrate(migrate: OldManifest, logger?: ILogger): NewManifest { logger?.warn( `The Polywrap Meta Manifest has been deprecated, please use the new "resources" field in the Polywrap Manifest.` ); + delete migrate.extensions.meta; } - if (migrate.extensions?.build) { + if (migrate.extensions?.deploy) { logger?.warn( - `The Polywrap Build Manifest now references the Polywrap Manifest directly, please use the new "project" field in the Polywrap Build Manifest.` + `The Polywrap Deploy Manifest no longer needs to be listed as a project extension, and can be used as a standalone.` ); + delete migrate.extensions.deploy; } - if (migrate.extensions) { + if (migrate.extensions?.infra) { logger?.warn( - `The Polywrap Manifest Extensions concept has been removed, and instead has been renamed to Command Manifests.` + `The Polywrap Infra Manifest no longer needs to be listed as a project extension, and can be used as a standalone.` ); - delete migrate.extensions; + delete migrate.extensions.infra; } return { ...migrate, diff --git a/packages/manifests/polywrap/formats/polywrap.build/0.3.0.json b/packages/manifests/polywrap/formats/polywrap.build/0.3.0.json deleted file mode 100644 index c5d06070b2..0000000000 --- a/packages/manifests/polywrap/formats/polywrap.build/0.3.0.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "id": "BuildManifest", - "type": "object", - "additionalProperties": false, - "required": ["format", "project"], - "properties": { - "format": { - "description": "Polywrap build manifest format version.", - "type": "string", - "enum": ["0.3.0"] - }, - "project": { - "description": "Path to the project manifest file.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" - }, - "strategies": { - "description": "Custom build image configurations.", - "type": "object", - "additionalProperties": false, - "properties": { - "image": { - "$ref": "#/definitions/image" - }, - "local": { - "$ref": "#/definitions/local" - }, - "vm": { - "$ref": "#/definitions/vm" - } - } - }, - "linked_packages": { - "description": "Locally linked packages into docker build image.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "description": "Package name.", - "type": "string" - }, - "path": { - "description": "Path to linked package directory.", - "type": "string" - }, - "filter": { - "description": "Ignore files matching this regex in linked package directory.", - "type": "string" - } - }, - "required": ["name", "path"] - } - }, - "config": { - "description": "General configurations.", - "type": "object" - } - }, - "definitions": { - "image": { - "description": "Docker image strategy configuration", - "type": "object", - "properties": { - "name": { - "description": "Docker image name.", - "type": "string", - "pattern": "^[a-zA-Z0-9\\-\\_]+$" - }, - "dockerfile": { - "description": "Docker image file name.", - "type": "string", - "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/Dockerfile(.mustache)?$" - }, - "buildx": { - "description": "Configuration options for Docker Buildx, set to true for default value.", - "type": ["object", "boolean"], - "additionalProperties": false, - "properties": { - "cache": { - "description": "Path to cache directory, set to true for default value, set to false to disable caching.", - "type": ["string", "boolean"], - "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*$" - }, - "removeBuilder": { - "description": "Remove the builder instance.", - "type": "boolean" - } - } - }, - "removeImage": { - "description": "Remove the image.", - "type": "boolean" - } - } - }, - "local": { - "description": "Local build strategy configuration", - "type": "object", - "additionalProperties": false, - "properties": { - "scriptPath": { - "description": "Custom script path for local build", - "type": "string" - } - } - }, - "vm": { - "description": "Docker VM strategy configuration", - "type": "object", - "additionalProperties": false, - "properties": { - "baseImage": { - "description": "Base image for the Docker VM", - "type": "string", - "pattern": "^([a-zA-Z0-9\\-\\_]+\\/)?[a-zA-Z0-9\\-\\_]+:[a-zA-Z0-9\\-\\_\\.]+$" - }, - "defaultIncludes": { - "description": "Files to include in build VM container, by default", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } -} diff --git a/packages/manifests/polywrap/formats/polywrap/0.3.0.json b/packages/manifests/polywrap/formats/polywrap/0.3.0.json index 0e9dba0f41..739b7dd9ff 100644 --- a/packages/manifests/polywrap/formats/polywrap/0.3.0.json +++ b/packages/manifests/polywrap/formats/polywrap/0.3.0.json @@ -56,6 +56,18 @@ "description": "Project resources folder", "type": "string", "pattern": "^\\.?\\.?\\/?((\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)+\\/)?[\\w\\-\\.]+\\.?[\\w\\-\\.]*\\/?$" + }, + "extensions": { + "description": "Project extension manifest files.", + "type": "object", + "additionalProperties": false, + "properties": { + "build": { + "description": "Path to the project build manifest file.", + "type": "string", + "pattern": "^\\.?\\.?(\\/[\\w\\-\\.@]+|\\/\\.\\.|\\/\\.)*\\/[\\w\\-\\.]+\\.(yaml|json)$" + } + } } }, "definitions": { From 0f83999c4b3cb4bc90175d4a422c6b8ec76a699c Mon Sep 17 00:00:00 2001 From: Cesar Date: Wed, 18 Jan 2023 14:38:40 +0100 Subject: [PATCH 19/25] cli/deployer: fix lint --- packages/cli/src/lib/deploy/DeployJob.ts | 7 ++++++- packages/cli/src/lib/deploy/Deployer.ts | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/cli/src/lib/deploy/DeployJob.ts b/packages/cli/src/lib/deploy/DeployJob.ts index 8bdb21921c..ea54690db4 100644 --- a/packages/cli/src/lib/deploy/DeployJob.ts +++ b/packages/cli/src/lib/deploy/DeployJob.ts @@ -1,4 +1,9 @@ -import { DeployStep, StepName, StepResult, UriOrPrevStepResult } from "./DeployStep"; +import { + DeployStep, + StepName, + StepResult, + UriOrPrevStepResult, +} from "./DeployStep"; import { Logger } from "../logging"; import { Uri } from "@polywrap/core-js"; diff --git a/packages/cli/src/lib/deploy/Deployer.ts b/packages/cli/src/lib/deploy/Deployer.ts index f86087e00d..9f473caa06 100644 --- a/packages/cli/src/lib/deploy/Deployer.ts +++ b/packages/cli/src/lib/deploy/Deployer.ts @@ -5,13 +5,13 @@ import { DeployModule, DeployPackage, DeployJob, - DeployJobResult + DeployJobResult, } from "."; import { loadDeployManifest, loadDeployManifestExt, CacheDirectory, - Logger + Logger, } from ".."; import { DeployManifest } from "@polywrap/polywrap-manifest-types-js"; @@ -87,7 +87,7 @@ export class Deployer { ); const packageMap = Object.fromEntries(packageMapEntries); - + const stepToPackageMap: Record< string, DeployPackage & { jobName: string } @@ -111,7 +111,7 @@ export class Deployer { config: step.config ?? {}, }); }); - + return new DeployJob({ name: jobName, steps, @@ -125,17 +125,17 @@ export class Deployer { private _sanitizePackages(packages: string[]) { const unrecognizedPackages: string[] = []; - + const availableDeployers = fs.readdirSync( path.join(__dirname, "..", "defaults", "deploy-modules") ); - + packages.forEach((p) => { if (!availableDeployers.includes(p)) { unrecognizedPackages.push(p); } }); - + if (unrecognizedPackages.length) { throw new Error( `Unrecognized packages: ${unrecognizedPackages.join(", ")}` @@ -198,13 +198,13 @@ export class Deployer { const jobEntry = Object.entries(deployManifest.jobs).find( ([jobName]) => jobName === step.jobName ) as [string, DeployManifestJob]; - + const job = jobEntry[1]; - + const stepToValidate = job.steps.find( (s) => s.name === stepName ) as DeployManifestStep; - + return step.manifestExt ? validate( { @@ -216,7 +216,7 @@ export class Deployer { : []; } ); - + if (errors.length) { throw new Error( [ From 71f9eb888a2848526573dbef4ff119a3ecf758e6 Mon Sep 17 00:00:00 2001 From: Cesar Date: Wed, 18 Jan 2023 17:00:56 +0100 Subject: [PATCH 20/25] manifest/polywrap: unroll version in tests and templates --- packages/templates/wasm/assemblyscript/polywrap.yaml | 2 +- packages/templates/wasm/interface/polywrap.yaml | 2 +- packages/templates/wasm/rust/polywrap.yaml | 2 +- packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml | 2 +- .../cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml | 2 +- .../cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml | 2 +- .../test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml | 2 +- .../test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml | 2 +- .../cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml | 2 +- .../cases/cli/wasm/deploy/004-fail-between/polywrap.yaml | 2 +- .../cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/templates/wasm/assemblyscript/polywrap.yaml b/packages/templates/wasm/assemblyscript/polywrap.yaml index 118fc20f35..aa86179bb8 100644 --- a/packages/templates/wasm/assemblyscript/polywrap.yaml +++ b/packages/templates/wasm/assemblyscript/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: template-wasm-as type: wasm/assemblyscript diff --git a/packages/templates/wasm/interface/polywrap.yaml b/packages/templates/wasm/interface/polywrap.yaml index 454ce3f1fe..114b623eeb 100644 --- a/packages/templates/wasm/interface/polywrap.yaml +++ b/packages/templates/wasm/interface/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: TODO type: interface diff --git a/packages/templates/wasm/rust/polywrap.yaml b/packages/templates/wasm/rust/polywrap.yaml index 77b5f55895..1c9b65238e 100644 --- a/packages/templates/wasm/rust/polywrap.yaml +++ b/packages/templates/wasm/rust/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: template-wasm-rs type: wasm/rust diff --git a/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml b/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml index ee9034f333..41f2c060ad 100644 --- a/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml +++ b/packages/test-cases/cases/cli/docgen/001-sanity/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: test-project type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml b/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml index ee9034f333..41f2c060ad 100644 --- a/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/codegen/001-sanity-assemblyscript/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: test-project type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml b/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml index 55eecfe9bc..3a344ae3d0 100644 --- a/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/codegen/002-sanity-rust/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: ObjectTypes type: wasm/rust diff --git a/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml index c214fba8f3..e8d11a87dc 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/001-sanity/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: deploy-sanity type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml index 790228ec2d..7ef7a0749f 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/002-no-ext/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: deploy-no-ext type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml index e9ef523a47..7e1368633d 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/003-invalid-config/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: deploy-invalid-config type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml index b22a39d53e..7983e2edeb 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/004-fail-between/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: deploy-fail-between type: wasm/assemblyscript diff --git a/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml b/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml index c214fba8f3..e8d11a87dc 100644 --- a/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml +++ b/packages/test-cases/cases/cli/wasm/deploy/005-non-loaded-env-var/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.4.0 +format: 0.3.0 project: name: deploy-sanity type: wasm/assemblyscript From 4e8aea60cfcadfbab80307c91c2d30bcbaf7c0d2 Mon Sep 17 00:00:00 2001 From: Cesar Date: Wed, 18 Jan 2023 17:01:29 +0100 Subject: [PATCH 21/25] cli/deployed: remove underscore from private functions --- packages/cli/src/lib/deploy/Deployer.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/lib/deploy/Deployer.ts b/packages/cli/src/lib/deploy/Deployer.ts index 9f473caa06..eb4c4dbebb 100644 --- a/packages/cli/src/lib/deploy/Deployer.ts +++ b/packages/cli/src/lib/deploy/Deployer.ts @@ -77,11 +77,11 @@ export class Deployer { this._sanitizePackages(packageNames); - await this._cacheDeployModules(packageNames); + await this.cacheDeployModules(packageNames); const packageMapEntries = await Promise.all( packageNames.map(async (packageName) => { - const deployerPackage = await this._getDeployModule(packageName); + const deployerPackage = await this.getDeployModule(packageName); return [packageName, deployerPackage]; }) ); @@ -143,7 +143,7 @@ export class Deployer { } } - private async _getDeployModule( + private async getDeployModule( moduleName: string ): Promise<{ deployModule: DeployModule; @@ -171,7 +171,7 @@ export class Deployer { }; } - private async _cacheDeployModules(modules: string[]): Promise { + private async cacheDeployModules(modules: string[]): Promise { if (this._config.defaultModulesCached) { return; } From 8f2a86c5a643d23b90f2362ba25998790eabdfed Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 18 Jan 2023 12:18:51 -0500 Subject: [PATCH 22/25] chore: unify private member naming conventions --- .../http/server/src/utils/zip.ts | 4 +- packages/cli/src/lib/deploy/Deployer.ts | 8 +-- packages/cli/src/lib/infra/Infra.ts | 8 +-- packages/cli/src/lib/system/file-lock.ts | 4 +- packages/cli/src/lib/workflow/JobRunner.ts | 70 +++++++++---------- .../src/ClientConfigBuilder.ts | 8 +-- .../js/core-client/src/PolywrapCoreClient.ts | 4 +- .../uri-resolution/UriResolutionContext.ts | 38 +++++----- packages/js/core/src/utils/Queue.ts | 30 ++++---- packages/js/plugin/src/PluginPackage.ts | 8 +-- packages/js/plugin/src/PluginWrapper.ts | 14 ++-- .../src/utils/PluginModuleWithMethods.ts | 4 +- .../src/UriResolverExtensionFileReader.ts | 14 ++-- .../src/aggregator/UriResolverAggregator.ts | 16 ++--- .../cache/PackageToWrapperCacheResolver.ts | 16 ++--- .../src/helpers/InfiniteLoopError.ts | 8 +-- .../src/helpers/RecursiveResolver.ts | 8 +-- .../src/helpers/ResolverWithLoopGuard.ts | 4 +- .../src/packages/PackageResolver.ts | 6 +- .../src/wrappers/WrapperResolver.ts | 8 +-- .../src/types/WasmPackageValidator.ts | 58 +++++++-------- packages/js/wasm/src/WasmPackage.ts | 8 +-- 22 files changed, 173 insertions(+), 173 deletions(-) diff --git a/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts b/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts index a66472f712..e7b9bc84a9 100644 --- a/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts +++ b/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts @@ -8,7 +8,7 @@ export class Zip { this._zip = new JSZip(); } - private generateNodeZip(filePath: string) { + private _generateNodeZip(filePath: string) { return new Promise((res, rej) => { this._zip.generateNodeStream({ type: 'nodebuffer', streamFiles: true }) .pipe(fse.createWriteStream(filePath)) @@ -25,6 +25,6 @@ export class Zip { fse.readdirSync(sourceDir).forEach(file => { this._zip.file(file, fse.readFileSync(`${sourceDir}/${file}`)) }) - return this.generateNodeZip(outputPath); + return this._generateNodeZip(outputPath); } } \ No newline at end of file diff --git a/packages/cli/src/lib/deploy/Deployer.ts b/packages/cli/src/lib/deploy/Deployer.ts index eb4c4dbebb..9f473caa06 100644 --- a/packages/cli/src/lib/deploy/Deployer.ts +++ b/packages/cli/src/lib/deploy/Deployer.ts @@ -77,11 +77,11 @@ export class Deployer { this._sanitizePackages(packageNames); - await this.cacheDeployModules(packageNames); + await this._cacheDeployModules(packageNames); const packageMapEntries = await Promise.all( packageNames.map(async (packageName) => { - const deployerPackage = await this.getDeployModule(packageName); + const deployerPackage = await this._getDeployModule(packageName); return [packageName, deployerPackage]; }) ); @@ -143,7 +143,7 @@ export class Deployer { } } - private async getDeployModule( + private async _getDeployModule( moduleName: string ): Promise<{ deployModule: DeployModule; @@ -171,7 +171,7 @@ export class Deployer { }; } - private async cacheDeployModules(modules: string[]): Promise { + private async _cacheDeployModules(modules: string[]): Promise { if (this._config.defaultModulesCached) { return; } diff --git a/packages/cli/src/lib/infra/Infra.ts b/packages/cli/src/lib/infra/Infra.ts index 93de7089b3..8487ae4ee3 100644 --- a/packages/cli/src/lib/infra/Infra.ts +++ b/packages/cli/src/lib/infra/Infra.ts @@ -276,7 +276,7 @@ export class Infra { const packageDir = dependencyFetcher.getPackageDir(m.package); const packagePath = m.dockerComposePath ? path.join(packageDir, m.dockerComposePath) - : this.tryResolveComposeFile( + : this._tryResolveComposeFile( packageDir, this._defaultModuleComposePaths ); @@ -353,7 +353,7 @@ export class Infra { isFile ? module.path : module.name ); copySync(module.path, modulePath); - const composePath = this.tryResolveComposeFile( + const composePath = this._tryResolveComposeFile( modulePath, this._defaultModuleComposePaths ); @@ -386,7 +386,7 @@ export class Infra { return path.join(this._config.defaultInfraModulesPath, defaultModulePath); } - private tryResolveComposeFile( + private _tryResolveComposeFile( moduleDir: string, pathsToTry: string[], triedPaths: string[] = [] @@ -405,7 +405,7 @@ export class Infra { return pathToTry; } - return this.tryResolveComposeFile(moduleDir, pathsToTry.slice(1), [ + return this._tryResolveComposeFile(moduleDir, pathsToTry.slice(1), [ ...triedPaths, pathToTry, ]); diff --git a/packages/cli/src/lib/system/file-lock.ts b/packages/cli/src/lib/system/file-lock.ts index a908be3bd0..2968f8de60 100644 --- a/packages/cli/src/lib/system/file-lock.ts +++ b/packages/cli/src/lib/system/file-lock.ts @@ -16,7 +16,7 @@ export class FileLock { this._lockFilePath, "utf8" ); - const isRunning: boolean = this.isRunning(parseInt(lockPid)); + const isRunning: boolean = this._isRunning(parseInt(lockPid)); // if process is not running and file exists, the lock is orphaned and can be destroyed if (!isRunning) { try { @@ -53,7 +53,7 @@ export class FileLock { } // check if process is running - private isRunning(pid: number): boolean { + private _isRunning(pid: number): boolean { try { process.kill(pid, 0); return true; diff --git a/packages/cli/src/lib/workflow/JobRunner.ts b/packages/cli/src/lib/workflow/JobRunner.ts index 9be9cb552e..782796da14 100644 --- a/packages/cli/src/lib/workflow/JobRunner.ts +++ b/packages/cli/src/lib/workflow/JobRunner.ts @@ -9,26 +9,26 @@ import { } from "@polywrap/client-config-builder-js"; export class JobRunner { - private jobOutput: Map; - private client: CoreClient; + private _jobOutput: Map; + private _client: CoreClient; constructor( - private configBuilder: IClientConfigBuilder, - private onExecution?: (id: string, JobResult: JobResult) => MaybeAsync + private _configBuilder: IClientConfigBuilder, + private _onExecution?: (id: string, JobResult: JobResult) => MaybeAsync ) { - this.jobOutput = new Map(); - this.client = new PolywrapClient(this.configBuilder.buildCoreConfig(), { + this._jobOutput = new Map(); + this._client = new PolywrapClient(this._configBuilder.buildCoreConfig(), { noDefaults: true, }); } async run(jobs: WorkflowJobs, ids: string[]): Promise { const running = ids.map(async (absJobId) => { - const jobId = this.getJobId(absJobId); + const jobId = this._getJobId(absJobId); const steps: Step[] | undefined = jobs[jobId].steps as Step[]; if (steps) { - await this.executeSteps(absJobId, steps); + await this._executeSteps(absJobId, steps); } const subJobs: WorkflowJobs | undefined = jobs[jobId].jobs; @@ -40,7 +40,7 @@ export class JobRunner { await Promise.all(running); } - private getJobId(absJobId: string): string { + private _getJobId(absJobId: string): string { const dotIdx = absJobId.lastIndexOf("."); if (dotIdx > -1) { return absJobId.substring(dotIdx + 1); @@ -48,7 +48,7 @@ export class JobRunner { return absJobId; } - private followAccessors( + private _followAccessors( jobResult: JobResult, accessors: string[], referenceId: string, @@ -69,7 +69,7 @@ export class JobRunner { return val; } - private resolveReference( + private _resolveReference( absJobId: string, stepId: number, reference: string @@ -87,12 +87,12 @@ export class JobRunner { // get reference job output const referenceId: string = reference.substring(1, dataOrErrorIdx); - if (!this.jobOutput.has(referenceId)) { + if (!this._jobOutput.has(referenceId)) { throw new Error( `Could not resolve reference id ${referenceId} for step ${absJobId}.${stepId}` ); } - const refJobResult = this.jobOutput.get(referenceId) as JobResult; + const refJobResult = this._jobOutput.get(referenceId) as JobResult; // parse and validate accessors const accessors: string[] = reference @@ -119,7 +119,7 @@ export class JobRunner { } // follow accessors through reference output to get requested data - return this.followAccessors( + return this._followAccessors( refJobResult, accessors, referenceId, @@ -128,43 +128,43 @@ export class JobRunner { ); } - private resolveRecord( + private _resolveRecord( absJobId: string, stepId: number, record: Record ): Record { const resolved: Record = {}; for (const [key, value] of Object.entries(record)) { - resolved[key] = this.resolveValue(absJobId, stepId, value); + resolved[key] = this._resolveValue(absJobId, stepId, value); } return resolved; } - private resolveArray( + private _resolveArray( absJobId: string, stepId: number, array: Array ): Array { - return array.map((v) => this.resolveValue(absJobId, stepId, v)); + return array.map((v) => this._resolveValue(absJobId, stepId, v)); } - private resolveValue( + private _resolveValue( absJobId: string, stepId: number, value: unknown ): unknown { - if (this.isReference(value)) { - return this.resolveReference(absJobId, stepId, value); + if (this._isReference(value)) { + return this._resolveReference(absJobId, stepId, value); } else if (Array.isArray(value)) { - return this.resolveArray(absJobId, stepId, value); - } else if (this.isRecord(value)) { - return this.resolveRecord(absJobId, stepId, value); + return this._resolveArray(absJobId, stepId, value); + } else if (this._isRecord(value)) { + return this._resolveRecord(absJobId, stepId, value); } else { return value; } } - private async execStep( + private async _execStep( absJobId: string, stepId: number, step: Step @@ -172,7 +172,7 @@ export class JobRunner { let args: Record | undefined; if (step.args) { try { - args = this.resolveRecord(absJobId, stepId, step.args); + args = this._resolveRecord(absJobId, stepId, step.args); } catch (e) { return { error: e, @@ -181,12 +181,12 @@ export class JobRunner { } } - let finalClient = this.client; + let finalClient = this._client; if (step.config) { const finalConfig = (step.config as Partial).resolver ? (step.config as CoreClientConfig) - : this.configBuilder + : this._configBuilder .add(step.config as Partial) .buildCoreConfig(); @@ -206,26 +206,26 @@ export class JobRunner { } } - private async executeSteps(absJobId: string, steps: Step[]) { + private async _executeSteps(absJobId: string, steps: Step[]) { for (let i = 0; i < steps.length; i++) { const step = steps[i]; const absId = `${absJobId}.${i}`; - const result: JobResult = await this.execStep(absJobId, i, step); + const result: JobResult = await this._execStep(absJobId, i, step); - this.jobOutput.set(absId, result); + this._jobOutput.set(absId, result); - if (this.onExecution) { - await this.onExecution(absId, result); + if (this._onExecution) { + await this._onExecution(absId, result); } } } - private isReference(value: unknown): value is string { + private _isReference(value: unknown): value is string { return typeof value === "string" && value.startsWith("$"); } - private isRecord(value: unknown): value is Record { + private _isRecord(value: unknown): value is Record { return typeof value === "object" && value !== null; } } diff --git a/packages/js/client-config-builder/src/ClientConfigBuilder.ts b/packages/js/client-config-builder/src/ClientConfigBuilder.ts index 4cc1e04edb..e000cd8996 100644 --- a/packages/js/client-config-builder/src/ClientConfigBuilder.ts +++ b/packages/js/client-config-builder/src/ClientConfigBuilder.ts @@ -13,8 +13,8 @@ import { ExtendableUriResolver } from "@polywrap/uri-resolver-extensions-js"; export class ClientConfigBuilder extends BaseClientConfigBuilder { constructor( - private readonly wrapperCache?: IWrapperCache, - private readonly resolver?: IUriResolver + private readonly _wrapperCache?: IWrapperCache, + private readonly _resolver?: IUriResolver ) { super(); } @@ -28,7 +28,7 @@ export class ClientConfigBuilder extends BaseClientConfigBuilder { envs: this.config.envs, interfaces: this.config.interfaces, resolver: - this.resolver ?? + this._resolver ?? RecursiveResolver.from( PackageToWrapperCacheResolver.from( [ @@ -40,7 +40,7 @@ export class ClientConfigBuilder extends BaseClientConfigBuilder { ...this.config.resolvers, new ExtendableUriResolver(), ], - this.wrapperCache ?? new WrapperCache() + this._wrapperCache ?? new WrapperCache() ) ), }; diff --git a/packages/js/core-client/src/PolywrapCoreClient.ts b/packages/js/core-client/src/PolywrapCoreClient.ts index 27b58cf32f..e4cb6deb5b 100644 --- a/packages/js/core-client/src/PolywrapCoreClient.ts +++ b/packages/js/core-client/src/PolywrapCoreClient.ts @@ -47,7 +47,7 @@ export class PolywrapCoreClient implements CoreClient { Tracer.startSpan("PolywrapClient: constructor"); - this._config = this.buildConfigFromPolywrapCoreClientConfig(config); + this._config = this._buildConfigFromPolywrapCoreClientConfig(config); Tracer.setAttribute("config", this._config); } catch (error) { @@ -581,7 +581,7 @@ export class PolywrapCoreClient implements CoreClient { return ResultOk(true); } - private buildConfigFromPolywrapCoreClientConfig( + private _buildConfigFromPolywrapCoreClientConfig( config: PolywrapCoreClientConfig ): PolywrapCoreClientConfig { return { diff --git a/packages/js/core/src/uri-resolution/UriResolutionContext.ts b/packages/js/core/src/uri-resolution/UriResolutionContext.ts index b6bb4311ce..dd6d793a95 100644 --- a/packages/js/core/src/uri-resolution/UriResolutionContext.ts +++ b/packages/js/core/src/uri-resolution/UriResolutionContext.ts @@ -3,9 +3,9 @@ import { IUriResolutionContext } from "./IUriResolutionContext"; import { Uri } from "../types"; export class UriResolutionContext implements IUriResolutionContext { - private resolvingUriMap: Map; - private resolutionPath: Set; - private history: IUriResolutionStep[]; + private _resolvingUriMap: Map; + private _resolutionPath: Set; + private _history: IUriResolutionStep[]; constructor(); constructor( @@ -20,50 +20,50 @@ export class UriResolutionContext implements IUriResolutionContext { resolvingUriMap?: Map, resolutionPathOrHistory?: Set | IUriResolutionStep[] ) { - this.resolvingUriMap = resolvingUriMap ?? new Map(); + this._resolvingUriMap = resolvingUriMap ?? new Map(); if (Array.isArray(resolutionPathOrHistory)) { - this.resolutionPath = new Set(); - this.history = resolutionPathOrHistory; + this._resolutionPath = new Set(); + this._history = resolutionPathOrHistory; } else if (resolutionPathOrHistory instanceof Set) { - this.resolutionPath = resolutionPathOrHistory; - this.history = []; + this._resolutionPath = resolutionPathOrHistory; + this._history = []; } else { - this.resolutionPath = new Set(); - this.history = []; + this._resolutionPath = new Set(); + this._history = []; } } isResolving(uri: Uri): boolean { - return !!this.resolvingUriMap.get(uri.toString()); + return !!this._resolvingUriMap.get(uri.toString()); } startResolving(uri: Uri): void { - this.resolvingUriMap.set(uri.toString(), true); - this.resolutionPath.add(uri.toString()); + this._resolvingUriMap.set(uri.toString(), true); + this._resolutionPath.add(uri.toString()); } stopResolving(uri: Uri): void { - this.resolvingUriMap.delete(uri.toString()); + this._resolvingUriMap.delete(uri.toString()); } trackStep(step: IUriResolutionStep): void { - this.history.push(step); + this._history.push(step); } getHistory(): IUriResolutionStep[] { - return this.history; + return this._history; } getResolutionPath(): Uri[] { - return [...this.resolutionPath].map((x) => new Uri(x)); + return [...this._resolutionPath].map((x) => new Uri(x)); } createSubHistoryContext(): IUriResolutionContext { - return new UriResolutionContext(this.resolvingUriMap, this.resolutionPath); + return new UriResolutionContext(this._resolvingUriMap, this._resolutionPath); } createSubContext(): IUriResolutionContext { - return new UriResolutionContext(this.resolvingUriMap, this.history); + return new UriResolutionContext(this._resolvingUriMap, this._history); } } diff --git a/packages/js/core/src/utils/Queue.ts b/packages/js/core/src/utils/Queue.ts index be71c86482..6cc0be5c62 100644 --- a/packages/js/core/src/utils/Queue.ts +++ b/packages/js/core/src/utils/Queue.ts @@ -1,38 +1,38 @@ export class Queue { - private elements: Record; - private head: number; - private tail: number; + private _elements: Record; + private _head: number; + private _tail: number; constructor() { - this.elements = {}; - this.head = 0; - this.tail = 0; + this._elements = {}; + this._head = 0; + this._tail = 0; } enqueue(element: T): void { - this.elements[this.tail] = element; - this.tail++; + this._elements[this._tail] = element; + this._tail++; } dequeue(): T | undefined { - const item = this.elements[this.head]; + const item = this._elements[this._head]; if (item === undefined) { return undefined; } - delete this.elements[this.head]; - this.head++; + delete this._elements[this._head]; + this._head++; return item; } peek(): T | undefined { - return this.elements[this.head]; + return this._elements[this._head]; } get length(): number { - return this.tail - this.head; + return this._tail - this._head; } get isEmpty(): boolean { @@ -42,8 +42,8 @@ export class Queue { toArray(): T[] { const array: T[] = []; - for (let i = this.head; i < this.tail; i++) { - array.push(this.elements[i] as T); + for (let i = this._head; i < this._tail; i++) { + array.push(this._elements[i] as T); } return array; diff --git a/packages/js/plugin/src/PluginPackage.ts b/packages/js/plugin/src/PluginPackage.ts index ea9517d22f..793d2ec685 100644 --- a/packages/js/plugin/src/PluginPackage.ts +++ b/packages/js/plugin/src/PluginPackage.ts @@ -11,8 +11,8 @@ export class PluginPackage< TEnv extends Record = Record > implements IWrapPackage { constructor( - private pluginModule: PluginModule, - private manifest: WrapManifest + private _pluginModule: PluginModule, + private _manifest: WrapManifest ) {} static from< @@ -51,10 +51,10 @@ export class PluginPackage< } async getManifest(): Promise> { - return ResultOk(this.manifest); + return ResultOk(this._manifest); } async createWrapper(): Promise> { - return ResultOk(new PluginWrapper(this.manifest, this.pluginModule)); + return ResultOk(new PluginWrapper(this._manifest, this._pluginModule)); } } diff --git a/packages/js/plugin/src/PluginWrapper.ts b/packages/js/plugin/src/PluginWrapper.ts index bdca73c016..b2bf19fc30 100644 --- a/packages/js/plugin/src/PluginWrapper.ts +++ b/packages/js/plugin/src/PluginWrapper.ts @@ -19,12 +19,12 @@ import { Result, ResultErr, ResultOk } from "@polywrap/result"; export class PluginWrapper implements Wrapper { constructor( - private manifest: WrapManifest, - private module: PluginModule + private _manifest: WrapManifest, + private _module: PluginModule ) { Tracer.startSpan("PluginWrapper: constructor"); Tracer.setAttribute("args", { - plugin: this.module, + plugin: this._module, }); Tracer.endSpan(); } @@ -39,7 +39,7 @@ export class PluginWrapper implements Wrapper { @Tracer.traceMethod("PluginWrapper: getManifest") public getManifest(): WrapManifest { - return this.manifest; + return this._manifest; } @Tracer.traceMethod("PluginWrapper: invoke", TracingLevel.High) @@ -55,7 +55,7 @@ export class PluginWrapper implements Wrapper { const { method } = options; const args = options.args || {}; - if (!this.module.getMethod(method)) { + if (!this._module.getMethod(method)) { const error = new WrapError(`Plugin missing method "${method}"`, { code: WrapErrorCode.WRAPPER_METHOD_NOT_FOUND, uri: options.uri.uri, @@ -65,7 +65,7 @@ export class PluginWrapper implements Wrapper { } // Set the module's environment - this.module.setEnv(options.env || {}); + this._module.setEnv(options.env || {}); let jsArgs: Record; @@ -94,7 +94,7 @@ export class PluginWrapper implements Wrapper { } // Invoke the function - const result = await this.module._wrap_invoke(method, jsArgs, client); + const result = await this._module._wrap_invoke(method, jsArgs, client); if (result.ok) { const data = result.value; diff --git a/packages/js/plugin/src/utils/PluginModuleWithMethods.ts b/packages/js/plugin/src/utils/PluginModuleWithMethods.ts index 6fa40f415b..f69a80a42a 100644 --- a/packages/js/plugin/src/utils/PluginModuleWithMethods.ts +++ b/packages/js/plugin/src/utils/PluginModuleWithMethods.ts @@ -10,7 +10,7 @@ import { Result, ResultErr, ResultOk } from "@polywrap/result"; export class PluginModuleWithMethods< TEnv extends Record = Record > extends PluginModule { - constructor(private getPluginMethods: GetPluginMethodsFunc) { + constructor(private _getPluginMethods: GetPluginMethodsFunc) { super({} as never); } @@ -47,7 +47,7 @@ export class PluginModuleWithMethods< TArgs extends Record = Record, TResult = unknown >(method: string): PluginMethod | undefined { - const fn: PluginMethod | undefined = this.getPluginMethods( + const fn: PluginMethod | undefined = this._getPluginMethods( this )[method] as PluginMethod; diff --git a/packages/js/uri-resolver-extensions/src/UriResolverExtensionFileReader.ts b/packages/js/uri-resolver-extensions/src/UriResolverExtensionFileReader.ts index b367d8df4d..d98b6a4ab7 100644 --- a/packages/js/uri-resolver-extensions/src/UriResolverExtensionFileReader.ts +++ b/packages/js/uri-resolver-extensions/src/UriResolverExtensionFileReader.ts @@ -12,25 +12,25 @@ import { Result, ResultErr } from "@polywrap/result"; export class UriResolverExtensionFileReader implements IFileReader { constructor( - private readonly resolverExtensionUri: Uri, - private readonly wrapperUri: Uri, - private readonly client: CoreClient + private readonly _resolverExtensionUri: Uri, + private readonly _wrapperUri: Uri, + private readonly _client: CoreClient ) {} async readFile(filePath: string): Promise> { - const path = combinePaths(this.wrapperUri.path, filePath); + const path = combinePaths(this._wrapperUri.path, filePath); const result = await UriResolverInterface.module.getFile( { invoke: ( options: InvokeOptions ): Promise> => - this.client.invoke(options), + this._client.invoke(options), invokeWrapper: ( options: InvokeOptions & { wrapper: Wrapper } ): Promise> => - this.client.invokeWrapper(options), + this._client.invokeWrapper(options), }, - this.resolverExtensionUri, + this._resolverExtensionUri, path ); if (!result.ok) return result; diff --git a/packages/js/uri-resolvers/src/aggregator/UriResolverAggregator.ts b/packages/js/uri-resolvers/src/aggregator/UriResolverAggregator.ts index dc7123501b..0a9d473502 100644 --- a/packages/js/uri-resolvers/src/aggregator/UriResolverAggregator.ts +++ b/packages/js/uri-resolvers/src/aggregator/UriResolverAggregator.ts @@ -18,7 +18,7 @@ export class UriResolverAggregator< TResolutionError = undefined, TGetResolversError = undefined > extends UriResolverAggregatorBase { - private resolvers: + private _resolvers: | IUriResolver[] | GetResolversFunc | GetResolversWithErrorFunc; @@ -37,13 +37,13 @@ export class UriResolverAggregator< | UriResolverLike[] | GetResolversFunc | GetResolversWithErrorFunc, - private resolverName?: string + private _resolverName?: string ) { super(); if (Array.isArray(resolvers)) { - this.resolvers = resolvers.map((x) => UriResolver.from(x)); + this._resolvers = resolvers.map((x) => UriResolver.from(x)); } else { - this.resolvers = resolvers; + this._resolvers = resolvers; } } @@ -51,10 +51,10 @@ export class UriResolverAggregator< uri: Uri, client: CoreClient ): Promise[], TGetResolversError>> { - if (Array.isArray(this.resolvers)) { - return ResultOk(this.resolvers); + if (Array.isArray(this._resolvers)) { + return ResultOk(this._resolvers); } else { - const result = await this.resolvers(uri, client); + const result = await this._resolvers(uri, client); if (Array.isArray(result)) { return ResultOk(result); @@ -65,5 +65,5 @@ export class UriResolverAggregator< } protected getStepDescription = (): string => - `${this.resolverName ?? "UriResolverAggregator"}`; + `${this._resolverName ?? "UriResolverAggregator"}`; } diff --git a/packages/js/uri-resolvers/src/cache/PackageToWrapperCacheResolver.ts b/packages/js/uri-resolvers/src/cache/PackageToWrapperCacheResolver.ts index ca7198aa51..9a0e2e2e1f 100644 --- a/packages/js/uri-resolvers/src/cache/PackageToWrapperCacheResolver.ts +++ b/packages/js/uri-resolvers/src/cache/PackageToWrapperCacheResolver.ts @@ -16,9 +16,9 @@ export class PackageToWrapperCacheResolver name: string; constructor( - private resolverToCache: IUriResolver, - private cache: IWrapperCache, - private options?: { + private _resolverToCache: IUriResolver, + private _cache: IWrapperCache, + private _options?: { deserializeManifestOptions?: DeserializeManifestOptions; endOnRedirect?: boolean; } @@ -44,7 +44,7 @@ export class PackageToWrapperCacheResolver client: CoreClient, resolutionContext: IUriResolutionContext ): Promise> { - const wrapper = await this.cache.get(uri); + const wrapper = await this._cache.get(uri); if (wrapper) { const result = UriResolutionResult.ok(uri, wrapper); @@ -59,7 +59,7 @@ export class PackageToWrapperCacheResolver const subContext = resolutionContext.createSubHistoryContext(); - let result = await this.resolverToCache.tryResolveUri( + let result = await this._resolverToCache.tryResolveUri( uri, client, subContext @@ -71,7 +71,7 @@ export class PackageToWrapperCacheResolver const resolutionPath: Uri[] = subContext.getResolutionPath(); const createResult = await wrapPackage.createWrapper({ - noValidate: this.options?.deserializeManifestOptions?.noValidate, + noValidate: this._options?.deserializeManifestOptions?.noValidate, }); if (!createResult.ok) { @@ -81,7 +81,7 @@ export class PackageToWrapperCacheResolver const wrapper = createResult.value; for (const uri of resolutionPath) { - await this.cache.set(uri, wrapper); + await this._cache.set(uri, wrapper); } result = UriResolutionResult.ok(result.value.uri, wrapper); @@ -90,7 +90,7 @@ export class PackageToWrapperCacheResolver const resolutionPath: Uri[] = subContext.getResolutionPath(); for (const uri of resolutionPath) { - await this.cache.set(uri, wrapper); + await this._cache.set(uri, wrapper); } } } diff --git a/packages/js/uri-resolvers/src/helpers/InfiniteLoopError.ts b/packages/js/uri-resolvers/src/helpers/InfiniteLoopError.ts index bffca25a94..2dffbb2cdb 100644 --- a/packages/js/uri-resolvers/src/helpers/InfiniteLoopError.ts +++ b/packages/js/uri-resolvers/src/helpers/InfiniteLoopError.ts @@ -4,13 +4,13 @@ import { Uri, IUriResolutionStep } from "@polywrap/core-js"; export class InfiniteLoopError extends Error { constructor( - private readonly uri: Uri, - private readonly history: IUriResolutionStep[] + private readonly _uri: Uri, + private readonly _history: IUriResolutionStep[] ) { super(); } message = `An infinite loop was detected while resolving the URI: ${ - this.uri.uri - }\nHistory: ${JSON.stringify(getUriResolutionPath(this.history), null, 2)}`; + this._uri.uri + }\nHistory: ${JSON.stringify(getUriResolutionPath(this._history), null, 2)}`; } diff --git a/packages/js/uri-resolvers/src/helpers/RecursiveResolver.ts b/packages/js/uri-resolvers/src/helpers/RecursiveResolver.ts index eb46c971b9..9257c82dc9 100644 --- a/packages/js/uri-resolvers/src/helpers/RecursiveResolver.ts +++ b/packages/js/uri-resolvers/src/helpers/RecursiveResolver.ts @@ -14,7 +14,7 @@ import { export class RecursiveResolver implements IUriResolver { - constructor(private resolver: IUriResolver) {} + constructor(private _resolver: IUriResolver) {} static from( resolver: UriResolverLike @@ -35,13 +35,13 @@ export class RecursiveResolver resolutionContext.startResolving(uri); - const resolverResult = await this.resolver.tryResolveUri( + const resolverResult = await this._resolver.tryResolveUri( uri, client, resolutionContext ); - const result = await this.tryResolveAgainIfRedirect( + const result = await this._tryResolveAgainIfRedirect( resolverResult, uri, client, @@ -53,7 +53,7 @@ export class RecursiveResolver return result; } - private async tryResolveAgainIfRedirect( + private async _tryResolveAgainIfRedirect( result: Result, uri: Uri, client: CoreClient, diff --git a/packages/js/uri-resolvers/src/helpers/ResolverWithLoopGuard.ts b/packages/js/uri-resolvers/src/helpers/ResolverWithLoopGuard.ts index 9ea8ea8697..598cbd2d6a 100644 --- a/packages/js/uri-resolvers/src/helpers/ResolverWithLoopGuard.ts +++ b/packages/js/uri-resolvers/src/helpers/ResolverWithLoopGuard.ts @@ -14,7 +14,7 @@ import { Result } from "@polywrap/result"; export class ResolverWithLoopGuard implements IUriResolver { - constructor(private resolver: IUriResolver) {} + constructor(private _resolver: IUriResolver) {} static from( resolver: UriResolverLike @@ -37,7 +37,7 @@ export class ResolverWithLoopGuard resolutionContext.startResolving(uri); - const result = await this.resolver.tryResolveUri( + const result = await this._resolver.tryResolveUri( uri, client, resolutionContext diff --git a/packages/js/uri-resolvers/src/packages/PackageResolver.ts b/packages/js/uri-resolvers/src/packages/PackageResolver.ts index 26684e56be..5588e1d04b 100644 --- a/packages/js/uri-resolvers/src/packages/PackageResolver.ts +++ b/packages/js/uri-resolvers/src/packages/PackageResolver.ts @@ -4,16 +4,16 @@ import { Uri, IWrapPackage, UriPackageOrWrapper } from "@polywrap/core-js"; import { Result } from "@polywrap/result"; export class PackageResolver extends ResolverWithHistory { - constructor(private uri: Uri, private wrapPackage: IWrapPackage) { + constructor(private _uri: Uri, private wrapPackage: IWrapPackage) { super(); } - protected getStepDescription = (): string => `Package (${this.uri.uri})`; + protected getStepDescription = (): string => `Package (${this._uri.uri})`; protected async _tryResolveUri( uri: Uri ): Promise> { - if (uri.uri !== this.uri.uri) { + if (uri.uri !== this._uri.uri) { return UriResolutionResult.ok(uri); } diff --git a/packages/js/uri-resolvers/src/wrappers/WrapperResolver.ts b/packages/js/uri-resolvers/src/wrappers/WrapperResolver.ts index de297fd6ce..d59a20d5c6 100644 --- a/packages/js/uri-resolvers/src/wrappers/WrapperResolver.ts +++ b/packages/js/uri-resolvers/src/wrappers/WrapperResolver.ts @@ -4,19 +4,19 @@ import { Uri, UriPackageOrWrapper, Wrapper } from "@polywrap/core-js"; import { Result } from "@polywrap/result"; export class WrapperResolver extends ResolverWithHistory { - constructor(private uri: Uri, private wrapper: Wrapper) { + constructor(private _uri: Uri, private _wrapper: Wrapper) { super(); } - protected getStepDescription = (): string => `Wrapper (${this.uri.uri})`; + protected getStepDescription = (): string => `Wrapper (${this._uri.uri})`; protected async _tryResolveUri( uri: Uri ): Promise> { - if (uri.uri !== this.uri.uri) { + if (uri.uri !== this._uri.uri) { return UriResolutionResult.ok(uri); } - return UriResolutionResult.ok(uri, this.wrapper); + return UriResolutionResult.ok(uri, this._wrapper); } } diff --git a/packages/js/validation/src/types/WasmPackageValidator.ts b/packages/js/validation/src/types/WasmPackageValidator.ts index 8fb8bc5914..97b5096503 100644 --- a/packages/js/validation/src/types/WasmPackageValidator.ts +++ b/packages/js/validation/src/types/WasmPackageValidator.ts @@ -14,37 +14,37 @@ import { import * as path from "path"; export class WasmPackageValidator { - constructor(private constraints: WasmPackageConstraints) {} + constructor(private _constraints: WasmPackageConstraints) {} async validate(reader: PackageReader): Promise { - const infoResult = await this.validateInfo(reader, WRAP_INFO); + const infoResult = await this._validateInfo(reader, WRAP_INFO); if (!infoResult.valid) { return infoResult; } const manifest = infoResult.manifest as WrapManifest; - const moduleResult = await this.validateModule(reader, manifest); + const moduleResult = await this._validateModule(reader, manifest); if (!moduleResult.valid) { return moduleResult; } - return this.success(); + return this._success(); } - private async validateStructure( + private async _validateStructure( reader: PackageReader ): Promise { - const { result: pathResult } = await this.validatePath(reader, "./", 0, 0); + const { result: pathResult } = await this._validatePath(reader, "./", 0, 0); if (!pathResult.valid) { return pathResult; } - return this.success(); + return this._success(); } - private async validatePath( + private async _validatePath( reader: PackageReader, basePath: string, currentSize: number, @@ -59,27 +59,27 @@ export class WasmPackageValidator { const stats = await reader.getStats(path.join(basePath, itemPath)); currentSize += stats.size; - if (currentSize > this.constraints.maxSize) { + if (currentSize > this._constraints.maxSize) { return { - result: this.fail(ValidationFailReason.PackageTooLarge), + result: this._fail(ValidationFailReason.PackageTooLarge), currentSize, currentFileCnt, }; } currentFileCnt++; - if (currentFileCnt > this.constraints.maxNumberOfFiles) { + if (currentFileCnt > this._constraints.maxNumberOfFiles) { return { - result: this.fail(ValidationFailReason.TooManyFiles), + result: this._fail(ValidationFailReason.TooManyFiles), currentSize, currentFileCnt, }; } if (stats.isFile) { - if (stats.size > this.constraints.maxFileSize) { + if (stats.size > this._constraints.maxFileSize) { return { - result: this.fail(ValidationFailReason.FileTooLarge), + result: this._fail(ValidationFailReason.FileTooLarge), currentSize, currentFileCnt, }; @@ -89,7 +89,7 @@ export class WasmPackageValidator { result, currentSize: newSize, currentFileCnt: newFileCnt, - } = await this.validatePath( + } = await this._validatePath( reader, path.join(basePath, itemPath), currentSize, @@ -109,21 +109,21 @@ export class WasmPackageValidator { } return { - result: this.success(), + result: this._success(), currentSize, currentFileCnt, }; } - private async validateInfo( + private async _validateInfo( reader: PackageReader, name: string ): Promise { if (!(await reader.exists(name))) { - return this.fail(ValidationFailReason.WrapManifestNotFound); + return this._fail(ValidationFailReason.WrapManifestNotFound); } - const structureResult = await this.validateStructure(reader); + const structureResult = await this._validateStructure(reader); if (!structureResult.valid) { return structureResult; } @@ -136,40 +136,40 @@ export class WasmPackageValidator { }; } catch (e) { if (e.message.includes('instance requires property "abi"')) { - return this.fail(ValidationFailReason.AbiNotFound); + return this._fail(ValidationFailReason.AbiNotFound); } else if ( e.message.includes("instance.abi") && e.message.includes("Validation errors encountered") ) { - return this.fail(ValidationFailReason.InvalidAbi); + return this._fail(ValidationFailReason.InvalidAbi); } - return this.fail(ValidationFailReason.InvalidWrapManifest); + return this._fail(ValidationFailReason.InvalidWrapManifest); } } - private async validateModule( + private async _validateModule( reader: PackageReader, manifest: WrapManifest ): Promise { if (manifest.type === "interface") { - return this.success(); + return this._success(); } const module = await reader.getStats(WRAP_WASM); - if (module.size > this.constraints.maxModuleSize) { - return this.fail(ValidationFailReason.ModuleTooLarge); + if (module.size > this._constraints.maxModuleSize) { + return this._fail(ValidationFailReason.ModuleTooLarge); } - return this.success(); + return this._success(); } - private success(): ValidationResult { + private _success(): ValidationResult { return { valid: true, }; } - private fail( + private _fail( reason: ValidationFailReason, error: Error | undefined = undefined ): ValidationResult { diff --git a/packages/js/wasm/src/WasmPackage.ts b/packages/js/wasm/src/WasmPackage.ts index 8e32997745..f07b07e5ab 100644 --- a/packages/js/wasm/src/WasmPackage.ts +++ b/packages/js/wasm/src/WasmPackage.ts @@ -12,7 +12,7 @@ import { GetManifestOptions, Wrapper } from "@polywrap/core-js"; import { Result, ResultErr, ResultOk } from "@polywrap/result"; export class WasmPackage implements IWasmPackage { - constructor(private readonly fileReader: IFileReader) {} + constructor(private readonly _fileReader: IFileReader) {} static from(manifestBuffer: Uint8Array, wasmModule: Uint8Array): WasmPackage; static from( @@ -37,7 +37,7 @@ export class WasmPackage implements IWasmPackage { async getManifest( options?: GetManifestOptions ): Promise> { - const result = await this.fileReader.readFile(WRAP_MANIFEST_PATH); + const result = await this._fileReader.readFile(WRAP_MANIFEST_PATH); if (!result.ok) { return result; @@ -53,7 +53,7 @@ export class WasmPackage implements IWasmPackage { } async getWasmModule(): Promise> { - const result = await this.fileReader.readFile(WRAP_MODULE_PATH); + const result = await this._fileReader.readFile(WRAP_MODULE_PATH); if (!result.ok) { return ResultErr(Error(`Wrapper does not contain a wasm module`)); @@ -71,6 +71,6 @@ export class WasmPackage implements IWasmPackage { return result; } - return ResultOk(new WasmWrapper(result.value, this.fileReader)); + return ResultOk(new WasmWrapper(result.value, this._fileReader)); } } From 8be559983f64f87cce103b67e4892279910904ce Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 18 Jan 2023 12:25:40 -0500 Subject: [PATCH 23/25] chore: lint fix --- packages/cli/src/lib/workflow/JobRunner.ts | 5 ++++- packages/js/core/src/uri-resolution/UriResolutionContext.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/lib/workflow/JobRunner.ts b/packages/cli/src/lib/workflow/JobRunner.ts index 782796da14..367d210c3b 100644 --- a/packages/cli/src/lib/workflow/JobRunner.ts +++ b/packages/cli/src/lib/workflow/JobRunner.ts @@ -14,7 +14,10 @@ export class JobRunner { constructor( private _configBuilder: IClientConfigBuilder, - private _onExecution?: (id: string, JobResult: JobResult) => MaybeAsync + private _onExecution?: ( + id: string, + JobResult: JobResult + ) => MaybeAsync ) { this._jobOutput = new Map(); this._client = new PolywrapClient(this._configBuilder.buildCoreConfig(), { diff --git a/packages/js/core/src/uri-resolution/UriResolutionContext.ts b/packages/js/core/src/uri-resolution/UriResolutionContext.ts index dd6d793a95..e88b6c4cf2 100644 --- a/packages/js/core/src/uri-resolution/UriResolutionContext.ts +++ b/packages/js/core/src/uri-resolution/UriResolutionContext.ts @@ -60,7 +60,10 @@ export class UriResolutionContext implements IUriResolutionContext { } createSubHistoryContext(): IUriResolutionContext { - return new UriResolutionContext(this._resolvingUriMap, this._resolutionPath); + return new UriResolutionContext( + this._resolvingUriMap, + this._resolutionPath + ); } createSubContext(): IUriResolutionContext { From 005bb3f9d06080e06fc0dd78504e35f614910f64 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 18 Jan 2023 12:43:45 -0500 Subject: [PATCH 24/25] chore: fix zip file name sanitization --- .../lib/defaults/infra-modules/http/server/package.json | 3 ++- .../defaults/infra-modules/http/server/src/utils/zip.ts | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/lib/defaults/infra-modules/http/server/package.json b/packages/cli/src/lib/defaults/infra-modules/http/server/package.json index ec1738ed4d..573bfd0f16 100644 --- a/packages/cli/src/lib/defaults/infra-modules/http/server/package.json +++ b/packages/cli/src/lib/defaults/infra-modules/http/server/package.json @@ -19,7 +19,8 @@ "file-saver": "2.0.5", "jszip": "3.10.1", "fs-extra": "7.0.1", - "multer": "1.4.5-lts.1" + "multer": "1.4.5-lts.1", + "sanitize-filename": "1.6.3" }, "devDependencies": { "@types/express": "4.17.13", diff --git a/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts b/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts index e7b9bc84a9..dbe8aad8f9 100644 --- a/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts +++ b/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts @@ -1,5 +1,7 @@ import JSZip from "jszip"; +import sanitize from "sanitize-filename"; import fse from "fs-extra"; +import path from "path"; export class Zip { private _zip: JSZip; @@ -22,8 +24,13 @@ export class Zip { } public createZip(sourceDir: string, outputPath: string): Promise { + if (!fse.lstatSync(sourceDir).isDirectory()) { + throw new Error(`Zip sourceDir '${sourceDir}' is not a directory.`); + } + fse.readdirSync(sourceDir).forEach(file => { - this._zip.file(file, fse.readFileSync(`${sourceDir}/${file}`)) + const filePath = path.join(sourceDir, sanitize(file)); + this._zip.file(file, fse.readFileSync(filePath)) }) return this._generateNodeZip(outputPath); } From 2366e99ba5d481c72edde54942afbae95051d03e Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Wed, 18 Jan 2023 12:59:09 -0500 Subject: [PATCH 25/25] chore: revert zip.ts changes --- .../defaults/infra-modules/http/server/src/utils/zip.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts b/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts index dbe8aad8f9..be3da6def9 100644 --- a/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts +++ b/packages/cli/src/lib/defaults/infra-modules/http/server/src/utils/zip.ts @@ -24,13 +24,8 @@ export class Zip { } public createZip(sourceDir: string, outputPath: string): Promise { - if (!fse.lstatSync(sourceDir).isDirectory()) { - throw new Error(`Zip sourceDir '${sourceDir}' is not a directory.`); - } - fse.readdirSync(sourceDir).forEach(file => { - const filePath = path.join(sourceDir, sanitize(file)); - this._zip.file(file, fse.readFileSync(filePath)) + this._zip.file(file, fse.readFileSync(`${sourceDir}/${file}`)) }) return this._generateNodeZip(outputPath); }