{"_id":"@dsai-io/figma-tokens","_rev":"10-c4c8c13038f62dda56f6a50e3be95c54","name":"@dsai-io/figma-tokens","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.2":{"name":"@dsai-io/figma-tokens","version":"1.0.2","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"UNLICENSED","_id":"@dsai-io/figma-tokens@1.0.2","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"11ed8141f581538273402880d0b00e9206322a77","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.0.2.tgz","fileCount":20,"integrity":"sha512-q8FdX7OyK5V19fLlhLQ7ROebxwid2cIo1X7AUHn/cJ9IyuK0HLEK3BMc0NY51rBTda0PL9zRJHOKrDt6pXiH5w==","signatures":[{"sig":"MEUCICUSDNJaw3grPqOfb16lS0Z2/KqHuZOyhnelSPnz8SG6AiEArtYMFDsPw+IGxpVPjDzONH+C3xLlccDEFeh2bvvp2Gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559492},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"317af03e673a37db913f607e7b0b30bb0e6b2c8e","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_npmVersion":"9.6.7","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@dsai-io/tools":"workspace:*"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.0.2_1768586937946_0.7615810598524289","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dsai-io/figma-tokens","version":"1.0.3","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"UNLICENSED","_id":"@dsai-io/figma-tokens@1.0.3","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"d2a2b1f2cf71f1b5778f23ea67e771633e9df5e6","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.0.3.tgz","fileCount":20,"integrity":"sha512-jIPdz396h2Dnaew2nHkDeXSGmyauFlwkaR+2PDHXxP9ij4j9pxtUxFSRCISWpZNFVdU/vUkCLMyrjnN5TbYejg==","signatures":[{"sig":"MEUCIQDkheov55l8Bsjz709Ct48z4n2+Pg/eSo7KKvdDOvI7QQIgBYP6FbcXS1say3zWxi9nZz46ZF7FaDcPxyU9SW8vdtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559487},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"3abc47bf7341853d5e8331f85e290bb5d55ad8e7","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_npmVersion":"9.6.7","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@dsai-io/tools":"^0.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.0.3_1768587591807_0.168795266679854","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@dsai-io/figma-tokens","version":"1.0.4","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"UNLICENSED","_id":"@dsai-io/figma-tokens@1.0.4","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"5630203bc0fa98ee7cced8cbf5e7932a401de26d","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.0.4.tgz","fileCount":20,"integrity":"sha512-jk5WxXV6IUf2FZxFWUbHTmLaKW2AGo95T+QA02j6LGknEX8LDlui9UzV+6PeQ5VG9A4pOhA3ZRuQAVT2Zs94bQ==","signatures":[{"sig":"MEQCIFuzzykVG5jk3/ahvPj22y1qJh2JgGgB5reySFEhbgy4AiA8gPPNWvLQ30e2d5C/hdq2ohtoui4vlo9oAClr0sF5vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559487},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"f618a3819b47edd70a23d1156a05ceb3c647a6a0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c9577e5e-bec8-43b7-b2d9-733acf1c7869"}},"_npmVersion":"11.6.2","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@dsai-io/tools":"^1.0.5"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.0.4_1768594951122_0.6277547875016203","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@dsai-io/figma-tokens","version":"1.0.6","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"AGPL-3.0-or-later","_id":"@dsai-io/figma-tokens@1.0.6","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"08ec30e240bd1156609884da91488138bed238f6","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.0.6.tgz","fileCount":2,"integrity":"sha512-PPllfSamUu/0xLogAY4CUGZ/YATTSFwVrCE6dCD+HExxzGD73/TpmvYeg/XSrEM2DeOwwSt4e6qZNrTP8jk32g==","signatures":[{"sig":"MEQCIGa+fMXKOcA14yYP9knkvfyHkcqVTYxOW9yvIxTylGwPAiB0/2w1LlxC0CdZIzVENQAzJ8GzwvJod93AdcesLStR9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16967},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"739d0f0e193b47403677464c582cce49ab3335a2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_npmVersion":"10.8.1","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@dsai-io/tools":"workspace:*"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.0.6_1774787330668_0.7586108852673275","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@dsai-io/figma-tokens","version":"1.0.7","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"AGPL-3.0-or-later","_id":"@dsai-io/figma-tokens@1.0.7","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"e99f4b1b62e14330a328b6ec3c6494f5ae8c58a3","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.0.7.tgz","fileCount":2,"integrity":"sha512-eLIch8TE4w9FJ2EcQmyctlmPnBdxPHu9ITsmQkXDff5aMFPB8yXuLzfXRQlgaTpkZcuVaZwSWJOFpiSW9aub4A==","signatures":[{"sig":"MEUCIQDcbluIT57dEspYCof4ZSVMrGBhlLh8heb8H+Xb2A4UYwIgCbyih3HijlwIwmZWel3uWWqfg5o4p/08czr0iK1wnVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16960},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"739d0f0e193b47403677464c582cce49ab3335a2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_npmVersion":"10.8.1","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@dsai-io/tools":"^1.1.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.0.7_1774787467575_0.9576762541927231","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@dsai-io/figma-tokens","version":"1.0.5","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"AGPL-3.0-or-later","_id":"@dsai-io/figma-tokens@1.0.5","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"c9bea3458802470e611293a06ca202b8ab77c972","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.0.5.tgz","fileCount":3,"integrity":"sha512-ukoPIVP2WlE7ty1sS1OOvNI6twnO3LUE1AJJ4vifc4vWv26ciBrBd6dQ+AV9r8DyK6urbtX2SmtLsIVbkPT9rA==","signatures":[{"sig":"MEUCIQDbvgOIlm4N8AWmxPh4YVBZizJchuc32gaOZgpFDHbqSgIgVH7bOFsHAEj1e35mmv/TjwESXeslrEngR6ZScm3K5Sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20264},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"c6e2f93d5c3977596126103305cbaeb96ff6d568","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_npmVersion":"10.8.1","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@dsai-io/tools":"workspace:*"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.0.5_1774791682196_0.8676749668234469","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dsai-io/figma-tokens","version":"1.1.0","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"AGPL-3.0-or-later","_id":"@dsai-io/figma-tokens@1.1.0","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"45cd8609d84ceff0442ea090478771d33c94996c","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.1.0.tgz","fileCount":21,"integrity":"sha512-0mbZQPTMINf2f6iJFOgNhcuJZBnqtMgbvVHhkpoFpjbdoc8oZFSx2RccpixWOHsAP+vP58f3Y1icV4m1BC5SvQ==","signatures":[{"sig":"MEUCIFH5CQNSEPMjSWrd0wd7oh/M3BNnBT4JCcWXLfAl33cAAiEAwQvSw21p0jpwoxsiraljxJlBRBOaa5fYDrcgMDk2WWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":790792},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"d0d054def2ed49cbed69d1e35be68c413708ee48","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_npmVersion":"10.8.1","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@dsai-io/tools":"workspace:*"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.1.0_1774803788524_0.5073877389255108","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@dsai-io/figma-tokens","version":"1.1.1","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"license":"AGPL-3.0-or-later","_id":"@dsai-io/figma-tokens@1.1.1","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"bin":{"dsai-figma":"bin/dsai-figma.mjs"},"dist":{"shasum":"6e52ce3908d35df601575ecb818e6e23664785b5","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.1.1.tgz","fileCount":22,"integrity":"sha512-0iXOLILxocOOkioCI5AjUVzp9jnrz9IdoaiDTZrwGRCGkMub4R5vQTb9RxBa/iTAZn4cb+NJ/wUTYl4pe7lAlQ==","signatures":[{"sig":"MEQCIFtgiW3kjeSF8Q+tEo+g1uZXQ3i1jftXDxc5fB9aa39yAiBRGVKYS2GRK1uGXrLAznt6G9BGA8pOlVj18k5gX/Ez3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825305},"main":"dist/index.cjs","type":"module","_from":"file:dsai-io-figma-tokens-1.1.1.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsup","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","build:watch":"tsup --watch"},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"_resolved":"C:\\Users\\mveli\\AppData\\Local\\Temp\\db1e58129718c7c90599b13c20b5da18\\dsai-io-figma-tokens-1.1.1.tgz","_integrity":"sha512-0iXOLILxocOOkioCI5AjUVzp9jnrz9IdoaiDTZrwGRCGkMub4R5vQTb9RxBa/iTAZn4cb+NJ/wUTYl4pe7lAlQ==","_npmVersion":"10.8.1","description":"Figma integration utilities and token synchronization for DSAi","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@dsai-io/tools":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/figma-tokens_1.1.1_1774820989395_0.2370767192838763","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@dsai-io/figma-tokens","version":"1.2.0","description":"Figma integration utilities and token synchronization for DSAi","type":"module","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","bin":{"dsai-figma":"bin/dsai-figma.mjs"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"}},"scripts":{"build":"tsup","build:watch":"tsup --watch","dev":"tsup --watch","test":"jest","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit"},"keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"dependencies":{"@dsai-io/tools":"workspace:^"},"devDependencies":{"@types/node":"^22.10.1"},"peerDependencies":{"typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"engines":{"node":">=22.0.0"},"license":"AGPL-3.0-or-later","publishConfig":{"access":"public"},"_id":"@dsai-io/figma-tokens@1.2.0","gitHead":"96f7849a5c08c81ea7e14ded73ba4b4ead25d39a","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-5I+rIQsmbWr6JgV0yixopbdite/vxoLFDc5V0324dOSpklpPMz5TA2cgqhxKyNeuu5gHnl5OX7vHKwNn3G+TFg==","shasum":"9061c4bdd027a0a25ddab95993a5564f32a2175a","tarball":"https://registry.npmjs.org/@dsai-io/figma-tokens/-/figma-tokens-1.2.0.tgz","fileCount":21,"unpackedSize":790788,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCeHWfDa5CQOEJuvNkv02LkZdfwCD2yuHQuR35v7VaZQwIhAJmGmDqT3EViUeoz60JZotzGar9KfH1XH/xgnEyv/ln6"}]},"_npmUser":{"name":"epiklyllc","email":"michel@epikly.com"},"directories":{},"maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/figma-tokens_1.2.0_1774904522118_0.44191636059225514"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-16T18:08:57.528Z","modified":"2026-03-30T21:02:02.497Z","1.0.2":"2026-01-16T18:08:58.080Z","1.0.3":"2026-01-16T18:19:51.962Z","1.0.4":"2026-01-16T20:22:31.331Z","1.0.6":"2026-03-29T12:28:50.883Z","1.0.7":"2026-03-29T12:31:07.706Z","1.0.5":"2026-03-29T13:41:22.350Z","1.1.0":"2026-03-29T17:03:08.695Z","1.1.1":"2026-03-29T21:49:49.575Z","1.2.0":"2026-03-30T21:02:02.362Z"},"license":"AGPL-3.0-or-later","keywords":["figma","design-tokens","figma-api","code-connect","style-dictionary","dtcg"],"description":"Figma integration utilities and token synchronization for DSAi","maintainers":[{"name":"epiklyllc","email":"michel@epikly.com"}],"readme":"# @dsai-io/figma-tokens\n\n> Figma integration, token synchronization, and API client for the [DSAi Design System](https://github.com/michelve/dsai)\n\n[![npm version](https://img.shields.io/npm/v/@dsai-io/figma-tokens)](https://www.npmjs.com/package/@dsai-io/figma-tokens)\n\n> **Beta** -- DSAi is currently in active development and not yet generally available. APIs and interfaces may change between releases. For early access or collaboration inquiries, see the [DSAi repository](https://github.com/michelve/dsai).\n\n## Installation\n\n```bash\npnpm add -D @dsai-io/figma-tokens\n# or\nnpm install -D @dsai-io/figma-tokens\n```\n\nRequires [`@dsai-io/tools`](https://www.npmjs.com/package/@dsai-io/tools) as a dependency (installed automatically).\n\n## What This Package Does\n\n- **Figma REST API client** with 21 methods covering variables, published components/styles, library analytics, version history, and file metadata\n- **Write support** -- create, update, and delete variables via `POST /v1/files/:key/variables`\n- **Library analytics** -- query component, style, and variable usage/action data with cursor-based pagination\n- Fetches design token variables from the Figma REST API\n- Validates Figma token exports against the DTCG spec\n- Transforms Figma variable exports into Style Dictionary-compatible collections\n- Syncs tokens between Figma files and your local design system\n- Built-in rate limiter, circuit breaker, and retry logic\n\n## CLI\n\n```bash\n# Fetch variables from Figma\ndsai-figma fetch --file YOUR_FILE_KEY\n\n# Sync tokens between Figma and local collections\ndsai-figma sync\n\n# Validate exported tokens\ndsai-figma validate\n\n# Show all capabilities (for humans and AI agents)\ndsai-figma info\ndsai-figma info --json    # Structured JSON for agent consumption\n```\n\n### Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `FIGMA_TOKEN` | Yes | Figma personal access token |\n| `FIGMA_FILE_KEY` | No | Default Figma file key (can also pass via `--file`) |\n\n## Configuration\n\nConfigure via `dsai.config.mjs` or set environment variables:\n\n```javascript\nimport { defineConfig } from '@dsai-io/tools';\n\nexport default defineConfig({\n  tokens: {\n    source: 'theme',\n    sourceDir: './src/figma-exports',\n    collectionsDir: './src',\n    outputDir: './src/generated',\n  },\n});\n```\n\n## Programmatic API\n\n### Validate Figma Exports\n\n```typescript\nimport { validateFigmaExports } from '@dsai-io/figma-tokens';\n\nconst result = await validateFigmaExports({\n  exportsDir: './figma-exports',\n  strict: true,\n});\n\nif (!result.valid) {\n  console.error('Validation failed:', result.errors);\n}\n```\n\n### Transform Tokens\n\n```typescript\nimport { transformTokens } from '@dsai-io/figma-tokens';\n\nawait transformTokens({\n  sourceDir: './figma-exports',\n  outputDir: './tokens/collections',\n});\n```\n\n### Figma API Client\n\n```typescript\nimport { createFigmaClient } from '@dsai-io/figma-tokens';\n\nconst client = createFigmaClient({ accessToken: process.env.FIGMA_TOKEN });\n\n// Variables\nconst variables = await client.getVariables(fileKey);\nconst published = await client.getPublishedVariables(fileKey);\n\n// Write variables (create/update/delete -- atomic)\nawait client.postVariables(fileKey, {\n  variables: [{ action: 'CREATE', id: 'temp-1', name: 'spacing/sm', variableCollectionId: 'coll-id', resolvedType: 'FLOAT' }],\n  variableModeValues: [{ variableId: 'temp-1', modeId: 'mode-id', value: 8 }],\n});\n\n// Published library\nconst components = await client.getPublishedComponents(fileKey);\nconst styles = await client.getPublishedStyles(fileKey);\n\n// Analytics (cursor-paginated)\nconst actions = await client.getComponentActions(fileKey, 'component', {\n  startDate: '2025-01-01',\n  endDate: '2025-12-31',\n});\n\n// File info\nconst versions = await client.getVersionHistory(fileKey);\nconst metadata = await client.getFileMetadata(fileKey);\nconst me = await client.getMe();\n```\n\n### Figma REST API Coverage\n\n| Category | Endpoints |\n|----------|-----------|\n| Files | `GET file`, `GET nodes`, `GET metadata`, `GET versions` |\n| Variables | `GET local`, `GET published`, `POST create/update/delete` |\n| Library | `GET components`, `GET component_sets`, `GET styles`, `GET by key` |\n| Analytics | `GET component/style/variable actions/usages` (6 endpoints) |\n| User | `GET me` |\n\nRun `dsai-figma info --json` for the full machine-readable inventory.\n\n## Typical Workflow\n\n```bash\n# 1. Set your Figma token\nexport FIGMA_TOKEN=your_token_here\n\n# 2. Fetch tokens from Figma\ndsai-figma fetch --file YOUR_FILE_KEY\n\n# 3. Transform to DTCG collections\ndsai tokens transform\n\n# 4. Build CSS, SCSS, JS, TS outputs\ndsai tokens build\n```\n\n## Dependencies\n\n- [`@dsai-io/tools`](https://www.npmjs.com/package/@dsai-io/tools) -- build tooling and token pipeline\n\n## Resources\n\n- [DSAi Design System](https://github.com/michelve/dsai) -- monorepo with components, tools, tokens, and Storybook\n- [DSAi Starter Template](https://github.com/michelve/draft_v0) -- official starter app\n- [@dsai-io/tools on npm](https://www.npmjs.com/package/@dsai-io/tools) -- CLI and build tooling\n\n## License\n\nMIT\n","readmeFilename":"README.md"}