working jump to definition with tests
This commit is contained in:
@@ -1,74 +0,0 @@
|
||||
import * as fs from "fs";
|
||||
import * as path from "path";
|
||||
import themes from "./themes";
|
||||
import Theme from "./themes/common/theme";
|
||||
import { colors, fontFamilies, fontSizes, fontWeights, sizes } from "./tokens";
|
||||
|
||||
// Organize theme tokens
|
||||
function themeTokens(theme: Theme) {
|
||||
return {
|
||||
meta: {
|
||||
themeName: theme.name,
|
||||
},
|
||||
text: theme.textColor,
|
||||
icon: theme.iconColor,
|
||||
background: theme.backgroundColor,
|
||||
border: theme.borderColor,
|
||||
editor: theme.editor,
|
||||
syntax: {
|
||||
primary: theme.syntax.primary.color,
|
||||
comment: theme.syntax.comment.color,
|
||||
keyword: theme.syntax.keyword.color,
|
||||
function: theme.syntax.function.color,
|
||||
type: theme.syntax.type.color,
|
||||
variant: theme.syntax.variant.color,
|
||||
property: theme.syntax.property.color,
|
||||
enum: theme.syntax.enum.color,
|
||||
operator: theme.syntax.operator.color,
|
||||
string: theme.syntax.string.color,
|
||||
number: theme.syntax.number.color,
|
||||
boolean: theme.syntax.boolean.color,
|
||||
},
|
||||
player: theme.player,
|
||||
shadow: theme.shadow,
|
||||
};
|
||||
}
|
||||
|
||||
// Organize core tokens
|
||||
const coreTokens = {
|
||||
color: colors,
|
||||
text: {
|
||||
family: fontFamilies,
|
||||
weight: fontWeights,
|
||||
},
|
||||
size: sizes,
|
||||
fontSize: fontSizes,
|
||||
};
|
||||
|
||||
const combinedTokens: any = {};
|
||||
|
||||
const distPath = path.resolve(`${__dirname}/../dist`);
|
||||
for (const file of fs.readdirSync(distPath)) {
|
||||
fs.unlinkSync(path.join(distPath, file));
|
||||
}
|
||||
|
||||
// Add core tokens to the combined tokens and write `core.json`.
|
||||
// We write `core.json` as a separate file for the design team's convenience, but it isn't consumed by Figma Tokens directly.
|
||||
const corePath = path.join(distPath, "core.json");
|
||||
fs.writeFileSync(corePath, JSON.stringify(coreTokens, null, 2));
|
||||
console.log(`- ${corePath} created`);
|
||||
combinedTokens.core = coreTokens;
|
||||
|
||||
// Add each theme to the combined tokens and write ${theme}.json.
|
||||
// We write `${theme}.json` as a separate file for the design team's convenience, but it isn't consumed by Figma Tokens directly.
|
||||
themes.forEach((theme) => {
|
||||
const themePath = `${distPath}/${theme.name}.json`
|
||||
fs.writeFileSync(themePath, JSON.stringify(themeTokens(theme), null, 2));
|
||||
console.log(`- ${themePath} created`);
|
||||
combinedTokens[theme.name] = themeTokens(theme);
|
||||
});
|
||||
|
||||
// Write combined tokens to `tokens.json`. This file is consumed by the Figma Tokens plugin to keep our designs consistent with the app.
|
||||
const combinedPath = path.resolve(`${distPath}/tokens.json`);
|
||||
fs.writeFileSync(combinedPath, JSON.stringify(combinedTokens, null, 2));
|
||||
console.log(`- ${combinedPath} created`);
|
||||
Reference in New Issue
Block a user