const fs = require('fs');
const path = require('path');

const root = path.resolve(__dirname, '..');
const packageJsonPath = path.join(root, 'package.json');
const ngswConfigPath = path.join(root, 'ngsw-config.json');

const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
const ngswConfig = JSON.parse(fs.readFileSync(ngswConfigPath, 'utf8'));

const now = new Date();
const buildDate = process.env.BUILD_DATE || now.toISOString();
const appVersion = process.env.APP_VERSION || packageJson.version || '0.0.0';

ngswConfig.appData = {
  ...(ngswConfig.appData || {}),
  appVersion,
  buildDate,
};

fs.writeFileSync(ngswConfigPath, `${JSON.stringify(ngswConfig, null, 2)}\n`);
