blob: 9ba5ca17819cb4b352f897f95d7232ab6b4aa443 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import path from "path";
import fs from "fs-extra";
import type { Transformer } from "../types";
// transforms/ is a sibling when built in in dist/
export const transformerDirectory =
process.env.NODE_ENV === "test"
? path.join(__dirname, "../transforms")
: path.join(__dirname, "./transforms");
export default function loadTransformers(): Array<Transformer> {
const transformerFiles = fs.readdirSync(transformerDirectory);
return transformerFiles
.map((transformerFilename) => {
const transformerPath = path.join(
transformerDirectory,
transformerFilename
);
try {
return require(transformerPath).default;
} catch (e) {
// we ignore this error because it's likely that the file is not a transformer (README, etc)
return undefined;
}
})
.filter(Boolean);
}
|