MCPcopy
hub / github.com/lingodotdev/lingo.dev / makePlatformInitializer

Function makePlatformInitializer

packages/cli/src/cli/utils/init-ci-cd.ts:53–81  ·  view source on GitHub ↗
(config: PlatformConfig, spinner: Ora)

Source from the content-addressed store, hash-verified

51};
52
53function makePlatformInitializer(config: PlatformConfig, spinner: Ora) {
54 return {
55 name: config.name,
56 isEnabled: () => {
57 const filePath = path.join(process.cwd(), config.checkPath);
58 return fs.existsSync(filePath);
59 },
60 init: async () => {
61 const filePath = path.join(process.cwd(), config.ciConfigPath);
62 const dirPath = path.dirname(filePath);
63 if (!fs.existsSync(dirPath)) {
64 fs.mkdirSync(dirPath, { recursive: true });
65 }
66 let canWrite = true;
67 if (fs.existsSync(filePath)) {
68 canWrite = await confirm({
69 message: `File ${filePath} already exists. Do you want to overwrite it?`,
70 default: false,
71 });
72 }
73 if (canWrite) {
74 fs.writeFileSync(filePath, config.ciConfigContent);
75 spinner.succeed(`CI/CD initialized for ${config.name}`);
76 } else {
77 spinner.warn(`CI/CD not initialized for ${config.name}`);
78 }
79 },
80 };
81}
82
83function makeGithubInitializer(spinner: Ora) {
84 return makePlatformInitializer(

Callers 3

makeGithubInitializerFunction · 0.85
makeBitbucketInitializerFunction · 0.85
makeGitlabInitializerFunction · 0.85

Calls 1

warnMethod · 0.80

Tested by

no test coverage detected