From cb3aa92ca82d425c8c169cef577107a65db69ef6 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Wed, 8 Jun 2022 14:28:43 +0200 Subject: [PATCH 01/24] Make `app tunnel` detect if Saleor App is running --- src/cli.ts | 15 ++++++++++----- src/cli/app/tunnel.ts | 5 +++-- src/lib/common.ts | 13 +++++++++++++ src/lib/detectPort.ts | 4 ++-- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 59caa34e..8cce9dbc 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -57,7 +57,7 @@ if (SentryDSN) { Sentry.setUser({ id: user_session }) } -yargs(hideBin(process.argv)) +const parser = yargs(hideBin(process.argv)) .scriptName("saleor") .version(pkg.version) .alias('V', 'version') @@ -86,7 +86,6 @@ yargs(hideBin(process.argv)) .alias('h', 'help') .epilogue('for more information, find the documentation at https://saleor.io') .fail(async (msg, error, yargs) => { - if (error) { Sentry.captureException(error); } @@ -112,7 +111,7 @@ yargs(hideBin(process.argv)) } else if (error instanceof TimeoutError) { // Don't display `Timeout` errors to user } else if (error) { - console.log(error.message) + console.log(`\n ${chalk.red('ERROR')} ${error.message}`); } else { if (!process.argv.slice(2).length) { header(pkg.version); @@ -138,5 +137,11 @@ yargs(hideBin(process.argv)) await Sentry.close(2000); process.exit(1); - }) - .argv; \ No newline at end of file + }); + +try { + await parser.parse(); +} catch (error) { + // FIXME + // https://github.com/yargs/yargs/blob/main/docs/advanced.md#handling-async-errors +} \ No newline at end of file diff --git a/src/cli/app/tunnel.ts b/src/cli/app/tunnel.ts index 45474322..f3b8a5fe 100644 --- a/src/cli/app/tunnel.ts +++ b/src/cli/app/tunnel.ts @@ -2,7 +2,7 @@ import { Arguments, CommandBuilder } from "yargs"; import { spawn } from "child_process"; import path from 'path'; import Enquirer from "enquirer"; -import { doSaleorAppInstall, verifyIsSaleorAppDirectory } from "../../lib/common.js"; +import { doSaleorAppInstall, verifyIfSaleorAppRunning, verifyIsSaleorAppDirectory } from "../../lib/common.js"; import boxen from "boxen"; import chalk from "chalk"; import replace from "replace-in-file"; @@ -101,8 +101,9 @@ export const handler = async (argv: Arguments): Promise => { }; export const middlewares = [ + verifyIsSaleorAppDirectory, + verifyIfSaleorAppRunning, useToken, useOrganization, useEnvironment, - verifyIsSaleorAppDirectory ] \ No newline at end of file diff --git a/src/lib/common.ts b/src/lib/common.ts index 4250d9f0..d070ae1d 100644 --- a/src/lib/common.ts +++ b/src/lib/common.ts @@ -8,6 +8,7 @@ import { Config } from "./config.js"; import { API, GET } from "./index.js"; import { NotSaleorAppDirectoryError } from "./util.js"; import chalk from "chalk"; +import { isPortAvailable } from "./detectPort.js"; interface Manifest { name: string @@ -98,3 +99,15 @@ export const verifyIsSaleorAppDirectory = async (argv: any) => { }; +export const verifyIfSaleorAppRunning = async (argv: any) => { + const { port } = argv; + + const isFree = await isPortAvailable(Number(port)); + if (isFree) { + throw new Error(`No Saleor App running on port ${port}`); + } + + return {}; +}; + + diff --git a/src/lib/detectPort.ts b/src/lib/detectPort.ts index 719ffe35..a9d1605f 100644 --- a/src/lib/detectPort.ts +++ b/src/lib/detectPort.ts @@ -1,13 +1,13 @@ import detectPort from "detect-port"; -export const portIsAvailable = async (port: number): Promise => { +export const isPortAvailable = async (port: number): Promise => { const detectedPort = await detectPort(port); return port == detectedPort } export const checkPort = async (port: number): Promise => { - if (! await portIsAvailable(port)) { + if (! await isPortAvailable(port)) { throw new Error(`\nSomething is already running at port 3000\nPlease release port 3000 and try again`) } } \ No newline at end of file From ec972b194d670f833a970b41bfa11a4d551fcca6 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Wed, 8 Jun 2022 15:57:01 +0200 Subject: [PATCH 02/24] Make the `app tunnel` output more complete --- src/cli/app/tunnel.ts | 31 ++++++++++++++++--------------- src/types.ts | 2 ++ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/cli/app/tunnel.ts b/src/cli/app/tunnel.ts index f3b8a5fe..49ae7c38 100644 --- a/src/cli/app/tunnel.ts +++ b/src/cli/app/tunnel.ts @@ -11,15 +11,12 @@ import fs from 'fs-extra'; import fetch from "node-fetch"; import { Config } from "../../lib/config.js"; import { useEnvironment, useOrganization, useToken } from "../../middleware/index.js"; +import { API, GET } from "../../lib/index.js"; +import { Options } from "../../types.js"; const random = (min: number, max: number) => Math.floor(Math.random() * (max - min + 1) + min); -interface Opts { - name: string - port: string -} - export const command = "tunnel [port]"; export const desc = "Expose your Saleor app remotely via tunnel"; @@ -27,7 +24,7 @@ export const builder: CommandBuilder = (_) => _.positional("port", { type: "number", default: 3000 }) .option('name', { type: 'string' }) -export const handler = async (argv: Arguments): Promise => { +export const handler = async (argv: Arguments): Promise => { // const spinner = ora('Starting your Saleor App...').start(); const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -56,6 +53,9 @@ export const handler = async (argv: Arguments): Promise => { message: `Do you want to install this Saleor App in the ${environment} environment?`, })) as { install: boolean }; + const env = await GET(API.Environment, argv) as any; + const baseURL = `https://${env.domain}`; + const subdomain = `${appName}-${environment}-${organization}`.toLowerCase(); const tunnelURL = `${subdomain}.saleor.live`; const winSuffix = process.platform === 'win32' ? '.cmd' : ''; @@ -65,7 +65,7 @@ export const handler = async (argv: Arguments): Promise => { const p = await spawn( `${vendorDir}/tunnel${winSuffix}`, [ - "local", localPort, + "local", localPort || "3000", "--to", tunnelURL, "--port", port.toString(), "--secret", TunnelServerSecret, @@ -74,14 +74,15 @@ export const handler = async (argv: Arguments): Promise => { // spinner.succeed(); - console.log( - boxen(`Your Saleor App URL is: ${chalk.blue(`https://${tunnelURL}`)}`, { - padding: 1, - margin: 1, - float: "center", - borderColor: "yellow", - }) - ); + const saleorAppURLMessage = `Your Saleor App URL: ${chalk.blue(`https://${tunnelURL}`)}` + const dashboaardMsg = ` Saleor Dashboard: ${chalk.blue(`${baseURL}/dashboard/`)}`; + const gqlMsg = ` GraphQL Playground: ${chalk.blue(`${baseURL}/graphql/`)}`; + + console.log(boxen(`${saleorAppURLMessage}\n\n${dashboaardMsg}\n${gqlMsg}`, { + padding: 1, + margin: 1, + borderColor: "yellow", + })); replace.sync({ files: '.env', diff --git a/src/types.ts b/src/types.ts index a451d068..35111107 100644 --- a/src/types.ts +++ b/src/types.ts @@ -26,6 +26,8 @@ export interface Options extends BaseOptions { key?: string json?: boolean event?: string + port?: string + name?: string } export interface CreatePromptResult { From 939e6f1ba39366460f1054d5e23ed52f169797a9 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Wed, 8 Jun 2022 19:25:20 +0200 Subject: [PATCH 03/24] Release 1.5.0-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 35d1b44f..b2547ca9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.4.0", + "version": "1.5.0-rc.1", "description": "", "type": "module", "repository": "github:saleor/saleor-cli", From 25115dbcdeef7a05374f8d9e5b5339fdb9e6d170 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 13:21:34 +0200 Subject: [PATCH 04/24] Add hint for the database options for `environment` --- src/lib/util.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/util.ts b/src/lib/util.ts index 088282ea..427936c1 100644 --- a/src/lib/util.ts +++ b/src/lib/util.ts @@ -173,10 +173,12 @@ export const promptCompatibleVersion = async (argv: any, service = "SANDBOX") => export const promptDatabaseTemplate = async () => createPrompt( 'database', 'Select the database template', - () => ([{ name: 'sample', value: 'sample' }, - { name: 'blank', value: null }, - { name: 'snapshot', value: null }]), - (_: any) => ({ name: _.name, value: _.value }) + () => ([ + { name: 'sample', value: 'sample', hint: 'Includes a sample product catalog and basic configuration' }, + { name: 'blank', value: null, hint: 'Contains no data and configuration settings' }, + { name: 'snapshot', value: null, hint: 'Import data from backups or your own snapshots' } + ]), + (_: any) => ({ name: _.name, value: _.value, hint: _.hint }) ) export const promptProject = (argv: any) => createPrompt( From 28d6ad231071ca53ac06cd1eadb4f34a90c8f96f Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 13:53:22 +0200 Subject: [PATCH 05/24] Improve the `confirm` prompts + message rewording --- src/cli/configure.ts | 8 ++++++-- src/cli/env/create.ts | 9 ++++++--- src/cli/register.ts | 1 + src/cli/storefront/create.ts | 4 ++-- src/cli/webhook/create.ts | 1 + src/lib/util.ts | 1 + 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/cli/configure.ts b/src/cli/configure.ts index a0d76947..f61d2028 100644 --- a/src/cli/configure.ts +++ b/src/cli/configure.ts @@ -8,6 +8,7 @@ import { Options } from "../types.js"; import Enquirer from "enquirer"; import _ from "chalk"; import { promptEnvironment, promptOrganization } from "../lib/util.js"; +import chalk from "chalk"; const { ux: cli } = CliUx; @@ -39,6 +40,7 @@ Learn more: ${_.gray('https://saleor.io/')}${_.blueBright('telemetry')} type: 'confirm', name: 'telemetry', initial: 'yes', + format: (value) => chalk.cyan(value ? 'yes' : 'no'), message: 'Are you OK with leaving telemetry enabled?' }) as { telemetry: boolean } @@ -62,7 +64,8 @@ const chooseOrganization = async (token: string | undefined) => { type: 'confirm', name: 'orgSetup', initial: 'yes', - message: 'Would you like to choose default Organization' + format: (value) => chalk.cyan(value ? 'yes' : 'no'), + message: 'Would you like to choose the default organization?' }) as { orgSetup: boolean } if (orgSetup) { @@ -80,7 +83,8 @@ const chooseEnv = async (token: string | undefined, organization_slug: string) = type: 'confirm', name: 'envSetup', initial: 'yes', - message: 'Would you like to choose default Environment' + format: (value) => chalk.cyan(value ? 'yes' : 'no'), + message: 'Would you like to choose the default environment' }) as { envSetup: boolean } if (envSetup) { diff --git a/src/cli/env/create.ts b/src/cli/env/create.ts index 17eb3f71..a0601080 100644 --- a/src/cli/env/create.ts +++ b/src/cli/env/create.ts @@ -89,6 +89,7 @@ export const handler = async (argv: Arguments) => { type: 'confirm', name: 'deployPrompt', message: `Deploy our react-storefront starter pack to Vercel`, + format: (value) => chalk.cyan(value ? 'yes' : 'no'), initial: argv.deploy, skip: !(argv.deploy === undefined) }) as { deployPrompt: boolean }; @@ -128,9 +129,10 @@ export const createEnvironment = async (argv: Arguments) => { }, { type: 'confirm', name: 'access', - message: `Would you like to enable dashboard access `, + message: `Would you like to enable dashboard access?`, + format: (value) => chalk.cyan(value ? 'yes' : 'no'), skip: !!argv.email, - initial: false + initial: true }]) as { domain: string, access: boolean }; let email = argv.email; @@ -150,7 +152,8 @@ export const createEnvironment = async (argv: Arguments) => { const { restrict } = await Enquirer.prompt({ type: 'confirm', name: 'restrict', - message: `You can restrict access to your env API with Basic Auth. Do you want to set it up`, + message: `Would you like to restrict your Environment API with Basic Auth?`, + format: (value) => chalk.cyan(value ? 'yes' : 'no'), skip: (!!argv.pass && !!argv.login) || argv.skipRestrict }) as { restrict: boolean }; diff --git a/src/cli/register.ts b/src/cli/register.ts index b7dc8e26..ccf307d5 100644 --- a/src/cli/register.ts +++ b/src/cli/register.ts @@ -78,6 +78,7 @@ export const doRegister = async (fromCli: boolean | undefined) => { type: 'confirm', name: 'terms', required: true, + format: (value) => chalk.cyan(value ? 'yes' : 'no'), message: 'I agree to Saleor Terms and Conditions - https://saleor.io/legal/terms' }]) diff --git a/src/cli/storefront/create.ts b/src/cli/storefront/create.ts index ecca21c2..b0a886d9 100644 --- a/src/cli/storefront/create.ts +++ b/src/cli/storefront/create.ts @@ -85,9 +85,9 @@ const prepareEnvironment = async (argv: Arguments, project: any) => console.log(chalk.green("✔"), chalk.bold("Select a Saleor version ·"), chalk.cyan(`Saleor ${service.version} - ${service.display_name} - ${service.service_type}`)); console.log(chalk.green("✔"), chalk.bold("Environment name ·"), chalk.cyan(name)); console.log(chalk.green("✔"), chalk.bold("Environment domain ·"), chalk.cyan(name)); - console.log(chalk.green("✔"), chalk.bold("Would you like to enable dashboard access (y/N) ·"), chalk.cyan('true')); + console.log(chalk.green("✔"), chalk.bold("Would you like to enable dashboard access (y/N) ·"), chalk.cyan('yes')); console.log(chalk.green("✔"), chalk.bold("Dashboard admin email ·"), chalk.cyan(user.email)); - console.log(chalk.green("✔"), chalk.bold("You can restrict access to your env API with Basic Auth. Do you want to set it up (y/N) ·"), chalk.cyan('false')); + console.log(chalk.green("✔"), chalk.bold("Would you like to restrict your Environment API with Basic Auth? (y/N) ·"), chalk.cyan('no')); const json = { name, diff --git a/src/cli/webhook/create.ts b/src/cli/webhook/create.ts index f5b49441..89de3e63 100644 --- a/src/cli/webhook/create.ts +++ b/src/cli/webhook/create.ts @@ -73,6 +73,7 @@ export const handler = async (argv: Arguments) => { type: 'confirm', name: 'isActive', message: 'Webhook is active', + format: (value) => chalk.cyan(value ? 'yes' : 'no'), initial: true, }, { type: 'input', diff --git a/src/lib/util.ts b/src/lib/util.ts index 427936c1..e0ec3e90 100644 --- a/src/lib/util.ts +++ b/src/lib/util.ts @@ -416,6 +416,7 @@ export const confirmRemoval = async (argv: Options, name: string) => { initial: argv.force, skip: !!argv.force, message: `You are going to remove ${name}. Continue`, + format: (value) => chalk.cyan(value ? 'yes' : 'no'), }) as { proceed: boolean }; return proceed; From 05bd10f4cae3b8560f7ad0617c9fe8d4c162ffd0 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 14:13:42 +0200 Subject: [PATCH 06/24] Show only non-production (sandbox) version in CLI --- src/lib/util.ts | 3 ++- src/middleware/index.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/util.ts b/src/lib/util.ts index 427936c1..34f69889 100644 --- a/src/lib/util.ts +++ b/src/lib/util.ts @@ -156,6 +156,7 @@ export const getSortedServices = async (argv: any) => { return services.sort((a, b) => b.version.localeCompare(a.version)) } +// deprecated ? export const promptVersion = async (argv: any) => createPrompt( 'service', 'Select a Saleor version', @@ -167,7 +168,7 @@ export const promptCompatibleVersion = async (argv: any, service = "SANDBOX") => 'production service', 'Select a Saleor service', async () => (await getSortedServices(argv)).filter(({ service_type }: any) => service_type === service), - (_: any) => ({ name: `Saleor ${_.version} - ${_.display_name} - ${_.service_type}`, value: _.name }) + (_: any) => ({ name: `Saleor ${_.version} - ${_.display_name}`, value: _.name }) ) export const promptDatabaseTemplate = async () => createPrompt( diff --git a/src/middleware/index.ts b/src/middleware/index.ts index 0236f919..649eea14 100644 --- a/src/middleware/index.ts +++ b/src/middleware/index.ts @@ -15,7 +15,7 @@ import { promptOrganizationBackup, promptProject, promptSaleorApp, - promptVersion, + promptCompatibleVersion, promptWebhook, } from "../lib/util.js"; import { CreatePromptResult, Options } from "../types.js"; @@ -138,7 +138,7 @@ export const interactiveSaleorVersion = async (argv: Options) => { const { region } = (await GET(API.Project, argv)) as any; if (!argv.saleor) { - const snapshot = await promptVersion({...argv, region}); + const snapshot = await promptCompatibleVersion({...argv, region}); return { saleor: snapshot.value }; } From 6de20f096d91fb4e857be882f3f8d994b605fda4 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 14:28:35 +0200 Subject: [PATCH 07/24] Update dependencies --- package.json | 2 +- pnpm-lock.yaml | 52 +++++++++++++++++++++++++------------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index b2547ca9..9da2ddce 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "lodash.kebabcase": "^4.1.1", "lookpath": "^1.2.2", "nanoid": "^4.0.0", - "node-fetch": "^3.2.5", + "node-fetch": "^3.2.6", "ora": "^6.1.0", "prompt": "^1.3.0", "replace-in-file": "^6.3.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f231058d..d159434c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ specifiers: lodash.kebabcase: ^4.1.1 lookpath: ^1.2.2 nanoid: ^4.0.0 - node-fetch: ^3.2.5 + node-fetch: ^3.2.6 ora: ^6.1.0 pkg: ^5.7.0 prompt: ^1.3.0 @@ -87,7 +87,7 @@ dependencies: lodash.kebabcase: 4.1.1 lookpath: 1.2.2 nanoid: 4.0.0 - node-fetch: 3.2.5 + node-fetch: 3.2.6 ora: 6.1.0 prompt: 1.3.0 replace-in-file: 6.3.5 @@ -3996,8 +3996,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001350 - electron-to-chromium: 1.4.148 + caniuse-lite: 1.0.30001352 + electron-to-chromium: 1.4.150 escalade: 3.1.1 node-releases: 2.0.5 picocolors: 1.0.0 @@ -4079,7 +4079,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 dev: true /callsites/3.1.0: @@ -4112,8 +4112,8 @@ packages: engines: {node: '>=10'} dev: false - /caniuse-lite/1.0.30001350: - resolution: {integrity: sha512-NZBql38Pzd+rAu5SPXv+qmTWGQuFsRiemHCJCAPvkoDxWV19/xqL2YHF32fDJ9SDLdLqfax8+S0CO3ncDCp9Iw==} + /caniuse-lite/1.0.30001352: + resolution: {integrity: sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==} dev: true /capital-case/1.0.4: @@ -4720,8 +4720,8 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.148: - resolution: {integrity: sha512-8MJk1bcQUAYkuvCyWZxaldiwoDG0E0AMzBGA6cv3WfuvJySiPgfidEPBFCRRH3cZm6SVZwo/oRlK1ehi1QNEIQ==} + /electron-to-chromium/1.4.150: + resolution: {integrity: sha512-MP3oBer0X7ZeS9GJ0H6lmkn561UxiwOIY9TTkdxVY7lI9G6GVCKfgJaHaDcakwdKxBXA4T3ybeswH/WBIN/KTA==} dev: true /elegant-spinner/1.0.1: @@ -5454,8 +5454,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic/1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + /get-intrinsic/1.1.2: + resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} dependencies: function-bind: 1.1.1 has: 1.0.3 @@ -5674,7 +5674,7 @@ packages: /has-property-descriptors/1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 dev: true /has-symbols/1.0.3: @@ -6624,8 +6624,8 @@ packages: dependencies: whatwg-url: 5.0.0 - /node-fetch/3.2.5: - resolution: {integrity: sha512-u7zCHdJp8JXBwF09mMfo2CL6kp37TslDl1KP3hRGTlCInBtag+UO3LGVy+NF0VzvnL3PVMpA2hXh1EtECFnyhQ==} + /node-fetch/3.2.6: + resolution: {integrity: sha512-LAy/HZnLADOVkVPubaxHDft29booGglPFDr2Hw0J1AercRh01UiVFm++KMDnJeH9sHgNB4hsXPii7Sgym/sTbw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.0 @@ -7406,15 +7406,15 @@ packages: dev: true /set-blocking/2.0.0: - resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true /setimmediate/1.0.5: - resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=} + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true /shebang-command/1.2.0: - resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 @@ -7428,7 +7428,7 @@ packages: dev: true /shebang-regex/1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} engines: {node: '>=0.10.0'} dev: false @@ -7441,7 +7441,7 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /signedsource/1.0.0: - resolution: {integrity: sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=} + resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} dev: true /simple-concat/1.0.1: @@ -7497,15 +7497,15 @@ packages: dev: true /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: false /stack-trace/0.0.10: - resolution: {integrity: sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=} + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} dev: false /stream-meter/1.0.4: - resolution: {integrity: sha1-Uq+Vql6nYKJJFxZwTb/5D3Ov3R0=} + resolution: {integrity: sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==} dependencies: readable-stream: 2.3.7 dev: true @@ -7519,7 +7519,7 @@ packages: dev: true /string-width/1.0.2: - resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} engines: {node: '>=0.10.0'} dependencies: code-point-at: 1.1.0 @@ -7564,14 +7564,14 @@ packages: safe-buffer: 5.2.1 /strip-ansi/3.0.1: - resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true /strip-ansi/4.0.0: - resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=} + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} engines: {node: '>=4'} dependencies: ansi-regex: 3.0.1 @@ -7591,7 +7591,7 @@ packages: dev: false /strip-json-comments/2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} /strip-json-comments/3.1.1: From 6d15ede72376bef06c2a843ab1686f3010e96ed9 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 14:28:51 +0200 Subject: [PATCH 08/24] Release 1.5.0-rc.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9da2ddce..f18fa237 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.5.0-rc.1", + "version": "1.5.0-rc.2", "description": "", "type": "module", "repository": "github:saleor/saleor-cli", From 64c10fa69857349bc9e219bf02c8b85487375694 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 16:41:39 +0200 Subject: [PATCH 09/24] Fix the whitespace in `.env` --- src/cli/app/create.ts | 91 +++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 38 deletions(-) diff --git a/src/cli/app/create.ts b/src/cli/app/create.ts index 4cd8c987..18d66db4 100644 --- a/src/cli/app/create.ts +++ b/src/cli/app/create.ts @@ -1,91 +1,106 @@ import { Arguments, CommandBuilder } from "yargs"; import ora from "ora"; -import { access } from 'fs/promises'; +import { access } from "fs/promises"; import chalk from "chalk"; import sanitize from "sanitize-filename"; -import fs from 'fs-extra'; +import fs from "fs-extra"; import replace from "replace-in-file"; -import kebabCase from "lodash.kebabcase" +import kebabCase from "lodash.kebabcase"; import { API, GET } from "../../lib/index.js"; import { StoreCreate } from "../../types.js"; import { run } from "../../lib/common.js"; import boxen from "boxen"; -import { useEnvironment, useOrganization, useToken } from "../../middleware/index.js"; +import { + useEnvironment, + useOrganization, + useToken, +} from "../../middleware/index.js"; import { downloadFromGitHub } from "../../lib/download.js"; import { checkPnpmPresence } from "../../lib/util.js"; export const command = "create [name]"; export const desc = "Create a Saleor App template"; -export const builder: CommandBuilder, StoreCreate> = (_) => - _.positional("name", { type: "string", demandOption: true, default: "my-saleor-app" }) +export const builder: CommandBuilder, StoreCreate> = ( + _ +) => + _.positional("name", { + type: "string", + demandOption: true, + default: "my-saleor-app", + }); export const handler = async (argv: Arguments): Promise => { - await checkPnpmPresence('This Saleor App template') + await checkPnpmPresence("This Saleor App template"); - const env = await GET(API.Environment, argv) as any; + const env = (await GET(API.Environment, argv)) as any; const baseURL = `https://${env.domain}`; const graphqlURL = `${baseURL}/graphql/`; - const dashboaardMsg = ` Saleor Dashboard: ${chalk.blue(`${baseURL}/dashboard/`)}`; + const dashboaardMsg = ` Saleor Dashboard: ${chalk.blue( + `${baseURL}/dashboard/` + )}`; const gqlMsg = `GraphQL Playground: ${chalk.blue(graphqlURL)}`; - console.log(boxen(`${dashboaardMsg}\n${gqlMsg}`, { - padding: 1, - margin: 1, - borderColor: "yellow", - })); + console.log( + boxen(`${dashboaardMsg}\n${gqlMsg}`, { + padding: 1, + margin: 1, + borderColor: "yellow", + }) + ); - const spinner = ora('Downloading...').start(); + const spinner = ora("Downloading...").start(); const target = await getFolderName(sanitize(argv.name)); - await downloadFromGitHub(`saleor/saleor-app-template`, target) + await downloadFromGitHub(`saleor/saleor-app-template`, target); process.chdir(target); spinner.text = `Creating .env...`; - await fs.outputFile('.env', `NEXT_PUBLIC_SALEOR_API_URL=${graphqlURL} - NEXT_PUBLIC_SALEOR_HOST_URL=${baseURL} + await fs.outputFile( + ".env", + `NEXT_PUBLIC_SALEOR_API_URL=${graphqlURL} +NEXT_PUBLIC_SALEOR_HOST_URL=${baseURL} APP_URL= -`) +` + ); spinner.text = `Updating .graphqlrc.yml...`; replace.sync({ - files: '.graphqlrc.yml', + files: ".graphqlrc.yml", from: /schema:.*/g, - to: `schema: ${graphqlURL}` + to: `schema: ${graphqlURL}`, }); spinner.text = `Updating package.json...`; replace.sync({ - files: 'package.json', + files: "package.json", from: /"name": "saleor-app-template".*/g, - to: `"name": "${kebabCase(target)}",` + to: `"name": "${kebabCase(target)}",`, }); - spinner.text = 'Installing dependencies...'; - await run('pnpm', ['i', '--ignore-scripts'], { cwd: process.cwd() }) - await run('pnpm', ['generate'], { cwd: process.cwd() }) - spinner.succeed('Starting ...\`pnpm run dev\`'); + spinner.text = "Installing dependencies..."; + await run("pnpm", ["i", "--ignore-scripts"], { cwd: process.cwd() }); + await run("pnpm", ["generate"], { cwd: process.cwd() }); + spinner.succeed("Starting ...`pnpm run dev`"); - await run('pnpm', ['run', 'dev'], { stdio: 'inherit', cwd: process.cwd() }) -} + await run("pnpm", ["run", "dev"], { stdio: "inherit", cwd: process.cwd() }); +}; const getFolderName = async (name: string): Promise => { let folderName = name; while (await dirExists(folderName)) { - folderName = folderName.concat('-0'); + folderName = folderName.concat("-0"); } - return folderName -} + return folderName; +}; const dirExists = async (name: string): Promise => { try { await access(name); - return true + return true; } catch (error) { - return false + return false; } -} +}; -export const middlewares = [ - useToken, useOrganization, useEnvironment -] \ No newline at end of file +export const middlewares = [useToken, useOrganization, useEnvironment]; From 16a0983e5019cfe818990a4fa45e4e88d9c035f8 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Thu, 9 Jun 2022 21:39:25 +0200 Subject: [PATCH 10/24] Fix `yes/no` for `app install` --- src/cli/app/tunnel.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cli/app/tunnel.ts b/src/cli/app/tunnel.ts index 49ae7c38..be0bdee4 100644 --- a/src/cli/app/tunnel.ts +++ b/src/cli/app/tunnel.ts @@ -51,6 +51,7 @@ export const handler = async (argv: Arguments): Promise => { type: "confirm", name: "install", message: `Do you want to install this Saleor App in the ${environment} environment?`, + format: (value) => chalk.cyan(value ? 'yes' : 'no'), })) as { install: boolean }; const env = await GET(API.Environment, argv) as any; From 469f763d76e4d6d3a39a023808ca1a2e3ef3f48a Mon Sep 17 00:00:00 2001 From: Zaiste Date: Fri, 10 Jun 2022 12:54:47 +0200 Subject: [PATCH 11/24] Update dependencies --- pnpm-lock.yaml | 102 ++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d159434c..d925a0a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -131,6 +131,35 @@ packages: '@jridgewell/trace-mapping': 0.3.13 dev: true + /@ardatan/relay-compiler/12.0.0_graphql@16.5.0: + resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} + hasBin: true + peerDependencies: + graphql: '*' + dependencies: + '@babel/core': 7.18.2 + '@babel/generator': 7.18.2 + '@babel/parser': 7.18.4 + '@babel/runtime': 7.18.3 + '@babel/traverse': 7.18.2 + '@babel/types': 7.18.4 + babel-preset-fbjs: 3.4.0_@babel+core@7.18.2 + chalk: 4.1.2 + fb-watchman: 2.0.1 + fbjs: 3.0.4 + glob: 7.2.3 + graphql: 16.5.0 + immutable: 3.7.6 + invariant: 2.2.4 + nullthrows: 1.1.1 + relay-runtime: 12.0.0 + signedsource: 1.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + /@aws-amplify/analytics/5.2.9: resolution: {integrity: sha512-JpV9X70pfsxUuEtbSLnv4KrLALSuATfCr1LtOlNdb022fWHj4ciy1sUzu77TLuK+36y+8+weRzNJ9/NSWBPh1A==} dependencies: @@ -2804,7 +2833,7 @@ packages: dependencies: '@graphql-codegen/plugin-helpers': 2.4.2_graphql@16.5.0 '@graphql-tools/optimize': 1.2.1_graphql@16.5.0 - '@graphql-tools/relay-operation-optimizer': 6.4.13_graphql@16.5.0 + '@graphql-tools/relay-operation-optimizer': 6.4.14_graphql@16.5.0 '@graphql-tools/utils': 8.6.13_graphql@16.5.0 auto-bind: 4.0.0 change-case-all: 1.0.14 @@ -3022,14 +3051,14 @@ packages: - utf-8-validate dev: true - /@graphql-tools/relay-operation-optimizer/6.4.13_graphql@16.5.0: - resolution: {integrity: sha512-H2urxI53jCgrvhjaRFMzFvdHEs95BES3Am07Zr1NZsbme9sxyPfaj8qftnaU37KvVs0v+wtf1pw6PnYelMsNoQ==} + /@graphql-tools/relay-operation-optimizer/6.4.14_graphql@16.5.0: + resolution: {integrity: sha512-vqch2M/sIUfMmlRJ4eCupiHlVPXWOPVpHX9yCZwRrpNg0Eaokyc57NSjJuKVV3KcvcJKf03qfMK2PxFbfDvN9A==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: + '@ardatan/relay-compiler': 12.0.0_graphql@16.5.0 '@graphql-tools/utils': 8.6.13_graphql@16.5.0 graphql: 16.5.0 - relay-compiler: 12.0.0_graphql@16.5.0 tslib: 2.4.0 transitivePeerDependencies: - encoding @@ -3062,13 +3091,13 @@ packages: dset: 3.1.2 extract-files: 11.0.0 graphql: 16.5.0 - graphql-ws: 5.8.2_graphql@16.5.0 - isomorphic-ws: 4.0.1_ws@8.7.0 + graphql-ws: 5.9.0_graphql@16.5.0 + isomorphic-ws: 4.0.1_ws@8.8.0 meros: 1.2.0_@types+node@17.0.41 sync-fetch: 0.4.1 tslib: 2.4.0 value-or-promise: 1.0.11 - ws: 8.7.0 + ws: 8.8.0 transitivePeerDependencies: - '@types/node' - bufferutil @@ -3997,7 +4026,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001352 - electron-to-chromium: 1.4.150 + electron-to-chromium: 1.4.151 escalade: 3.1.1 node-releases: 2.0.5 picocolors: 1.0.0 @@ -4720,8 +4749,8 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.150: - resolution: {integrity: sha512-MP3oBer0X7ZeS9GJ0H6lmkn561UxiwOIY9TTkdxVY7lI9G6GVCKfgJaHaDcakwdKxBXA4T3ybeswH/WBIN/KTA==} + /electron-to-chromium/1.4.151: + resolution: {integrity: sha512-XaG2LpZi9fdiWYOqJh0dJy4SlVywCvpgYXhzOlZTp4JqSKqxn5URqOjbm9OMYB3aInA2GuHQiem1QUOc1yT0Pw==} dev: true /elegant-spinner/1.0.1: @@ -5637,8 +5666,8 @@ packages: graphql: 16.5.0 tslib: 2.4.0 - /graphql-ws/5.8.2_graphql@16.5.0: - resolution: {integrity: sha512-hYo8kTGzxePFJtMGC7Y4cbypwifMphIJJ7n4TDcVUAfviRwQBnmZAbfZlC+XFwWDUaR7raEDQPxWctpccmE0JQ==} + /graphql-ws/5.9.0_graphql@16.5.0: + resolution: {integrity: sha512-CXv0l0nI1bgChwl4Rm+BqNOAKwL/C9T2N8RfmTkhQ38YLFdUXCi2WNW4oFp8BJP+t75nCLzjHHgR04sP1oF02w==} engines: {node: '>=10'} peerDependencies: graphql: '>=0.11 <=16' @@ -6058,12 +6087,12 @@ packages: - encoding dev: false - /isomorphic-ws/4.0.1_ws@8.7.0: + /isomorphic-ws/4.0.1_ws@8.8.0: resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: ws: '*' dependencies: - ws: 8.7.0 + ws: 8.8.0 dev: true /isstream/0.1.2: @@ -7178,35 +7207,6 @@ packages: dependencies: rc: 1.2.8 - /relay-compiler/12.0.0_graphql@16.5.0: - resolution: {integrity: sha512-SWqeSQZ+AMU/Cr7iZsHi1e78Z7oh00I5SvR092iCJq79aupqJ6Ds+I1Pz/Vzo5uY5PY0jvC4rBJXzlIN5g9boQ==} - hasBin: true - peerDependencies: - graphql: ^15.0.0 - dependencies: - '@babel/core': 7.18.2 - '@babel/generator': 7.18.2 - '@babel/parser': 7.18.4 - '@babel/runtime': 7.18.3 - '@babel/traverse': 7.18.2 - '@babel/types': 7.18.4 - babel-preset-fbjs: 3.4.0_@babel+core@7.18.2 - chalk: 4.1.2 - fb-watchman: 2.0.1 - fbjs: 3.0.4 - glob: 7.2.3 - graphql: 16.5.0 - immutable: 3.7.6 - invariant: 2.2.4 - nullthrows: 1.1.1 - relay-runtime: 12.0.0 - signedsource: 1.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /relay-runtime/12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: @@ -7604,7 +7604,7 @@ packages: dev: false /supports-color/2.0.0: - resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=} + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} engines: {node: '>=0.8.0'} dev: true @@ -7700,11 +7700,11 @@ packages: dev: true /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true /thenify-all/1.6.0: - resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=} + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 @@ -7717,7 +7717,7 @@ packages: dev: false /through/2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true /title-case/3.0.3: @@ -7741,7 +7741,7 @@ packages: dev: false /to-fast-properties/2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} dev: true @@ -7760,7 +7760,7 @@ packages: dev: false /tr46/0.0.3: - resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /truncate-utf8-bytes/1.0.2: resolution: {integrity: sha1-QFkjkJWS1W94pYGENLC3hInKXys=} @@ -8118,8 +8118,8 @@ packages: typedarray-to-buffer: 3.1.5 dev: false - /ws/8.7.0: - resolution: {integrity: sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==} + /ws/8.8.0: + resolution: {integrity: sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 From 7531ff92ae67eecc2a2d76aca9ac70b985001ea0 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Fri, 10 Jun 2022 13:05:27 +0200 Subject: [PATCH 12/24] Do not allow `AnyEvents` for webhook event --- src/cli/app/generate.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cli/app/generate.ts b/src/cli/app/generate.ts index 6845a97b..2ac85a82 100644 --- a/src/cli/app/generate.ts +++ b/src/cli/app/generate.ts @@ -33,7 +33,8 @@ export const handler = async (argv: Arguments) => { case 'webhook': const { __type: { enumValues } } = await request(DefaultSaleorEndpoint, GetWebhookEventEnum) - const choices = enumValues + const without = (name: string) => (record: any) => record.name !== name; + const choices = enumValues.filter(without('ANY_EVENTS')); const prompt = new (Enquirer as any).AutoComplete({ name: 'event', From f1f2cad52b120cc9e6d5ef847bfc5a2257176d91 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Fri, 10 Jun 2022 13:27:50 +0200 Subject: [PATCH 13/24] Release 1.5.0-rc.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f18fa237..40bbe2d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.5.0-rc.2", + "version": "1.5.0-rc.3", "description": "", "type": "module", "repository": "github:saleor/saleor-cli", From c9ec6d967006132f8631438c926ad84bbe208382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Wiaduch?= Date: Fri, 10 Jun 2022 16:09:04 +0200 Subject: [PATCH 14/24] Provide the checkout deployment flow --- src/cli.ts | 2 + src/cli/app/token.ts | 26 +-- src/cli/checkout/deploy.ts | 327 +++++++++++++++++++++++++++++++++++ src/cli/checkout/index.ts | 10 ++ src/graphql/SaleorAppList.ts | 8 +- src/lib/common.ts | 2 + 6 files changed, 364 insertions(+), 11 deletions(-) create mode 100644 src/cli/checkout/deploy.ts create mode 100644 src/cli/checkout/index.ts diff --git a/src/cli.ts b/src/cli.ts index 8cce9dbc..b2242749 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -21,6 +21,7 @@ import webhook from './cli/webhook/index.js'; import app from './cli/app/index.js'; import vercel from './cli/vercel/index.js'; import github from './cli/github/index.js'; +import checkout from './cli/checkout/index.js'; import * as login from './cli/login.js'; import * as logout from './cli/logout.js'; @@ -79,6 +80,7 @@ const parser = yargs(hideBin(process.argv)) .command(['app [command]'], '', app) .command(['vercel [command]'], '', vercel) .command(['github [command]'], '', github) + .command(['checkout [command]'], '', checkout) .option('json', { type: "boolean", desc: "Output the data as JSON" }) .strictCommands() .middleware(useTelemetry(pkg.version)) diff --git a/src/cli/app/token.ts b/src/cli/app/token.ts index 533bbe94..58f7af52 100644 --- a/src/cli/app/token.ts +++ b/src/cli/app/token.ts @@ -45,16 +45,7 @@ export const handler = async (argv: Arguments) => { }); try { - const { data }: any = await got.post(endpoint, { - headers, - json: { - query: print(AppTokenCreate), - variables: { app } - } - }).json() - - const { appTokenCreate: { authToken } } = data; - + const authToken = createAppToken(endpoint, app) console.log(); console.log(boxen(`Your Token: ${authToken}`, { padding: 1 })); } catch (error) { @@ -64,6 +55,21 @@ export const handler = async (argv: Arguments) => { process.exit(0); }; +export const createAppToken = async (url: string, app: string) => { + const headers = await Config.getBearerHeader(); + + const { data }: any = await got.post(url, { + headers, + json: { + query: print(AppTokenCreate), + variables: { app } + } + }).json() + + const { appTokenCreate: { authToken } } = data; + return authToken; +} + export const middlewares = [ useToken, useOrganization, useEnvironment ] \ No newline at end of file diff --git a/src/cli/checkout/deploy.ts b/src/cli/checkout/deploy.ts new file mode 100644 index 00000000..30a48adf --- /dev/null +++ b/src/cli/checkout/deploy.ts @@ -0,0 +1,327 @@ +import got from "got"; +import ora from "ora"; +import type { Arguments, CommandBuilder } from "yargs"; +import crypto from 'crypto'; +import { customAlphabet } from "nanoid"; + +import { doSaleorAppInstall } from "../../lib/common.js"; +import { Config } from "../../lib/config.js"; +import { API, GET } from "../../lib/index.js"; +import { delay } from "../../lib/util.js"; +import { Options } from "../../types.js"; +import { createAppToken } from "../app/token.js"; +import { SaleorAppList } from "../../graphql/SaleorAppList.js"; + +export const command = "deploy [name]"; +export const desc = "Deploy `saleor-checkout` to Vercel"; + +const nanoid = customAlphabet('1234567890abcdefghijklmnopqrstuvwxyz', 10); + +export const builder: CommandBuilder = (_) => _ + +export const handler = async (argv: Arguments) => { + const name = argv.name || `saleor-checkout-${nanoid(8).toLocaleLowerCase()}`; + const { domain } = await GET(API.Environment, argv) as any; + const url = `https://${domain}/graphql/`; + + const { vercel_token: vercelToken, vercel_team_id } = await Config.get() + + if (!vercelToken) { + // TODO vercel_team_id + } else { + // console.log("Using Vercel API") + const appName = `${name}-app` + + // SETUP CHECKOUT APP + await createCheckoutApp(vercelToken, appName, url); + const checkoutAppDeploymentId = await deployVercelProject(vercelToken, appName); + await verifyDeployment(vercelToken, appName, checkoutAppDeploymentId) + const { alias } = await getDeployment(vercelToken, checkoutAppDeploymentId); + const apiURL = `https://${alias[0]}/api`; + + // INSTALL APP IN CLOUD ENVIRONMENT + await doCheckoutAppInstall(argv, apiURL, appName); + const appId = await getAppId(url); + const authToken = await createAppToken(url, appId); + + // CREATE SALEOR_APP_ID & SALEOR_APP_TOKEN variables in CHECKOUT APP + const appVars = [ + { + type: "encrypted", + key: "SALEOR_APP_ID", + value: appId, + target: [ + "production", + "preview", + "development" + ] + }, + { + type: "encrypted", + key: "SALEOR_APP_TOKEN", + value: authToken, + target: [ + "production", + "preview", + "development" + ] + }] + await createVercelEnv(vercelToken, appName, appVars); + + // REDEPLOY + console.log('redeploy') + const checkoutAppRedeploymentId = await deployVercelProject(vercelToken, appName); + await verifyDeployment(vercelToken, appName, checkoutAppRedeploymentId) + + // SETUP CHECKOUT CRA + await createCheckout(vercelToken, name, apiURL, url) + const checkoutDeploymentId = await deployVercelProject(vercelToken, name); + await verifyDeployment(vercelToken, name, checkoutDeploymentId) + } + + process.exit(0); +}; + +const doCheckoutAppInstall = async ( + argv: Options, + apiURL: string, + appName: string +) => { + const { environment } = argv; + const spinner = ora(`Install ${appName} in the ${environment} environment...`).start(); + const manifestURL = `${apiURL}/manifest`; + await doSaleorAppInstall({ ...argv, manifestURL, appName: 'Checkout' }); + spinner.succeed(`Installed ${appName} in the ${environment} environment`); + await delay(2000); +} + +const createCheckout = async ( + vercelToken: string, + name: string, + checkoutAppUrl: string, + url: string +) => { + const spinner = ora(`Creating ${name}...`).start(); + + const response = await got.post(`https://api.vercel.com/v8/projects`, { + headers: { + Authorization: vercelToken, + }, + json: { + name, + environmentVariables: [ + { + type: "encrypted", + key: "REACT_APP_CHECKOUT_API_URL", + value: checkoutAppUrl, + target: [ + "production", + "preview", + "development" + ] + }, + { + type: "encrypted", + key: "CHECKOUT_API_URL", + value: checkoutAppUrl, + target: [ + "production", + "preview", + "development" + ] + }, + { + type: "encrypted", + key: "SALEOR_API_URL", + value: url, + target: [ + "production", + "preview", + "development" + ] + }, + { + type: "encrypted", + key: "REACT_APP_SALEOR_API_URL", + value: url, + target: [ + "production", + "preview", + "development" + ] + } + ], + gitRepository: { + type: "github", + repo: "2can/saleor-checkout", // TODO fork + sourceless: true + }, + framework: "create-react-app", + devCommand: null, + rootDirectory: null, + outputDirectory: "apps/checkout/build", + buildCommand: `pnpm run build --config.scope="checkout-app"`, + installCommand: null + } + }).json(); + + spinner.succeed(`Created ${name}`); + + return response +} + +const createCheckoutApp = async ( + vercelToken: string, + name: string, + url: string) => { + const spinner = ora(`Creating ${name}...`).start(); + + const secret = crypto.randomBytes(256).toString('hex') + + const response = await got.post(`https://api.vercel.com/v8/projects`, { + headers: { + Authorization: vercelToken, + }, + json: { + name, + environmentVariables: [ + { + type: "encrypted", + key: "SETTINGS_ENCRYPTION_SECRET", + value: secret, + target: [ + "production", + "preview", + "development" + ] + }, + { + type: "encrypted", + key: "SALEOR_API_URL", + value: url, + target: [ + "production", + "preview", + "development" + ] + }, + { + type: "encrypted", + key: "NEXT_PUBLIC_SALEOR_API_URL", + value: url, + target: [ + "production", + "preview", + "development" + ] + } + ], + gitRepository: { + type: "github", + repo: "2can/saleor-checkout", //TODO choose fork + sourceless: true + }, + framework: "nextjs", + devCommand: null, + rootDirectory: "apps/checkout-app", + outputDirectory: null, + buildCommand: `pnpm run build`, + installCommand: null + } + }).json(); + + spinner.succeed(`Created ${name}`); + + return response +} + +const getAppId = async (url: string) => { + const headers = await Config.getBearerHeader(); + + const { data: { apps: { edges } } }: any = await got.post(url, { + headers, + json: { + query: SaleorAppList, + variables: {} + } + }).json() + + console.log(edges) + + if (!edges) { throw console.error("No apps installed") } + + const [{ node: { id } }] = edges.slice(-1); + + return id +} + +const getDeployment = async (vercelToken: string, deploymentId: string): Promise => { + return await got.get(`https://api.vercel.com/v13/deployments/${deploymentId}`, { + headers: { + Authorization: vercelToken, + } + }).json(); +} + +const verifyDeployment = async (vercelToken: string, name: string, deploymentId: string) => { + const spinner = ora(`Deploying ${name}...`).start(); + let { readyState } = await getDeployment(vercelToken, deploymentId); + deploymentFailed(readyState); + + while (deploymentSucceeded(readyState)) { + await delay(5000); + const { readyState: rs } = await getDeployment(vercelToken, deploymentId); + readyState = rs; + deploymentFailed(readyState); + } + + spinner.succeed(`Deployed ${name}`); +} + +const deploymentSucceeded = (readyState: string) => { + if (readyState === "READY") { + return false + } + + return true +} + +const deploymentFailed = (readyState: string) => { + if (['ERROR', 'CANCELED'].includes(readyState)) { + console.log(`\nDeployment status: ${readyState}`); + process.exit(1); + } +} + +const deployVercelProject = async (vercelToken: string, name: string) => { + const { id } = await got.post(`https://api.vercel.com/v13/deployments`, { + headers: { + Authorization: vercelToken, + }, + json: { + "gitSource": { + "type": "github", + "ref": "main", + "repoId": 501309190 //450152242 + }, + name: name, + target: "production", + source: "import" + }, + }).json(); + + return id +} + +const createVercelEnv = async ( + vercelToken: string, + name: string, + json: Record[] | Record +) => { + return await got.post(`https://api.vercel.com/v9/projects/${name}/env`, { + headers: { + Authorization: vercelToken, + }, + json, + }).json(); +} \ No newline at end of file diff --git a/src/cli/checkout/index.ts b/src/cli/checkout/index.ts new file mode 100644 index 00000000..dd05e23f --- /dev/null +++ b/src/cli/checkout/index.ts @@ -0,0 +1,10 @@ +import { useEnvironment, useOrganization, useToken } from "../../middleware/index.js"; +import * as deploy from "./deploy.js"; + +export default function (_: any) { + _.command([ + deploy, + ]) + .middleware([useToken, useOrganization, useEnvironment]) + .demandCommand(1, "You need at least one command before moving on"); +} \ No newline at end of file diff --git a/src/graphql/SaleorAppList.ts b/src/graphql/SaleorAppList.ts index 8baba845..af543209 100644 --- a/src/graphql/SaleorAppList.ts +++ b/src/graphql/SaleorAppList.ts @@ -1,6 +1,12 @@ export const SaleorAppList = /* GraphQL */` query SaleorAppList { - apps(first: 100) { + apps( + first: 100, + sortBy: { + field: CREATION_DATE, + direction: ASC + } + ) { totalCount edges { node { diff --git a/src/lib/common.ts b/src/lib/common.ts index d070ae1d..1a518a8d 100644 --- a/src/lib/common.ts +++ b/src/lib/common.ts @@ -66,6 +66,8 @@ export const doSaleorAppInstall = async (argv: any) => { console.log(data.appInstall?.errors) throw Error("cannot auth") } + + return data; } export const run = async (cmd: string, params: string[], options: Record, log = false) => { From 99eeee8e9569e6d10abc80a31a0ad5c5cdb33d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Wiaduch?= Date: Fri, 10 Jun 2022 16:50:55 +0200 Subject: [PATCH 15/24] Improve `checkout deploy` --- src/cli/checkout/deploy.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/cli/checkout/deploy.ts b/src/cli/checkout/deploy.ts index 30a48adf..1f7c7a90 100644 --- a/src/cli/checkout/deploy.ts +++ b/src/cli/checkout/deploy.ts @@ -69,9 +69,8 @@ export const handler = async (argv: Arguments) => { await createVercelEnv(vercelToken, appName, appVars); // REDEPLOY - console.log('redeploy') const checkoutAppRedeploymentId = await deployVercelProject(vercelToken, appName); - await verifyDeployment(vercelToken, appName, checkoutAppRedeploymentId) + await verifyDeployment(vercelToken, appName, checkoutAppRedeploymentId, "Redeploying") // SETUP CHECKOUT CRA await createCheckout(vercelToken, name, apiURL, url) @@ -88,7 +87,7 @@ const doCheckoutAppInstall = async ( appName: string ) => { const { environment } = argv; - const spinner = ora(`Install ${appName} in the ${environment} environment...`).start(); + const spinner = ora(`Installing ${appName} in the ${environment} environment...`).start(); const manifestURL = `${apiURL}/manifest`; await doSaleorAppInstall({ ...argv, manifestURL, appName: 'Checkout' }); spinner.succeed(`Installed ${appName} in the ${environment} environment`); @@ -246,8 +245,6 @@ const getAppId = async (url: string) => { } }).json() - console.log(edges) - if (!edges) { throw console.error("No apps installed") } const [{ node: { id } }] = edges.slice(-1); @@ -263,8 +260,8 @@ const getDeployment = async (vercelToken: string, deploymentId: string): Promise }).json(); } -const verifyDeployment = async (vercelToken: string, name: string, deploymentId: string) => { - const spinner = ora(`Deploying ${name}...`).start(); +const verifyDeployment = async (vercelToken: string, name: string, deploymentId: string, msg = `Deploying`) => { + const spinner = ora(`${msg} ${name}...`).start(); let { readyState } = await getDeployment(vercelToken, deploymentId); deploymentFailed(readyState); From dd1ae3f547d546a85c1b7573ec6003eba80cf6c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Wiaduch?= Date: Fri, 10 Jun 2022 17:03:07 +0200 Subject: [PATCH 16/24] Use saleor repo for feature preview --- src/cli/checkout/deploy.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cli/checkout/deploy.ts b/src/cli/checkout/deploy.ts index 1f7c7a90..b8131c19 100644 --- a/src/cli/checkout/deploy.ts +++ b/src/cli/checkout/deploy.ts @@ -152,7 +152,7 @@ const createCheckout = async ( ], gitRepository: { type: "github", - repo: "2can/saleor-checkout", // TODO fork + repo: "saleor/saleor-checkout", // TODO fork sourceless: true }, framework: "create-react-app", @@ -217,7 +217,7 @@ const createCheckoutApp = async ( ], gitRepository: { type: "github", - repo: "2can/saleor-checkout", //TODO choose fork + repo: "saleor/saleor-checkout", //TODO choose fork sourceless: true }, framework: "nextjs", @@ -299,7 +299,7 @@ const deployVercelProject = async (vercelToken: string, name: string) => { "gitSource": { "type": "github", "ref": "main", - "repoId": 501309190 //450152242 + "repoId": 450152242 }, name: name, target: "production", From 782af3b9006c69c082e6140122bbf17a3c9c7e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Wiaduch?= Date: Mon, 13 Jun 2022 18:13:13 +0200 Subject: [PATCH 17/24] Create gh fork for `checkout deploy` --- src/cli/checkout/deploy.ts | 27 ++++++++++++++++++++++----- src/cli/checkout/index.ts | 4 ++-- src/middleware/index.ts | 22 +++++++++++++++++++++- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/src/cli/checkout/deploy.ts b/src/cli/checkout/deploy.ts index b8131c19..2711eb02 100644 --- a/src/cli/checkout/deploy.ts +++ b/src/cli/checkout/deploy.ts @@ -1,6 +1,6 @@ import got from "got"; import ora from "ora"; -import type { Arguments, CommandBuilder } from "yargs"; +import { Arguments, CommandBuilder } from "yargs"; import crypto from 'crypto'; import { customAlphabet } from "nanoid"; @@ -81,6 +81,21 @@ export const handler = async (argv: Arguments) => { process.exit(0); }; +const createFork = async () => { + const { github_token } = await Config.get(); + + const { id, full_name: fullName } = await got.post(`https://api.github.com/repos/saleor/saleor-checkout/forks`, { + headers: { + Authorization: github_token, + } + }).json() + + return { + id, + fullName + } +} + const doCheckoutAppInstall = async ( argv: Options, apiURL: string, @@ -101,6 +116,7 @@ const createCheckout = async ( url: string ) => { const spinner = ora(`Creating ${name}...`).start(); + const { fullName } = await createFork(); const response = await got.post(`https://api.vercel.com/v8/projects`, { headers: { @@ -152,14 +168,14 @@ const createCheckout = async ( ], gitRepository: { type: "github", - repo: "saleor/saleor-checkout", // TODO fork + repo: fullName, sourceless: true }, framework: "create-react-app", devCommand: null, rootDirectory: null, outputDirectory: "apps/checkout/build", - buildCommand: `pnpm run build --config.scope="checkout-app"`, + buildCommand: `pnpm run build --scope="checkout-app"`, installCommand: null } }).json(); @@ -174,6 +190,7 @@ const createCheckoutApp = async ( name: string, url: string) => { const spinner = ora(`Creating ${name}...`).start(); + const { fullName } = await createFork(); const secret = crypto.randomBytes(256).toString('hex') @@ -217,7 +234,7 @@ const createCheckoutApp = async ( ], gitRepository: { type: "github", - repo: "saleor/saleor-checkout", //TODO choose fork + repo: fullName, sourceless: true }, framework: "nextjs", @@ -299,7 +316,7 @@ const deployVercelProject = async (vercelToken: string, name: string) => { "gitSource": { "type": "github", "ref": "main", - "repoId": 450152242 + "repoId": 450152242 // saleor }, name: name, target: "production", diff --git a/src/cli/checkout/index.ts b/src/cli/checkout/index.ts index dd05e23f..6d816d78 100644 --- a/src/cli/checkout/index.ts +++ b/src/cli/checkout/index.ts @@ -1,10 +1,10 @@ -import { useEnvironment, useOrganization, useToken } from "../../middleware/index.js"; +import { useEnvironment, useGitub, useOrganization, useToken, useVercel } from "../../middleware/index.js"; import * as deploy from "./deploy.js"; export default function (_: any) { _.command([ deploy, ]) - .middleware([useToken, useOrganization, useEnvironment]) + .middleware([useToken, useVercel, useGitub, useOrganization, useEnvironment]) .demandCommand(1, "You need at least one command before moving on"); } \ No newline at end of file diff --git a/src/middleware/index.ts b/src/middleware/index.ts index 649eea14..a23c467e 100644 --- a/src/middleware/index.ts +++ b/src/middleware/index.ts @@ -138,7 +138,7 @@ export const interactiveSaleorVersion = async (argv: Options) => { const { region } = (await GET(API.Project, argv)) as any; if (!argv.saleor) { - const snapshot = await promptCompatibleVersion({...argv, region}); + const snapshot = await promptCompatibleVersion({ ...argv, region }); return { saleor: snapshot.value }; } @@ -251,3 +251,23 @@ const checkBackup = async (argv: Options, chosenBackup: CreatePromptResult) => { return {}; }; + +export const useGitub = () => async () => { + const { github_token } = await Config.get(); + + if (!github_token) { + throw new Error("\nYou are not logged into Github, use `saleor github login` command to login\n"); + } + + return {} +} + +export const useVercel = () => async () => { + const { vercel_token } = await Config.get(); + + if (!vercel_token) { + throw new Error("\nYou are not logged into Vercel, use `saleor vercel login` command to login\n"); + } + + return {} +} From 02328505ed4ac2e547acf13c5cf4f7d93887f27f Mon Sep 17 00:00:00 2001 From: Zaiste Date: Fri, 10 Jun 2022 17:09:44 +0200 Subject: [PATCH 18/24] Release 1.5.0-rc.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 40bbe2d2..06ab4cd4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.5.0-rc.3", + "version": "1.5.0-rc.4", "description": "", "type": "module", "repository": "github:saleor/saleor-cli", From 1ad151cc628ee8199e1f6bfe850334d42104f2ab Mon Sep 17 00:00:00 2001 From: Zaiste Date: Tue, 14 Jun 2022 13:25:08 +0200 Subject: [PATCH 19/24] Update dependencies --- package.json | 10 +- pnpm-lock.yaml | 445 +++++++++++++++++++++++++------------------------ 2 files changed, 230 insertions(+), 225 deletions(-) diff --git a/package.json b/package.json index 06ab4cd4..42817206 100644 --- a/package.json +++ b/package.json @@ -36,18 +36,18 @@ "license": "ISC", "devDependencies": { "@graphql-codegen/cli": "^2.6.2", - "@graphql-codegen/typescript-document-nodes": "^2.2.12", + "@graphql-codegen/typescript-document-nodes": "^2.2.13", "@types/cli-progress": "^3.11.0", "@types/debug": "^4.1.7", "@types/figlet": "^1.5.4", "@types/fs-extra": "^9.0.13", - "@types/node": "^17.0.41", + "@types/node": "^17.0.42", "@types/prompt": "^1.1.2", "@types/tar": "^6.1.1", "@types/update-notifier": "^5.1.0", "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.27.1", - "@typescript-eslint/parser": "^5.27.1", + "@typescript-eslint/eslint-plugin": "^5.28.0", + "@typescript-eslint/parser": "^5.28.0", "clean-publish": "^4.0.1", "eslint": "^8.17.0", "eslint-plugin-simple-import-sort": "^7.0.0", @@ -62,7 +62,7 @@ "@types/detect-port": "^1.3.2", "@types/lodash.kebabcase": "^4.1.7", "aws-amplify": "^4.3.24", - "boxen": "^6.2.1", + "boxen": "^7.0.0", "chalk": "^5.0.1", "cli-highlight": "^2.1.11", "cli-progress": "^3.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d925a0a1..f74d7cd2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ overrides: specifiers: '@graphql-codegen/cli': ^2.6.2 - '@graphql-codegen/typescript-document-nodes': ^2.2.12 + '@graphql-codegen/typescript-document-nodes': ^2.2.13 '@mobily/ts-belt': ^3.12.0 '@oclif/core': ^1.9.0 '@sentry/node': ^7.1.1 @@ -15,15 +15,15 @@ specifiers: '@types/figlet': ^1.5.4 '@types/fs-extra': ^9.0.13 '@types/lodash.kebabcase': ^4.1.7 - '@types/node': ^17.0.41 + '@types/node': ^17.0.42 '@types/prompt': ^1.1.2 '@types/tar': ^6.1.1 '@types/update-notifier': ^5.1.0 '@types/yargs': ^17.0.10 - '@typescript-eslint/eslint-plugin': ^5.27.1 - '@typescript-eslint/parser': ^5.27.1 + '@typescript-eslint/eslint-plugin': ^5.28.0 + '@typescript-eslint/parser': ^5.28.0 aws-amplify: ^4.3.24 - boxen: ^6.2.1 + boxen: ^7.0.0 chalk: ^5.0.1 clean-publish: ^4.0.1 cli-highlight: ^2.1.11 @@ -68,7 +68,7 @@ dependencies: '@types/detect-port': 1.3.2 '@types/lodash.kebabcase': 4.1.7 aws-amplify: 4.3.24_debug@4.3.4 - boxen: 6.2.1 + boxen: 7.0.0 chalk: 5.0.1 cli-highlight: 2.1.11 cli-progress: 3.11.1 @@ -101,19 +101,19 @@ dependencies: yargs: 17.5.1 devDependencies: - '@graphql-codegen/cli': 2.6.2_twdjvmx5enwfmntmh5iacc5lky - '@graphql-codegen/typescript-document-nodes': 2.2.12_graphql@16.5.0 + '@graphql-codegen/cli': 2.6.2_uwftbsutxjjdt6kwblguzcak3u + '@graphql-codegen/typescript-document-nodes': 2.2.13_graphql@16.5.0 '@types/cli-progress': 3.11.0 '@types/debug': 4.1.7 '@types/figlet': 1.5.4 '@types/fs-extra': 9.0.13 - '@types/node': 17.0.41 + '@types/node': 17.0.42 '@types/prompt': 1.1.2 '@types/tar': 6.1.1 '@types/update-notifier': 5.1.0 '@types/yargs': 17.0.10 - '@typescript-eslint/eslint-plugin': 5.27.1_aq7uryhocdbvbqum33pitcm3y4 - '@typescript-eslint/parser': 5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/eslint-plugin': 5.28.0_7yumg2qjgbp7maccqlfhx2vudu + '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 clean-publish: 4.0.1 eslint: 8.17.0 eslint-plugin-simple-import-sort: 7.0.0_eslint@8.17.0 @@ -137,13 +137,13 @@ packages: peerDependencies: graphql: '*' dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/generator': 7.18.2 - '@babel/parser': 7.18.4 + '@babel/parser': 7.18.5 '@babel/runtime': 7.18.3 - '@babel/traverse': 7.18.2 + '@babel/traverse': 7.18.5 '@babel/types': 7.18.4 - babel-preset-fbjs: 3.4.0_@babel+core@7.18.2 + babel-preset-fbjs: 3.4.0_@babel+core@7.18.5 chalk: 4.1.2 fb-watchman: 2.0.1 fbjs: 3.0.4 @@ -2133,24 +2133,24 @@ packages: '@babel/highlight': 7.17.12 dev: true - /@babel/compat-data/7.17.10: - resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==} + /@babel/compat-data/7.18.5: + resolution: {integrity: sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.18.2: - resolution: {integrity: sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==} + /@babel/core/7.18.5: + resolution: {integrity: sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.16.7 '@babel/generator': 7.18.2 - '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.2 + '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.5 '@babel/helper-module-transforms': 7.18.0 '@babel/helpers': 7.18.2 - '@babel/parser': 7.18.4 + '@babel/parser': 7.18.5 '@babel/template': 7.16.7 - '@babel/traverse': 7.18.2 + '@babel/traverse': 7.18.5 '@babel/types': 7.18.4 convert-source-map: 1.8.0 debug: 4.3.4 @@ -2177,26 +2177,26 @@ packages: '@babel/types': 7.18.4 dev: true - /@babel/helper-compilation-targets/7.18.2_@babel+core@7.18.2: + /@babel/helper-compilation-targets/7.18.2_@babel+core@7.18.5: resolution: {integrity: sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.17.10 - '@babel/core': 7.18.2 + '@babel/compat-data': 7.18.5 + '@babel/core': 7.18.5 '@babel/helper-validator-option': 7.16.7 browserslist: 4.20.4 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.18.0_@babel+core@7.18.2: + /@babel/helper-create-class-features-plugin/7.18.0_@babel+core@7.18.5: resolution: {integrity: sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-environment-visitor': 7.18.2 '@babel/helper-function-name': 7.17.9 @@ -2252,7 +2252,7 @@ packages: '@babel/helper-split-export-declaration': 7.16.7 '@babel/helper-validator-identifier': 7.16.7 '@babel/template': 7.16.7 - '@babel/traverse': 7.18.2 + '@babel/traverse': 7.18.5 '@babel/types': 7.18.4 transitivePeerDependencies: - supports-color @@ -2277,7 +2277,7 @@ packages: '@babel/helper-environment-visitor': 7.18.2 '@babel/helper-member-expression-to-functions': 7.17.7 '@babel/helper-optimise-call-expression': 7.16.7 - '@babel/traverse': 7.18.2 + '@babel/traverse': 7.18.5 '@babel/types': 7.18.4 transitivePeerDependencies: - supports-color @@ -2319,7 +2319,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.16.7 - '@babel/traverse': 7.18.2 + '@babel/traverse': 7.18.5 '@babel/types': 7.18.4 transitivePeerDependencies: - supports-color @@ -2342,116 +2342,116 @@ packages: '@babel/types': 7.17.10 dev: true - /@babel/parser/7.18.4: - resolution: {integrity: sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==} + /@babel/parser/7.18.5: + resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.18.4 dev: true - /@babel/plugin-proposal-class-properties/7.17.12_@babel+core@7.18.2: + /@babel/plugin-proposal-class-properties/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 - '@babel/helper-create-class-features-plugin': 7.18.0_@babel+core@7.18.2 + '@babel/core': 7.18.5 + '@babel/helper-create-class-features-plugin': 7.18.0_@babel+core@7.18.5 '@babel/helper-plugin-utils': 7.17.12 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-object-rest-spread/7.18.0_@babel+core@7.18.2: + /@babel/plugin-proposal-object-rest-spread/7.18.0_@babel+core@7.18.5: resolution: {integrity: sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.17.10 - '@babel/core': 7.18.2 - '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.2 + '@babel/compat-data': 7.18.5 + '@babel/core': 7.18.5 + '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.5 '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.2 - '@babel/plugin-transform-parameters': 7.17.12_@babel+core@7.18.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.5 + '@babel/plugin-transform-parameters': 7.17.12_@babel+core@7.18.5 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.2: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.5: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-syntax-flow/7.17.12_@babel+core@7.18.2: + /@babel/plugin-syntax-flow/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-B8QIgBvkIG6G2jgsOHQUist7Sm0EBLDCx8sen072IwqNuzMegZNXrYnSv77cYzA8mLDZAfQYqsLIhimiP1s2HQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-syntax-jsx/7.17.12_@babel+core@7.18.2: + /@babel/plugin-syntax-jsx/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.18.2: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.18.5: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-arrow-functions/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-arrow-functions/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-block-scoping/7.18.4_@babel+core@7.18.2: + /@babel/plugin-transform-block-scoping/7.18.4_@babel+core@7.18.5: resolution: {integrity: sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-classes/7.18.4_@babel+core@7.18.2: + /@babel/plugin-transform-classes/7.18.4_@babel+core@7.18.5: resolution: {integrity: sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-environment-visitor': 7.18.2 '@babel/helper-function-name': 7.17.9 @@ -2464,86 +2464,86 @@ packages: - supports-color dev: true - /@babel/plugin-transform-computed-properties/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-computed-properties/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-destructuring/7.18.0_@babel+core@7.18.2: + /@babel/plugin-transform-destructuring/7.18.0_@babel+core@7.18.5: resolution: {integrity: sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-flow-strip-types/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-flow-strip-types/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-g8cSNt+cHCpG/uunPQELdq/TeV3eg1OLJYwxypwHtAWo9+nErH3lQx9CSO2uI9lF74A0mR0t4KoMjs1snSgnTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-flow': 7.17.12_@babel+core@7.18.2 + '@babel/plugin-syntax-flow': 7.17.12_@babel+core@7.18.5 dev: true - /@babel/plugin-transform-for-of/7.18.1_@babel+core@7.18.2: + /@babel/plugin-transform-for-of/7.18.1_@babel+core@7.18.5: resolution: {integrity: sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-function-name/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-function-name/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 - '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.2 + '@babel/core': 7.18.5 + '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.5 '@babel/helper-function-name': 7.17.9 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-literals/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-literals/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-modules-commonjs/7.18.2_@babel+core@7.18.2: + /@babel/plugin-transform-modules-commonjs/7.18.2_@babel+core@7.18.5: resolution: {integrity: sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-module-transforms': 7.18.0 '@babel/helper-plugin-utils': 7.17.12 '@babel/helper-simple-access': 7.18.2 @@ -2552,91 +2552,91 @@ packages: - supports-color dev: true - /@babel/plugin-transform-object-super/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-object-super/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 '@babel/helper-replace-supers': 7.18.2 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-parameters/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-react-display-name/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-react-display-name/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-react-jsx/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-react-jsx/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-module-imports': 7.16.7 '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.18.2 + '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.18.5 '@babel/types': 7.18.4 dev: true - /@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.18.2: + /@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true - /@babel/plugin-transform-spread/7.17.12_@babel+core@7.18.2: + /@babel/plugin-transform-spread/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 dev: true - /@babel/plugin-transform-template-literals/7.18.2_@babel+core@7.18.2: + /@babel/plugin-transform-template-literals/7.18.2_@babel+core@7.18.5: resolution: {integrity: sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.2 + '@babel/core': 7.18.5 '@babel/helper-plugin-utils': 7.17.12 dev: true @@ -2652,12 +2652,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.7 - '@babel/parser': 7.18.4 + '@babel/parser': 7.18.5 '@babel/types': 7.18.4 dev: true - /@babel/traverse/7.18.2: - resolution: {integrity: sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==} + /@babel/traverse/7.18.5: + resolution: {integrity: sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.7 @@ -2666,7 +2666,7 @@ packages: '@babel/helper-function-name': 7.17.9 '@babel/helper-hoist-variables': 7.16.7 '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.18.4 + '@babel/parser': 7.18.5 '@babel/types': 7.18.4 debug: 4.3.4 globals: 11.12.0 @@ -2727,7 +2727,7 @@ packages: - supports-color dev: true - /@graphql-codegen/cli/2.6.2_twdjvmx5enwfmntmh5iacc5lky: + /@graphql-codegen/cli/2.6.2_uwftbsutxjjdt6kwblguzcak3u: resolution: {integrity: sha512-UO75msoVgvLEvfjCezM09cQQqp32+mR8Ma1ACsBpr7nroFvHbgcu2ulx1cMovg4sxDBCsvd9Eq/xOOMpARUxtw==} hasBin: true peerDependencies: @@ -2742,8 +2742,8 @@ packages: '@graphql-tools/graphql-file-loader': 7.3.15_graphql@16.5.0 '@graphql-tools/json-file-loader': 7.3.15_graphql@16.5.0 '@graphql-tools/load': 7.5.14_graphql@16.5.0 - '@graphql-tools/prisma-loader': 7.1.23_7bnfzoaz4ijy7ibuchs76ywrnm - '@graphql-tools/url-loader': 7.9.24_7bnfzoaz4ijy7ibuchs76ywrnm + '@graphql-tools/prisma-loader': 7.1.23_bqh4gpg6523rbupvm64fcopmne + '@graphql-tools/url-loader': 7.9.24_bqh4gpg6523rbupvm64fcopmne '@graphql-tools/utils': 8.6.13_graphql@16.5.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -2757,7 +2757,7 @@ packages: glob: 7.2.3 globby: 11.1.0 graphql: 16.5.0 - graphql-config: 4.3.1_twdjvmx5enwfmntmh5iacc5lky + graphql-config: 4.3.1_uwftbsutxjjdt6kwblguzcak3u inquirer: 8.2.4 is-glob: 4.0.3 json-to-pretty-yaml: 1.2.2 @@ -2811,13 +2811,13 @@ packages: tslib: 2.3.1 dev: true - /@graphql-codegen/typescript-document-nodes/2.2.12_graphql@16.5.0: - resolution: {integrity: sha512-TzmBjulkidexTzjIUzypnlbz+7m9A+NBofVRQiensb6tZBKEeRziiFyglKHHdtYgUuuSgZ29dOA+9a7zpMeCAA==} + /@graphql-codegen/typescript-document-nodes/2.2.13_graphql@16.5.0: + resolution: {integrity: sha512-BPKlWwRSLyWz5hHrErdzrjoopavKhkr3/X2UQ6Ia6+UfkHOG+QJ3onjUEmd1SRMIotkKtJJ0ZMyJdOfrlAxYLA==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 2.4.2_graphql@16.5.0 - '@graphql-codegen/visitor-plugin-common': 2.9.0_graphql@16.5.0 + '@graphql-codegen/visitor-plugin-common': 2.9.1_graphql@16.5.0 auto-bind: 4.0.0 graphql: 16.5.0 tslib: 2.4.0 @@ -2826,8 +2826,8 @@ packages: - supports-color dev: true - /@graphql-codegen/visitor-plugin-common/2.9.0_graphql@16.5.0: - resolution: {integrity: sha512-w353lPpXlgsQT6dxfcHw3hQdodGnfSwsxofHVfROqrIBZIjH0kNiFHOt8rnewYkLGEa75bWDVaM1ofyXEaN+3w==} + /@graphql-codegen/visitor-plugin-common/2.9.1_graphql@16.5.0: + resolution: {integrity: sha512-j9eGOSGt+sJcwv0ijhZiQ2cF/0ponscekNVoF+vHdOT4RB0qgOQxykPBk6EbKxIHECnkdV8ARdPVTA21A93/QQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: @@ -2953,8 +2953,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/parser': 7.18.4 - '@babel/traverse': 7.18.2 + '@babel/parser': 7.18.5 + '@babel/traverse': 7.18.5 '@babel/types': 7.18.4 '@graphql-tools/utils': 8.6.13_graphql@16.5.0 graphql: 16.5.0 @@ -3017,12 +3017,12 @@ packages: tslib: 2.4.0 dev: true - /@graphql-tools/prisma-loader/7.1.23_7bnfzoaz4ijy7ibuchs76ywrnm: + /@graphql-tools/prisma-loader/7.1.23_bqh4gpg6523rbupvm64fcopmne: resolution: {integrity: sha512-xMAZIS/p7uQFyvmBQaRNQOVTOWsFciXefy+iz+XSe7jYoSREUc8FNdF9YCtOBD8xBnjJnl9h4L1ymrV8qt58rw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 7.9.24_7bnfzoaz4ijy7ibuchs76ywrnm + '@graphql-tools/url-loader': 7.9.24_bqh4gpg6523rbupvm64fcopmne '@graphql-tools/utils': 8.6.13_graphql@16.5.0 '@types/js-yaml': 4.0.5 '@types/json-stable-stringify': 1.0.34 @@ -3077,7 +3077,7 @@ packages: value-or-promise: 1.0.11 dev: true - /@graphql-tools/url-loader/7.9.24_7bnfzoaz4ijy7ibuchs76ywrnm: + /@graphql-tools/url-loader/7.9.24_bqh4gpg6523rbupvm64fcopmne: resolution: {integrity: sha512-DpIP9EVZSyhSJgX3P2/ka7lzmpDLqOQ4hDkt1oCBcRDzkeyMOKl5XQAg5/X6AaIonhss+/el0ELqTVOHt9zDxQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3093,7 +3093,7 @@ packages: graphql: 16.5.0 graphql-ws: 5.9.0_graphql@16.5.0 isomorphic-ws: 4.0.1_ws@8.8.0 - meros: 1.2.0_@types+node@17.0.41 + meros: 1.2.0_@types+node@17.0.42 sync-fetch: 0.4.1 tslib: 2.4.0 value-or-promise: 1.0.11 @@ -3373,14 +3373,14 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 17.0.41 + '@types/node': 17.0.42 '@types/responselike': 1.0.0 dev: false /@types/cli-progress/3.11.0: resolution: {integrity: sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /@types/configstore/5.0.1: @@ -3408,7 +3408,7 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /@types/hast/2.3.4: @@ -3440,13 +3440,13 @@ packages: /@types/jsonwebtoken/8.5.8: resolution: {integrity: sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 /@types/lodash.kebabcase/4.1.7: resolution: {integrity: sha512-qzrcpK5uiADZ9OyZaegalM0b9Y3WetoBQ04RAtP3xZFGC5ul1UxmbjZ3j6suCh0BDkvgQmoMh8t5e9cVrdJYMw==} @@ -3461,15 +3461,15 @@ packages: /@types/minipass/3.1.2: resolution: {integrity: sha512-foLGjgrJkUjLG/o2t2ymlZGEoBNBa/TfoUZ7oCTkOjP1T43UGBJspovJou/l3ZuHvye2ewR5cZNtp2zyWgILMA==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /@types/ms/0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node/17.0.41: - resolution: {integrity: sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==} + /@types/node/17.0.42: + resolution: {integrity: sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ==} /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -3478,14 +3478,14 @@ packages: /@types/prompt/1.1.2: resolution: {integrity: sha512-Zc9YzOvjAWxxGY7qo0Q6yINMVVspAa4p68UCzucWMU+GaPujpjwbOwzI38s7Jq01k0GztzLxXlRiFcZf/aeIWA==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 '@types/revalidator': 0.3.8 dev: true /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 /@types/revalidator/0.3.8: resolution: {integrity: sha512-q6KSi3PklLGQ0CesZ/XuLwly4DXXlnJuucYOG9lrBqrP8rKiuPZThav2h2+pFjaheNpnT0qKK3i304QWIePeJw==} @@ -3495,7 +3495,7 @@ packages: resolution: {integrity: sha512-8mto3YZfVpqB1CHMaYz1TUYIQfZFbh/QbEq5Hsn6D0ilCfqRVCdalmc89B7vi3jhl9UYIk+dWDABShNfOkv5HA==} dependencies: '@types/minipass': 3.1.2 - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /@types/unist/2.0.6: @@ -3512,7 +3512,7 @@ packages: /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /@types/yargs-parser/21.0.0: @@ -3525,8 +3525,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin/5.27.1_aq7uryhocdbvbqum33pitcm3y4: - resolution: {integrity: sha512-6dM5NKT57ZduNnJfpY81Phe9nc9wolnMCnknb1im6brWi1RYv84nbMS3olJa27B6+irUVV1X/Wb+Am0FjJdGFw==} + /@typescript-eslint/eslint-plugin/5.28.0_7yumg2qjgbp7maccqlfhx2vudu: + resolution: {integrity: sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3536,10 +3536,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4 - '@typescript-eslint/scope-manager': 5.27.1 - '@typescript-eslint/type-utils': 5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4 - '@typescript-eslint/utils': 5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/scope-manager': 5.28.0 + '@typescript-eslint/type-utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 debug: 4.3.4 eslint: 8.17.0 functional-red-black-tree: 1.0.1 @@ -3552,8 +3552,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-7Va2ZOkHi5NP+AZwb5ReLgNF6nWLGTeUJfxdkVUAPPSaAdbWNnFZzLZ4EGGmmiCTg+AwlbE1KyUYTBglosSLHQ==} + /@typescript-eslint/parser/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: + resolution: {integrity: sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3562,9 +3562,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.27.1 - '@typescript-eslint/types': 5.27.1 - '@typescript-eslint/typescript-estree': 5.27.1_typescript@4.7.3 + '@typescript-eslint/scope-manager': 5.28.0 + '@typescript-eslint/types': 5.28.0 + '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 debug: 4.3.4 eslint: 8.17.0 typescript: 4.7.3 @@ -3572,16 +3572,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.27.1: - resolution: {integrity: sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==} + /@typescript-eslint/scope-manager/5.28.0: + resolution: {integrity: sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.27.1 - '@typescript-eslint/visitor-keys': 5.27.1 + '@typescript-eslint/types': 5.28.0 + '@typescript-eslint/visitor-keys': 5.28.0 dev: true - /@typescript-eslint/type-utils/5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-+UC1vVUWaDHRnC2cQrCJ4QtVjpjjCgjNFpg8b03nERmkHv9JV9X5M19D7UFMd+/G7T/sgFwX2pGmWK38rqyvXw==} + /@typescript-eslint/type-utils/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: + resolution: {integrity: sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3590,7 +3590,7 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 debug: 4.3.4 eslint: 8.17.0 tsutils: 3.21.0_typescript@4.7.3 @@ -3599,13 +3599,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.27.1: - resolution: {integrity: sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==} + /@typescript-eslint/types/5.28.0: + resolution: {integrity: sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.27.1_typescript@4.7.3: - resolution: {integrity: sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==} + /@typescript-eslint/typescript-estree/5.28.0_typescript@4.7.3: + resolution: {integrity: sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3613,8 +3613,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.27.1 - '@typescript-eslint/visitor-keys': 5.27.1 + '@typescript-eslint/types': 5.28.0 + '@typescript-eslint/visitor-keys': 5.28.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3625,16 +3625,16 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.27.1_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==} + /@typescript-eslint/utils/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: + resolution: {integrity: sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.27.1 - '@typescript-eslint/types': 5.27.1 - '@typescript-eslint/typescript-estree': 5.27.1_typescript@4.7.3 + '@typescript-eslint/scope-manager': 5.28.0 + '@typescript-eslint/types': 5.28.0 + '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 eslint: 8.17.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.17.0 @@ -3643,11 +3643,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.27.1: - resolution: {integrity: sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==} + /@typescript-eslint/visitor-keys/5.28.0: + resolution: {integrity: sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.27.1 + '@typescript-eslint/types': 5.28.0 eslint-visitor-keys: 3.3.0 dev: true @@ -3892,38 +3892,38 @@ packages: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} dev: true - /babel-preset-fbjs/3.4.0_@babel+core@7.18.2: + /babel-preset-fbjs/3.4.0_@babel+core@7.18.5: resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.18.2 - '@babel/plugin-proposal-class-properties': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-proposal-object-rest-spread': 7.18.0_@babel+core@7.18.2 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.2 - '@babel/plugin-syntax-flow': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.2 - '@babel/plugin-transform-arrow-functions': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-block-scoped-functions': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-block-scoping': 7.18.4_@babel+core@7.18.2 - '@babel/plugin-transform-classes': 7.18.4_@babel+core@7.18.2 - '@babel/plugin-transform-computed-properties': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-destructuring': 7.18.0_@babel+core@7.18.2 - '@babel/plugin-transform-flow-strip-types': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-for-of': 7.18.1_@babel+core@7.18.2 - '@babel/plugin-transform-function-name': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-literals': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-member-expression-literals': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-modules-commonjs': 7.18.2_@babel+core@7.18.2 - '@babel/plugin-transform-object-super': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-parameters': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-property-literals': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-react-display-name': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-react-jsx': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.18.2 - '@babel/plugin-transform-spread': 7.17.12_@babel+core@7.18.2 - '@babel/plugin-transform-template-literals': 7.18.2_@babel+core@7.18.2 + '@babel/core': 7.18.5 + '@babel/plugin-proposal-class-properties': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-proposal-object-rest-spread': 7.18.0_@babel+core@7.18.5 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.5 + '@babel/plugin-syntax-flow': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.5 + '@babel/plugin-transform-arrow-functions': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-block-scoped-functions': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-block-scoping': 7.18.4_@babel+core@7.18.5 + '@babel/plugin-transform-classes': 7.18.4_@babel+core@7.18.5 + '@babel/plugin-transform-computed-properties': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-destructuring': 7.18.0_@babel+core@7.18.5 + '@babel/plugin-transform-flow-strip-types': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-for-of': 7.18.1_@babel+core@7.18.5 + '@babel/plugin-transform-function-name': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-literals': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-member-expression-literals': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-modules-commonjs': 7.18.2_@babel+core@7.18.5 + '@babel/plugin-transform-object-super': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-parameters': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-property-literals': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-react-display-name': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-react-jsx': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.18.5 + '@babel/plugin-transform-spread': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-template-literals': 7.18.2_@babel+core@7.18.5 babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 transitivePeerDependencies: - supports-color @@ -3988,16 +3988,16 @@ packages: wrap-ansi: 7.0.0 dev: false - /boxen/6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /boxen/7.0.0: + resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} + engines: {node: '>=14.16'} dependencies: ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 + camelcase: 7.0.0 + chalk: 5.0.1 cli-boxes: 3.0.0 string-width: 5.1.2 - type-fest: 2.13.0 + type-fest: 2.13.1 widest-line: 4.0.1 wrap-ansi: 8.0.1 dev: false @@ -4026,7 +4026,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001352 - electron-to-chromium: 1.4.151 + electron-to-chromium: 1.4.154 escalade: 3.1.1 node-releases: 2.0.5 picocolors: 1.0.0 @@ -4141,6 +4141,11 @@ packages: engines: {node: '>=10'} dev: false + /camelcase/7.0.0: + resolution: {integrity: sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==} + engines: {node: '>=14.16'} + dev: false + /caniuse-lite/1.0.30001352: resolution: {integrity: sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==} dev: true @@ -4518,9 +4523,9 @@ packages: abort-controller: 3.0.0 busboy: 1.6.0 form-data-encoder: 1.7.2 - formdata-node: 4.3.2 + formdata-node: 4.3.3 node-fetch: 2.6.7 - undici: 5.4.0 + undici: 5.5.1 web-streams-polyfill: 3.2.1 transitivePeerDependencies: - encoding @@ -4749,8 +4754,8 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.151: - resolution: {integrity: sha512-XaG2LpZi9fdiWYOqJh0dJy4SlVywCvpgYXhzOlZTp4JqSKqxn5URqOjbm9OMYB3aInA2GuHQiem1QUOc1yT0Pw==} + /electron-to-chromium/1.4.154: + resolution: {integrity: sha512-GbV9djOkrnj6xmW+YYVVEI3VCQnJ0pnSTu7TW2JyjKd5cakoiSaG5R4RbEtfaD92GsY10DzbU3GYRe+IOA9kqA==} dev: true /elegant-spinner/1.0.1: @@ -5391,8 +5396,8 @@ packages: engines: {node: '>=0.4.x'} dev: false - /formdata-node/4.3.2: - resolution: {integrity: sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==} + /formdata-node/4.3.3: + resolution: {integrity: sha512-coTew7WODO2vF+XhpUdmYz4UBvlsiTMSNaFYZlrXIqYbFd4W7bMwnoALNLE6uvNgzTg2j1JDF0ZImEfF06VPAA==} engines: {node: '>= 12.20'} dependencies: node-domexception: 1.0.0 @@ -5610,7 +5615,7 @@ packages: /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - /graphql-config/4.3.1_twdjvmx5enwfmntmh5iacc5lky: + /graphql-config/4.3.1_uwftbsutxjjdt6kwblguzcak3u: resolution: {integrity: sha512-czBWzJSGaLJfOHBLuUTZVRTjfgohPfvlaeN1B5nXBVptFARpiFuS7iI4FnRhCGwm6qt1h2j1g05nkg0OIGA6bg==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -5621,7 +5626,7 @@ packages: '@graphql-tools/json-file-loader': 7.3.15_graphql@16.5.0 '@graphql-tools/load': 7.5.14_graphql@16.5.0 '@graphql-tools/merge': 8.2.14_graphql@16.5.0 - '@graphql-tools/url-loader': 7.9.24_7bnfzoaz4ijy7ibuchs76ywrnm + '@graphql-tools/url-loader': 7.9.24_bqh4gpg6523rbupvm64fcopmne '@graphql-tools/utils': 8.6.13_graphql@16.5.0 cosmiconfig: 7.0.1 cosmiconfig-toml-loader: 1.0.0 @@ -6476,7 +6481,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros/1.2.0_@types+node@17.0.41: + /meros/1.2.0_@types+node@17.0.42: resolution: {integrity: sha512-3QRZIS707pZQnijHdhbttXRWwrHhZJ/gzolneoxKVz9N/xmsvY/7Ls8lpnI9gxbgxjcHsAVEW3mgwiZCo6kkJQ==} engines: {node: '>=12'} peerDependencies: @@ -6485,7 +6490,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 17.0.41 + '@types/node': 17.0.42 dev: true /micromatch/4.0.5: @@ -7763,7 +7768,7 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /truncate-utf8-bytes/1.0.2: - resolution: {integrity: sha1-QFkjkJWS1W94pYGENLC3hInKXys=} + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} dependencies: utf8-byte-length: 1.0.4 dev: false @@ -7817,13 +7822,13 @@ packages: dev: true /tunnel-agent/0.6.0: - resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /type-check/0.3.2: - resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 @@ -7849,8 +7854,8 @@ packages: engines: {node: '>=8'} dev: true - /type-fest/2.13.0: - resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==} + /type-fest/2.13.1: + resolution: {integrity: sha512-hXYyrPFwETT2swFLHeoKtJrvSF/ftG/sA15/8nGaLuaDGfVAaq8DYFpu4yOyV4tzp082WqnTEoMsm3flKMI2FQ==} engines: {node: '>=12.20'} dev: false @@ -7876,12 +7881,12 @@ packages: dev: false /unc-path-regex/0.1.2: - resolution: {integrity: sha1-5z3T17DXxe2G+6xrCufYxqadUPo=} + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} engines: {node: '>=0.10.0'} dev: true - /undici/5.4.0: - resolution: {integrity: sha512-A1SRXysDg7J+mVP46jF+9cKANw0kptqSFZ8tGyL+HBiv0K1spjxPX8Z4EGu+Eu6pjClJUBdnUPlxrOafR668/g==} + /undici/5.5.1: + resolution: {integrity: sha512-MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw==} engines: {node: '>=12.18'} dev: true @@ -7908,7 +7913,7 @@ packages: engines: {node: '>= 10.0.0'} /unixify/1.0.0: - resolution: {integrity: sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=} + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 @@ -7953,24 +7958,24 @@ packages: dev: true /url-parse-lax/3.0.0: - resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 /url/0.11.0: - resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=} + resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} dependencies: punycode: 1.3.2 querystring: 0.2.0 dev: false /utf8-byte-length/1.0.4: - resolution: {integrity: sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=} + resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} dev: false /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /uuid/8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} @@ -7982,7 +7987,7 @@ packages: dev: true /valid-url/1.0.9: - resolution: {integrity: sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=} + resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} dev: true /value-or-promise/1.0.11: @@ -7991,7 +7996,7 @@ packages: dev: true /wcwidth/1.0.1: - resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.3 @@ -8005,20 +8010,20 @@ packages: dev: true /webidl-conversions/3.0.1: - resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /whatwg-fetch/3.6.2: resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} dev: true /whatwg-url/5.0.0: - resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-module/2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} dev: true /which/1.3.1: @@ -8073,7 +8078,7 @@ packages: dev: true /wrap-ansi/3.0.1: - resolution: {integrity: sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=} + resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} engines: {node: '>=4'} dependencies: string-width: 2.1.1 @@ -8107,7 +8112,7 @@ packages: dev: false /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /write-file-atomic/3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} From 2b4bd4e3100ad68ee21c5d4c79303c97bdd7b651 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Tue, 14 Jun 2022 13:27:48 +0200 Subject: [PATCH 20/24] Release 1.5.0-rc.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 42817206..91f4b248 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.5.0-rc.4", + "version": "1.5.0-rc.5", "description": "", "type": "module", "repository": "github:saleor/saleor-cli", From 30c0eee5185d82d5c8ae6d417d1dc86a2a80affa Mon Sep 17 00:00:00 2001 From: Zaiste Date: Tue, 14 Jun 2022 14:02:25 +0200 Subject: [PATCH 21/24] Fix the redirect timing for `vercel login` --- src/cli/vercel/login.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cli/vercel/login.ts b/src/cli/vercel/login.ts index 3e70f11c..ebfaabb6 100644 --- a/src/cli/vercel/login.ts +++ b/src/cli/vercel/login.ts @@ -11,6 +11,7 @@ import got from "got"; import { Options } from "../../types.js"; import { Config } from "../../lib/config.js"; import { checkPort } from "../../lib/detectPort.js"; +import { delay } from "../../lib/util.js"; const { ux: cli } = CliUx; @@ -75,6 +76,7 @@ export const handler = async (argv: Arguments) => { await app.start(3000); emitter.on('finish', async () => { + await delay(1500); await app.stop(); }); }; From e78242eb78febd6fc80cc802229c138d42073fe7 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Tue, 14 Jun 2022 14:03:01 +0200 Subject: [PATCH 22/24] Release 1.5.0-rc.6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 91f4b248..5baad4e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.5.0-rc.5", + "version": "1.5.0-rc.6", "description": "", "type": "module", "repository": "github:saleor/saleor-cli", From 298a839645c63e6bb086b1eab48ee0479eeabf54 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Wed, 15 Jun 2022 11:25:58 +0200 Subject: [PATCH 23/24] Update dependencies --- package.json | 4 +-- pnpm-lock.yaml | 74 +++++++++++++++++++++++++------------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 5baad4e9..50c06b5c 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@types/debug": "^4.1.7", "@types/figlet": "^1.5.4", "@types/fs-extra": "^9.0.13", - "@types/node": "^17.0.42", + "@types/node": "^17.0.43", "@types/prompt": "^1.1.2", "@types/tar": "^6.1.1", "@types/update-notifier": "^5.1.0", @@ -57,7 +57,7 @@ }, "dependencies": { "@mobily/ts-belt": "^3.12.0", - "@oclif/core": "^1.9.0", + "@oclif/core": "^1.9.2", "@sentry/node": "^7.1.1", "@types/detect-port": "^1.3.2", "@types/lodash.kebabcase": "^4.1.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f74d7cd2..99fef261 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ specifiers: '@graphql-codegen/cli': ^2.6.2 '@graphql-codegen/typescript-document-nodes': ^2.2.13 '@mobily/ts-belt': ^3.12.0 - '@oclif/core': ^1.9.0 + '@oclif/core': ^1.9.2 '@sentry/node': ^7.1.1 '@types/cli-progress': ^3.11.0 '@types/debug': ^4.1.7 @@ -15,7 +15,7 @@ specifiers: '@types/figlet': ^1.5.4 '@types/fs-extra': ^9.0.13 '@types/lodash.kebabcase': ^4.1.7 - '@types/node': ^17.0.42 + '@types/node': ^17.0.43 '@types/prompt': ^1.1.2 '@types/tar': ^6.1.1 '@types/update-notifier': ^5.1.0 @@ -63,7 +63,7 @@ specifiers: dependencies: '@mobily/ts-belt': 3.12.0 - '@oclif/core': 1.9.0 + '@oclif/core': 1.9.2 '@sentry/node': 7.1.1 '@types/detect-port': 1.3.2 '@types/lodash.kebabcase': 4.1.7 @@ -101,13 +101,13 @@ dependencies: yargs: 17.5.1 devDependencies: - '@graphql-codegen/cli': 2.6.2_uwftbsutxjjdt6kwblguzcak3u + '@graphql-codegen/cli': 2.6.2_x4u2vzxfuyn52e3apz55xfgf4q '@graphql-codegen/typescript-document-nodes': 2.2.13_graphql@16.5.0 '@types/cli-progress': 3.11.0 '@types/debug': 4.1.7 '@types/figlet': 1.5.4 '@types/fs-extra': 9.0.13 - '@types/node': 17.0.42 + '@types/node': 17.0.43 '@types/prompt': 1.1.2 '@types/tar': 6.1.1 '@types/update-notifier': 5.1.0 @@ -2727,7 +2727,7 @@ packages: - supports-color dev: true - /@graphql-codegen/cli/2.6.2_uwftbsutxjjdt6kwblguzcak3u: + /@graphql-codegen/cli/2.6.2_x4u2vzxfuyn52e3apz55xfgf4q: resolution: {integrity: sha512-UO75msoVgvLEvfjCezM09cQQqp32+mR8Ma1ACsBpr7nroFvHbgcu2ulx1cMovg4sxDBCsvd9Eq/xOOMpARUxtw==} hasBin: true peerDependencies: @@ -2742,8 +2742,8 @@ packages: '@graphql-tools/graphql-file-loader': 7.3.15_graphql@16.5.0 '@graphql-tools/json-file-loader': 7.3.15_graphql@16.5.0 '@graphql-tools/load': 7.5.14_graphql@16.5.0 - '@graphql-tools/prisma-loader': 7.1.23_bqh4gpg6523rbupvm64fcopmne - '@graphql-tools/url-loader': 7.9.24_bqh4gpg6523rbupvm64fcopmne + '@graphql-tools/prisma-loader': 7.1.23_abu7hw42viei3g4m6vil4thomi + '@graphql-tools/url-loader': 7.9.24_abu7hw42viei3g4m6vil4thomi '@graphql-tools/utils': 8.6.13_graphql@16.5.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -2757,7 +2757,7 @@ packages: glob: 7.2.3 globby: 11.1.0 graphql: 16.5.0 - graphql-config: 4.3.1_uwftbsutxjjdt6kwblguzcak3u + graphql-config: 4.3.1_x4u2vzxfuyn52e3apz55xfgf4q inquirer: 8.2.4 is-glob: 4.0.3 json-to-pretty-yaml: 1.2.2 @@ -3017,12 +3017,12 @@ packages: tslib: 2.4.0 dev: true - /@graphql-tools/prisma-loader/7.1.23_bqh4gpg6523rbupvm64fcopmne: + /@graphql-tools/prisma-loader/7.1.23_abu7hw42viei3g4m6vil4thomi: resolution: {integrity: sha512-xMAZIS/p7uQFyvmBQaRNQOVTOWsFciXefy+iz+XSe7jYoSREUc8FNdF9YCtOBD8xBnjJnl9h4L1ymrV8qt58rw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 7.9.24_bqh4gpg6523rbupvm64fcopmne + '@graphql-tools/url-loader': 7.9.24_abu7hw42viei3g4m6vil4thomi '@graphql-tools/utils': 8.6.13_graphql@16.5.0 '@types/js-yaml': 4.0.5 '@types/json-stable-stringify': 1.0.34 @@ -3077,7 +3077,7 @@ packages: value-or-promise: 1.0.11 dev: true - /@graphql-tools/url-loader/7.9.24_bqh4gpg6523rbupvm64fcopmne: + /@graphql-tools/url-loader/7.9.24_abu7hw42viei3g4m6vil4thomi: resolution: {integrity: sha512-DpIP9EVZSyhSJgX3P2/ka7lzmpDLqOQ4hDkt1oCBcRDzkeyMOKl5XQAg5/X6AaIonhss+/el0ELqTVOHt9zDxQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3093,7 +3093,7 @@ packages: graphql: 16.5.0 graphql-ws: 5.9.0_graphql@16.5.0 isomorphic-ws: 4.0.1_ws@8.8.0 - meros: 1.2.0_@types+node@17.0.42 + meros: 1.2.0_@types+node@17.0.43 sync-fetch: 0.4.1 tslib: 2.4.0 value-or-promise: 1.0.11 @@ -3215,8 +3215,8 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@oclif/core/1.9.0: - resolution: {integrity: sha512-duvlaRQf4JM+mKuwwos1DNa/Q9x6tnF3khV5RU0fy5hhETF7THlTmxioKlIvKMyQDVpySqtZXZ0OKHeCi2EWuQ==} + /@oclif/core/1.9.2: + resolution: {integrity: sha512-+qhfvDHn+tR4UN/Vk3UYIeM0Dm0XKsHrM4igJrUpJj/ZXXdaGbZEB+cMIRDZHGqBw+pcwP4+9zQFmxotMDIWcw==} engines: {node: '>=12.0.0'} dependencies: '@oclif/linewrap': 1.0.0 @@ -3373,14 +3373,14 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 17.0.42 + '@types/node': 17.0.43 '@types/responselike': 1.0.0 dev: false /@types/cli-progress/3.11.0: resolution: {integrity: sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /@types/configstore/5.0.1: @@ -3408,7 +3408,7 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /@types/hast/2.3.4: @@ -3440,13 +3440,13 @@ packages: /@types/jsonwebtoken/8.5.8: resolution: {integrity: sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 /@types/lodash.kebabcase/4.1.7: resolution: {integrity: sha512-qzrcpK5uiADZ9OyZaegalM0b9Y3WetoBQ04RAtP3xZFGC5ul1UxmbjZ3j6suCh0BDkvgQmoMh8t5e9cVrdJYMw==} @@ -3461,15 +3461,15 @@ packages: /@types/minipass/3.1.2: resolution: {integrity: sha512-foLGjgrJkUjLG/o2t2ymlZGEoBNBa/TfoUZ7oCTkOjP1T43UGBJspovJou/l3ZuHvye2ewR5cZNtp2zyWgILMA==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /@types/ms/0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node/17.0.42: - resolution: {integrity: sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ==} + /@types/node/17.0.43: + resolution: {integrity: sha512-jnUpgw8fL9kP2iszfIDyBQtw5Mf4/XSqy0Loc1J9pI14ejL83XcCEvSf50Gs/4ET0I9VCCDoOfufQysj0S66xA==} /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -3478,14 +3478,14 @@ packages: /@types/prompt/1.1.2: resolution: {integrity: sha512-Zc9YzOvjAWxxGY7qo0Q6yINMVVspAa4p68UCzucWMU+GaPujpjwbOwzI38s7Jq01k0GztzLxXlRiFcZf/aeIWA==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 '@types/revalidator': 0.3.8 dev: true /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 /@types/revalidator/0.3.8: resolution: {integrity: sha512-q6KSi3PklLGQ0CesZ/XuLwly4DXXlnJuucYOG9lrBqrP8rKiuPZThav2h2+pFjaheNpnT0qKK3i304QWIePeJw==} @@ -3495,7 +3495,7 @@ packages: resolution: {integrity: sha512-8mto3YZfVpqB1CHMaYz1TUYIQfZFbh/QbEq5Hsn6D0ilCfqRVCdalmc89B7vi3jhl9UYIk+dWDABShNfOkv5HA==} dependencies: '@types/minipass': 3.1.2 - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /@types/unist/2.0.6: @@ -3512,7 +3512,7 @@ packages: /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /@types/yargs-parser/21.0.0: @@ -4025,8 +4025,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001352 - electron-to-chromium: 1.4.154 + caniuse-lite: 1.0.30001354 + electron-to-chromium: 1.4.155 escalade: 3.1.1 node-releases: 2.0.5 picocolors: 1.0.0 @@ -4146,8 +4146,8 @@ packages: engines: {node: '>=14.16'} dev: false - /caniuse-lite/1.0.30001352: - resolution: {integrity: sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==} + /caniuse-lite/1.0.30001354: + resolution: {integrity: sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg==} dev: true /capital-case/1.0.4: @@ -4754,8 +4754,8 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.154: - resolution: {integrity: sha512-GbV9djOkrnj6xmW+YYVVEI3VCQnJ0pnSTu7TW2JyjKd5cakoiSaG5R4RbEtfaD92GsY10DzbU3GYRe+IOA9kqA==} + /electron-to-chromium/1.4.155: + resolution: {integrity: sha512-niPzKBSYPG06gxLKO0c2kEmgdRMTtIbNrBlvD31Ld8Q57b/K0218U4j8u/OOt25XE1eFOn47FcmQVdx9R1qqxA==} dev: true /elegant-spinner/1.0.1: @@ -5615,7 +5615,7 @@ packages: /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - /graphql-config/4.3.1_uwftbsutxjjdt6kwblguzcak3u: + /graphql-config/4.3.1_x4u2vzxfuyn52e3apz55xfgf4q: resolution: {integrity: sha512-czBWzJSGaLJfOHBLuUTZVRTjfgohPfvlaeN1B5nXBVptFARpiFuS7iI4FnRhCGwm6qt1h2j1g05nkg0OIGA6bg==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -5626,7 +5626,7 @@ packages: '@graphql-tools/json-file-loader': 7.3.15_graphql@16.5.0 '@graphql-tools/load': 7.5.14_graphql@16.5.0 '@graphql-tools/merge': 8.2.14_graphql@16.5.0 - '@graphql-tools/url-loader': 7.9.24_bqh4gpg6523rbupvm64fcopmne + '@graphql-tools/url-loader': 7.9.24_abu7hw42viei3g4m6vil4thomi '@graphql-tools/utils': 8.6.13_graphql@16.5.0 cosmiconfig: 7.0.1 cosmiconfig-toml-loader: 1.0.0 @@ -6481,7 +6481,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros/1.2.0_@types+node@17.0.42: + /meros/1.2.0_@types+node@17.0.43: resolution: {integrity: sha512-3QRZIS707pZQnijHdhbttXRWwrHhZJ/gzolneoxKVz9N/xmsvY/7Ls8lpnI9gxbgxjcHsAVEW3mgwiZCo6kkJQ==} engines: {node: '>=12'} peerDependencies: @@ -6490,7 +6490,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 17.0.42 + '@types/node': 17.0.43 dev: true /micromatch/4.0.5: From 142b64f8441a9ac0188071ae0eb1950bf5949203 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Wed, 15 Jun 2022 11:29:05 +0200 Subject: [PATCH 24/24] Release 1.5.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 50c06b5c..cc0c3bef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-cli", - "version": "1.5.0-rc.6", + "version": "1.5.0", "description": "", "type": "module", "repository": "github:saleor/saleor-cli",