@hh.ru/magritte-design-tokens-utils 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/cli/index.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { tokenize } from '@hh.ru/magritte-design-tokens-utils/cli/tokenize';\nimport { filterThemeSets, prepareThemesTokens } from '@hh.ru/magritte-design-tokens-utils/prepare';\nimport { purify } from '@hh.ru/magritte-design-tokens-utils/purify';\nimport { Tokens } from '@hh.ru/magritte-design-tokens-utils/types';\n\nconst main = () => {\n if (process.argv.length < 3) {\n console.error('Missing required argument: file');\n process.exit(1);\n }\n const inputFile = process.argv[2];\n\n let tokens;\n try {\n tokens = fs.readFileSync(path.resolve(process.cwd(), inputFile), 'utf8');\n tokens = JSON.parse(tokens) as Tokens;\n } catch (e) {\n console.error('Error while reading tokens file');\n console.error(e);\n process.exit(1);\n }\n const purifiedTokens = purify(tokens);\n const themes = filterThemeSets(purifiedTokens);\n if (themes.length !== 1) {\n console.error('Tokens must contain exactly one theme');\n console.error(`Themes found: [${themes.join(', ')}}]`);\n process.exit(1);\n }\n const prepareTheme = prepareThemesTokens(purifiedTokens)[0];\n\n tokenize(prepareTheme);\n};\n\nmain();\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAM,IAAI,GAAG,MAAK;AACd,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,QAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACjD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,KAAA;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElC,IAAA,IAAI,MAAM,CAAC;IACX,IAAI;AACA,QAAA,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;AACzE,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC;AACzC,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACR,QAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACjD,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,KAAA;AACD,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtC,IAAA,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAC/C,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,QAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACvD,QAAA,OAAO,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;AACvD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,KAAA;IACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,IAAI,EAAE"}
1
+ {"version":3,"file":"index.js","sources":["../../src/cli/index.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { tokenize } from '@hh.ru/magritte-design-tokens-utils/cli/tokenize';\nimport { filterThemeSets, prepareThemesTokens } from '@hh.ru/magritte-design-tokens-utils/prepare';\nimport { purify } from '@hh.ru/magritte-design-tokens-utils/purify';\nimport { Tokens } from '@hh.ru/magritte-design-tokens-utils/types';\n\nconst main = () => {\n if (process.argv.length < 3) {\n console.error('Missing required argument: file');\n process.exit(1);\n }\n const inputFile = process.argv[2];\n\n let tokens;\n try {\n tokens = fs.readFileSync(path.resolve(process.cwd(), inputFile), 'utf8');\n tokens = JSON.parse(tokens) as Tokens;\n } catch (e) {\n console.error('Error while reading tokens file');\n console.error(e);\n process.exit(1);\n }\n const purifiedTokens = purify(tokens);\n const themes = filterThemeSets(purifiedTokens);\n if (themes.length !== 1) {\n console.error('Tokens must contain exactly one theme');\n console.error(`Themes found: [${themes.join(', ')}}]`);\n process.exit(1);\n }\n const prepareTheme = prepareThemesTokens(purifiedTokens)[0];\n\n tokenize(prepareTheme);\n};\n\nmain();\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAM,IAAI,GAAG,MAAK;IACd,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,QAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACjD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElC,IAAA,IAAI,MAAM,CAAC;AACX,IAAA,IAAI;AACA,QAAA,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;AACzE,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC;KACzC;IAAC,OAAO,CAAC,EAAE;AACR,QAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACjD,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AACD,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtC,IAAA,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAC/C,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,QAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACvD,QAAA,OAAO,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;AACvD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,IAAI,EAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-design-tokens-utils",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
@@ -26,5 +26,5 @@
26
26
  "publishConfig": {
27
27
  "access": "public"
28
28
  },
29
- "gitHead": "bdbcf07ae5f66002ea09633961d0c9c008c70cd6"
29
+ "gitHead": "1ac30fb3b6ed8df5e0683e4551925b6ab8bf08d9"
30
30
  }
package/prepare.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.js","sources":["../src/prepare.ts"],"sourcesContent":["import { Options, transformTokens } from 'token-transformer';\n\nimport { BASE_SET } from '@hh.ru/magritte-design-tokens-utils/constants';\nimport { Tokens, PreparedThemesTokens } from '@hh.ru/magritte-design-tokens-utils/types';\n\nconst isObject = (obj: unknown): obj is Record<string, unknown> => {\n return typeof obj === 'object';\n};\n\nconst traverse = (tokens: Tokens): Tokens => {\n Object.keys(tokens).forEach((key) => {\n const objKey = tokens[key];\n if (objKey && isObject(objKey)) {\n if (objKey.value && !objKey.type) {\n objKey['#value'] = objKey.value;\n delete objKey.value;\n }\n traverse(objKey);\n }\n });\n return tokens;\n};\n\nexport const prepareBaseTokens = (tokens: Tokens, config?: Options): Tokens => {\n const transformerOptions = {\n expandShadow: true,\n preserveRawValue: true,\n ...config,\n };\n const baseTokens = transformTokens(tokens, BASE_SET, [], transformerOptions);\n return traverse(baseTokens);\n};\n\nexport const filterThemeSets = (tokens: Tokens): string[] => {\n const sets = Object.keys(tokens).filter((set) => !set.startsWith('$'));\n return sets.filter((set) => !BASE_SET.includes(set));\n};\n\nexport const prepareThemesTokens = (\n tokens: Tokens,\n config?: Options,\n includeThemes: string[] = []\n): PreparedThemesTokens[] => {\n const themes = includeThemes.length ? includeThemes : filterThemeSets(tokens);\n const transformerOptions = {\n expandShadow: true,\n ...config,\n };\n const result = themes.reduce<PreparedThemesTokens[]>((res, theme) => {\n const themeTokens = transformTokens(tokens, [...BASE_SET, theme], BASE_SET, transformerOptions);\n res.push({ themeTokens: traverse(themeTokens), themeName: theme });\n return res;\n }, []);\n\n return result;\n};\n"],"names":[],"mappings":";;;AAKA,MAAM,QAAQ,GAAG,CAAC,GAAY,KAAoC;AAC9D,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,KAAY;IACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAChC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAA,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAC9B,gBAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAChC,OAAO,MAAM,CAAC,KAAK,CAAC;AACvB,aAAA;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpB,SAAA;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;MAEW,iBAAiB,GAAG,CAAC,MAAc,EAAE,MAAgB,KAAY;AAC1E,IAAA,MAAM,kBAAkB,GAAG;AACvB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,GAAG,MAAM;KACZ,CAAC;AACF,IAAA,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC7E,IAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChC,EAAE;AAEW,MAAA,eAAe,GAAG,CAAC,MAAc,KAAc;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,EAAE;AAEK,MAAM,mBAAmB,GAAG,CAC/B,MAAc,EACd,MAAgB,EAChB,aAAA,GAA0B,EAAE,KACJ;AACxB,IAAA,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAA,MAAM,kBAAkB,GAAG;AACvB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,GAAG,MAAM;KACZ,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,KAAK,KAAI;AAChE,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAChG,QAAA,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,QAAA,OAAO,GAAG,CAAC;KACd,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,OAAO,MAAM,CAAC;AAClB;;;;"}
1
+ {"version":3,"file":"prepare.js","sources":["../src/prepare.ts"],"sourcesContent":["import { Options, transformTokens } from 'token-transformer';\n\nimport { BASE_SET } from '@hh.ru/magritte-design-tokens-utils/constants';\nimport { Tokens, PreparedThemesTokens } from '@hh.ru/magritte-design-tokens-utils/types';\n\nconst isObject = (obj: unknown): obj is Record<string, unknown> => {\n return typeof obj === 'object';\n};\n\nconst traverse = (tokens: Tokens): Tokens => {\n Object.keys(tokens).forEach((key) => {\n const objKey = tokens[key];\n if (objKey && isObject(objKey)) {\n if (objKey.value && !objKey.type) {\n objKey['#value'] = objKey.value;\n delete objKey.value;\n }\n traverse(objKey);\n }\n });\n return tokens;\n};\n\nexport const prepareBaseTokens = (tokens: Tokens, config?: Options): Tokens => {\n const transformerOptions = {\n expandShadow: true,\n preserveRawValue: true,\n ...config,\n };\n const baseTokens = transformTokens(tokens, BASE_SET, [], transformerOptions);\n return traverse(baseTokens);\n};\n\nexport const filterThemeSets = (tokens: Tokens): string[] => {\n const sets = Object.keys(tokens).filter((set) => !set.startsWith('$'));\n return sets.filter((set) => !BASE_SET.includes(set));\n};\n\nexport const prepareThemesTokens = (\n tokens: Tokens,\n config?: Options,\n includeThemes: string[] = []\n): PreparedThemesTokens[] => {\n const themes = includeThemes.length ? includeThemes : filterThemeSets(tokens);\n const transformerOptions = {\n expandShadow: true,\n ...config,\n };\n const result = themes.reduce<PreparedThemesTokens[]>((res, theme) => {\n const themeTokens = transformTokens(tokens, [...BASE_SET, theme], BASE_SET, transformerOptions);\n res.push({ themeTokens: traverse(themeTokens), themeName: theme });\n return res;\n }, []);\n\n return result;\n};\n"],"names":[],"mappings":";;;AAKA,MAAM,QAAQ,GAAG,CAAC,GAAY,KAAoC;AAC9D,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,KAAY;IACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAChC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAA,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAC9B,gBAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAChC,OAAO,MAAM,CAAC,KAAK,CAAC;aACvB;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC;SACpB;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;MAEW,iBAAiB,GAAG,CAAC,MAAc,EAAE,MAAgB,KAAY;AAC1E,IAAA,MAAM,kBAAkB,GAAG;AACvB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,GAAG,MAAM;KACZ,CAAC;AACF,IAAA,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC7E,IAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChC,EAAE;AAEW,MAAA,eAAe,GAAG,CAAC,MAAc,KAAc;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,EAAE;AAEK,MAAM,mBAAmB,GAAG,CAC/B,MAAc,EACd,MAAgB,EAChB,aAAA,GAA0B,EAAE,KACJ;AACxB,IAAA,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAA,MAAM,kBAAkB,GAAG;AACvB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,GAAG,MAAM;KACZ,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,KAAK,KAAI;AAChE,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAChG,QAAA,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,QAAA,OAAO,GAAG,CAAC;KACd,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,OAAO,MAAM,CAAC;AAClB;;;;"}
package/purify.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"purify.js","sources":["../src/purify.ts"],"sourcesContent":["import { Tokens } from '@hh.ru/magritte-design-tokens-utils/types';\n\nexport const purify = (tokensData: Tokens): Tokens => {\n const removeEmptyValues = (obj: Tokens | Array<unknown>): Tokens | Array<unknown> => {\n if (Array.isArray(obj)) {\n const filteredObj: unknown[] = obj.filter((item) => item);\n filteredObj.map((item) => {\n if (typeof item === 'object') {\n return removeEmptyValues(item as Record<string, unknown>);\n } else if (Array.isArray(item)) {\n return removeEmptyValues(item);\n }\n return item;\n });\n return filteredObj;\n }\n const filteredObj = Object.keys(obj).reduce<Tokens>(\n (acc, key) => (obj[key] ? { ...acc, [key]: obj[key] } : acc),\n {}\n );\n Object.keys(filteredObj).forEach((key) => {\n const item = filteredObj[key];\n if (typeof item === 'object') {\n filteredObj[key] = removeEmptyValues(item as Record<string, unknown>);\n } else if (Array.isArray(item)) {\n filteredObj[key] = removeEmptyValues(item);\n }\n });\n return filteredObj;\n };\n\n return removeEmptyValues(tokensData) as Tokens;\n};\n"],"names":[],"mappings":"AAEa,MAAA,MAAM,GAAG,CAAC,UAAkB,KAAY;AACjD,IAAA,MAAM,iBAAiB,GAAG,CAAC,GAA4B,KAA6B;AAChF,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB,YAAA,MAAM,WAAW,GAAc,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1D,YAAA,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACrB,gBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,oBAAA,OAAO,iBAAiB,CAAC,IAA+B,CAAC,CAAC;AAC7D,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC5B,oBAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC;AAChB,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,WAAW,CAAC;AACtB,SAAA;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAC5D,EAAE,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACrC,YAAA,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9B,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAA+B,CAAC,CAAC;AACzE,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,WAAW,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9C,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,WAAW,CAAC;AACvB,KAAC,CAAC;AAEF,IAAA,OAAO,iBAAiB,CAAC,UAAU,CAAW,CAAC;AACnD;;;;"}
1
+ {"version":3,"file":"purify.js","sources":["../src/purify.ts"],"sourcesContent":["import { Tokens } from '@hh.ru/magritte-design-tokens-utils/types';\n\nexport const purify = (tokensData: Tokens): Tokens => {\n const removeEmptyValues = (obj: Tokens | Array<unknown>): Tokens | Array<unknown> => {\n if (Array.isArray(obj)) {\n const filteredObj: unknown[] = obj.filter((item) => item);\n filteredObj.map((item) => {\n if (typeof item === 'object') {\n return removeEmptyValues(item as Record<string, unknown>);\n } else if (Array.isArray(item)) {\n return removeEmptyValues(item);\n }\n return item;\n });\n return filteredObj;\n }\n const filteredObj = Object.keys(obj).reduce<Tokens>(\n (acc, key) => (obj[key] ? { ...acc, [key]: obj[key] } : acc),\n {}\n );\n Object.keys(filteredObj).forEach((key) => {\n const item = filteredObj[key];\n if (typeof item === 'object') {\n filteredObj[key] = removeEmptyValues(item as Record<string, unknown>);\n } else if (Array.isArray(item)) {\n filteredObj[key] = removeEmptyValues(item);\n }\n });\n return filteredObj;\n };\n\n return removeEmptyValues(tokensData) as Tokens;\n};\n"],"names":[],"mappings":"AAEa,MAAA,MAAM,GAAG,CAAC,UAAkB,KAAY;AACjD,IAAA,MAAM,iBAAiB,GAAG,CAAC,GAA4B,KAA6B;AAChF,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB,YAAA,MAAM,WAAW,GAAc,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1D,YAAA,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACrB,gBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,oBAAA,OAAO,iBAAiB,CAAC,IAA+B,CAAC,CAAC;iBAC7D;AAAM,qBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC5B,oBAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBAClC;AACD,gBAAA,OAAO,IAAI,CAAC;AAChB,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,WAAW,CAAC;SACtB;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAC5D,EAAE,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACrC,YAAA,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9B,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAA+B,CAAC,CAAC;aACzE;AAAM,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,WAAW,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC9C;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,WAAW,CAAC;AACvB,KAAC,CAAC;AAEF,IAAA,OAAO,iBAAiB,CAAC,UAAU,CAAW,CAAC;AACnD;;;;"}
package/tokenize.js CHANGED
@@ -86,6 +86,7 @@ const cssFormatter = (dictionary, versionPostfix) => {
86
86
  result.push(` --${name}${versionPostfix}: ${parseFloat(value) / 100}em;`);
87
87
  }
