From 6fa4442cef5705a6bc6f04bab59c80dea1770fa0 Mon Sep 17 00:00:00 2001 From: Mert Sincan Date: Mon, 27 Jan 2025 23:34:18 +0000 Subject: [PATCH] refactor: remove build-tokens.js --- packages/themes/scripts/build-tokens.js | 256 ------------------------ 1 file changed, 256 deletions(-) diff --git a/packages/themes/scripts/build-tokens.js b/packages/themes/scripts/build-tokens.js index f4e1650cf..e69de29bb 100644 --- a/packages/themes/scripts/build-tokens.js +++ b/packages/themes/scripts/build-tokens.js @@ -1,256 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const prettier = require('prettier'); - -// prettier-ignore -const THEME_COMPONENTS = [ - 'Accordion', - 'AutoComplete', - 'Avatar', - 'Badge', - 'BlockUI', - 'Breadcrumb', - 'Button', - 'Card', - 'Carousel', - 'CascadeSelect', - 'Checkbox', - 'Chip', - 'ColorPicker', - 'ConfirmDialog', - 'ConfirmPopup', - 'ContextMenu', - 'DataTable', - 'DataView', - 'DatePicker', - 'Dialog', - 'Divider', - 'Dock', - 'Drawer', - 'Editor', - 'Fieldset', - 'FileUpload', - 'FloatLabel', - 'Galleria', - 'IconField', - 'IftaLabel', - 'Image', - 'ImageCompare', - 'InlineMessage', - 'Inplace', - 'InputChips', - 'InputGroup', - 'InputNumber', - 'InputText', - 'Knob', - 'Listbox', - 'MegaMenu', - 'Menu', - 'Menubar', - 'Message', - 'MeterGroup', - 'MultiSelect', - 'OrderList', - 'OrganizationChart', - 'OverlayBadge', - 'Paginator', - 'Panel', - 'PanelMenu', - 'Password', - 'PickList', - 'Popover', - 'ProgressBar', - 'ProgressSpinner', - 'RadioButton', - 'Rating', - 'Ripple', - 'ScrollPanel', - 'Select', - 'SelectButton', - 'Skeleton', - 'Slider', - 'SpeedDial', - 'SplitButton', - 'Splitter', - 'Stepper', - 'Steps', - 'Tabmenu', - 'Tabs', - 'TabView', - 'Tag', - 'Terminal', - 'Textarea', - 'TieredMenu', - 'Timeline', - 'Toast', - 'ToggleButton', - 'ToggleSwitch', - 'Toolbar', - 'Tooltip', - 'Tree', - 'TreeSelect', - 'TreeTable' -]; - -const themeName = 'aura'; -const rootDir = path.resolve(__dirname, '../'); -const overwrittenDirPath = path.resolve(rootDir, 'types/overwritten'); - -try { - !fs.existsSync(overwrittenDirPath) && fs.mkdirSync(overwrittenDirPath, { recursive: true }); -} catch (err) { - console.error(err); -} - -THEME_COMPONENTS.forEach(async (comp) => { - const data = fs.readFileSync(path.resolve(rootDir, `src/presets/${themeName}/${comp.toLowerCase()}/index.js`), { encoding: 'utf8', flag: 'r' }); - let theme = data.replace('export default', 'module.exports = '); - - try { - fs.writeFileSync(path.resolve(rootDir, `types/overwritten/${comp.toLowerCase()}.js`), theme); - - const component = require(path.resolve(rootDir, `types/overwritten/${comp.toLowerCase()}.js`)); - const filePath = path.resolve(rootDir, `types/${comp.toLowerCase()}`); - let outputFile = path.resolve(filePath, `index.d.ts`); - let defaultText = ''; - - !fs.existsSync(filePath) && fs.mkdirSync(filePath); - - const splitTokenName = (text) => { - return text.split(/(?=[A-Z])/).map((part) => part.toLowerCase()); - }; - - const createSubTokens = (tokenKeys, tokenValue) => { - let subTokens = ''; - - Object.entries(tokenValue).forEach(([tokenKey, tokenSubValue]) => { - if (typeof tokenSubValue === 'string') { - subTokens += createToken([...tokenKeys, tokenKey]); - } else { - subTokens += createNestedToken([...tokenKeys, tokenKey], tokenSubValue); - } - }); - - return subTokens; - }; - - const createDescription = (tokenKeys) => { - let description = ''; - - tokenKeys.forEach((tokenPart, i) => { - if (i !== 0) description += `${splitTokenName(tokenPart).join(' ')} `; - }); - description = description.charAt(0).toUpperCase() + description.slice(1); - - return `${description}of ${splitTokenName(tokenKeys[0]).join(' ')}`; - }; - - const createToken = (tokenKey) => { - let tokenName = tokenKey[tokenKey.length - 1]; - let designTokenName = `${comp.toLowerCase()}`; - let tokenDescription = createDescription(tokenKey); - - tokenKey.forEach((t) => { - if (t !== 'root') { - designTokenName += `.${splitTokenName(t).join('.')}`; - } - - if (tokenName.indexOf('.') > -1 && tokenName.indexOf("'")) { - tokenName = `'${tokenName}'`; - } - }); - - return ` - /** - * ${tokenDescription} - * - * @designToken ${designTokenName} - */ - ${tokenName}?: string;`; - }; - - const createNestedToken = (tokenKeys, tokenValue) => { - let tokenName = tokenKeys[tokenKeys.length - 1]; - let tokenDescription = createDescription(tokenKeys); - - return ` - /** - * ${tokenDescription} - */ - ${tokenName}?: { - ${createSubTokens(tokenKeys, tokenValue)} - };`; - }; - - const generateTokens = (tokenKey, tokenValue) => { - let subTokens = ''; - - Object.entries(tokenValue).forEach(([subTokenKey, subTokenValue]) => { - if (typeof subTokenValue === 'string') { - subTokens += createToken([tokenKey, subTokenKey]); - } else { - subTokens += createNestedToken([tokenKey, subTokenKey], subTokenValue); - } - }); - - defaultText += ` - /** - * Used to pass tokens of the ${splitTokenName(tokenKey).join(' ')} section - */ - ${tokenKey}?: { - ${subTokens} - }`; - }; - - Object.entries(component).forEach(([tname, tvalue]) => { - if (tname !== 'colorScheme') { - if (Object.keys(component).includes('colorScheme')) { - if (Object.keys(component['colorScheme']['light']).includes(tname)) { - tvalue = { ...tvalue, ...component['colorScheme']['light'][tname] }; - } - } - - generateTokens(tname, tvalue); - } else { - Object.entries(tvalue['light']).forEach(([subtname, subtvalue]) => { - if (!Object.keys(component).includes(subtname)) { - generateTokens(subtname, subtvalue); - } - }); - } - }); - - let text = ` -/** - * - * ${comp} Design Tokens - * - * [Live Demo](https://www.primevue.org/${comp.toLowerCase()}/) - * - * @module themes/${comp.toLowerCase()} - * - */ - -import { ColorSchemeDesignToken } from '..'; - -export interface ${comp}DesignTokens extends ColorSchemeDesignToken<${comp}DesignTokens> { -${defaultText} -} -`; - - const prettierConfig = await prettier.resolveConfig(__dirname); - const formattedText = prettier.format(text, { ...prettierConfig, parser: 'typescript' }); - - fs.writeFileSync(outputFile, formattedText, 'utf8'); - } catch (err) { - console.error(err); - } -}); - -try { - if (fs.existsSync(overwrittenDirPath)) { - fs.rmSync(overwrittenDirPath, { recursive: true, force: true }); - } -} catch (err) { - console.error(err); -}