Last active
November 10, 2020 14:53
-
-
Save chrisvxd/81137cb29b20a38c438c7918c776af4c to your computer and use it in GitHub Desktop.
Revisions
-
chrisvxd revised this gist
Feb 4, 2020 . 1 changed file with 10 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,8 +2,7 @@ const YAML = require('yamljs'); const globby = require('globby'); const fs = require('fs-extra'); const path = require('path'); const styleDictionary = require('style-dictionary'); const convertStringValues = obj => Object.keys(obj).reduce((acc, key) => { @@ -27,6 +26,8 @@ const convertStringValues = obj => }, {}); (async () => { await fs.remove('build'); await fs.copy('properties', '.properties_json'); const paths = await globby(['.properties_json/**/*.yml']); @@ -35,7 +36,9 @@ const convertStringValues = obj => paths.map(async p => { const data = YAML.parse(await fs.readFile(p, 'utf8')); // Map value fields to objects console.info(`Converting ${p} to JSON...\r`); const json = JSON.stringify(convertStringValues(data)); // Write output @@ -52,9 +55,10 @@ const convertStringValues = obj => console.info('Processing style-dictionary...'); const sd = styleDictionary.extend('./config.json'); sd.buildAllPlatforms(); console.info('Removing build directory...'); await fs.remove('.properties_json'); })(); -
chrisvxd revised this gist
Feb 4, 2020 . 1 changed file with 0 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -35,9 +35,7 @@ const convertStringValues = obj => paths.map(async p => { const data = YAML.parse(await fs.readFile(p, 'utf8')); console.info(`Converting ${p} to JSON...\r`); const json = JSON.stringify(convertStringValues(data)); // Write output -
chrisvxd created this gist
Feb 4, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,62 @@ const YAML = require('yamljs'); const globby = require('globby'); const fs = require('fs-extra'); const path = require('path'); const StyleDictionary = require('style-dictionary').extend('./config.json'); const convertStringValues = obj => Object.keys(obj).reduce((acc, key) => { const item = obj[key]; const hasValueKey = !!item.value; let resolvedValue; if (hasValueKey) { resolvedValue = item; } else if (typeof item === 'string') { resolvedValue = { value: item }; } else { resolvedValue = convertStringValues(item); } return { ...acc, [key]: resolvedValue }; }, {}); (async () => { await fs.copy('properties', '.properties_json'); const paths = await globby(['.properties_json/**/*.yml']); await Promise.all( paths.map(async p => { const data = YAML.parse(await fs.readFile(p, 'utf8')); // Map value fields to objects console.info(`Converting ${p} to JSON...\r`); const json = JSON.stringify(convertStringValues(data)); // Write output const newP = path.join( path.dirname(p), path.basename(p, '.yml') + '.json' ); console.info(`Writing ${newP}...`); await fs.writeFile(newP, json); }) ); console.info('Processing style-dictionary...'); StyleDictionary.buildAllPlatforms(); // NB Removing this causes StyleDictionary to fail - does StyleDictionary have some hanging processes? // console.info('Removing build directory...'); // await fs.remove('.properties_json'); })();