Skip to content

Commit 9474aae

Browse files
committed
add delete-unused-files script
1 parent e230be0 commit 9474aae

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

delete-unused-files.js

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
const { readdirSync, rmSync } = require('fs');
2+
const walkSync = require('walk-sync');
3+
4+
const files = readdirSync('rev-index');
5+
6+
const plurals = {
7+
namespace: 'namespaces',
8+
class: 'classes',
9+
module: 'modules',
10+
}
11+
12+
function deleteUnusedFilesForRevIndex(file) {
13+
const json = require(file);
14+
15+
let project;
16+
17+
if(json.data.id.match(/^ember-\d/)) {
18+
project = 'ember';
19+
} else if (json.data.id.match(/^ember-data-\d/)) {
20+
project = 'ember-data';
21+
} else {
22+
console.log('error figuring out project for', file);
23+
return;
24+
}
25+
26+
const version = json.data.attributes.version;
27+
const knownFiles = [];
28+
29+
['module', 'class', 'namespace'].forEach(entity => {
30+
for (const key in json.meta[entity]) {
31+
32+
33+
knownFiles.push(`${plurals[entity]}/${json.meta[entity][key]}.json`);
34+
}
35+
})
36+
37+
38+
const paths = walkSync(`json-docs/${project}/${version}`, { directories: false});
39+
40+
paths.forEach(file => {
41+
if (file.startsWith('project-versions/')) {
42+
// ignore project-versions folder
43+
return;
44+
}
45+
46+
if (file.startsWith('missings/')) {
47+
// I have no idea what a "missings" is but tests fail if we don't ignore them
48+
return;
49+
}
50+
51+
if(!knownFiles.includes(file)) {
52+
rmSync(`json-docs/${project}/${version}/${file}`)
53+
}
54+
})
55+
56+
}
57+
58+
files.forEach(file => {
59+
deleteUnusedFilesForRevIndex(`./rev-index/${file}`)
60+
});

0 commit comments

Comments
 (0)