blob: e8c9e7e7822e6e53db5b5397fa71ca80d65f10e4 [file] [edit]
import { readFile, writeFile } from 'node:fs/promises';
import { dirname, join } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export const exceptionListPath = join(
__dirname,
'./standard-track-exceptions.txt',
);
/**
* @returns {Promise<string[]>}
*/
export const getStandardTrackExceptions = async () =>
(await readFile(exceptionListPath, 'utf-8'))
.split('\n')
.map((line) => line.trim())
.filter((line) => line.length > 0 && !line.startsWith('#'));
/**
*
* @param {Iterable<string>} features
*/
export const setStandardTrackExceptions = async (features) => {
const lines = (await readFile(exceptionListPath, 'utf-8'))
.split('\n')
.map((line) => line.trim());
const headerLines = lines.filter((line) => line.startsWith('#'));
const result = [...headerLines, ...[...features].sort()].join('\n');
await writeFile(exceptionListPath, result + '\n', 'utf-8');
};