@figma/code-connect 0.1.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/README.md +449 -0
- package/bin/figma +5 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +41 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/connect.d.ts +3 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +214 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/common/api.d.ts +146 -0
- package/dist/common/api.d.ts.map +1 -0
- package/dist/common/api.js +3 -0
- package/dist/common/api.js.map +1 -0
- package/dist/common/compiler.d.ts +96 -0
- package/dist/common/compiler.d.ts.map +1 -0
- package/dist/common/compiler.js +281 -0
- package/dist/common/compiler.js.map +1 -0
- package/dist/common/external.d.ts +10 -0
- package/dist/common/external.d.ts.map +1 -0
- package/dist/common/external.js +53 -0
- package/dist/common/external.js.map +1 -0
- package/dist/common/figma_connect.d.ts +24 -0
- package/dist/common/figma_connect.d.ts.map +1 -0
- package/dist/common/figma_connect.js +3 -0
- package/dist/common/figma_connect.js.map +1 -0
- package/dist/common/intrinsics.d.ts +61 -0
- package/dist/common/intrinsics.d.ts.map +1 -0
- package/dist/common/intrinsics.js +239 -0
- package/dist/common/intrinsics.js.map +1 -0
- package/dist/common/logging.d.ts +25 -0
- package/dist/common/logging.d.ts.map +1 -0
- package/dist/common/logging.js +47 -0
- package/dist/common/logging.js.map +1 -0
- package/dist/common/parser.d.ts +77 -0
- package/dist/common/parser.d.ts.map +1 -0
- package/dist/common/parser.js +736 -0
- package/dist/common/parser.js.map +1 -0
- package/dist/common/parser_template_helpers.d.ts +2 -0
- package/dist/common/parser_template_helpers.d.ts.map +1 -0
- package/dist/common/parser_template_helpers.js +53 -0
- package/dist/common/parser_template_helpers.js.map +1 -0
- package/dist/common/project.d.ts +79 -0
- package/dist/common/project.d.ts.map +1 -0
- package/dist/common/project.js +171 -0
- package/dist/common/project.js.map +1 -0
- package/dist/connect/create.d.ts +8 -0
- package/dist/connect/create.d.ts.map +1 -0
- package/dist/connect/create.js +162 -0
- package/dist/connect/create.js.map +1 -0
- package/dist/connect/delete_docs.d.ts +11 -0
- package/dist/connect/delete_docs.d.ts.map +1 -0
- package/dist/connect/delete_docs.js +60 -0
- package/dist/connect/delete_docs.js.map +1 -0
- package/dist/connect/figma_rest_api.d.ts +28 -0
- package/dist/connect/figma_rest_api.d.ts.map +1 -0
- package/dist/connect/figma_rest_api.js +19 -0
- package/dist/connect/figma_rest_api.js.map +1 -0
- package/dist/connect/helpers.d.ts +13 -0
- package/dist/connect/helpers.d.ts.map +1 -0
- package/dist/connect/helpers.js +87 -0
- package/dist/connect/helpers.js.map +1 -0
- package/dist/connect/upload.d.ts +8 -0
- package/dist/connect/upload.d.ts.map +1 -0
- package/dist/connect/upload.js +62 -0
- package/dist/connect/upload.js.map +1 -0
- package/dist/connect/validation.d.ts +3 -0
- package/dist/connect/validation.d.ts.map +1 -0
- package/dist/connect/validation.js +241 -0
- package/dist/connect/validation.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/storybook/convert.d.ts +24 -0
- package/dist/storybook/convert.d.ts.map +1 -0
- package/dist/storybook/convert.js +280 -0
- package/dist/storybook/convert.js.map +1 -0
- package/dist/storybook/external.d.ts +32 -0
- package/dist/storybook/external.d.ts.map +1 -0
- package/dist/storybook/external.js +3 -0
- package/dist/storybook/external.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.stripQuotes = exports.getTagName = exports.convertObjectLiteralToJs = exports.assertIsIdentifier = exports.assertIsObjectLiteralExpression = exports.assertIsArrayLiteralExpression = exports.assertIsStringLiteral = exports.assertIsPropertyAssignment = exports.parseFunctionArgument = exports.isOneOf = exports.parsePropertyOfType = exports.bfsFindNode = exports.getDefaultExport = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const parser_1 = require("./parser");
|
|
9
|
+
/**
|
|
10
|
+
* Get the default export from a TypeScript source file
|
|
11
|
+
*
|
|
12
|
+
* @param sourceFile TypeScript source file
|
|
13
|
+
* @returns The default export Expression, or undefined if there is no default export
|
|
14
|
+
*/
|
|
15
|
+
function getDefaultExport(sourceFile) {
|
|
16
|
+
for (const statement of sourceFile.statements) {
|
|
17
|
+
if (typescript_1.default.isExportAssignment(statement)) {
|
|
18
|
+
return statement.expression;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.getDefaultExport = getDefaultExport;
|
|
23
|
+
/**
|
|
24
|
+
* Perform a breadth-first search to find the first node matching a predicate
|
|
25
|
+
*
|
|
26
|
+
* @param node Node to start the search from
|
|
27
|
+
* @param tsSourceFile SourceFile associated with the node
|
|
28
|
+
* @param predicate Predicate to match
|
|
29
|
+
* @returns The first node matching the predicate, or undefined if no node is found
|
|
30
|
+
*/
|
|
31
|
+
function bfsFindNode(node, tsSourceFile, predicate) {
|
|
32
|
+
const queue = [node];
|
|
33
|
+
while (queue.length > 0) {
|
|
34
|
+
node = queue.shift();
|
|
35
|
+
if (predicate(node)) {
|
|
36
|
+
return node;
|
|
37
|
+
}
|
|
38
|
+
if (node && node.getChildCount(tsSourceFile) > 0) {
|
|
39
|
+
queue.push(...node.getChildren(tsSourceFile));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.bfsFindNode = bfsFindNode;
|
|
44
|
+
function parsePropertyOfType({ objectLiteralNode, propertyName, predicate, parserContext, required = false, errorMessage, }) {
|
|
45
|
+
const { sourceFile, checker } = parserContext;
|
|
46
|
+
const node = objectLiteralNode.properties.find((property) => property.name?.getText() === propertyName);
|
|
47
|
+
if (!node) {
|
|
48
|
+
if (!required) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new parser_1.ParserError(`Expected property '${propertyName}' to be present`, {
|
|
53
|
+
sourceFile,
|
|
54
|
+
node: objectLiteralNode,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
let initializer;
|
|
59
|
+
if (typescript_1.default.isPropertyAssignment(node)) {
|
|
60
|
+
if (typescript_1.default.isIdentifier(node.initializer)) {
|
|
61
|
+
const symbol = checker.getSymbolAtLocation(node.initializer);
|
|
62
|
+
if (symbol) {
|
|
63
|
+
const decl = symbol.valueDeclaration;
|
|
64
|
+
if (decl && typescript_1.default.isVariableDeclaration(decl) && decl.initializer) {
|
|
65
|
+
initializer = decl.initializer;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
initializer = node.initializer;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (typescript_1.default.isShorthandPropertyAssignment(node)) {
|
|
74
|
+
const symbol = checker.getShorthandAssignmentValueSymbol(node);
|
|
75
|
+
if (!symbol || !symbol.valueDeclaration || !typescript_1.default.isVariableDeclaration(symbol.valueDeclaration)) {
|
|
76
|
+
throw new parser_1.ParserError('Expected shorthand property to be declared in the same file', {
|
|
77
|
+
sourceFile,
|
|
78
|
+
node,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
initializer = symbol.valueDeclaration.initializer;
|
|
82
|
+
}
|
|
83
|
+
if (!initializer) {
|
|
84
|
+
throw new parser_1.ParserError(`Expected property ${propertyName} to be a property assignment`, {
|
|
85
|
+
sourceFile,
|
|
86
|
+
node,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
// Unwrap `as Type` or `satisfies Type` expressions
|
|
90
|
+
if (typescript_1.default.isAsExpression(initializer) || typescript_1.default.isSatisfiesExpression(initializer)) {
|
|
91
|
+
initializer = initializer.expression;
|
|
92
|
+
}
|
|
93
|
+
if (!predicate(initializer)) {
|
|
94
|
+
throw new parser_1.ParserError(errorMessage ??
|
|
95
|
+
`Unexpected shape of property ${propertyName}, got node type: ${typescript_1.default.SyntaxKind[initializer.kind]}`, {
|
|
96
|
+
sourceFile,
|
|
97
|
+
node: initializer,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return initializer;
|
|
101
|
+
}
|
|
102
|
+
exports.parsePropertyOfType = parsePropertyOfType;
|
|
103
|
+
function isOneOf(guards) {
|
|
104
|
+
return function (arg) {
|
|
105
|
+
return guards.some(function (predicate) {
|
|
106
|
+
return predicate(arg);
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
exports.isOneOf = isOneOf;
|
|
111
|
+
/**
|
|
112
|
+
* Gets a function argument with the specified index from a call expression node
|
|
113
|
+
*
|
|
114
|
+
* @param fn The call expression node potentially containing the argument
|
|
115
|
+
* @param parserContext The parser context
|
|
116
|
+
* @param index The index of the argument to get
|
|
117
|
+
* @param predicate Predicate to match
|
|
118
|
+
* @param required Whether the argument is required. Defaults to false.
|
|
119
|
+
* @param errorMessage Optional error message to throw if the argument is not found
|
|
120
|
+
* @returns
|
|
121
|
+
*/
|
|
122
|
+
function parseFunctionArgument(fn, parserContext, index, predicate, required = false, errorMessage) {
|
|
123
|
+
const { sourceFile, checker } = parserContext;
|
|
124
|
+
if (fn.arguments.length <= index && !required) {
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
if (fn.arguments.length <= index) {
|
|
128
|
+
throw new parser_1.ParserError(errorMessage ?? `Expected function to have at least ${index + 1} arguments`, {
|
|
129
|
+
sourceFile,
|
|
130
|
+
node: fn,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const arg = fn.arguments[index];
|
|
134
|
+
if (!arg || !predicate(arg)) {
|
|
135
|
+
throw new parser_1.ParserError(errorMessage ?? `Unexpected shape of argument ${index}`, {
|
|
136
|
+
sourceFile,
|
|
137
|
+
node: fn.arguments[index],
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return arg;
|
|
141
|
+
}
|
|
142
|
+
exports.parseFunctionArgument = parseFunctionArgument;
|
|
143
|
+
function assertIsPropertyAssignment(node, sourceFile) {
|
|
144
|
+
if (!typescript_1.default.isPropertyAssignment(node)) {
|
|
145
|
+
throw new parser_1.ParserError(`Expected a property assignment, got ${typescript_1.default.SyntaxKind[node.kind]}`, {
|
|
146
|
+
node,
|
|
147
|
+
sourceFile,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.assertIsPropertyAssignment = assertIsPropertyAssignment;
|
|
152
|
+
function assertIsStringLiteral(node, sourceFile, msg) {
|
|
153
|
+
if (!typescript_1.default.isStringLiteral(node)) {
|
|
154
|
+
throw new parser_1.ParserError(msg ?? `Expected a string literal, got ${typescript_1.default.SyntaxKind[node.kind]}`, {
|
|
155
|
+
node,
|
|
156
|
+
sourceFile,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.assertIsStringLiteral = assertIsStringLiteral;
|
|
161
|
+
function assertIsArrayLiteralExpression(node, sourceFile, msg) {
|
|
162
|
+
if (!typescript_1.default.isArrayLiteralExpression(node)) {
|
|
163
|
+
throw new parser_1.ParserError(msg ?? `Expected an array literal, got ${typescript_1.default.SyntaxKind[node.kind]}`, {
|
|
164
|
+
node,
|
|
165
|
+
sourceFile,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.assertIsArrayLiteralExpression = assertIsArrayLiteralExpression;
|
|
170
|
+
function assertIsObjectLiteralExpression(node, sourceFile, msg) {
|
|
171
|
+
if (!typescript_1.default.isObjectLiteralExpression(node)) {
|
|
172
|
+
throw new parser_1.ParserError(msg ?? `Expected an object literal, got ${typescript_1.default.SyntaxKind[node.kind]}`, {
|
|
173
|
+
node,
|
|
174
|
+
sourceFile,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.assertIsObjectLiteralExpression = assertIsObjectLiteralExpression;
|
|
179
|
+
function assertIsIdentifier(node, sourceFile, msg) {
|
|
180
|
+
if (!typescript_1.default.isIdentifier(node)) {
|
|
181
|
+
throw new parser_1.ParserError(msg ?? `Expected an identifier, got ${typescript_1.default.SyntaxKind[node.kind]}`, {
|
|
182
|
+
node,
|
|
183
|
+
sourceFile,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.assertIsIdentifier = assertIsIdentifier;
|
|
188
|
+
/**
|
|
189
|
+
* Convert an object literal node to a JavaScript object
|
|
190
|
+
*
|
|
191
|
+
* @param objectLiteral The object literal node to convert
|
|
192
|
+
* @param sourceFile The source file containing the object literal
|
|
193
|
+
* @param extraConversionFn Optional function to convert a node to a value. This
|
|
194
|
+
* runs before the default conversion. If this returns undefined, the default
|
|
195
|
+
* conversion will be used. (This does mean there's no way to return undefined)
|
|
196
|
+
* @returns The JavaScript object version of the object literal
|
|
197
|
+
*/
|
|
198
|
+
function convertObjectLiteralToJs(objectLiteral, sourceFile, checker, extraConversionFn) {
|
|
199
|
+
const obj = {};
|
|
200
|
+
const properties = [...objectLiteral.properties];
|
|
201
|
+
while (properties.length > 0) {
|
|
202
|
+
const prop = properties.shift();
|
|
203
|
+
// If the value is a spread assignment, we need to resolve the object it's spreading
|
|
204
|
+
// and add its properties to the current object
|
|
205
|
+
if (typescript_1.default.isSpreadAssignment(prop)) {
|
|
206
|
+
const declaration = bfsFindNode(sourceFile, sourceFile, (node) => {
|
|
207
|
+
return typescript_1.default.isVariableDeclaration(node) && node.name.getText() === prop.expression.getText();
|
|
208
|
+
});
|
|
209
|
+
if (!declaration.initializer || !typescript_1.default.isObjectLiteralExpression(declaration.initializer)) {
|
|
210
|
+
throw new parser_1.ParserError('Expected spread object to be an object literal', {
|
|
211
|
+
sourceFile,
|
|
212
|
+
node: prop,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
for (const prop of declaration.initializer.properties) {
|
|
216
|
+
properties.push(prop);
|
|
217
|
+
}
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
assertIsPropertyAssignment(prop, sourceFile);
|
|
221
|
+
if (!typescript_1.default.isIdentifier(prop.name) && !typescript_1.default.isStringLiteral(prop.name)) {
|
|
222
|
+
throw new parser_1.ParserError('Expected property key to be an identifier or String Literal', {
|
|
223
|
+
sourceFile,
|
|
224
|
+
node: prop,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
const key = prop.name.text;
|
|
228
|
+
const valueNode = prop.initializer;
|
|
229
|
+
const extraConversionResult = extraConversionFn && extraConversionFn(valueNode);
|
|
230
|
+
if (extraConversionResult !== undefined) {
|
|
231
|
+
obj[key] = extraConversionResult;
|
|
232
|
+
}
|
|
233
|
+
else if (typescript_1.default.isObjectLiteralExpression(valueNode)) {
|
|
234
|
+
// A prop mapping to an object literal, which maps each figma value to a code value
|
|
235
|
+
obj[key] = convertObjectLiteralToJs(valueNode, sourceFile, checker, extraConversionFn);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
// A prop mapping to anything else, which will be passed as a literal value
|
|
239
|
+
if (typescript_1.default.isStringLiteral(valueNode)) {
|
|
240
|
+
// Accessing `text` directly prevents the value being wrapped in quotes
|
|
241
|
+
obj[key] = valueNode.text;
|
|
242
|
+
}
|
|
243
|
+
else if (valueNode.kind === typescript_1.default.SyntaxKind.TrueKeyword) {
|
|
244
|
+
obj[key] = true;
|
|
245
|
+
}
|
|
246
|
+
else if (valueNode.kind === typescript_1.default.SyntaxKind.FalseKeyword) {
|
|
247
|
+
obj[key] = false;
|
|
248
|
+
// undefined is not a keyword in TypeScript, but actually translates to an identifier
|
|
249
|
+
// (even though confusingly ts.SyntaxKind.UndefinedKeyword exists)
|
|
250
|
+
}
|
|
251
|
+
else if (typescript_1.default.isIdentifier(valueNode) && valueNode.text === 'undefined') {
|
|
252
|
+
obj[key] = undefined;
|
|
253
|
+
}
|
|
254
|
+
else if (valueNode.kind === typescript_1.default.SyntaxKind.NullKeyword) {
|
|
255
|
+
obj[key] = null;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
obj[key] = valueNode.getText();
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return obj;
|
|
263
|
+
}
|
|
264
|
+
exports.convertObjectLiteralToJs = convertObjectLiteralToJs;
|
|
265
|
+
function getTagName(element) {
|
|
266
|
+
if (typescript_1.default.isJsxSelfClosingElement(element)) {
|
|
267
|
+
return element.tagName.getText();
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
return element.openingElement.tagName.getText();
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
exports.getTagName = getTagName;
|
|
274
|
+
function stripQuotes(node) {
|
|
275
|
+
if (node.text.startsWith('"') || node.text.startsWith("'")) {
|
|
276
|
+
return node.text.substring(1, -1);
|
|
277
|
+
}
|
|
278
|
+
return node.text;
|
|
279
|
+
}
|
|
280
|
+
exports.stripQuotes = stripQuotes;
|
|
281
|
+
//# sourceMappingURL=compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/common/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FigmaConnectMeta, PropMapping, ValueOf } from './api';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
declare function connectType<P = {}>(_component: any, _figmaNodeUrl: string, _meta?: FigmaConnectMeta<P>): void;
|
|
4
|
+
declare function booleanType(_figmaPropName: string): boolean;
|
|
5
|
+
declare function enumType<V extends string | boolean | number | symbol | undefined | JSX.Element>(_figmaPropName: string, _valueMapping: PropMapping<Record<string, V>>): ValueOf<Record<string, V>>;
|
|
6
|
+
declare function stringType(_figmaPropName: string): string;
|
|
7
|
+
declare function instanceType(_figmaPropName: string): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
8
|
+
declare function childrenType(_layers: string | string[]): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
9
|
+
export { connectType as connect, booleanType as boolean, enumType as enum, stringType as string, instanceType as instance, childrenType as children, };
|
|
10
|
+
//# sourceMappingURL=external.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/common/external.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAI;AAEpG,iBAAS,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAA;AAWrD,iBAAS,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,OAAO,EACtF,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAE5B;AAED,iBAAS,UAAU,CAAC,cAAc,EAAE,MAAM,UAEzC;AAED,iBAAS,YAAY,CAAC,cAAc,EAAE,MAAM,kFAE3C;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,kFAE/C;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,WAAW,IAAI,OAAO,EACtB,QAAQ,IAAI,IAAI,EAChB,UAAU,IAAI,MAAM,EACpB,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,GACzB,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.children = exports.instance = exports.string = exports.enum = exports.boolean = exports.connect = void 0;
|
|
27
|
+
const React = __importStar(require("react"));
|
|
28
|
+
function connectType(_component, _figmaNodeUrl, _meta) { }
|
|
29
|
+
exports.connect = connectType;
|
|
30
|
+
function booleanType(_figmaPropName, _valueMapping) {
|
|
31
|
+
if (_valueMapping) {
|
|
32
|
+
return enumType(_figmaPropName, _valueMapping);
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
exports.boolean = booleanType;
|
|
37
|
+
function enumType(_figmaPropName, _valueMapping) {
|
|
38
|
+
return Object.values(_valueMapping)[0];
|
|
39
|
+
}
|
|
40
|
+
exports.enum = enumType;
|
|
41
|
+
function stringType(_figmaPropName) {
|
|
42
|
+
return '';
|
|
43
|
+
}
|
|
44
|
+
exports.string = stringType;
|
|
45
|
+
function instanceType(_figmaPropName) {
|
|
46
|
+
return React.createElement('div');
|
|
47
|
+
}
|
|
48
|
+
exports.instance = instanceType;
|
|
49
|
+
function childrenType(_layers) {
|
|
50
|
+
return React.createElement('div');
|
|
51
|
+
}
|
|
52
|
+
exports.children = childrenType;
|
|
53
|
+
//# sourceMappingURL=external.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/common/external.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA8B;AAE9B,SAAS,WAAW,CAAS,UAAe,EAAE,aAAqB,EAAE,KAA2B,IAAG,CAAC;AAiCnF,8BAAO;AA9BxB,SAAS,WAAW,CAClB,cAAsB,EACtB,aAA2C;IAE3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAI,cAAc,EAAE,aAAa,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAuBgB,8BAAO;AArBxB,SAAS,QAAQ,CACf,cAAsB,EACtB,aAA6C;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAA+B,CAAA;AACtE,CAAC;AAiBa,wBAAI;AAflB,SAAS,UAAU,CAAC,cAAsB;IACxC,OAAO,EAAE,CAAA;AACX,CAAC;AAce,4BAAM;AAZtB,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAWiB,gCAAQ;AAT1B,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAQiB,gCAAQ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FigmaConnectLink } from './api';
|
|
2
|
+
import { Intrinsic } from './intrinsics';
|
|
3
|
+
export interface FigmaConnectJSON {
|
|
4
|
+
figmaNode: string;
|
|
5
|
+
component: string;
|
|
6
|
+
variant?: Record<string, any>;
|
|
7
|
+
source: string;
|
|
8
|
+
sourceLocation: {
|
|
9
|
+
line: number;
|
|
10
|
+
};
|
|
11
|
+
template: string;
|
|
12
|
+
templateData: {
|
|
13
|
+
props: Record<string, Intrinsic> | undefined;
|
|
14
|
+
imports?: string[];
|
|
15
|
+
nestable?: boolean;
|
|
16
|
+
};
|
|
17
|
+
language: 'typescript';
|
|
18
|
+
label: string;
|
|
19
|
+
links?: FigmaConnectLink[];
|
|
20
|
+
metadata: {
|
|
21
|
+
cliVersion: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=figma_connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma_connect.d.ts","sourceRoot":"","sources":["../../src/common/figma_connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAA;QAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,QAAQ,EAAE,YAAY,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC1B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma_connect.js","sourceRoot":"","sources":["../../src/common/figma_connect.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as ts from 'typescript';
|
|
3
|
+
import { ParserContext } from './parser';
|
|
4
|
+
export declare const API_PREFIX = "figma";
|
|
5
|
+
export declare const FIGMA_CONNECT_CALL = "figma.connect";
|
|
6
|
+
export declare enum IntrinsicKind {
|
|
7
|
+
Enum = "enum",
|
|
8
|
+
String = "string",
|
|
9
|
+
Boolean = "boolean",
|
|
10
|
+
Instance = "instance",
|
|
11
|
+
Children = "children"
|
|
12
|
+
}
|
|
13
|
+
export interface IntrinsicBase {
|
|
14
|
+
kind: IntrinsicKind;
|
|
15
|
+
args: {};
|
|
16
|
+
}
|
|
17
|
+
export type ValueMappingKind = string | boolean | number | undefined | JSX.Element | Intrinsic;
|
|
18
|
+
export interface FigmaBoolean extends IntrinsicBase {
|
|
19
|
+
kind: IntrinsicKind.Boolean;
|
|
20
|
+
args: {
|
|
21
|
+
figmaPropName: string;
|
|
22
|
+
valueMapping?: Record<'true' | 'false', ValueMappingKind>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface FigmaEnum extends IntrinsicBase {
|
|
26
|
+
kind: IntrinsicKind.Enum;
|
|
27
|
+
args: {
|
|
28
|
+
figmaPropName: string;
|
|
29
|
+
valueMapping: Record<string, ValueMappingKind>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface FigmaString extends IntrinsicBase {
|
|
33
|
+
kind: IntrinsicKind.String;
|
|
34
|
+
args: {
|
|
35
|
+
figmaPropName: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export interface FigmaInstance extends IntrinsicBase {
|
|
39
|
+
kind: IntrinsicKind.Instance;
|
|
40
|
+
args: {
|
|
41
|
+
figmaPropName: string;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface FigmaChildren extends IntrinsicBase {
|
|
45
|
+
kind: IntrinsicKind.Children;
|
|
46
|
+
args: {
|
|
47
|
+
layers: string[];
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export type Intrinsic = FigmaBoolean | FigmaEnum | FigmaString | FigmaInstance | FigmaChildren;
|
|
51
|
+
/**
|
|
52
|
+
* Parses a call expression to an intrinsic
|
|
53
|
+
*
|
|
54
|
+
* @param exp Expression to parse
|
|
55
|
+
* @param parserContext parser context
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
export declare function parseIntrinsic(exp: ts.CallExpression, parserContext: ParserContext): Intrinsic;
|
|
59
|
+
export declare function valueMappingToString(valueMapping: Record<string, ValueMappingKind>): string;
|
|
60
|
+
export declare function intrinsicToString({ kind, args }: Intrinsic): string;
|
|
61
|
+
//# sourceMappingURL=intrinsics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../../src/common/intrinsics.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAiB,aAAa,EAAe,MAAM,UAAU,CAAA;AAMpE,eAAO,MAAM,UAAU,UAAU,CAAA;AACjC,eAAO,MAAM,kBAAkB,kBAA0B,CAAA;AAEzD,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,EAAE,CAAA;CACT;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,OAAO,GAAG,SAAS,CAAA;AAE9F,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAA;IAC3B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,gBAAgB,CAAC,CAAA;KAC1D,CAAA;CACF;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,IAAI,EAAE,aAAa,CAAC,IAAI,CAAA;IACxB,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;KAC/C,CAAA;CACF;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAA;IAC1B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAA;IAC5B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAA;IAC5B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,CAAA;AA6K9F;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS,CAW9F;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAmB3F;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,MAAM,CA+BnE"}
|