@terrazzo/cli 0.6.3 → 0.7.0

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.
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Terrazzo Token Lab</title>
7
+ <script type="module" crossorigin src="/assets/index-HP_WOzzC.js"></script>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ </body>
12
+ </html>
package/dist/lab.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { ConfigInit } from '@terrazzo/parser';
2
+ import type { Logger } from '@terrazzo/parser';
3
+ import type { Flags } from './shared.js';
4
+ export interface BuildOptions {
5
+ flags: Flags;
6
+ config: ConfigInit;
7
+ configPath: string;
8
+ logger: Logger;
9
+ }
10
+ export declare function labCmd({ config, logger }: BuildOptions): Promise<void>;
11
+ //# sourceMappingURL=lab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab.d.ts","sourceRoot":"","sources":["../src/lab.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,iBA6E5D"}
package/dist/lab.js ADDED
@@ -0,0 +1,74 @@
1
+ import { createReadStream, createWriteStream } from 'node:fs';
2
+ import { readdir } from 'node:fs/promises';
3
+ import { Readable, Writable } from 'node:stream';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { serve } from '@hono/node-server';
6
+ import mime from 'mime';
7
+ export async function labCmd({ config, logger }) {
8
+ /** TODO: handle multiple files */
9
+ const [tokenFileUrl] = config.tokens;
10
+ const staticFiles = new Set();
11
+ const dirEntries = await readdir(fileURLToPath(import.meta.resolve('./lab')), {
12
+ withFileTypes: true,
13
+ recursive: true,
14
+ });
15
+ for (const entry of dirEntries) {
16
+ if (entry.isFile() === false) {
17
+ continue;
18
+ }
19
+ const absolutePath = `${entry.parentPath.replaceAll('\\', '/')}/${entry.name}`;
20
+ staticFiles.add(absolutePath.replace(fileURLToPath(import.meta.resolve('./lab')).replaceAll('\\', '/'), ''));
21
+ }
22
+ const server = serve({
23
+ port: 9000,
24
+ overrideGlobalObjects: false,
25
+ async fetch(request) {
26
+ const url = new URL(request.url);
27
+ const pathname = url.pathname;
28
+ if (pathname === '/') {
29
+ return new Response(Readable.toWeb(createReadStream(fileURLToPath(import.meta.resolve('./lab/index.html')))), {
30
+ headers: {
31
+ 'Content-Type': 'text/html',
32
+ },
33
+ });
34
+ }
35
+ if (pathname === '/api/tokens') {
36
+ if (request.method === 'GET') {
37
+ return new Response(Readable.toWeb(createReadStream(tokenFileUrl)), {
38
+ headers: {
39
+ 'Content-Type': 'application/json',
40
+ 'Cache-Control': 'no-cache',
41
+ },
42
+ });
43
+ }
44
+ else if (request.method === 'POST' && request.body) {
45
+ await request.body.pipeTo(Writable.toWeb(createWriteStream(tokenFileUrl)));
46
+ return new Response(JSON.stringify({ success: true }), {
47
+ headers: {
48
+ 'Content-Type': 'application/json',
49
+ },
50
+ });
51
+ }
52
+ }
53
+ if (staticFiles.has(pathname)) {
54
+ return new Response(Readable.toWeb(createReadStream(fileURLToPath(import.meta.resolve(`./lab${pathname}`)))), {
55
+ headers: { 'Content-Type': mime.getType(pathname) ?? 'application/octet-stream' },
56
+ });
57
+ }
58
+ return new Response('Not found', { status: 404 });
59
+ },
60
+ }, (info) => {
61
+ logger.info({
62
+ group: 'server',
63
+ message: `Token Lab running at http://${info.address === '::' ? 'localhost' : info.address}:${info.port}`,
64
+ });
65
+ });
66
+ /**
67
+ * The cli entrypoint is going to manually exit the process after labCmd returns.
68
+ */
69
+ await new Promise((resolve, reject) => {
70
+ server.on('close', resolve);
71
+ server.on('error', reject);
72
+ });
73
+ }
74
+ //# sourceMappingURL=lab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab.js","sourceRoot":"","sources":["../src/lab.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAgB,MAAM,kBAAkB,CAAC;AAG9E,eAAO,MAAM,GAAG,KAAsC,CAAC;AACvD,eAAO,MAAM,mBAAmB,KAAwC,CAAC;AACzE,eAAO,MAAM,mBAAmB,KAAgC,CAAC;AAEjE,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtE,eAAO,MAAM,WAAW,QAAgB,CAAC;AAEzC,MAAM,WAAW,KAAK;IACpB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kBAAkB;AAClB,wBAAsB,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB;;;GA0CzE;AAED,kBAAkB;AAClB,wBAAsB,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;;iBA8FjF;AAED,kBAAkB;AAClB,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAED,oBAAoB;AACpB,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,QAE/D;AAED,qBAAqB;AACrB,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,sBAgB9C;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,OAQhF;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,UAGjC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAgB,MAAM,kBAAkB,CAAC;AAG9E,eAAO,MAAM,GAAG,KAA8C,CAAC;AAC/D,eAAO,MAAM,mBAAmB,KAAwC,CAAC;AACzE,eAAO,MAAM,mBAAmB,KAAgC,CAAC;AAEjE,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtE,eAAO,MAAM,WAAW,QAAgB,CAAC;AAEzC,MAAM,WAAW,KAAK;IACpB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kBAAkB;AAClB,wBAAsB,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB;;;GA0CzE;AAED,kBAAkB;AAClB,wBAAsB,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;;iBA8FjF;AAED,kBAAkB;AAClB,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAED,oBAAoB;AACpB,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,QAE/D;AAED,qBAAqB;AACrB,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,sBAgB9C;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,OAQhF;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,UAGjC"}
package/dist/shared.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
3
4
  import { defineConfig } from '@terrazzo/parser';
