mirror of
https://github.com/pockethost/pockethost.git
synced 2025-03-30 15:08:30 +00:00
Merge branch 'v0/main' of github.com:benallfree/pockethost into v0/main
This commit is contained in:
commit
96ab243d1c
@ -110,5 +110,10 @@
|
||||
"tsx": "^3.14.0",
|
||||
"type-fest": "^4.6.0",
|
||||
"typescript": "^5.2.2"
|
||||
},
|
||||
"pnpm": {
|
||||
"patchedDependencies": {
|
||||
"eventsource@2.0.2": "patches/eventsource@2.0.2.patch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@dotenvx/dotenvx": "^0.44.1",
|
||||
"pockethost": "workspace:../pockethost",
|
||||
"@pockethost/plugin-console-logger": "workspace:../plugin-console-logger",
|
||||
"@s-libs/micro-dash": "^16.1.0",
|
||||
"@types/node-os-utils": "^1.3.4",
|
||||
@ -28,6 +27,7 @@
|
||||
"ajv": "^8.12.0",
|
||||
"boolean": "^3.2.0",
|
||||
"bottleneck": "^2.19.5",
|
||||
"chalk": "^5.3.0",
|
||||
"commander": "^11.1.0",
|
||||
"cors": "^2.8.5",
|
||||
"decompress": "^4.2.1",
|
||||
@ -35,6 +35,7 @@
|
||||
"devcert": "^1.2.2",
|
||||
"dockerode": "^3.3.5",
|
||||
"env-paths": "^3.0.0",
|
||||
"env-var": "^7.5.0",
|
||||
"event-source-polyfill": "^1.0.31",
|
||||
"eventsource": "^2.0.2",
|
||||
"exit-hook": "^4.0.0",
|
||||
@ -44,15 +45,18 @@
|
||||
"ftp-srv": "github:pockethost/ftp-srv#0fc708bae0d5d7a55ce948767f082d6fcfb2af59",
|
||||
"get-port": "^6.1.2",
|
||||
"glob": "^10.3.10",
|
||||
"gobot": "1.0.0-alpha.40",
|
||||
"gobot": "1.0.0-alpha.41",
|
||||
"gobot-pocketbase": "0.22.8-alpha.22",
|
||||
"http-proxy": "^1.18.1",
|
||||
"http-proxy-middleware": "^2.0.6",
|
||||
"ip-cidr": "^3.1.0",
|
||||
"json-stringify-safe": "^5.0.1",
|
||||
"knex": "^2.5.1",
|
||||
"memorystream": "^0.3.1",
|
||||
"nanoid": "^5.0.2",
|
||||
"node-fetch": "^3.3.2",
|
||||
"node-os-utils": "^1.3.7",
|
||||
"pocketbase": "^0.21.3",
|
||||
"rimraf": "^5.0.5",
|
||||
"semver": "^7.5.4",
|
||||
"sqlite3": "^5.1.6",
|
||||
@ -62,14 +66,9 @@
|
||||
"url-pattern": "^1.0.3",
|
||||
"vhost": "^3.0.2",
|
||||
"winston": "^3.11.0",
|
||||
"winston-syslog": "^2.7.0",
|
||||
"chalk": "^5.3.0",
|
||||
"json-stringify-safe": "^5.0.1",
|
||||
"nanoid": "^5.0.2",
|
||||
"pocketbase": "^0.21.3"
|
||||
"winston-syslog": "^2.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/json-stringify-safe": "^5.0.2",
|
||||
"@types/cors": "^2.8.17",
|
||||
"@types/d3-scale": "^4.0.6",
|
||||
"@types/d3-scale-chromatic": "^3.0.1",
|
||||
@ -82,6 +81,7 @@
|
||||
"@types/inquirer": "^9.0.7",
|
||||
"@types/js-cookie": "^3.0.5",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/json-stringify-safe": "^5.0.2",
|
||||
"@types/memorystream": "^0.3.3",
|
||||
"@types/ncp": "^2.0.8",
|
||||
"@types/node": "^20.8.10",
|
||||
|
@ -1,5 +1,5 @@
|
||||
import copyfiles from 'copyfiles'
|
||||
import { GobotOptions, gobot } from 'gobot'
|
||||
import { GobotOptions } from 'gobot'
|
||||
import { rimraf } from 'rimraf'
|
||||
import {
|
||||
DEBUG,
|
||||
@ -14,6 +14,7 @@ import {
|
||||
mkContainerHomePath,
|
||||
} from '../../../../../core'
|
||||
import { PortService } from '../../../../services'
|
||||
import { GobotService } from '../../../../services/GobotService'
|
||||
|
||||
export type MothershipConfig = { isolate: boolean }
|
||||
|
||||
@ -85,6 +86,7 @@ export async function mothership(cfg: MothershipConfig) {
|
||||
}
|
||||
dbg(`args`, args)
|
||||
dbg(`options`, options)
|
||||
const { gobot } = GobotService()
|
||||
const bot = await gobot(`pocketbase`, options)
|
||||
bot.run(args, { env })
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import {
|
||||
SETTINGS,
|
||||
loadPlugins,
|
||||
} from '../../core'
|
||||
import { GobotService } from '../services/GobotService'
|
||||
import { EdgeCommand } from './commands/EdgeCommand'
|
||||
import { FirewallCommand } from './commands/FirewallCommand'
|
||||
import { HealthCommand } from './commands/HealthCommand'
|
||||
@ -26,6 +27,7 @@ export type GlobalOptions = {
|
||||
DefaultSettingsService(SETTINGS)
|
||||
|
||||
LoggerService({ level: DEBUG() ? LogLevelName.Debug : LogLevelName.Info })
|
||||
GobotService({})
|
||||
|
||||
//@ts-ignore
|
||||
global.EventSource = EventSource
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { forEach } from '@s-libs/micro-dash'
|
||||
import devcert from 'devcert'
|
||||
import envPaths from 'env-paths'
|
||||
import * as env from 'env-var'
|
||||
import { mkdirSync, realpathSync, writeFileSync } from 'fs'
|
||||
import { dirname, join } from 'path'
|
||||
import { fileURLToPath } from 'url'
|
||||
@ -26,27 +27,44 @@ const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
const realScriptPath = realpathSync(process.argv[1]!)
|
||||
|
||||
export const _PH_HOME = process.env.PH_HOME || envPaths(`pockethost`).data
|
||||
export const _PH_HOME = env
|
||||
.get('PH_HOME')
|
||||
.default(envPaths(`pockethost`).data)
|
||||
.asString()
|
||||
|
||||
export const _SSL_HOME = join(_PH_HOME, `ssl`)
|
||||
|
||||
export const _IS_DEV = process.env.NODE_ENV === 'development'
|
||||
export const _PH_PROJECT_ROOT = join(__dirname, '..')
|
||||
export const _APEX_DOMAIN = process.env.APEX_DOMAIN || 'pockethost.lvh.me'
|
||||
export const _HTTP_PROTOCOL = process.env.HTTP_PROTOCOL || `https:`
|
||||
export const _APP_NAME = process.env.APP_NAME || 'app'
|
||||
export const _MOTHERSHIP_NAME =
|
||||
process.env.MOTHERSHIP_NAME || 'pockethost-central'
|
||||
export const _APEX_DOMAIN = env
|
||||
.get('APEX_DOMAIN')
|
||||
.default('pockethost.lvh.me')
|
||||
.asString()
|
||||
export const _HTTP_PROTOCOL = env
|
||||
.get('HTTP_PROTOCOL')
|
||||
.default('https:')
|
||||
.asString()
|
||||
export const _APP_NAME = env.get('APP_NAME').default('app').asString()
|
||||
export const _MOTHERSHIP_NAME = env
|
||||
.get('MOTHERSHIP_NAME')
|
||||
.default('pockethost-central')
|
||||
.asString()
|
||||
|
||||
export const _MOTHERSHIP_APP_ROOT = (...paths: string[]) =>
|
||||
join(
|
||||
process.env.PH_MOTHERSHIP_APP_ROOT || join(__dirname, 'mothership-app'),
|
||||
env
|
||||
.get('PH_MOTHERSHIP_APP_ROOT')
|
||||
.default(join(__dirname, 'mothership-app'))
|
||||
.asString(),
|
||||
...paths,
|
||||
)
|
||||
|
||||
export const _INSTANCE_APP_ROOT = (...paths: string[]) =>
|
||||
join(
|
||||
process.env.PH_INSTANCE_APP_ROOT || join(__dirname, 'instance-app'),
|
||||
env
|
||||
.get('PH_INSTANCE_APP_ROOT')
|
||||
.default(join(__dirname, 'instance-app'))
|
||||
.asString(),
|
||||
...paths,
|
||||
)
|
||||
|
||||
@ -131,6 +149,8 @@ export const SETTINGS = {
|
||||
DISCORD_HEALTH_CHANNEL_URL: mkString(''),
|
||||
|
||||
DOCKER_CONTAINER_HOST: mkString(`host.docker.internal`),
|
||||
|
||||
PH_GOBOT_ROOT: mkPath(join(_PH_HOME, 'gobot'), { create: true }),
|
||||
}
|
||||
|
||||
export type Settings = ReturnType<typeof DefaultSettingsService>
|
||||
@ -260,6 +280,9 @@ export const DISCORD_HEALTH_CHANNEL_URL = () =>
|
||||
|
||||
export const DOCKER_CONTAINER_HOST = () => settings().DOCKER_CONTAINER_HOST
|
||||
|
||||
export const PH_GOBOT_ROOT = (...paths: string[]) =>
|
||||
join(settings().PH_GOBOT_ROOT, ...paths)
|
||||
|
||||
/** Helpers */
|
||||
|
||||
export const MOTHERSHIP_DATA_ROOT = (...paths: string[]) =>
|
||||
|
@ -1,23 +1,23 @@
|
||||
import { ioc } from '.'
|
||||
import { DEBUG } from '.'
|
||||
import { discordAlert } from './discordAlert'
|
||||
import { gracefulExit } from './exit'
|
||||
;['unhandledRejection', 'uncaughtException'].forEach((type) => {
|
||||
process.on(type, (e) => {
|
||||
console.error(e)
|
||||
console.error(`Unhandled:`, e)
|
||||
try {
|
||||
discordAlert(e)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(`Failed to alert Discord:`, e)
|
||||
}
|
||||
const debug = (() => {
|
||||
try {
|
||||
return ioc.service('settings').DEBUG
|
||||
return DEBUG()
|
||||
} catch {
|
||||
return true
|
||||
}
|
||||
})()
|
||||
if (debug) {
|
||||
console.error(e.stack)
|
||||
console.error(`Unhandled debug trace:`, e.stack)
|
||||
gracefulExit()
|
||||
}
|
||||
})
|
||||
|
@ -2,10 +2,12 @@ import fetch, { Response } from 'node-fetch'
|
||||
import { LoggerService } from '../common'
|
||||
|
||||
export const TRYFETCH_RETRY_MS = 50
|
||||
export const TRYFETCH_TIMEOUT_MS = 500
|
||||
|
||||
export type TryFetchConfig = {
|
||||
preflight: () => Promise<boolean>
|
||||
retryMs: number
|
||||
timeoutMs: number
|
||||
}
|
||||
|
||||
/**
|
||||
@ -25,9 +27,10 @@ export const tryFetch = async (
|
||||
url: string,
|
||||
config?: Partial<TryFetchConfig>,
|
||||
) => {
|
||||
const { preflight, retryMs }: TryFetchConfig = {
|
||||
const { preflight, retryMs, timeoutMs }: TryFetchConfig = {
|
||||
preflight: async () => true,
|
||||
retryMs: TRYFETCH_RETRY_MS,
|
||||
timeoutMs: TRYFETCH_TIMEOUT_MS,
|
||||
...config,
|
||||
}
|
||||
const logger = LoggerService().create(`tryFetch`).breadcrumb(url)
|
||||
@ -53,7 +56,7 @@ export const tryFetch = async (
|
||||
}
|
||||
try {
|
||||
dbg(`Fetch: START`)
|
||||
const res = await fetch(url, { signal: AbortSignal.timeout(500) })
|
||||
const res = await fetch(url, { signal: AbortSignal.timeout(timeoutMs) })
|
||||
dbg(`Fetch: SUCCESS`)
|
||||
resolve(res)
|
||||
} catch (e) {
|
||||
|
10
packages/pockethost/src/services/GobotService.ts
Normal file
10
packages/pockethost/src/services/GobotService.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { GobotOptions, gobot } from 'gobot'
|
||||
import { mkSingleton } from '../common'
|
||||
import { PH_GOBOT_ROOT } from '../constants'
|
||||
|
||||
export const GobotService = mkSingleton(() => {
|
||||
return {
|
||||
gobot: (name: string, options?: Partial<GobotOptions>) =>
|
||||
gobot(name, { ...options, cachePath: PH_GOBOT_ROOT(`cache`, name) }),
|
||||
}
|
||||
})
|
@ -1,7 +1,6 @@
|
||||
import { map } from '@s-libs/micro-dash'
|
||||
import Docker, { Container, ContainerCreateOptions } from 'dockerode'
|
||||
import { existsSync } from 'fs'
|
||||
import { gobot } from 'gobot'
|
||||
import MemoryStream from 'memorystream'
|
||||
import { gte } from 'semver'
|
||||
import { EventEmitter } from 'stream'
|
||||
@ -21,6 +20,7 @@ import {
|
||||
mkSingleton,
|
||||
tryFetch,
|
||||
} from '../../../core'
|
||||
import { GobotService } from '../GobotService'
|
||||
import { PortService } from '../PortService'
|
||||
|
||||
export type Env = { [_: string]: string }
|
||||
@ -47,7 +47,7 @@ export type PocketbaseProcess = {
|
||||
exitCode: Promise<number>
|
||||
}
|
||||
|
||||
const INSTANCE_IMAGE_NAME = `pockethost-instance`
|
||||
const INSTANCE_IMAGE_NAME = `benallfree/pockethost-instance`
|
||||
|
||||
export const createPocketbaseService = async (
|
||||
config: PocketbaseServiceConfig,
|
||||
@ -55,6 +55,7 @@ export const createPocketbaseService = async (
|
||||
const _serviceLogger = LoggerService().create('PocketbaseService')
|
||||
const { dbg, error, warn, abort } = _serviceLogger
|
||||
|
||||
const { gobot } = GobotService()
|
||||
const bot = await gobot(`pocketbase`, { os: 'linux' })
|
||||
const maxVersion = (await bot.versions())[0]
|
||||
if (!maxVersion) {
|
||||
|
22
patches/eventsource@2.0.2.patch
Normal file
22
patches/eventsource@2.0.2.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff --git a/lib/eventsource.js b/lib/eventsource.js
|
||||
index bd401a106c16ca1f5aa6a965db51d9a38f10a1c6..a271b2d391df5a62ccf5d4e69e81afe1fa36c704 100644
|
||||
--- a/lib/eventsource.js
|
||||
+++ b/lib/eventsource.js
|
||||
@@ -87,7 +87,7 @@ function EventSource (url, eventSourceInitDict) {
|
||||
var reconnectUrl = null
|
||||
|
||||
function connect () {
|
||||
- var options = parse(url)
|
||||
+ var options = new URL(url)
|
||||
var isSecure = options.protocol === 'https:'
|
||||
options.headers = { 'Cache-Control': 'no-cache', 'Accept': 'text/event-stream' }
|
||||
if (lastEventId) options.headers['Last-Event-ID'] = lastEventId
|
||||
@@ -113,7 +113,7 @@ function EventSource (url, eventSourceInitDict) {
|
||||
// and include the original url in path and Host headers
|
||||
var useProxy = eventSourceInitDict && eventSourceInitDict.proxy
|
||||
if (useProxy) {
|
||||
- var proxy = parse(eventSourceInitDict.proxy)
|
||||
+ var proxy = new URL(eventSourceInitDict.proxy)
|
||||
isSecure = proxy.protocol === 'https:'
|
||||
|
||||
options.protocol = isSecure ? 'https:' : 'http:'
|
71
pnpm-lock.yaml
generated
71
pnpm-lock.yaml
generated
@ -4,6 +4,11 @@ settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
patchedDependencies:
|
||||
eventsource@2.0.2:
|
||||
hash: tygaxpd33h24mrpcadqkqji6vy
|
||||
path: patches/eventsource@2.0.2.patch
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
@ -384,12 +389,15 @@ importers:
|
||||
env-paths:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
env-var:
|
||||
specifier: ^7.5.0
|
||||
version: 7.5.0
|
||||
event-source-polyfill:
|
||||
specifier: ^1.0.31
|
||||
version: 1.0.31
|
||||
eventsource:
|
||||
specifier: ^2.0.2
|
||||
version: 2.0.2
|
||||
version: 2.0.2(patch_hash=tygaxpd33h24mrpcadqkqji6vy)
|
||||
exit-hook:
|
||||
specifier: ^4.0.0
|
||||
version: 4.0.0
|
||||
@ -412,8 +420,8 @@ importers:
|
||||
specifier: ^10.3.10
|
||||
version: 10.3.10
|
||||
gobot:
|
||||
specifier: 1.0.0-alpha.40
|
||||
version: 1.0.0-alpha.40
|
||||
specifier: 1.0.0-alpha.41
|
||||
version: 1.0.0-alpha.41
|
||||
gobot-pocketbase:
|
||||
specifier: 0.22.8-alpha.22
|
||||
version: 0.22.8-alpha.22
|
||||
@ -447,9 +455,6 @@ importers:
|
||||
pocketbase:
|
||||
specifier: ^0.21.3
|
||||
version: 0.21.3
|
||||
pockethost:
|
||||
specifier: workspace:../pockethost
|
||||
version: 'link:'
|
||||
rimraf:
|
||||
specifier: ^5.0.5
|
||||
version: 5.0.5
|
||||
@ -1774,10 +1779,12 @@ packages:
|
||||
are-we-there-yet@2.0.0:
|
||||
resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
|
||||
engines: {node: '>=10'}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
are-we-there-yet@3.0.1:
|
||||
resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
arg@5.0.2:
|
||||
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||
@ -2770,6 +2777,10 @@ packages:
|
||||
resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
env-var@7.5.0:
|
||||
resolution: {integrity: sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
eol@0.9.1:
|
||||
resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==}
|
||||
|
||||
@ -3186,10 +3197,12 @@ packages:
|
||||
gauge@3.0.2:
|
||||
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
|
||||
engines: {node: '>=10'}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
gauge@4.0.4:
|
||||
resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
get-caller-file@2.0.5:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
@ -3279,6 +3292,7 @@ packages:
|
||||
|
||||
glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
deprecated: Glob versions prior to v9 are no longer supported
|
||||
|
||||
global-directory@4.0.1:
|
||||
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
|
||||
@ -3326,6 +3340,10 @@ packages:
|
||||
resolution: {integrity: sha512-bV+QO3VZamsnKLH5Pqt0tFZ2CD90JT2QjQIs6tvMP1H2w8QJApbRPVkpJ4O56nXGgyj6f0udelDrsd4tm1F6CQ==}
|
||||
hasBin: true
|
||||
|
||||
gobot@1.0.0-alpha.41:
|
||||
resolution: {integrity: sha512-AXXCqWZHt3pcHnTtb+74M95mI12jMNuy7wzZyQcnwQY6mRUzrUJlzUlrlFcqfc7vklet2Dm9CECs17VPdK0BjA==}
|
||||
hasBin: true
|
||||
|
||||
gopd@1.0.1:
|
||||
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
|
||||
|
||||
@ -3548,6 +3566,7 @@ packages:
|
||||
|
||||
inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
|
||||
|
||||
inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
@ -4582,10 +4601,12 @@ packages:
|
||||
|
||||
npmlog@5.0.1:
|
||||
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
npmlog@6.0.2:
|
||||
resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
deprecated: This package is no longer supported.
|
||||
|
||||
nunjucks@3.2.4:
|
||||
resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==}
|
||||
@ -5265,6 +5286,7 @@ packages:
|
||||
|
||||
rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
deprecated: Rimraf versions prior to v4 are no longer supported
|
||||
hasBin: true
|
||||
|
||||
rimraf@3.0.2:
|
||||
@ -8461,7 +8483,7 @@ snapshots:
|
||||
decompress-tar: 4.1.1
|
||||
decompress-tarbz2: 4.1.1
|
||||
decompress-targz: 4.1.1
|
||||
decompress-unzip: https://codeload.github.com/pockethost/decompress-unzip/tar.gz/6ef397b9a2df11d39c7b26ce779e123833844751
|
||||
decompress-unzip: 4.0.1
|
||||
graceful-fs: 4.2.11
|
||||
make-dir: 1.3.0
|
||||
pify: 2.3.0
|
||||
@ -8703,6 +8725,8 @@ snapshots:
|
||||
|
||||
env-paths@3.0.0: {}
|
||||
|
||||
env-var@7.5.0: {}
|
||||
|
||||
eol@0.9.1: {}
|
||||
|
||||
err-code@2.0.3:
|
||||
@ -8882,7 +8906,7 @@ snapshots:
|
||||
|
||||
eventemitter3@4.0.7: {}
|
||||
|
||||
eventsource@2.0.2: {}
|
||||
eventsource@2.0.2(patch_hash=tygaxpd33h24mrpcadqkqji6vy): {}
|
||||
|
||||
execa@0.7.0:
|
||||
dependencies:
|
||||
@ -9415,7 +9439,7 @@ snapshots:
|
||||
|
||||
gobot-pocketbase@0.22.8-alpha.22:
|
||||
dependencies:
|
||||
gobot: 1.0.0-alpha.40
|
||||
gobot: 1.0.0-alpha.41
|
||||
|
||||
gobot@1.0.0-alpha.40:
|
||||
dependencies:
|
||||
@ -9446,6 +9470,35 @@ snapshots:
|
||||
tmp: 0.2.3
|
||||
unbzip2-stream: 1.4.3
|
||||
|
||||
gobot@1.0.0-alpha.41:
|
||||
dependencies:
|
||||
'@s-libs/micro-dash': 17.1.0
|
||||
bottleneck: 2.19.5
|
||||
commander: 12.1.0
|
||||
decompress: 4.2.1
|
||||
decompress-bzip2: 4.0.0
|
||||
decompress-gz: 0.0.1
|
||||
decompress-tar: 4.1.1
|
||||
decompress-tarbz2: 4.1.1
|
||||
decompress-targz: 4.1.1
|
||||
decompress-unzip: 4.0.1
|
||||
env-paths: 3.0.0
|
||||
fast-safe-stringify: 2.1.1
|
||||
file-type: 19.0.0
|
||||
find-up: 7.0.0
|
||||
glob: 10.3.10
|
||||
is-stream: 4.0.1
|
||||
json-stringify-safe: 5.0.1
|
||||
lzma-native: 8.0.6
|
||||
markdown-table: 3.0.3
|
||||
node-fetch: 3.3.2
|
||||
rimraf: 5.0.5
|
||||
semver: 7.6.2
|
||||
table: 6.8.2
|
||||
tar-stream: 1.6.2
|
||||
tmp: 0.2.3
|
||||
unbzip2-stream: 1.4.3
|
||||
|
||||
gopd@1.0.1:
|
||||
dependencies:
|
||||
get-intrinsic: 1.2.2
|
||||
|
Loading…
x
Reference in New Issue
Block a user