Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@pluralsight/design-tokens

Package Overview
Dependencies
Maintainers
1
Versions
1291
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pluralsight/design-tokens - npm Package Compare versions

Comparing version 0.0.0-alpha-8ffb26 to 0.0.0-alpha-a63237

7

build/index.js
/**
* Do not edit directly
* Generated on Wed, 16 Feb 2022 15:02:57 GMT
* Generated on Thu, 24 Feb 2022 18:20:03 GMT
*/
export const ColorFontBase = "#ff0000";
export const ColorFontSecondary = "#00ff00";
export const ColorFontTertiary = "#cccccc";
export const PsBackground = "#1b1834";
export const PsText = "#ffffff";
{
"name": "@pluralsight/design-tokens",
"version": "0.0.0-alpha-8ffb26",
"version": "0.0.0-alpha-a63237",
"description": "Design tokens for Pluralsight.",
"main": "build/index.js",
"files": [
"build/**/*"
"build/css/variables.css",
"build/scss/_variables.scss",
"build/index.js"
],
"sideEffects": [
"build/css/*.css",
"build/scss/*.scss"
],
"scripts": {

@@ -16,3 +22,5 @@ "build": "style-dictionary build",

"devDependencies": {
"style-dictionary": "^3.1.1"
"@types/yaml": "^1",
"style-dictionary": "^3.7.0",
"yaml": "^1.10.2"
},

@@ -19,0 +27,0 @@ "keywords": [

@@ -1,189 +0,82 @@

# Basic Style Dictionary
# Design Tokens
This example code is bare-bones to show you what this framework can do. If you have the style-dictionary module installed globally, you can `cd` into this directory and run:
A project that creates the public tokens available for all platforms which is
built using [style dictionary](https://amzn.github.io/style-dictionary/#/).
```bash
style-dictionary build
```
## Quick Start
You should see something like this output:
To get the project up an running, all you need to do is make sure your deps are installed for this workspace.
In the **project root** (not this workspace), run
```bash
yarn install
```
Copying starter files...
Source style dictionary starter files created!
This will setup all workspaces in this repo in addition to install all the deps
needed to successfully use this workspace.
Running `style-dictionary build` for the first time to generate build artifacts.
### There is no dev environment
With style-dictionary, you are just creating static Yaml files, so there is no dev server or anything to run while adding tokens. However, we _highly recommend_ you make sure all extensions
that are [recommended]('../../.vsode/extensions.json) are installed in order to prevent triggering errors in our CI process.
scss
✔︎ build/scss/_variables.scss
## Project Structure
android
✔︎ build/android/font_dimens.xml
✔︎ build/android/colors.xml
There are two types of tokens to create: private or public.
compose
✔︎ build/compose/StyleDictionaryColor.kt
✔︎ build/compose/StyleDictionarySize.kt
### Creating private tokens
ios
✔︎ build/ios/StyleDictionaryColor.h
✔︎ build/ios/StyleDictionaryColor.m
✔︎ build/ios/StyleDictionarySize.h
✔︎ build/ios/StyleDictionarySize.m
To create a new private token, simply add the token to the **base** directory. Everything inside here will get filtered out during the build process. Private tokens are only meant to be used as reference items for public tokens.
ios-swift
✔︎ build/ios-swift/StyleDictionary.swift
### Creating public tokens
ios-swift-separate-enums
✔︎ build/ios-swift/StyleDictionaryColor.swift
✔︎ build/ios-swift/StyleDictionarySize.swift
```
Public tokens are the [semantic tokens](https://design.pluralsight.com/development/packages/tokens/intro#naming-convention) we ship to each team/product within Pluralsight. Therefore, it should rarely be updated or added to unless there is a new branding **color** change.
Good for you! You have now built your first style dictionary! Moving on, take a look at what we have built. This should have created a build directory and it should look like this:
This is to help keep all of our teams apps as performant as possible since the quanity and _usage_ of tokens **can make a negative impact** in browsers.
```
├── README.md
├── config.json
├── tokens/
│ ├── color/
│ ├── base.json
│ ├── font.json
│ ├── size/
│ ├── font.json
├── build/
│ ├── android/
│ ├── font_dimens.xml
│ ├── colors.xml
│ ├── compose/
│ ├── StyleDictionaryColor.kt
│ ├── StyleDictionarySize.kt
│ ├── scss/
│ ├── _variables.scss
│ ├── ios/
│ ├── StyleDictionaryColor.h
│ ├── StyleDictionaryColor.m
│ ├── StyleDictionarySize.h
│ ├── StyleDictionarySize.m
│ ├── ios-swift/
│ ├── StyleDictionary.swift
│ ├── StyleDictionaryColor.swift
│ ├── StyleDictionarySize.swift
```
## Testing your updates
If you open `config.json` you will see there are 5 platforms defined: scss, android, compose, ios, and ios-swift. Each platform has a transformGroup, buildPath, and files. The buildPath and files of the platform should match up to the files what were built. The files built should look like these:
To test your updates, run the build command for this workspace in the project root (not this workspace).
**Android**
```xml
<!-- font_dimens.xml -->
<resources>
<dimen name="size_font_small">12.00sp</dimen>
<dimen name="size_font_medium">16.00sp</dimen>
<dimen name="size_font_large">32.00sp</dimen>
<dimen name="size_font_base">16.00sp</dimen>
</resources>
<!-- colors.xml -->
<resources>
<color name="color_base_gray_light">#ffcccccc</color>
<color name="color_base_gray_medium">#ff999999</color>
<color name="color_base_gray_dark">#ff111111</color>
<color name="color_base_red">#ffff0000</color>
<color name="color_base_green">#ff00ff00</color>
<color name="color_font_base">#ffff0000</color>
<color name="color_font_secondary">#ff00ff00</color>
<color name="color_font_tertiary">#ffcccccc</color>
</resources>
```bash
yarn workspace @pluralsight/design-tokens run build
```
**Compose**
You should see something like this output:
```kotlin
object StyleDictionaryColor {
val colorBaseGrayDark = Color(0xff111111)
val colorBaseGrayLight = Color(0xffcccccc)
val colorBaseGrayMedium = Color(0xff999999)
val colorBaseGreen = Color(0xff00ff00)
val colorBaseRed = Color(0xffff0000)
val colorFontBase = Color(0xffff0000)
val colorFontSecondary = Color(0xff00ff00)
val colorFontTertiary = Color(0xffcccccc)
}
object StyleDictionarySize {
/** the base size of the font */
val sizeFontBase = 16.00.sp
/** the large size of the font */
val sizeFontLarge = 32.00.sp
/** the medium size of the font */
val sizeFontMedium = 16.00.sp
/** the small size of the font */
val sizeFontSmall = 12.00.sp
}
```
Copying files...
**SCSS**
Source style dictionary files created!
```scss
// variables.scss
$color-base-gray-light: #cccccc;
$color-base-gray-medium: #999999;
$color-base-gray-dark: #111111;
$color-base-red: #ff0000;
$color-base-green: #00ff00;
$color-font-base: #ff0000;
$color-font-secondary: #00ff00;
$color-font-tertiary: #cccccc;
$size-font-small: 0.75rem;
$size-font-medium: 1rem;
$size-font-large: 2rem;
$size-font-base: 1rem;
```
Running `style-dictionary build` to generate build artifacts.
**iOS**
js
✔︎ build/index.js
```objc
#import "StyleDictionaryColor.h"
css
✔︎ build/css/variables.css
@implementation StyleDictionaryColor
scss
✔︎ build/scss/_variables.scss
+ (UIColor *)color:(StyleDictionaryColorName)colorEnum{
return [[self values] objectAtIndex:colorEnum];
}
android
✔︎ build/android/font_dimens.xml
✔︎ build/android/colors.xml
+ (NSArray *)values {
static NSArray* colorArray;
static dispatch_once_t onceToken;
ios
✔︎ build/ios/StyleDictionaryColor.h
✔︎ build/ios/StyleDictionaryColor.m
No properties for StyleDictionarySize.h. File not created.
No properties for StyleDictionarySize.m. File not created.
dispatch_once(&onceToken, ^{
colorArray = @[
[UIColor colorWithRed:0.800f green:0.800f blue:0.800f alpha:1.000f],
[UIColor colorWithRed:0.600f green:0.600f blue:0.600f alpha:1.000f],
[UIColor colorWithRed:0.067f green:0.067f blue:0.067f alpha:1.000f],
[UIColor colorWithRed:1.000f green:0.000f blue:0.000f alpha:1.000f],
[UIColor colorWithRed:0.000f green:1.000f blue:0.000f alpha:1.000f],
[UIColor colorWithRed:1.000f green:0.000f blue:0.000f alpha:1.000f],
[UIColor colorWithRed:0.000f green:1.000f blue:0.000f alpha:1.000f],
[UIColor colorWithRed:0.800f green:0.800f blue:0.800f alpha:1.000f]
];
});
ios-swift
✔︎ build/ios-swift/StyleDictionary.swift
return colorArray;
}
@end
ios-swift-separate-enums
✔︎ build/ios-swift/StyleDictionaryColor.swift
No properties for StyleDictionarySize.swift. File not created.
```
Pretty nifty! This shows a few things happening:
1. The build system does a deep merge of all the token JSON files defined in the `source` attribute of `config.json`. This allows you to split up the token JSON files however you want. There are 2 JSON files with `color` as the top level key, but they get merged properly.
1. The build system resolves references to other design tokens. `{size.font.medium.value}` gets resolved properly.
1. The build system handles references to token values in other files as well as you can see in `tokens/color/font.json`.
Now let's make a change and see how that affects things. Open up `tokens/color/base.json` and change `"#111111"` to `"#000000"`. After you make that change, save the file and re-run the build command `style-dictionary build`. Open up the build files and take a look.
**Huzzah!**
Now go forth and create! Take a look at all the built-in [transforms](https://amzn.github.io/style-dictionary/#/transforms?id=pre-defined-transforms) and [formats](https://amzn.github.io/style-dictionary/#/formats?id=pre-defined-formats).
Depending on which platform you are testing, just reference the build file created.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc