fix: replace chokidar with fs.watch

This commit is contained in:
Aarnav Tale 2024-03-30 04:20:16 -04:00
parent 935e015be9
commit 5c0b823c12
No known key found for this signature in database
4 changed files with 5 additions and 6 deletions

View File

@ -12,6 +12,7 @@ import Spinner from '~/components/Spinner'
import TableList from '~/components/TableList'
import { getConfig, getContext, patchConfig } from '~/utils/config'
import { restartHeadscale } from '~/utils/docker'
import { useLiveData } from '~/utils/useLiveData'
import Domains from './domains'
import MagicModal from './magic'
@ -56,6 +57,7 @@ export async function action({ request }: ActionFunctionArgs) {
}
export default function Page() {
useLiveData({ interval: 5000 })
const data = useLoaderData<typeof loader>()
const fetcher = useFetcher()
const [localOverride, setLocalOverride] = useState(data.overrideLocal)

View File

@ -1,7 +1,7 @@
import { type FSWatcher, watch } from 'node:fs'
import { access, constants, readFile, writeFile } from 'node:fs/promises'
import { resolve } from 'node:path'
import { type FSWatcher, watch } from 'chokidar'
import { type Document, parseDocument } from 'yaml'
type Duration = `${string}s` | `${string}h` | `${string}m` | `${string}d` | `${string}y`
@ -149,7 +149,8 @@ export function registerConfigWatcher() {
}
const path = resolve(process.env.CONFIG_FILE ?? '/etc/headscale/config.yaml')
watcher = watch(path).on('change', async () => {
watcher = watch(path, async () => {
console.log('Config file changed, reloading')
await getConfig(true)
})
}

View File

@ -20,7 +20,6 @@
"@remix-run/node": "^2.8.1",
"@remix-run/react": "^2.8.1",
"@remix-run/serve": "^2.8.1",
"chokidar": "^3.6.0",
"clsx": "^2.1.0",
"isbot": "^4.1.0",
"oauth4webapi": "^2.10.3",

3
pnpm-lock.yaml generated
View File

@ -32,9 +32,6 @@ dependencies:
'@remix-run/serve':
specifier: ^2.8.1
version: 2.8.1(typescript@5.4.3)
chokidar:
specifier: ^3.6.0
version: 3.6.0
clsx:
specifier: ^2.1.0
version: 2.1.0