4
5
  import pc from 'picocolors';
5
- export const cwd = new URL(`file://${process.cwd()}/`);
6
+ export const cwd = new URL(`${pathToFileURL(process.cwd())}/`); // trailing slash needed to interpret as directory
6
7
  export const DEFAULT_CONFIG_PATH = new URL('./terrazzo.config.mjs', cwd);
7
8
  export const DEFAULT_TOKENS_PATH = new URL('./tokens.json', cwd);
8
9
  export const GREEN_CHECK = pc.green('✔');
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
package/index.html ADDED
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Terrazzo Token Lab</title>
7
+ </head>
8
+ <body>
9
+ <div id="app"></div>
10
+ <script type="module" src="./lab.tsx"></script>
11
+ </body>
12
+ </html>
package/lab.tsx ADDED
@@ -0,0 +1,26 @@
1
+ import TokenLab from '@terrazzo/token-lab';
2
+ import React from 'react';
3
+ import { createRoot } from 'react-dom/client';
4
+
5
+ const response = await fetch('/api/tokens');
6
+ const tokenFile = await response.text();
7
+ const root = createRoot(document.getElementById('app'));
8
+
9
+ root.render(
10
+ <TokenLab
11
+ tokensFile={tokenFile}
12
+ onUpdate={async (updatedTokens) => {
13
+ const response = await fetch('/api/tokens', {
14
+ method: 'POST',
15
+ headers: {
16
+ 'Content-Type': 'text/plain',
17
+ },
18
+ body: updatedTokens,
19
+ });
20
+
21
+ if (!response.ok) {
22
+ console.error(`Failed to save tokens: ${response.status}`);
23
+ }
24
+ }}
25
+ />,
26
+ );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@terrazzo/cli",
3
- "version": "0.6.3",
3
+ "version": "0.7.0",
4
4
  "description": "CLI for managing design tokens using the Design Tokens Community Group (DTCG) standard and generating code for any platform via plugins.",
5
5
  "type": "module",
6
6
  "author": {
@@ -41,7 +41,8 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@clack/prompts": "^0.9.1",
44
- "@humanwhocodes/momoa": "^3.3.6",
44
+ "@hono/node-server": "^1.14.0",
45
+ "@humanwhocodes/momoa": "^3.3.8",
45
46
  "@types/escodegen": "^0.0.10",
46
47
  "chokidar": "^3.6.0",
47
48
  "detect-package-manager": "^3.0.2",
@@ -49,13 +50,21 @@
49
50
  "escodegen": "^2.1.0",
50
51
  "merge-anything": "^5.1.7",
51
52
  "meriyah": "^6.0.5",
53
+ "mime": "^4.0.6",
52
54
  "picocolors": "^1.1.1",
53
55
  "yaml-to-momoa": "^0.0.3",
54
- "@terrazzo/parser": "^0.6.3",
55
- "@terrazzo/token-tools": "^0.6.3"
56
+ "@terrazzo/parser": "^0.7.0",
57
+ "@terrazzo/token-tools": "^0.7.0"
58
+ },
59
+ "devDependencies": {
60
+ "@vitejs/plugin-react-swc": "^3.8.1",
61
+ "react": "19.0.0",
62
+ "react-dom": "19.0.0",
63
+ "vite": "^6.2.3"
56
64
  },
57
65
  "scripts": {
58
- "build": "tsc -p tsconfig.build.json",
66
+ "build": "tsc -p tsconfig.build.json && pnpm run build:lab",
67
+ "build:lab": "vite build",
59
68
  "dev": "tsc -p tsconfig.build.json -w",
60
69
  "format": "biome check --fix --unsafe .",
61
70
  "lint": "biome check .",
@@ -1,7 +1,7 @@
1
1
  import { defineConfig } from '@terrazzo/cli';
2
2
 
3
3
  export default defineConfig({
4
- tokens: ['tokens.json'],
4
+ tokens: ['tokens-example.json'],
5
5
  outDir: './tokens/',
6
6
  plugins: [
7
7
  /** @see https://terrazzo.app/docs/cli/integrations */
@@ -1,7 +1,19 @@
1
1
  {
2
2
  "color": {
3
3
  "$description": "Color tokens",
4
- "$type": "color"
4
+ "$type": "color",
5
+ "black": {
6
+ "100": { "$value": "#0c0c0d0d" },
7
+ "200": { "$value": "#0c0c0d1a" },
8
+ "300": { "$value": "#0c0c0d33" },
9
+ "400": { "$value": "#0c0c0456" },
10
+ "500": { "$value": "#0c0c0db2" },
11
+ "600": { "$value": "#0c0c0dcc" },
12
+ "700": { "$value": "#0c0c0dd9" },
13
+ "800": { "$value": "#0c0c0de5" },
14
+ "900": { "$value": "#0c0c0df2" },
15
+ "1000": { "$value": "#0c0c0d" }
16
+ }
5
17
  },
6
18
  "border": {
7
19
  "$description": "Border tokens",
package/vite.config.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { defineConfig } from 'vite';
2
+ import react from '@vitejs/plugin-react-swc';
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ build: {
7
+ outDir: 'dist/lab',
8
+ rollupOptions: {
9
+ external: ['@terrazzo/tiles', '@terrazzo/token-lab'],
10
+ },
11
+ emptyOutDir: true,
12
+ sourcemap: true,
13
+ target: 'es2024',
14
+ },
15
+ });