Configuration
Learn more about how to configure Specify to generate design tokens and assets fitting your company standards.
Last updated
Was this helpful?
Was this helpful?
module.exports = {
repository: '@acme-inc/all-design-data',
personalAccessToken: '<your-personal-access-token>',
rules: [],
};{
"repository": "@acme-inc/all-design-data",
"personalAccessToken": "<your-personal-access-token>",
"rules": []
}module.exports = {
repository: '@workspace/repository',
personalAccessToken: '<your-personal-access-token>',
rules: [],
};{
"repository": "@workspace/repository",
"personalAccessToken": "<your-personal-access-token>",
"rules": []
}interface Rule {
name: string;
path: string;
filter?: {
types: Array<TokenType>
};
parsers?: Array<Parser>;
};Record<'types', Array<TokenType>>interface Parser {
name: string;
options?: Record<string, any>;
}Record<string, any>[
{
name: 'Design Tokens',
path: 'styles/design-tokens.css',
filter: {
types: ['color', 'measurement']
},
parsers: [
{
name: 'sort-by',
options: {
keys: ['name']
}
},
{
name: 'to-css-custom-properties'
}
]
},
][
{
"name": "Design Tokens",
"path": "styles/design-tokens.css",
"filter": {
"types": ["color", "measurement"]
},
"parsers": [
{
"name": "sort-by",
"options": {
"keys": ["name"]
}
},
{
"name": "to-css-custom-properties"
}
]
}
]{
"repository": "@acme-inc/all-design-data",
"personalAccessToken": "<your-personal-access-token>",
"rules": [
{
"name": "All design tokens in JSON",
"path": "design-tokens.json",
"parsers": []
}
]
}module.exports = {
repository: '@acme-inc/all-design-data',
personalAccessToken: '<your-personal-access-token>',
rules: [
{
name: 'All design tokens in JSON',
path: 'design-tokens.json',
parsers: [],
},
],
};{
"id": String,
"createdAt": String,
"updatedAt": String,
"name": String,
"value": Object,
"meta": Object,
"type": String,
"originId": String,
"sourceId": String,
"description": String,
"repositoryId": String
}module.exports = {
repository: '@acme-inc/all-design-data',
personalAccessToken: '<your-personal-access-token>',
rules: [
{
name: 'All design tokens in JSON',
path: 'colors.css',
filter: {
types: ['color']
},
parsers: [
{
name: 'to-css-custom-properties',
options: {
formatTokens: {
color: 'hsl'
},
},
},
],
},
],
};{
"repository": "@acme-inc/all-design-data",
"personalAccessToken": "<your-personal-access-token>",
"rules": [
{
"name": "Colors as CSS Custom Properties",
"path": "colors.css",
"filter": {
"types": ["color"]
},
"parsers": [
{
"name": "to-css-custom-properties",
"options": {
"formatTokens": {
"color": "hsl"
}
}
}
]
}
]
}[
{
"name": "Primary/100",
"value": {
"a": 1,
"b": 254,
"g": 233,
"r": 237
},
"type": "color",
"description": ""
},
{
"name": "Primary/200",
"value": {
"a": 1,
"b": 254,
"g": 214,
"r": 221
},
"type": "color",
"description": ""
},
{
"name": "Primary/300",
"value": {
"a": 1,
"b": 253,
"g": 181,
"r": 196
},
"type": "color",
"description": ""
}
]:root {
/* COLOR */
--primary-100: hsl(251, 91%, 95%);
--primary-200: hsl(251, 95%, 92%);
--primary-300: hsl(252, 95%, 85%);
}