88
88
  else {
89
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
89
90
  result.push(` --${name}${versionPostfix}: ${value}${getVariableUnit(token)};`);
90
91
  }
91
92
  return result;
package/tokenize.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.js","sources":["../src/tokenize.ts"],"sourcesContent":["import { paramCase } from 'change-case';\nimport { Named, Transform, TransformedToken, Dictionary } from 'style-dictionary';\n\nexport const TYPES = {\n BORDER_RADIUS: 'borderRadius',\n BORDER_WIDTH: 'borderWidth',\n COLOR: 'color',\n FONT_FAMILY: 'fontFamily',\n FONT_SIZE: 'fontSizes',\n FONT_WEIGHT: 'fontWeights',\n LETTER_SPACING: 'letterSpacing',\n LINE_HEIGHT: 'lineHeights',\n PARAGRAPH_SPACING: 'paragraphSpacing',\n SIZING: 'sizing',\n SPACING: 'spacing',\n TEXT_CASE: 'textCase',\n\n TEXT_DECORATION: 'textDecoration',\n // shadows\n X: 'x',\n Y: 'y',\n BLUR: 'blur',\n SPREAD: 'spread',\n};\n\ntype TypographyTokenValue = Record<string, string | number>;\ntype TokenCasualValue = string | number;\ntype TokenValue = TokenCasualValue | TypographyTokenValue;\n\ntype TypographyTransformationsResult = Array<{ name: string; value: TokenCasualValue }>;\ntype TypographyTransformations = Record<string, (value: TokenCasualValue) => TypographyTransformationsResult>;\n\ntype RealTransformedToken = Omit<TransformedToken, 'value'> & {\n value: TokenValue;\n rawValue?: TokenValue;\n};\n\nexport const typographyTransformations: TypographyTransformations = {\n fontFamily: (value) => [{ name: 'font-family', value: `\"${value}\"` }],\n fontWeight: (value) => [\n {\n name: 'font-weight',\n value: { Bold: 700, 'Semi Bold': 600, Regular: 400, Italic: 200 }[value] as number,\n },\n ],\n fontSize: (value) => [{ name: 'font-size', value: `${value}px` }],\n lineHeight: (value) => [{ name: 'line-height', value: `${value}px` }],\n letterSpacing: (value) => [{ name: 'letter-spacing', value: `${parseFloat(value as string) / 100}em` }],\n textCase: (value) => [{ name: 'text-transform', value: (value as string).toLowerCase() }],\n textDecoration: (value) => [{ name: 'text-decoration', value: (value as string).toLowerCase() }],\n paragraphIndent: (value) => [{ name: 'text-indent', value }],\n};\n\nexport const getVariableUnit = (token: TransformedToken): string => {\n const { type } = token;\n\n switch (type) {\n case TYPES.BORDER_RADIUS:\n case TYPES.BORDER_WIDTH:\n case TYPES.PARAGRAPH_SPACING:\n case TYPES.SIZING:\n case TYPES.SPACING:\n case TYPES.X:\n case TYPES.Y:\n case TYPES.BLUR:\n case TYPES.SPREAD:\n case TYPES.FONT_SIZE:\n return 'px';\n default:\n return '';\n }\n};\n\nconst expandTypographyCss = (token: RealTransformedToken, versionPostfix: string) => {\n const tokenValue = token.value as TypographyTokenValue;\n return Object.keys(tokenValue)\n .reduce<TypographyTransformationsResult>((result, key) => {\n if (!typographyTransformations[key]) {\n return result;\n }\n const transformed = typographyTransformations[key](tokenValue[key]);\n result.push(...transformed);\n return result;\n }, [])\n .map(({ name, value }) => ` --${token.name}-${name}${versionPostfix}: ${value};`);\n};\n\nexport const cssFormatter = (dictionary: Dictionary, versionPostfix: string): string => {\n const props = dictionary.allProperties\n .reduce<string[]>((result, token) => {\n const { name, value, type, rawValue } = token as RealTransformedToken;\n if (type === 'typography') {\n result.push(...expandTypographyCss(token, versionPostfix));\n } else if (type === 'animation') {\n const { x1, y1, x2, y2, duration } = rawValue as Record<string, string | number>;\n result.push(` --${name}-timing-function${versionPostfix}: cubic-bezier(${x1}, ${y1}, ${x2}, ${y2});`);\n result.push(` --${name}-duration${versionPostfix}: ${duration}ms;`);\n } else if (type === 'border') {\n const { width, style } = rawValue as Record<string, string | number>;\n result.push(` --${name}${versionPostfix}: ${width}px ${style};`);\n } else if (type === 'letterSpacing') {\n result.push(` --${name}${versionPostfix}: ${parseFloat(value as string) / 100}em;`);\n } else {\n result.push(` --${name}${versionPostfix}: ${value}${getVariableUnit(token)};`);\n }\n return result;\n }, [])\n .join('\\n');\n\n return props;\n};\n\nexport const kebabWithUnderscoreTransformer: Named<Transform> = {\n type: 'name',\n name: 'name/cti/kebabWithUnderscore',\n transformer: (token, options = {}) =>\n paramCase([options.prefix].concat(token.path).join(' '), {\n stripRegexp: /[^A-Z0-9_]+/gi,\n }),\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenize.js","sources":["../src/tokenize.ts"],"sourcesContent":["import { paramCase } from 'change-case';\nimport { Named, Transform, TransformedToken, Dictionary } from 'style-dictionary';\n\nexport const TYPES = {\n BORDER_RADIUS: 'borderRadius',\n BORDER_WIDTH: 'borderWidth',\n COLOR: 'color',\n FONT_FAMILY: 'fontFamily',\n FONT_SIZE: 'fontSizes',\n FONT_WEIGHT: 'fontWeights',\n LETTER_SPACING: 'letterSpacing',\n LINE_HEIGHT: 'lineHeights',\n PARAGRAPH_SPACING: 'paragraphSpacing',\n SIZING: 'sizing',\n SPACING: 'spacing',\n TEXT_CASE: 'textCase',\n\n TEXT_DECORATION: 'textDecoration',\n // shadows\n X: 'x',\n Y: 'y',\n BLUR: 'blur',\n SPREAD: 'spread',\n};\n\ntype TypographyTokenValue = Record<string, string | number>;\ntype TokenCasualValue = string | number;\ntype TokenValue = TokenCasualValue | TypographyTokenValue;\n\ntype TypographyTransformationsResult = Array<{ name: string; value: TokenCasualValue }>;\ntype TypographyTransformations = Record<string, (value: TokenCasualValue) => TypographyTransformationsResult>;\n\ntype RealTransformedToken = Omit<TransformedToken, 'value'> & {\n value: TokenValue;\n rawValue?: TokenValue;\n};\n\nexport const typographyTransformations: TypographyTransformations = {\n fontFamily: (value) => [{ name: 'font-family', value: `\"${value}\"` }],\n fontWeight: (value) => [\n {\n name: 'font-weight',\n value: { Bold: 700, 'Semi Bold': 600, Regular: 400, Italic: 200 }[value] as number,\n },\n ],\n fontSize: (value) => [{ name: 'font-size', value: `${value}px` }],\n lineHeight: (value) => [{ name: 'line-height', value: `${value}px` }],\n letterSpacing: (value) => [{ name: 'letter-spacing', value: `${parseFloat(value as string) / 100}em` }],\n textCase: (value) => [{ name: 'text-transform', value: (value as string).toLowerCase() }],\n textDecoration: (value) => [{ name: 'text-decoration', value: (value as string).toLowerCase() }],\n paragraphIndent: (value) => [{ name: 'text-indent', value }],\n};\n\nexport const getVariableUnit = (token: TransformedToken): string => {\n const { type } = token;\n\n switch (type) {\n case TYPES.BORDER_RADIUS:\n case TYPES.BORDER_WIDTH:\n case TYPES.PARAGRAPH_SPACING:\n case TYPES.SIZING:\n case TYPES.SPACING:\n case TYPES.X:\n case TYPES.Y:\n case TYPES.BLUR:\n case TYPES.SPREAD:\n case TYPES.FONT_SIZE:\n return 'px';\n default:\n return '';\n }\n};\n\nconst expandTypographyCss = (token: RealTransformedToken, versionPostfix: string) => {\n const tokenValue = token.value as TypographyTokenValue;\n return Object.keys(tokenValue)\n .reduce<TypographyTransformationsResult>((result, key) => {\n if (!typographyTransformations[key]) {\n return result;\n }\n const transformed = typographyTransformations[key](tokenValue[key]);\n result.push(...transformed);\n return result;\n }, [])\n .map(({ name, value }) => ` --${token.name}-${name}${versionPostfix}: ${value};`);\n};\n\nexport const cssFormatter = (dictionary: Dictionary, versionPostfix: string): string => {\n const props = dictionary.allProperties\n .reduce<string[]>((result, token) => {\n const { name, value, type, rawValue } = token as RealTransformedToken;\n if (type === 'typography') {\n result.push(...expandTypographyCss(token, versionPostfix));\n } else if (type === 'animation') {\n const { x1, y1, x2, y2, duration } = rawValue as Record<string, string | number>;\n result.push(` --${name}-timing-function${versionPostfix}: cubic-bezier(${x1}, ${y1}, ${x2}, ${y2});`);\n result.push(` --${name}-duration${versionPostfix}: ${duration}ms;`);\n } else if (type === 'border') {\n const { width, style } = rawValue as Record<string, string | number>;\n result.push(` --${name}${versionPostfix}: ${width}px ${style};`);\n } else if (type === 'letterSpacing') {\n result.push(` --${name}${versionPostfix}: ${parseFloat(value as string) / 100}em;`);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n result.push(` --${name}${versionPostfix}: ${value}${getVariableUnit(token)};`);\n }\n return result;\n }, [])\n .join('\\n');\n\n return props;\n};\n\nexport const kebabWithUnderscoreTransformer: Named<Transform> = {\n type: 'name',\n name: 'name/cti/kebabWithUnderscore',\n transformer: (token, options = {}) =>\n paramCase([options.prefix].concat(token.path).join(' '), {\n stripRegexp: /[^A-Z0-9_]+/gi,\n }),\n};\n"],"names":[],"mappings":"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"}