Files
TechRadarAJR/tasks/radarjson.ts
2021-01-11 14:56:56 +01:00

48 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
import {createRadar} from "./radar";
import {save} from "./file";
import {copyFileSync, mkdir, mkdirSync} from "fs";
import {quadrants} from "../src/config";
export const radarJsonGenerator = (async () => {
try {
console.log('start')
const radar = await createRadar();
// console.log(radar);
save(JSON.stringify(radar), 'rd.json')
save(`import React from 'react';
import ReactDOM from 'react-dom';
import App from 'aoe_technology_radar/src/components/App';
import 'aoe_technology_radar/src/index.scss';
import {Item} from "aoe_technology_radar/src/model";
import radardata from './rd.json';
ReactDOM.render(
<React.StrictMode>
<App items={radardata.items as Item[]} releases={radardata.releases as string[]} />
</React.StrictMode>,
document.getElementById('root')
);
`, 'index.tsx')
copyFileSync('build/index.html', 'build/overview.html')
copyFileSync('build/index.html', 'build/help-and-about-tech-radar.html')
quadrants.forEach(quadrant => {
copyFileSync('build/index.html', 'build/' + quadrant + '.html')
mkdirSync('build/' + quadrant)
})
radar.items.forEach(item => {
copyFileSync('build/index.html', 'build/' + item.quadrant + '/' + item.name + '.html')
})
console.log('Built radar');
} catch (e) {
console.error('error:', e);
}
})