From 2030f714fa587caf246a4746cf5b0b2afbe7483f Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 27 Oct 2022 09:55:32 +0200 Subject: [PATCH] cleanup stuffs --- .gitignore | 2 - apps/api/package.json | 4 +- apps/api/scripts/generateTags.mjs | 13 ---- apps/api/src/index.ts | 73 ++++++++++--------- apps/api/src/lib/services.ts | 21 +++++- .../routes/api/v1/applications/handlers.ts | 18 ++--- apps/api/src/routes/api/v1/handlers.ts | 17 +++-- .../src/routes/webhooks/github/handlers.ts | 4 +- .../src/routes/webhooks/gitlab/handlers.ts | 26 ++++--- apps/api/tags.json | 1 + apps/api/templates.json | 1 + .../lib/components/CopyPasswordField.svelte | 2 + apps/ui/src/lib/components/DocLink.svelte | 2 +- apps/ui/src/lib/components/Explainer.svelte | 44 +++++------ apps/ui/src/lib/components/Setting.svelte | 1 + apps/ui/src/lib/components/Toast.svelte | 1 + apps/ui/src/routes/__layout.svelte | 8 +- pnpm-lock.yaml | 52 ++----------- 18 files changed, 130 insertions(+), 160 deletions(-) create mode 100644 apps/api/tags.json create mode 100644 apps/api/templates.json diff --git a/.gitignore b/.gitignore index 0ef2f5e13..66ff0bf1f 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,3 @@ apps/api/db/migration.db-journal apps/api/core* logs others/certificates -apps/api/template.json -apps/api/tags.json diff --git a/apps/api/package.json b/apps/api/package.json index 67634775c..acfa28599 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -26,8 +26,6 @@ "@iarna/toml": "2.2.5", "@ladjs/graceful": "3.0.2", "@prisma/client": "4.5.0", - "prisma": "4.5.0", - "axios": "1.1.3", "bcryptjs": "2.4.3", "bree": "9.1.2", "cabin": "9.1.2", @@ -51,6 +49,7 @@ "node-os-utils": "1.3.7", "p-all": "4.0.0", "p-throttle": "5.0.0", + "prisma": "4.5.0", "public-ip": "6.0.1", "pump": "^3.0.0", "ssh-config": "4.1.6", @@ -58,7 +57,6 @@ "unique-names-generator": "4.7.1" }, "devDependencies": { - "semver-sort": "1.0.0", "@types/node": "18.11.6", "@types/node-os-utils": "1.3.0", "@typescript-eslint/eslint-plugin": "5.41.0", diff --git a/apps/api/scripts/generateTags.mjs b/apps/api/scripts/generateTags.mjs index e74d3fca0..3b5b9fb69 100644 --- a/apps/api/scripts/generateTags.mjs +++ b/apps/api/scripts/generateTags.mjs @@ -1,7 +1,6 @@ import fs from 'fs/promises'; import yaml from 'js-yaml'; import got from 'got'; -import semverSort from 'semver-sort'; const repositories = []; const templates = await fs.readFile('../devTemplates.yaml', 'utf8'); @@ -31,9 +30,6 @@ for (const repository of repositories) { if (!tags.includes('latest')) { tags.push('latest') } - try { - tags = semverSort.desc(tags) - } catch (error) { } services.push({ name: repository.name, image: repository.image, tags }) } } else { @@ -48,15 +44,6 @@ for (const repository of repositories) { if (!tags.includes('latest')) { tags.push('latest') } - try { - tags = semverSort.desc(tags) - } catch (error) { } - - console.log({ - name: repository.name, - image: repository.image, - tags - }) services.push({ name: repository.name, image: repository.image, diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 40b5e7dfb..6baaafdda 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -10,13 +10,11 @@ import { asyncExecShell, cleanupDockerStorage, createRemoteEngineConfiguration, import { scheduler } from './lib/scheduler'; import { compareVersions } from 'compare-versions'; import Graceful from '@ladjs/graceful' -import axios from 'axios'; import yaml from 'js-yaml' import fs from 'fs/promises'; import { verifyRemoteDockerEngineFn } from './routes/api/v1/destinations/handlers'; import { checkContainer } from './lib/docker'; import { migrateServicesToNewTemplate } from './lib'; -import { getTemplates } from './lib/services'; import { refreshTags, refreshTemplates } from './routes/api/v1/handlers'; declare module 'fastify' { interface FastifyInstance { @@ -129,30 +127,10 @@ const host = '0.0.0.0'; try { - const { default: got } = await import('got') - try { - const tags = await got.get('https://get.coollabs.io/coolify/service-tags.json').text() - - if (isDev) { - const templates = await fs.readFile('./devTemplates.yaml', 'utf8') - await fs.writeFile('./template.json', JSON.stringify(yaml.load(templates))) - const tags = await got.get('https://get.coollabs.io/coolify/service-tags.json').text() - await fs.writeFile('./tags.json', tags) - } else { - const response = await got.get('https://get.coollabs.io/coolify/service-templates.yaml').text() - await fs.writeFile('/app/template.json', JSON.stringify(yaml.load(response))) - await fs.writeFile('/app/tags.json', tags) - } - - } catch (error) { - console.log("Couldn't get latest templates.") - console.log(error) - } - - await migrateServicesToNewTemplate() - await fastify.listen({ port, host }) console.log(`Coolify's API is listening on ${host}:${port}`); + + await migrateServicesToNewTemplate() await initServer(); const graceful = new Graceful({ brees: [scheduler] }); @@ -192,11 +170,12 @@ const host = '0.0.0.0'; }, 10000) await Promise.all([ + getTagsTemplates(), getArch(), getIPAddress(), configureRemoteDockers(), - ]) + } catch (error) { console.error(error); process.exit(1); @@ -222,6 +201,27 @@ async function getIPAddress() { } catch (error) { } } +async function getTagsTemplates() { + const { default: got } = await import('got') + try { + const tags = await got.get('https://get.coollabs.io/coolify/service-tags.json').text() + if (isDev) { + const templates = await fs.readFile('./devTemplates.yaml', 'utf8') + await fs.writeFile('./templates.json', JSON.stringify(yaml.load(templates))) + await fs.writeFile('./tags.json', tags) + console.log('Tags and templates loaded in dev mode...') + } else { + const response = await got.get('https://get.coollabs.io/coolify/service-templates.yaml').text() + await fs.writeFile('/app/templates.json', JSON.stringify(yaml.load(response))) + await fs.writeFile('/app/tags.json', tags) + console.log('Tags and templates loaded...') + } + + } catch (error) { + console.log("Couldn't get latest templates.") + console.log(error) + } +} async function initServer() { try { console.log(`Initializing server...`); @@ -234,6 +234,7 @@ async function initServer() { } } catch (error) { } } + async function getArch() { try { const settings = await prisma.setting.findFirst({}) @@ -263,17 +264,15 @@ async function configureRemoteDockers() { async function autoUpdater() { try { + const { default: got } = await import('got') const currentVersion = version; - const { data: versions } = await axios - .get( - `https://get.coollabs.io/versions.json` - , { - params: { - appId: process.env['COOLIFY_APP_ID'] || undefined, - version: currentVersion - } - }) - const latestVersion = versions['coolify'].main.version; + const { coolify } = await got.get('https://get.coollabs.io/versions.json', { + searchParams: { + appId: process.env['COOLIFY_APP_ID'] || undefined, + version: currentVersion + } + }).json() + const latestVersion = coolify.main.version; const isUpdateAvailable = compareVersions(latestVersion, currentVersion); if (isUpdateAvailable === 1) { const activeCount = 0 @@ -295,7 +294,9 @@ async function autoUpdater() { } } } - } catch (error) { } + } catch (error) { + console.log(error) + } } async function checkFluentBit() { diff --git a/apps/api/src/lib/services.ts b/apps/api/src/lib/services.ts index 8538c8028..556ab6c55 100644 --- a/apps/api/src/lib/services.ts +++ b/apps/api/src/lib/services.ts @@ -3,9 +3,9 @@ import fs from 'fs/promises'; export async function getTemplates() { let templates: any = []; if (isDev) { - templates = JSON.parse(await (await fs.readFile('./template.json')).toString()) + templates = JSON.parse(await (await fs.readFile('./templates.json')).toString()) } else { - templates = JSON.parse(await (await fs.readFile('/app/template.json')).toString()) + templates = JSON.parse(await (await fs.readFile('/app/templates.json')).toString()) } // if (!isDev) { // templates.push({ @@ -141,6 +141,19 @@ export async function getTemplates() { // } return templates } +const compareSemanticVersions = (a: string, b: string) => { + const a1 = a.split('.'); + const b1 = b.split('.'); + const len = Math.min(a1.length, b1.length); + for (let i = 0; i < len; i++) { + const a2 = +a1[ i ] || 0; + const b2 = +b1[ i ] || 0; + if (a2 !== b2) { + return a2 > b2 ? 1 : -1; + } + } + return b1.length - a1.length; +}; export async function getTags(type?: string) { let tags: any = []; if (isDev) { @@ -148,5 +161,7 @@ export async function getTags(type?: string) { } else { tags = JSON.parse(await (await fs.readFile('/app/tags.json')).toString()) } - return tags.find((tag: any) => tag.name.includes(type)) + tags = tags.find((tag: any) => tag.name.includes(type)) + tags.tags = tags.tags.sort(compareSemanticVersions).reverse(); + return tags } diff --git a/apps/api/src/routes/api/v1/applications/handlers.ts b/apps/api/src/routes/api/v1/applications/handlers.ts index 67482c64c..1c854fbae 100644 --- a/apps/api/src/routes/api/v1/applications/handlers.ts +++ b/apps/api/src/routes/api/v1/applications/handlers.ts @@ -1,16 +1,15 @@ import cuid from 'cuid'; import crypto from 'node:crypto' import jsonwebtoken from 'jsonwebtoken'; -import axios from 'axios'; import { FastifyReply } from 'fastify'; import fs from 'fs/promises'; import yaml from 'js-yaml'; import csv from 'csvtojson'; import { day } from '../../../../lib/dayjs'; -import { makeLabelForStandaloneApplication, setDefaultBaseImage, setDefaultConfiguration } from '../../../../lib/buildPacks/common'; -import { checkDomainsIsValidInDNS, checkDoubleBranch, checkExposedPort, createDirectories, decrypt, defaultComposeConfiguration, encrypt, errorHandler, executeDockerCmd, generateSshKeyPair, getContainerUsage, getDomain, isDev, isDomainConfigured, listSettings, prisma, stopBuild, uniqueName } from '../../../../lib/common'; -import { checkContainer, formatLabelsOnDocker, isContainerExited, removeContainer } from '../../../../lib/docker'; +import { setDefaultBaseImage, setDefaultConfiguration } from '../../../../lib/buildPacks/common'; +import { checkDomainsIsValidInDNS, checkExposedPort, createDirectories, decrypt, defaultComposeConfiguration, encrypt, errorHandler, executeDockerCmd, generateSshKeyPair, getContainerUsage, getDomain, isDev, isDomainConfigured, listSettings, prisma, stopBuild, uniqueName } from '../../../../lib/common'; +import { checkContainer, formatLabelsOnDocker, removeContainer } from '../../../../lib/docker'; import type { FastifyRequest } from 'fastify'; import type { GetImages, CancelDeployment, CheckDNS, CheckRepository, DeleteApplication, DeleteSecret, DeleteStorage, GetApplicationLogs, GetBuildIdLogs, SaveApplication, SaveApplicationSettings, SaveApplicationSource, SaveDeployKey, SaveDestination, SaveSecret, SaveStorage, DeployApplication, CheckDomain, StopPreviewApplication, RestartPreviewApplication, GetBuilds } from './types'; @@ -124,7 +123,7 @@ export async function getApplicationStatus(request: FastifyRequest) { for (const container of containersArray) { let isRunning = false; let isExited = false; - let isRestarting = false; + let isRestarting = false; const containerObj = JSON.parse(container); const status = containerObj.State if (status === 'running') { @@ -771,6 +770,7 @@ export async function saveApplicationSource(request: FastifyRequest, reply: FastifyReply) { try { + const { default: got } = await import('got') const { id } = request.params const { teamId } = request.user const application: any = await getApplicationFromDB(id, teamId); @@ -782,13 +782,13 @@ export async function getGitHubToken(request: FastifyRequest, reply: Fas const githubToken = jsonwebtoken.sign(payload, application.gitSource.githubApp.privateKey, { algorithm: 'RS256' }); - const { data } = await axios.post(`${application.gitSource.apiUrl}/app/installations/${application.gitSource.githubApp.installationId}/access_tokens`, {}, { + const { token } = await got.post(`${application.gitSource.apiUrl}/app/installations/${application.gitSource.githubApp.installationId}/access_tokens`, { headers: { - Authorization: `Bearer ${githubToken}` + 'Authorization': `Bearer ${githubToken}`, } - }) + }).json() return reply.code(201).send({ - token: data.token + token }) } catch ({ status, message }) { return errorHandler({ status, message }) diff --git a/apps/api/src/routes/api/v1/handlers.ts b/apps/api/src/routes/api/v1/handlers.ts index 2a59f3b24..81aa0f950 100644 --- a/apps/api/src/routes/api/v1/handlers.ts +++ b/apps/api/src/routes/api/v1/handlers.ts @@ -1,4 +1,3 @@ -import axios from "axios"; import { compareVersions } from "compare-versions"; import cuid from "cuid"; import bcrypt from "bcryptjs"; @@ -66,10 +65,10 @@ export async function refreshTemplates() { try { if (isDev) { const response = await fs.readFile('./devTemplates.yaml', 'utf8') - await fs.writeFile('./template.json', JSON.stringify(yaml.load(response))) + await fs.writeFile('./templates.json', JSON.stringify(yaml.load(response))) } else { const response = await got.get('https://get.coollabs.io/coolify/service-templates.yaml').text() - await fs.writeFile('/app/template.json', JSON.stringify(yaml.load(response))) + await fs.writeFile('/app/templates.json', JSON.stringify(yaml.load(response))) } } catch (error) { console.log(error) @@ -86,14 +85,18 @@ export async function refreshTemplates() { } export async function checkUpdate(request: FastifyRequest) { try { + const { default: got } = await import('got') const isStaging = request.hostname === "staging.coolify.io" || request.hostname === "arm.coolify.io"; const currentVersion = version; - const { data: versions } = await axios.get( - `https://get.coollabs.io/versions.json?appId=${process.env["COOLIFY_APP_ID"]}&version=${currentVersion}` - ); - const latestVersion = versions["coolify"].main.version; + const { coolify } = await got.get('https://get.coollabs.io/versions.json', { + searchParams: { + appId: process.env['COOLIFY_APP_ID'] || undefined, + version: currentVersion + } + }).json() + const latestVersion = coolify.main.version; const isUpdateAvailable = compareVersions(latestVersion, currentVersion); if (isStaging) { return { diff --git a/apps/api/src/routes/webhooks/github/handlers.ts b/apps/api/src/routes/webhooks/github/handlers.ts index 26c400737..d9345c04d 100644 --- a/apps/api/src/routes/webhooks/github/handlers.ts +++ b/apps/api/src/routes/webhooks/github/handlers.ts @@ -1,4 +1,3 @@ -import axios from "axios"; import cuid from "cuid"; import crypto from "crypto"; import { encrypt, errorHandler, getDomain, getUIUrl, isDev, prisma } from "../../../lib/common"; @@ -32,13 +31,14 @@ export async function installGithub(request: FastifyRequest, repl } export async function configureGitHubApp(request, reply) { try { + const { default: got } = await import('got') const { code, state } = request.query; const { apiUrl } = await prisma.gitSource.findFirst({ where: { id: state }, include: { githubApp: true, gitlabApp: true } }); - const { data }: any = await axios.post(`${apiUrl}/app-manifests/${code}/conversions`); + const data: any = await got.post(`${apiUrl}/app-manifests/${code}/conversions`).json() const { id, client_id, slug, client_secret, pem, webhook_secret } = data const encryptedClientSecret = encrypt(client_secret); diff --git a/apps/api/src/routes/webhooks/gitlab/handlers.ts b/apps/api/src/routes/webhooks/gitlab/handlers.ts index aa60aef7b..d3a1a47b3 100644 --- a/apps/api/src/routes/webhooks/gitlab/handlers.ts +++ b/apps/api/src/routes/webhooks/gitlab/handlers.ts @@ -1,4 +1,3 @@ -import axios from "axios"; import cuid from "cuid"; import crypto from "crypto"; import type { FastifyReply, FastifyRequest } from "fastify"; @@ -10,6 +9,7 @@ import type { ConfigureGitLabApp, GitLabEvents } from "./types"; export async function configureGitLabApp(request: FastifyRequest, reply: FastifyReply) { try { + const { default: got } = await import('got') const { code, state } = request.query; const { fqdn } = await listSettings(); const { gitSource: { gitlabApp: { appId, appSecret }, htmlUrl } }: any = await getApplicationFromDB(state, undefined); @@ -19,19 +19,21 @@ export async function configureGitLabApp(request: FastifyRequestwarningtrue"},{"source":"$$workdir/clickhouse-user-config.xml","destination":"/etc/clickhouse-server/config.d/logging.xml","content":"00"},{"source":"$$workdir/init.query","destination":"/docker-entrypoint-initdb.d/init.query","content":"CREATE DATABASE IF NOT EXISTS plausible;"},{"source":"$$workdir/init-db.sh","destination":"/docker-entrypoint-initdb.d/init-db.sh","content":"clickhouse client --queries-file /docker-entrypoint-initdb.d/init.query"}]}},"variables":[{"id":"$$config_base_url","name":"BASE_URL","label":"Base URL","defaultValue":"$$generate_fqdn","description":"You must set this to the FQDN of the Plausible Analytics instance. This is used to generate the links to the Plausible Analytics instance."},{"id":"$$secret_database_url","name":"DATABASE_URL","label":"Database URL for PostgreSQL","defaultValue":"postgresql://$$config_postgresql_username:$$secret_postgresql_password@$$id-postgresql:5432/$$config_postgresql_database","description":""},{"id":"$$secret_clickhouse_database_url","name":"CLICKHOUSE_DATABASE_URL","label":"Database URL for Clickhouse","defaultValue":"http://$$id-clickhouse:8123/plausible","description":""},{"id":"$$config_admin_user_email","name":"ADMIN_USER_EMAIL","label":"Admin Email Address","defaultValue":"admin@example.com","description":"This is the admin email. Please change it."},{"id":"$$config_admin_user_name","name":"ADMIN_USER_NAME","label":"Admin User Name","defaultValue":"$$generate_username","description":"This is the admin username. Please change it."},{"id":"$$secret_admin_user_pwd","name":"ADMIN_USER_PWD","label":"Admin User Password","defaultValue":"$$generate_password","description":"This is the admin password. Please change it.","showOnUI":true},{"id":"$$secret_secret_key_base","name":"SECRET_KEY_BASE","label":"Secret Key Base","defaultValue":"$$generate_hex(64)","description":""},{"id":"$$config_disable_auth","name":"DISABLE_AUTH","label":"Disable Authentication","defaultValue":"false","description":""},{"id":"$$config_disable_registration","name":"DISABLE_REGISTRATION","label":"Disable Registration","defaultValue":"true","description":""},{"id":"$$config_postgresql_username","main":"$$id-postgresql","name":"POSTGRESQL_USERNAME","label":"PostgreSQL Username","defaultValue":"postgresql","description":""},{"id":"$$secret_postgresql_password","main":"$$id-postgresql","name":"POSTGRESQL_PASSWORD","label":"PostgreSQL Password","defaultValue":"$$generate_password","description":"","showOnUI":true},{"id":"$$config_postgresql_database","main":"$$id-postgresql","name":"POSTGRESQL_DATABASE","label":"PostgreSQL Database","defaultValue":"plausible","description":""},{"id":"$$config_scriptName","name":"SCRIPT_NAME","label":"Custom Script Name","defaultValue":"plausible.js","description":"This is the default script name."}]},{"templateVersion":"1.0.0","defaultVersion":"0.98.1","name":"NocoDB","description":"The Open Source Airtable Alternative - Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.","services":{"$$id":{"name":"NocoDB","image":"nocodb/nocodb:$$core_version","environment":["PORT=$$config_port","NC_DB=$$config_nc_db","DATABASE_URL=$$secret_database_url","NC_PUBLIC_URL=$$config_public_url","NC_AUTH_JWT_SECRET=$$secret_auth_jwt_secret","NC_SENTRY_DSN=$$secret_sentry_dsn","NC_CONNECT_TO_EXTERNAL_DB_DISABLED=$$config_connect_to_external_db_disabled","NC_DISABLE_TELE=$$config_disable_tele"],"volumes":["$$id-data:/usr/app/data"],"ports":["8080"]}},"variables":[{"id":"$$config_nc_db","name":"NC_DB","label":"Database","defaultValue":"","description":"MySQL, PostgreSQL and MSSQL connection urls supported. If absent: A local SQLite will be created in root folder."},{"id":"$$config_port","name":"PORT","label":"Port","defaultValue":"8080","description":"\tFor setting app running port."},{"id":"$$secret_database_url","name":"DATABASE_URL","label":"Database URL","defaultValue":"","description":"JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment."},{"id":"$$config_public_url","name":"NC_PUBLIC_URL","label":"Public URL","defaultValue":"","description":"Used for sending Email invitations. If absent: Best guess from http request params."},{"id":"$$secret_auth_jwt_secret","name":"NC_AUTH_JWT_SECRET","label":"Auth JWT Secret","defaultValue":"$$generate_hex(64)","description":"JWT secret used for auth and storing other secrets. If absent: A Random secret will be generated."},{"id":"$$secret_sentry_dsn","name":"NC_SENTRY_DSN","label":"Sentry DSN","defaultValue":"","description":"For Sentry monitoring."},{"id":"$$config_connect_to_external_db_disabled","name":"NC_CONNECT_TO_EXTERNAL_DB_DISABLED","label":"Disable External Database","defaultValue":"0","description":"Disable Project creation with external database. (Enter \"1\" to disable)."},{"id":"$$config_disable_tele","name":"NC_DISABLE_TELE","label":"NocoDB Disable Telemetry","defaultValue":"1","description":"Disable telemetry (Enter \"1\" to disable)."}],"documentation":"See https://github.com/nocodb/nocodb"}] \ No newline at end of file diff --git a/apps/ui/src/lib/components/CopyPasswordField.svelte b/apps/ui/src/lib/components/CopyPasswordField.svelte index 6aedb6ff5..f45adcd3d 100644 --- a/apps/ui/src/lib/components/CopyPasswordField.svelte +++ b/apps/ui/src/lib/components/CopyPasswordField.svelte @@ -91,6 +91,7 @@
{#if isPasswordField} +
(showPassword = !showPassword)}> {#if showPassword} {/if} {#if value && isHttps} +
diff --git a/apps/ui/src/lib/components/Explainer.svelte b/apps/ui/src/lib/components/Explainer.svelte index 43986a39d..924ce70d6 100644 --- a/apps/ui/src/lib/components/Explainer.svelte +++ b/apps/ui/src/lib/components/Explainer.svelte @@ -3,7 +3,7 @@ // import Tooltip from './Tooltip.svelte'; export let explanation = ''; - export let position = 'dropdown-right' + export let position = 'dropdown-right'; // let id: any; // let self: any; // onMount(() => { @@ -13,32 +13,26 @@
+ + -
- diff --git a/apps/ui/src/lib/components/Setting.svelte b/apps/ui/src/lib/components/Setting.svelte index 865b3dc38..555323b37 100644 --- a/apps/ui/src/lib/components/Setting.svelte +++ b/apps/ui/src/lib/components/Setting.svelte @@ -31,6 +31,7 @@
+
+
dispatch('click')} on:mouseover={() => dispatch('pause')} diff --git a/apps/ui/src/routes/__layout.svelte b/apps/ui/src/routes/__layout.svelte index 680bc02be..acffc923b 100644 --- a/apps/ui/src/routes/__layout.svelte +++ b/apps/ui/src/routes/__layout.svelte @@ -257,6 +257,7 @@ +
v{$appSession.version}v{$appSession.version}
@@ -293,7 +294,7 @@ {#if $appSession.whiteLabeled} Powered by CoolifyPowered by Coolify {/if} {/if} @@ -434,6 +435,7 @@
  • +
    v{$appSession.version}v{$appSession.version}
  • diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc5354418..aeac5f18e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,7 +29,6 @@ importers: '@types/node-os-utils': 1.3.0 '@typescript-eslint/eslint-plugin': 5.41.0 '@typescript-eslint/parser': 5.41.0 - axios: 0.27.2 bcryptjs: 2.4.3 bree: 9.1.2 cabin: 9.1.2 @@ -63,7 +62,6 @@ importers: public-ip: 6.0.1 pump: ^3.0.0 rimraf: 3.0.2 - semver-sort: 1.0.0 ssh-config: 4.1.6 strip-ansi: 7.0.1 tsconfig-paths: 4.1.0 @@ -81,7 +79,6 @@ importers: '@iarna/toml': 2.2.5 '@ladjs/graceful': 3.0.2 '@prisma/client': 4.5.0_prisma@4.5.0 - axios: 0.27.2 bcryptjs: 2.4.3 bree: 9.1.2 cabin: 9.1.2 @@ -123,7 +120,6 @@ importers: nodemon: 2.0.20 prettier: 2.7.1 rimraf: 3.0.2 - semver-sort: 1.0.0 tsconfig-paths: 4.1.0 typescript: 4.8.4 @@ -732,7 +728,7 @@ packages: eslint: 8.26.0 ignore: 5.2.0 regexpp: 3.2.0 - semver: 7.3.7 + semver: 7.3.8 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: @@ -806,7 +802,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.7 + semver: 7.3.8 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: @@ -827,7 +823,7 @@ packages: eslint: 8.26.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.26.0 - semver: 7.3.7 + semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript @@ -1079,15 +1075,6 @@ packages: - supports-color dev: false - /axios/0.27.2: - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} - dependencies: - follow-redirects: 1.15.0 - form-data: 4.0.0 - transitivePeerDependencies: - - debug - dev: false - /babel-code-frame/6.26.0: resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==} dependencies: @@ -3127,7 +3114,7 @@ packages: proxy-addr: 2.0.7 rfdc: 1.3.0 secure-json-parse: 2.5.0 - semver: 7.3.7 + semver: 7.3.8 tiny-lru: 9.0.2 transitivePeerDependencies: - supports-color @@ -3243,16 +3230,6 @@ packages: mini-svg-data-uri: 1.4.4 dev: true - /follow-redirects/1.15.0: - resolution: {integrity: sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false - /form-data-encoder/2.0.1: resolution: {integrity: sha512-Oy+P9w5mnO4TWXVgUiQvggNKPI9/ummcSt5usuIV6HkaLKigwzPpoenhEqmGmx3zHqm6ZLJ+CR/99N8JLinaEw==} engines: {node: '>= 14.17'} @@ -4707,7 +4684,7 @@ packages: last-commit-log: 3.1.2 lodash: 4.17.21 read-pkg-up: 7.0.1 - semver: 7.3.7 + semver: 7.3.8 dev: false /parse-err/0.0.12: @@ -5321,19 +5298,6 @@ packages: resolution: {integrity: sha512-ZQruFgZnIWH+WyO9t5rWt4ZEGqCKPwhiw+YbzTwpmT9elgLrLcfuyUiSnwwjUiVy9r4VM3urtbNF1xmEh9IL2w==} dev: false - /semver-regex/3.1.4: - resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} - engines: {node: '>=8'} - dev: true - - /semver-sort/1.0.0: - resolution: {integrity: sha512-JicVlQKz/C//4BiPmbHEDou6HihXxo5xqB/8Hm9FaLJ6HHkRRvYgCECq4u/z0XF8kyJQ/KAZt++A/kYz/oOSSg==} - engines: {node: '>=0.10.0'} - dependencies: - semver: 5.7.1 - semver-regex: 3.1.4 - dev: true - /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -5343,8 +5307,8 @@ packages: hasBin: true dev: true - /semver/7.3.7: - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5659,7 +5623,7 @@ packages: mime: 2.6.0 qs: 6.10.3 readable-stream: 3.6.0 - semver: 7.3.7 + semver: 7.3.8 transitivePeerDependencies: - supports-color dev: false