From fe54a5af328c612110abf5cce177e69416534ea4 Mon Sep 17 00:00:00 2001 From: Cesar Date: Tue, 17 Jan 2023 15:06:32 +0100 Subject: [PATCH 1/3] 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 2/3] 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 3/3] 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";