@@ -46,18 +46,28 @@ jobs:
46
46
'theme.scss',
47
47
'components.scss',
48
48
]
49
- const outputFileNames = fs.readdirSync('packages/tokens/dist')
50
- const outputFiles = outputFileNames
51
- .map(fileName => ({
52
- type: path.extname(fileName).replace(/^\./, ''),
53
- name: fileName,
54
- content: fs.readFileSync(`packages/tokens/dist/${fileName}`, 'utf8')
55
- }))
56
- .map(({ type, name, content }) => {
57
- if (type === 'scss') content = content.replaceAll('\n\n', '\n \n').replaceAll('$', '$').replaceAll(' ', ' ')
58
- return { type, name, content }
59
- })
60
- .sort((a, b) => (outputOrder.includes(a.name) ? outputOrder.indexOf(a.name) : 1000) - (outputOrder.includes(b.name) ? outputOrder.indexOf(b.name) : 1000))
49
+ const outputFileAndDirNames = fs.readdirSync('packages/tokens/dist')
50
+ const outputDirNames = outputFileAndDirNames.filter(fileOrDir => fs.lstatSync(`packages/tokens/dist/${fileOrDir}`).isDirectory())
51
+ const outputFileNames = outputFileAndDirNames.filter(fileOrDir => fs.lstatSync(`packages/tokens/dist/${fileOrDir}`).isFile())
52
+ const getFiles = (fileNames, dirName) => {
53
+ const dirPath = dirName ? `${dirName}/` : ''
54
+ return fileNames
55
+ .map(fileName => ({
56
+ type: path.extname(fileName).replace(/^\./, ''),
57
+ name: fileName,
58
+ content: fs.readFileSync(`packages/tokens/dist/${dirPath}${fileName}`, 'utf8')
59
+ }))
60
+ .map(({ type, name, content }) => {
61
+ if (type === 'scss') content = content.replaceAll('\n\n', '\n \n').replaceAll('$', '$').replaceAll(' ', ' ')
62
+ return { type, name, content }
63
+ })
64
+ .sort((a, b) => (outputOrder.includes(a.name) ? outputOrder.indexOf(a.name) : 1000) - (outputOrder.includes(b.name) ? outputOrder.indexOf(b.name) : 1000))
65
+ }
66
+
67
+ const outputFiles = [
68
+ ...outputDirNames.flatMap(dirName => getFiles(readdirSync(`dist/${dirName}`), dirName),
69
+ ...getFiles(outputFileNames)
70
+ ]
61
71
62
72
return `# Token Build
63
73
## Input
0 commit comments