You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.1 KiB
82 lines
2.1 KiB
const yaml = require('yaml'); |
|
const StyleDictionary = require('style-dictionary'); |
|
|
|
StyleDictionary.registerFileHeader({ |
|
name: 'myCustomHeader', |
|
fileHeader: defaultMessage => [ |
|
...defaultMessage, |
|
``, |
|
`How to edit these values:`, |
|
`Edit the corresponding token file under the style-definitions directory`, |
|
`in the Owncast web project.`, |
|
], |
|
}); |
|
|
|
module.exports = { |
|
parsers: [ |
|
{ |
|
// A custom parser will only run against filenames that match the pattern |
|
// This pattern will match any file with the .yaml extension. |
|
// This allows you to mix different types of files in your token source |
|
pattern: /\.yaml$/, |
|
// the parse function takes a single argument, which is an object with |
|
// 2 attributes: contents which is a string of the file contents, and |
|
// filePath which is the path of the file. |
|
// The function is expected to return a plain object. |
|
parse: ({ contents, filePath }) => yaml.parse(contents), |
|
}, |
|
], |
|
source: [`tokens/**/*.yaml`], |
|
platforms: { |
|
css: { |
|
transformGroup: 'css', |
|
buildPath: 'build/', |
|
files: [ |
|
{ |
|
destination: 'variables.css', |
|
format: 'css/variables', |
|
options: { |
|
fileHeader: 'myCustomHeader', |
|
}, |
|
}, |
|
], |
|
}, |
|
less: { |
|
transformGroup: 'less', |
|
buildPath: 'build/', |
|
files: [ |
|
{ |
|
destination: 'variables.less', |
|
format: 'less/variables', |
|
options: { |
|
fileHeader: 'myCustomHeader', |
|
}, |
|
}, |
|
], |
|
}, |
|
'ios-swift': { |
|
transforms: [ |
|
'attribute/cti', |
|
'name/ti/camel', |
|
'color/ColorSwiftUI', |
|
'content/swift/literal', |
|
'asset/swift/literal', |
|
'size/swift/remToCGFloat', |
|
'font/swift/literal', |
|
], |
|
buildPath: 'build/', |
|
files: [ |
|
{ |
|
format: 'ios-swift/class.swift', |
|
className: 'PlatformColor', |
|
destination: 'Colors.swift', |
|
filter: { |
|
attributes: { |
|
category: 'color', |
|
}, |
|
}, |
|
}, |
|
], |
|
}, |
|
}, |
|
};
|
|
|