@intlayer/chokidar
Version:
Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.
43 lines • 1.51 kB
JavaScript
import {
ESMxCJSRequire,
appLogger,
getConfiguration
} from "@intlayer/config";
import { cleanOutputDir } from "./cleanOutputDir.mjs";
import { loadDictionaries } from "./loadDictionaries/loadDictionaries.mjs";
import { buildDictionary } from "./transpiler/declaration_file_to_dictionary/index.mjs";
import { createDictionaryEntryPoint } from "./transpiler/dictionary_to_main/createDictionaryEntryPoint.mjs";
import {
createTypes,
createModuleAugmentation
} from "./transpiler/dictionary_to_type/index.mjs";
import { writeConfiguration } from "./writeConfiguration/index.mjs";
import { listDictionaries } from "./listDictionariesPath.mjs";
const prepareIntlayer = async (configuration = getConfiguration(), projectRequire = ESMxCJSRequire) => {
cleanOutputDir(configuration);
appLogger("Output directory cleaned", {
isVerbose: true
});
const files = listDictionaries(configuration);
const dictionaries = await loadDictionaries(
files,
configuration,
projectRequire
);
const dictionariesPaths = await buildDictionary(dictionaries, configuration);
createTypes(dictionariesPaths, configuration);
createDictionaryEntryPoint(configuration);
appLogger("Dictionaries built");
createModuleAugmentation(configuration);
appLogger("Module augmentation built", {
isVerbose: true
});
writeConfiguration(configuration);
appLogger("Configuration written", {
isVerbose: true
});
};
export {
prepareIntlayer
};
//# sourceMappingURL=prepareIntlayer.mjs.map