mirror of
https://github.com/whscullin/apple2js.git
synced 2024-01-12 14:14:38 +00:00
1e79d9d59d
* Enabled prettier * Update lint, fix issues * Restore some array formatting
61 lines
1.3 KiB
JavaScript
Executable File
61 lines
1.3 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const diskPath = path.resolve('json/disks');
|
|
const dir = fs.readdirSync(diskPath);
|
|
|
|
const index = [];
|
|
|
|
for (const fileName of dir.sort()) {
|
|
if (/\.json$/.test(fileName)) {
|
|
const json = fs.readFileSync(path.resolve(diskPath, fileName));
|
|
const data = JSON.parse(json);
|
|
if (data.private) {
|
|
continue;
|
|
}
|
|
if (!data.name || !data.category) {
|
|
continue;
|
|
}
|
|
|
|
const entry = {
|
|
filename: `json/disks/${fileName}`,
|
|
e: data['2e'],
|
|
name: data.name,
|
|
disk: data.disk,
|
|
category: data.category,
|
|
};
|
|
index.push(entry);
|
|
}
|
|
}
|
|
|
|
index.sort((x, y) => {
|
|
const xc = x.category.toLowerCase();
|
|
const yc = y.category.toLowerCase();
|
|
const xn = x.name.toLowerCase();
|
|
const yn = y.name.toLowerCase();
|
|
|
|
if (xc < yc) {
|
|
return -1;
|
|
} else if (xc > yc) {
|
|
return 1;
|
|
} else if (xn < yn) {
|
|
return -1;
|
|
} else if (xn > yn) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
});
|
|
|
|
fs.writeFileSync(
|
|
path.resolve(diskPath, 'index.js'),
|
|
`disk_index = ${JSON.stringify(index, null, 2)};`
|
|
);
|
|
|
|
fs.writeFileSync(
|
|
path.resolve(diskPath, 'index.json'),
|
|
JSON.stringify(index, null, 2)
|
|
);
|