@@ -10,29 +10,22 @@ const { writeFileSyncRecursive } = require('./fsUtils')
1010const baseDir = './content'
1111
1212const { getSubDirsOfDir, getFileMapOfDir } = require ( './fsUtils' )
13- // types of files, like: /audio, /images, etc.
13+ // types of files, like: /audio, /images, etc.
1414const mediaTypes = getSubDirsOfDir ( baseDir )
1515
16- const mediaMaps = [ ]
17-
16+ //each mediaType has separate file
1817mediaTypes . forEach ( mediaType => {
19- // subchapters (semantic types of files, like: /words, /phrases, etc. )
20- const subchapters = getSubDirsOfDir ( path . join ( baseDir , mediaType ) )
21- subchapters . forEach ( subchapter => {
22- const mapFiles = getFileMapOfDir ( path . join ( path . join ( baseDir , mediaType , subchapter ) ) )
23- mediaMaps . push ( { mediaType, subchapter, mapFiles } )
18+ // contentType (semantic types of files, like: /words, /phrases, etc. )
19+ let fileContent = ''
20+ const contentTypes = getSubDirsOfDir ( path . join ( baseDir , mediaType ) )
21+ contentTypes . forEach ( contentType => {
22+ const mapFiles = getFileMapOfDir (
23+ path . join ( path . join ( baseDir , mediaType , contentType ) )
24+ )
25+ fileContent += `"${ contentType } ": {${ mapFiles } },`
2426 } )
25- } )
26-
27- mediaMaps . forEach ( elem => {
28- const { mediaType, subchapter } = elem
29- const beforeContent = `// autogenerated from /content/${ mediaType } /${ subchapter }
30- // via /src/utils/createMapOfMedia.js
31- export default `
32-
33- const jsString = JSON . stringify ( elem . mapFiles , null , "\t" ) . replace ( / " ( r e q u i r e \( .+ \) ) " / g, '$1' ) . replace ( / \\ " / g, '"' )
34- const filePath = `${ path . join ( './assets' , mediaType , subchapter ) } .js`
35- writeFileSyncRecursive ( filePath , beforeContent + jsString , 'utf-8' )
36- } )
27+ fileContent = `export default { ${ fileContent } }`
28+ const filePath = path . join ( './assets' , mediaType , 'index.js' )
3729
38- console . log ( 'maps of media updated' )
30+ writeFileSyncRecursive ( filePath , fileContent , 'utf-8' )
31+ } )
0 commit comments