![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.quebec/private_html/node_modules/c12/dist/ |
import { l as loadConfig, S as SUPPORTED_EXTENSIONS } from './shared/c12.BXpNC6YI.mjs';
export { a as loadDotenv, s as setupDotenv } from './shared/c12.BXpNC6YI.mjs';
import { debounce } from 'perfect-debounce';
import { resolve } from 'pathe';
import 'node:fs';
import 'node:fs/promises';
import 'node:url';
import 'node:os';
import 'exsolve';
import 'jiti';
import 'rc9';
import 'defu';
import 'pkg-types';
import 'dotenv';
function createDefineConfig() {
return (input) => input;
}
const eventMap = {
add: "created",
change: "updated",
unlink: "removed"
};
async function watchConfig(options) {
let config = await loadConfig(options);
const configName = options.name || "config";
const configFileName = options.configFile ?? (options.name === "config" ? "config" : `${options.name}.config`);
const watchingFiles = [
...new Set(
(config.layers || []).filter((l) => l.cwd).flatMap((l) => [
...SUPPORTED_EXTENSIONS.flatMap((ext) => [
resolve(l.cwd, configFileName + ext),
resolve(l.cwd, ".config", configFileName + ext),
resolve(
l.cwd,
".config",
configFileName.replace(/\.config$/, "") + ext
)
]),
l.source && resolve(l.cwd, l.source),
// TODO: Support watching rc from home and workspace
options.rcFile && resolve(
l.cwd,
typeof options.rcFile === "string" ? options.rcFile : `.${configName}rc`
),
options.packageJson && resolve(l.cwd, "package.json")
]).filter(Boolean)
)
];
const watch = await import('chokidar').then((r) => r.watch || r.default || r);
const { diff } = await import('ohash/utils');
const _fswatcher = watch(watchingFiles, {
ignoreInitial: true,
...options.chokidarOptions
});
const onChange = async (event, path) => {
const type = eventMap[event];
if (!type) {
return;
}
if (options.onWatch) {
await options.onWatch({
type,
path
});
}
const oldConfig = config;
try {
config = await loadConfig(options);
} catch (error) {
console.warn(`Failed to load config ${path}
${error}`);
return;
}
const changeCtx = {
newConfig: config,
oldConfig,
getDiff: () => diff(oldConfig.config, config.config)
};
if (options.acceptHMR) {
const changeHandled = await options.acceptHMR(changeCtx);
if (changeHandled) {
return;
}
}
if (options.onUpdate) {
await options.onUpdate(changeCtx);
}
};
if (options.debounce === false) {
_fswatcher.on("all", onChange);
} else {
_fswatcher.on("all", debounce(onChange, options.debounce ?? 100));
}
const utils = {
watchingFiles,
unwatch: async () => {
await _fswatcher.close();
}
};
return new Proxy(utils, {
get(_, prop) {
if (prop in utils) {
return utils[prop];
}
return config[prop];
}
});
}
export { SUPPORTED_EXTENSIONS, createDefineConfig, loadConfig, watchConfig };