diff --git a/.github/workflows/build-tokens.yaml b/.github/workflows/build-tokens.yaml
index 9315db50b8..652b9b6651 100644
--- a/.github/workflows/build-tokens.yaml
+++ b/.github/workflows/build-tokens.yaml
@@ -3,7 +3,7 @@ on:
pull_request:
types: [opened, synchronize, edited, reopened]
paths:
- - 'packages/tokens'
+ - 'packages/tokens/**'
jobs:
build:
@@ -16,18 +16,50 @@ jobs:
- name: Setup
uses: ./.github/actions/setup-pnpm
- - name: Install tokens & dependencies
- run: pnpm --filter design-system-tokens... install
+ - name: Install dependencies
+ run: pnpm --filter ...design-system-tokens... install
- name: Build tokens & dependencies
- run: pnpm --filter design-system-tokens... build
+ run: pnpm --filter ...design-system-tokens... build
+
+ # TODOs:
+ # - Add changeset to the tokens package? (not sure if this should be done manually)
+ # - Build all packages which are dependant on the tokens --filter ...design-system-tokens
+ # (styles and components for sure, maybe more)
- name: Create Summary
id: summary
uses: actions/github-script@v7
with:
script: |
+ const fs = require('fs')
+ const path = require('path')
+ const inputfileNames = fs.readdirSync('packages/tokens/tokensstudio-generated')
+ const inputFiles = inputfileNames.map(fileName => ({
+ type: path.extname(fileName),
+ name: fileName,
+ content: fs.readFileSync(`packages/tokens/tokensstudio-generated/${fileName}`, 'utf8')
+ }))
+
+ const outputFileNames = fs.readdirSync('packages/tokens/dist')
+ const outputFiles = outputFileNames.map(fileName => ({
+ type: path.extname(fileName),
+ name: fileName,
+ content: fs.readFileSync(`packages/tokens/dist/${fileName}`, 'utf8')
+ }))
+
return `# Build Tokens
+ ## Input
+ ${inputFiles.map(({ type, name, content }) => `
+ ${name}
+ ${content}
+ `).join('\n')}
+
+ ## Output
+ ${outputFiles.map(({ type, name, content }) => `
+ ${name}
+ ${content}
+ `).join('\n')}
`
- name: Output Summary
diff --git a/packages/tokens/build.js b/packages/tokens/build.js
index 6b70e0c02a..7e020bf3c0 100644
--- a/packages/tokens/build.js
+++ b/packages/tokens/build.js
@@ -6,7 +6,7 @@ import { promises } from 'fs';
const SOURCE_PATH = './tokensstudio-generated/';
const BUILD_PATH = './dist/';
const FILE_HEADER =
- '// Do not edit manually!\n// This file was generated on:\n// {date} by the @swisspost/design-system-tokens package build command\n\n';
+ '// Do not edit manually!\r\n// This file was generated on:\r\n// {date} by the @swisspost/design-system-tokens package build command\r\n\r\n';
const GLOBAL_TOKEN_NAMESPACES = ['post'];
registerTransforms(StyleDictionary);
@@ -84,11 +84,11 @@ StyleDictionary.registerFormat({
return isCore ? `--${tokenName}: ${tokenValue};` : `'${tokenName}': ${tokenValue},`;
})
- .join('\n ');
+ .join('\r\n ');
return isCore
- ? `:root {\n ${dataSetTokens}\n}\n`
- : `$post-${dataSetName}: (\n ${dataSetTokens}\n);\n`;
+ ? `:root {\r\n ${dataSetTokens}\r\n}\r\n`
+ : `$post-${dataSetName}: (\r\n ${dataSetTokens}\r\n);\r\n`;
})
.join('\n')
);