@terrazzo/cli 0.7.4 → 0.8.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.
package/dist/init.js DELETED
@@ -1,224 +0,0 @@
1
- import { exec } from 'node:child_process';
2
- import fs from 'node:fs';
3
- import path from 'node:path';
4
- import { fileURLToPath } from 'node:url';
5
- import { confirm, intro, multiselect, outro, select, spinner } from '@clack/prompts';
6
- import { pluralize } from '@terrazzo/token-tools';
7
- import { detect } from 'detect-package-manager';
8
- import { generate } from 'escodegen';
9
- import { parseModule } from 'meriyah';
10
- import { DEFAULT_CONFIG_PATH, DEFAULT_TOKENS_PATH, cwd, loadConfig, printError } from './shared.js';
11
- const INSTALL_COMMAND = {
12
- npm: 'install -D --silent',
13
- yarn: 'add -D --silent',
14
- pnpm: 'add -D --silent',
15
- bun: 'install -D --silent',
16
- };
17
- const DTCG_ROOT_URL = 'https://raw.githubusercontent.com/terrazzoapp/dtcg-examples/refs/heads/main/';
18
- const DESIGN_SYSTEMS = {
19
- 'adobe-spectrum': {
20
- name: 'Spectrum',
21
- author: 'Adobe',
22
- tokens: ['adobe-spectrum.json'],
23
- },
24
- 'apple-hig': {
25
- name: 'Human Interface Guidelines',
26
- author: 'Apple',
27
- tokens: ['apple-hig.json'],
28
- },
29
- 'figma-sds': {
30
- name: 'Simple Design System',
31
- author: 'Figma',
32
- tokens: ['figma-sds.json'],
33
- },
34
- 'github-primer': {
35
- name: 'Primer',
36
- author: 'GitHub',
37
- tokens: ['github-primer.json'],
38
- },
39
- 'ibm-carbon': {
40
- name: 'Carbon',
41
- author: 'IBM',
42
- tokens: ['ibm-carbon.json'],
43
- },
44
- 'microsoft-fluent': {
45
- name: 'Fluent',
46
- author: 'Microsoft',
47
- tokens: ['microsoft-fluent.json'],
48
- },
49
- radix: {
50
- name: 'Radix',
51
- author: 'Radix',
52
- tokens: ['radix.json'],
53
- },
54
- 'salesforce-lightning': {
55
- name: 'Lightning',
56
- author: 'Salesforce',
57
- tokens: ['salesforce-lightning.json'],
58
- },
59
- 'shopify-polaris': {
60
- name: 'Polaris',
61
- author: 'Shopify',
62
- tokens: ['shopify-polaris.json'],
63
- },
64
- };
65
- export async function initCmd({ logger }) {
66
- try {
67
- intro('⛋ Welcome to Terrazzo');
68
- const packageManager = await detect({ cwd: fileURLToPath(cwd) });
69
- // TODO: pass in CLI flags?
70
- const { config, configPath } = await loadConfig({ cmd: 'init', flags: {}, logger });
71
- const relConfigPath = configPath
72
- ? path.relative(fileURLToPath(cwd), fileURLToPath(new URL(configPath)))
73
- : undefined;
74
- let tokensPath = config.tokens[0];
75
- let startFromDS = !(tokensPath && fs.existsSync(tokensPath));
76
- // 1. tokens
77
- if (tokensPath && fs.existsSync(tokensPath)) {
78
- if (await confirm({
79
- message: `Found tokens at ${path.relative(fileURLToPath(cwd), fileURLToPath(tokensPath))}. Overwrite with a new design system?`,
80
- })) {
81
- startFromDS = true;
82
- }
83
- }
84
- else {
85
- tokensPath = DEFAULT_TOKENS_PATH;
86
- }
87
- if (startFromDS) {
88
- const ds = DESIGN_SYSTEMS[(await select({
89
- message: 'Start from existing design system?',
90
- options: [
91
- ...Object.entries(DESIGN_SYSTEMS).map(([id, { author, name }]) => ({
92
- value: id,
93
- label: `${author} ${name}`,
94
- })),
95
- { value: 'none', label: 'None' },
96
- ],
97
- }))];
98
- if (ds) {
99
- // TODO: support multiple tokens files?
100
- const s = spinner();
101
- s.start('Downloading');
102
- const tokenSource = await fetch(new URL(ds.tokens[0], DTCG_ROOT_URL)).then((res) => res.text());
103
- fs.writeFileSync(tokensPath, tokenSource);
104
- s.stop('Download complete');
105
- }
106
- }
107
- // 2. plugins
108
- const existingPlugins = config.plugins.map((p) => p.name);
109
- const pluginSelection = await multiselect({
110
- message: 'Install plugins?',
111
- options: [
112
- { value: '@terrazzo/plugin-css', label: 'CSS' },
113
- { value: '@terrazzo/plugin-js', label: 'JS + TS' },
114
- { value: '@terrazzo/plugin-sass', label: 'Sass' },
115
- { value: '@terrazzo/plugin-tailwind', label: 'Tailwind' },
116
- ],
117
- required: false,
118
- });
119
- const newPlugins = Array.isArray(pluginSelection)
120
- ? pluginSelection.filter((p) => !existingPlugins.includes(p))
121
- : [];
122
- if (newPlugins?.length) {
123
- const plugins = newPlugins.map((p) => ({ specifier: p.replace('@terrazzo/plugin-', ''), package: p }));
124
- const pluginCount = `${newPlugins.length} ${pluralize(newPlugins.length, 'plugin', 'plugins')}`;
125
- const s = spinner();
126
- s.start(`Installing ${pluginCount}`);
127
- // note: thi sis async to show the spinner
128
- await new Promise((resolve, reject) => {
129
- const subprocess = exec([packageManager, INSTALL_COMMAND[packageManager], newPlugins.join(' ')].join(' '), {
130
- cwd,
131
- });
132
- subprocess.on('error', reject);
133
- subprocess.on('exit', resolve);
134
- });
135
- s.message('Updating config');
136
- if (configPath) {
137
- const ast = parseModule(fs.readFileSync(configPath, 'utf8'));
138
- const astExport = ast.body.find((node) => node.type === 'ExportDefaultDeclaration');
139
- // 2a. add plugin imports
140
- // note: this has the potential to duplicate plugins, but we tried our
141
- // best to filter already, and this may be the user’s fault if they
142
- // selected to install a plugin already installed. But also, this is
143
- // easily-fixable, so let’s not waste too much time here (and possibly
144
- // introduce bugs).
145
- ast.body.push(...plugins.map((p) => ({
146
- type: 'ImportDeclaration',
147
- source: { type: 'Literal', value: p.package },
148
- specifiers: [{ type: 'ImportDefaultSpecifier', local: { type: 'Identifier', name: p.specifier } }],
149
- attributes: [],
150
- })));
151
- // 2b. add plugins to config.plugins
152
- if (!astExport) {
153
- logger.error({ group: 'config', message: `SyntaxError: ${relConfigPath} does not have default export.` });
154
- return;
155
- }
156
- const astConfig = (astExport.declaration.type === 'CallExpression'
157
- ? // export default defineConfig({ ... })
158
- astExport.declaration.arguments[0]
159
- : // export default { ... }
160
- astExport.declaration);
161
- if (astConfig.type !== 'ObjectExpression') {
162
- logger.error({
163
- group: 'config',
164
- message: `Config: expected object default export, received ${astConfig.type}`,
165
- });
166
- return;
167
- }
168
- const pluginsArray = astConfig.properties.find((property) => property.type === 'Property' && property.key.type === 'Identifier' && property.key.name === 'plugins')?.value;
169
- const pluginsAst = plugins.map((p) => ({
170
- type: 'CallExpression',
171
- callee: {
172
- type: 'Identifier',
173
- name: p.specifier,
174
- },
175
- arguments: [],
176
- }));
177
- if (pluginsArray) {
178
- pluginsArray.elements.push(...pluginsAst);
179
- }
180
- else {
181
- astConfig.properties.push({
182
- type: 'Property',
183
- key: { type: 'Identifier', name: 'plugins' },
184
- value: { type: 'ArrayExpression', elements: pluginsAst },
185
- kind: 'init',
186
- computed: false,
187
- method: false,
188
- shorthand: false,
189
- });
190
- }
191
- // 2c. update new file (and we’ll probably format it wrong but hey)
192
- fs.writeFileSync(configPath, generate(ast, {
193
- format: {
194
- indent: { style: ' ' },
195
- quotes: 'single',
196
- semicolons: true,
197
- },
198
- }));
199
- }
200
- else {
201
- // 2a. write new config file (easy)
202
- fs.writeFileSync(DEFAULT_CONFIG_PATH, `import { defineConfig } from '@terrazzo/cli';
203
- ${plugins.map((p) => `import ${p.specifier} from '${p.package}';`).join('\n')}
204
- export default defineConfig({
205
- tokens: ['./tokens.json'],
206
- plugins: [
207
- ${plugins.map((p) => `${p.specifier}(),`).join('\n ')}
208
- ],
209
- outDir: './dist/',
210
- lint: {
211
- /** @see https://terrazzo.app/docs/cli/lint */
212
- },
213
- });`);
214
- }
215
- s.stop(`Installed ${pluginCount}`);
216
- }
217
- outro('⛋ Done! 🎉');
218
- }
219
- catch (err) {
220
- printError(err.message);
221
- process.exit(1);
222
- }
223
- }
224
- //# sourceMappingURL=init.js.map
package/dist/init.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/lab.d.ts DELETED
@@ -1,11 +0,0 @@
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
package/dist/lab.d.ts.map DELETED
@@ -1 +0,0 @@
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 DELETED
@@ -1,74 +0,0 @@
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
package/dist/lab.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"lab.js","sourceRoot":"","sources":["../src/lab.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { type Logger } from '@terrazzo/parser';
2
- export interface NormalizeOptions {
3
- logger: Logger;
4
- output: URL;
5
- }
6
- export declare function normalizeCmd(filename: string, { logger, output }: NormalizeOptions): Promise<void>;
7
- //# sourceMappingURL=normalize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAgD,MAAM,kBAAkB,CAAC;AAI7F,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,CAAC;CACb;AAQD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,gBAAgB,iBAsExF"}
package/dist/normalize.js DELETED
@@ -1,77 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { parse as parseJSON, print } from '@humanwhocodes/momoa';
4
- import { defineConfig, getObjMembers, parse, traverse } from '@terrazzo/parser';
5
- import { isAlias } from '@terrazzo/token-tools';
6
- import { cwd, printError } from './shared.js';
7
- function findMember(name) {
8
- return function (member) {
9
- return member.name.type === 'String' && member.name.value === name;
10
- };
11
- }
12
- export async function normalizeCmd(filename, { logger, output }) {
13
- try {
14
- if (!filename) {
15
- logger.error({ group: 'config', message: 'Expected input: `tz normalize <tokens.json> -o output.json`' });
16
- return;
17
- }
18
- const sourceLoc = new URL(filename, cwd);
19
- if (!fs.existsSync(sourceLoc)) {
20
- logger.error({
21
- group: 'config',
22
- message: `Couldn’t find ${path.relative(cwd.href, sourceLoc.href)}. Does it exist?`,
23
- });
24
- }
25
- const sourceData = fs.readFileSync(sourceLoc, 'utf8');
26
- const document = parseJSON(sourceData);
27
- const { tokens } = await parse([{ src: sourceData, filename: sourceLoc }], {
28
- config: defineConfig({}, { cwd }),
29
- logger,
30
- });
31
- traverse(document, {
32
- enter(node, _parent, nodePath) {
33
- const token = tokens[nodePath.join('.')];
34
- if (!token || token.aliasOf || node.type !== 'Member' || node.value.type !== 'Object') {
35
- return;
36
- }
37
- const $valueI = node.value.members.findIndex(findMember('$value'));
38
- switch (token.$type) {
39
- case 'color':
40
- case 'dimension':
41
- case 'duration': {
42
- if (node.value.members[$valueI].value.type === 'String') {
43
- const newValueContainer = parseJSON(JSON.stringify({ $value: token.$value })).body;
44
- const newValueNode = newValueContainer.members.find(findMember('$value'));
45
- node.value.members[$valueI] = newValueNode;
46
- const { $extensions } = getObjMembers(node.value);
47
- if ($extensions?.type === 'Object') {
48
- const { mode } = getObjMembers($extensions);
49
- if (mode?.type === 'Object') {
50
- for (let i = 0; i < mode.members.length; i++) {
51
- const modeName = mode.members[i].name.value;
52
- const modeValue = token.mode[modeName];
53
- if (typeof modeValue === 'string' && isAlias(modeValue)) {
54
- continue;
55
- }
56
- const newModeValueContainer = parseJSON(JSON.stringify({ [modeName]: token.mode[modeName].$value })).body;
57
- const newModeValueNode = newModeValueContainer.members.find(findMember(modeName));
58
- mode.members[i] = newModeValueNode;
59
- }
60
- }
61
- }
62
- }
63
- break;
64
- }
65
- }
66
- },
67
- });
68
- const outputLoc = new URL(output, cwd);
69
- fs.mkdirSync(new URL('.', outputLoc), { recursive: true });
70
- fs.writeFileSync(outputLoc, print(document, { indent: 2 }));
71
- }
72
- catch (err) {
73
- printError(err.message);
74
- process.exit(1);
75
- }
76
- }
77
- //# sourceMappingURL=normalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
package/dist/shared.d.ts DELETED
@@ -1,48 +0,0 @@
1
- import { type ConfigInit, type Logger } from '@terrazzo/parser';
2
- export declare const cwd: import("url").URL;
3
- export declare const DEFAULT_CONFIG_PATH: import("url").URL;
4
- export declare const DEFAULT_TOKENS_PATH: import("url").URL;
5
- export type Command = 'build' | 'check' | 'help' | 'init' | 'version';
6
- export declare const GREEN_CHECK: string;
7
- export interface Flags {
8
- /** --config, -c */
9
- config?: string;
10
- /** --out, -o */
11
- out?: string;
12
- /** --help */
13
- help?: boolean;
14
- /** --watch, -w */
15
- watch?: boolean;
16
- /** --version */
17
- version?: boolean;
18
- }
19
- export interface LoadConfigOptions {
20
- cmd: Command;
21
- flags: Flags;
22
- logger: Logger;
23
- }
24
- /** Load config */
25
- export declare function loadConfig({ cmd, flags, logger }: LoadConfigOptions): Promise<{
26
- config: ConfigInit;
27
- configPath: string;
28
- }>;
29
- /** load tokens */
30
- export declare function loadTokens(tokenPaths: URL[], { logger }: {
31
- logger: Logger;
32
- }): Promise<{
33
- filename: URL;
34
- src: string;
35
- }[] | undefined>;
36
- /** Print error */
37
- export declare function printError(message: string): void;
38
- /** Print success */
39
- export declare function printSuccess(message: string, startTime?: number): void;
40
- /** Resolve config */
41
- export declare function resolveConfig(filename?: string): string | undefined;
42
- /** Resolve tokens.json path (for lint command) */
43
- export declare function resolveTokenPath(filename: string, { logger }: {
44
- logger: Logger;
45
- }): import("url").URL;
46
- /** Print time elapsed */
47
- export declare function time(start: number): string;
48
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
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,mBAA8C,CAAC;AAC/D,eAAO,MAAM,mBAAmB,mBAAwC,CAAC;AACzE,eAAO,MAAM,mBAAmB,mBAAgC,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,qBAQhF;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,UAGjC"}