19657025fSTomasz Sapetaimport chalk from 'chalk';
29657025fSTomasz Sapetaimport fs from 'fs-extra';
3*a272999eSBartosz Kaszubowskiimport path from 'path';
4*a272999eSBartosz Kaszubowski
59657025fSTomasz Sapetaimport { findFiles } from '../utils';
6*a272999eSBartosz Kaszubowskiimport { TransformFilesContent } from './TransformFilesContent';
79657025fSTomasz Sapeta
89657025fSTomasz Sapetaexport class TransformFilesName extends TransformFilesContent {
99657025fSTomasz Sapeta  async execute() {
109657025fSTomasz Sapeta    const workDirectory = this.getWorkingDirectory();
119657025fSTomasz Sapeta
129657025fSTomasz Sapeta    this.logSubStep(
139657025fSTomasz Sapeta      `�� find ${chalk.yellow(this.find.toString())} in files names in path ${chalk.green(
14*a272999eSBartosz Kaszubowski        this.overrideWorkingDirectory()
159657025fSTomasz Sapeta      )}/${chalk.yellow(this.filePattern)} and replace with ${chalk.magenta(this.replace)}`
169657025fSTomasz Sapeta    );
179657025fSTomasz Sapeta
189657025fSTomasz Sapeta    const files = await findFiles(workDirectory, this.filePattern);
199657025fSTomasz Sapeta    await Promise.all(
209657025fSTomasz Sapeta      files.map((file) => {
219657025fSTomasz Sapeta        const fileName = path.basename(file).replace(this.find, this.replace);
229657025fSTomasz Sapeta        const parent = path.dirname(file);
239657025fSTomasz Sapeta
249657025fSTomasz Sapeta        return fs.rename(file, path.join(parent, fileName));
259657025fSTomasz Sapeta      })
269657025fSTomasz Sapeta    );
279657025fSTomasz Sapeta  }
289657025fSTomasz Sapeta}
299657025fSTomasz Sapeta
309657025fSTomasz Sapetaexport function renameIOSFiles({
319657025fSTomasz Sapeta  find,
329657025fSTomasz Sapeta  replace,
339657025fSTomasz Sapeta}: {
349657025fSTomasz Sapeta  find: string;
359657025fSTomasz Sapeta  replace: string;
369657025fSTomasz Sapeta}): TransformFilesName {
379657025fSTomasz Sapeta  return new TransformFilesName({
389657025fSTomasz Sapeta    filePattern: path.join('ios', '**', `*${find}*.@(m|h)`),
399657025fSTomasz Sapeta    find,
409657025fSTomasz Sapeta    replace,
419657025fSTomasz Sapeta  });
429657025fSTomasz Sapeta}
43