'use strict';

// hvigor/hvigor-config.json5 依赖 "file:./rnoh-hvigor-plugin-0.3.0.tgz",该 tgz 被 *.tgz 忽略、不随仓提交,
// npm/ohpm 也不会生成。npm install 后从本示例自己的 @react-native-oh/react-native-harmony-cli 拷入,
// 保证与实际安装的 CLI 同版(同 webrtc / code-push 示例的 postinstall 做法)。已存在则不覆盖。
const fs = require('fs');
const path = require('path');

const PLUGIN_FILE = 'rnoh-hvigor-plugin-0.3.0.tgz';
const projectDir = process.cwd();
const source = path.join(projectDir, 'node_modules', '@react-native-oh', 'react-native-harmony-cli', 'harmony', PLUGIN_FILE);
const target = path.join(projectDir, 'harmony', 'hvigor', PLUGIN_FILE);

if (fs.existsSync(target)) {
  console.log(`[hvigor] keep existing ${path.relative(projectDir, target)}`);
  process.exit(0);
}
if (!fs.existsSync(source)) {
  console.log(`[hvigor] skip ${PLUGIN_FILE}: @react-native-oh/react-native-harmony-cli is not installed yet.`);
  process.exit(0);
}
fs.mkdirSync(path.dirname(target), { recursive: true });
fs.copyFileSync(source, target);
console.log(`[hvigor] provisioned ${path.relative(projectDir, target)} from ${path.relative(projectDir, source)}`);