Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
20 lines
626 B
TypeScript
20 lines
626 B
TypeScript
import { sep as pathSep } from 'path';
|
|
|
|
export const isLocaleFile = (file: string): boolean =>
|
|
file.endsWith('.json') && file.includes(`${pathSep}locales${pathSep}`);
|
|
|
|
export const extractLocale = (file: string): string | null => {
|
|
const match = file.match(new RegExp(`${pathSep}locales${pathSep}([^${pathSep}]+)\\.json$`));
|
|
return match?.[1] ?? null;
|
|
};
|
|
|
|
export const sendLocaleUpdate = (server: any, file: string): void => {
|
|
if (!isLocaleFile(file)) return;
|
|
const locale = extractLocale(file);
|
|
server.ws.send({
|
|
type: 'custom',
|
|
event: 'n8n:locale-update',
|
|
data: { locales: locale ? [locale] : [], file },
|
|
});
|
|
};
|