@figma/code-connect 1.0.6 → 1.1.1
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 +48 -541
- package/dist/client/figma_client.d.ts +1 -1
- package/dist/client/figma_client.js +9 -7
- package/dist/client/figma_client.js.map +1 -1
- package/dist/commands/connect.d.ts +4 -2
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +97 -49
- package/dist/commands/connect.js.map +1 -1
- package/dist/{common → connect}/api.d.ts +6 -87
- package/dist/connect/api.d.ts.map +1 -0
- package/dist/{common → connect}/api.js.map +1 -1
- package/dist/connect/create.d.ts.map +1 -1
- package/dist/connect/create.js +4 -0
- package/dist/connect/create.js.map +1 -1
- package/dist/connect/create_common.d.ts +7 -0
- package/dist/connect/create_common.d.ts.map +1 -0
- package/dist/connect/create_common.js +19 -0
- package/dist/connect/create_common.js.map +1 -0
- package/dist/connect/external_types.d.ts +8 -0
- package/dist/connect/external_types.d.ts.map +1 -0
- package/dist/connect/external_types.js +31 -0
- package/dist/connect/external_types.js.map +1 -0
- package/dist/connect/figma_connect.d.ts.map +1 -0
- package/dist/connect/figma_connect.js.map +1 -0
- package/dist/connect/figma_rest_api.d.ts +7 -0
- package/dist/connect/figma_rest_api.d.ts.map +1 -1
- package/dist/connect/figma_rest_api.js.map +1 -1
- package/dist/connect/index_common.d.ts +3 -0
- package/dist/connect/index_common.d.ts.map +1 -0
- package/dist/connect/index_common.js +23 -0
- package/dist/connect/index_common.js.map +1 -0
- package/dist/{common → connect}/intrinsics.d.ts +4 -3
- package/dist/connect/intrinsics.d.ts.map +1 -0
- package/dist/{common → connect}/intrinsics.js +48 -24
- package/dist/connect/intrinsics.js.map +1 -0
- package/dist/connect/parser_common.d.ts +144 -0
- package/dist/connect/parser_common.d.ts.map +1 -0
- package/dist/connect/parser_common.js +297 -0
- package/dist/connect/parser_common.js.map +1 -0
- package/dist/connect/parser_executable_types.d.ts +20 -23
- package/dist/connect/parser_executable_types.d.ts.map +1 -1
- package/dist/connect/parser_executable_types.js.map +1 -1
- package/dist/connect/parser_executables.js +1 -1
- package/dist/connect/parser_executables.js.map +1 -1
- package/dist/connect/project.d.ts +20 -5
- package/dist/connect/project.d.ts.map +1 -1
- package/dist/connect/project.js +79 -16
- package/dist/connect/project.js.map +1 -1
- package/dist/connect/upload.d.ts +1 -1
- package/dist/connect/upload.d.ts.map +1 -1
- package/dist/connect/validation.d.ts +1 -1
- package/dist/connect/validation.d.ts.map +1 -1
- package/dist/connect/wizard/helpers.d.ts.map +1 -1
- package/dist/connect/wizard/helpers.js +18 -14
- package/dist/connect/wizard/helpers.js.map +1 -1
- package/dist/connect/wizard/prop_mapping.d.ts +12 -7
- package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
- package/dist/connect/wizard/prop_mapping.js +88 -89
- package/dist/connect/wizard/prop_mapping.js.map +1 -1
- package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
- package/dist/connect/wizard/run_wizard.js +8 -3
- package/dist/connect/wizard/run_wizard.js.map +1 -1
- package/dist/connect/wizard/signature_extraction.d.ts +7 -0
- package/dist/connect/wizard/signature_extraction.d.ts.map +1 -0
- package/dist/connect/wizard/signature_extraction.js +46 -0
- package/dist/connect/wizard/signature_extraction.js.map +1 -0
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts +2 -0
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts.map +1 -0
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.js +9 -0
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.js.map +1 -0
- package/dist/html/__test__/parser/examples/NoExample.figma.d.ts +2 -0
- package/dist/html/__test__/parser/examples/NoExample.figma.d.ts.map +1 -0
- package/dist/html/__test__/parser/examples/NoExample.figma.js +9 -0
- package/dist/html/__test__/parser/examples/NoExample.figma.js.map +1 -0
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts +2 -0
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts.map +1 -0
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js +33 -0
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js.map +1 -0
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts +2 -0
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts.map +1 -0
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js +15 -0
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js.map +1 -0
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts +2 -0
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts.map +1 -0
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js +15 -0
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js.map +1 -0
- package/dist/html/__test__/parser/parser.test.d.ts +2 -0
- package/dist/html/__test__/parser/parser.test.d.ts.map +1 -0
- package/dist/html/__test__/parser/parser.test.js +50 -0
- package/dist/html/__test__/parser/parser.test.js.map +1 -0
- package/dist/html/create.d.ts +4 -0
- package/dist/html/create.d.ts.map +1 -0
- package/dist/html/create.js +81 -0
- package/dist/html/create.js.map +1 -0
- package/dist/html/external.d.ts +8 -0
- package/dist/html/external.d.ts.map +1 -0
- package/dist/html/external.js +25 -0
- package/dist/html/external.js.map +1 -0
- package/dist/html/index_html.d.ts +77 -0
- package/dist/html/index_html.d.ts.map +1 -0
- package/dist/html/index_html.js +42 -0
- package/dist/html/index_html.js.map +1 -0
- package/dist/html/parser.d.ts +19 -0
- package/dist/html/parser.d.ts.map +1 -0
- package/dist/html/parser.js +487 -0
- package/dist/html/parser.js.map +1 -0
- package/dist/html/parser_template_helpers.d.ts +2 -0
- package/dist/html/parser_template_helpers.d.ts.map +1 -0
- package/dist/html/parser_template_helpers.js +68 -0
- package/dist/html/parser_template_helpers.js.map +1 -0
- package/dist/html/template_literal.d.ts +5 -0
- package/dist/html/template_literal.d.ts.map +1 -0
- package/dist/html/template_literal.js +8 -0
- package/dist/html/template_literal.js.map +1 -0
- package/dist/parser_scripts/get_swift_parser_dir.d.ts +1 -1
- package/dist/parser_scripts/get_swift_parser_dir.d.ts.map +1 -1
- package/dist/parser_scripts/get_swift_parser_dir.js +38 -10
- package/dist/parser_scripts/get_swift_parser_dir.js.map +1 -1
- package/dist/react/create.d.ts +5 -0
- package/dist/react/create.d.ts.map +1 -1
- package/dist/react/create.js +144 -42
- package/dist/react/create.js.map +1 -1
- package/dist/react/external.d.ts +9 -0
- package/dist/react/external.d.ts.map +1 -0
- package/dist/{common → react}/external.js +8 -28
- package/dist/react/external.js.map +1 -0
- package/dist/react/index_react.d.ts +94 -0
- package/dist/react/index_react.d.ts.map +1 -0
- package/dist/{index.js → react/index_react.js} +5 -19
- package/dist/react/index_react.js.map +1 -0
- package/dist/react/parser.d.ts +6 -38
- package/dist/react/parser.d.ts.map +1 -1
- package/dist/react/parser.js +137 -295
- package/dist/react/parser.js.map +1 -1
- package/dist/react/parser_template_helpers.d.ts +15 -15
- package/dist/react/parser_template_helpers.d.ts.map +1 -1
- package/dist/react/parser_template_helpers.js +51 -35
- package/dist/react/parser_template_helpers.js.map +1 -1
- package/dist/storybook/convert.d.ts +1 -1
- package/dist/storybook/convert.d.ts.map +1 -1
- package/dist/storybook/convert.js +6 -4
- package/dist/storybook/convert.js.map +1 -1
- package/dist/storybook/external.d.ts +1 -1
- package/dist/storybook/external.d.ts.map +1 -1
- package/dist/typescript/compiler.d.ts +2 -2
- package/dist/typescript/compiler.d.ts.map +1 -1
- package/dist/typescript/compiler.js +50 -23
- package/dist/typescript/compiler.js.map +1 -1
- package/package.json +28 -8
- package/dist/common/__test__/project.test.d.ts +0 -2
- package/dist/common/__test__/project.test.d.ts.map +0 -1
- package/dist/common/__test__/project.test.js +0 -14
- package/dist/common/__test__/project.test.js.map +0 -1
- package/dist/common/api.d.ts.map +0 -1
- package/dist/common/external.d.ts +0 -14
- package/dist/common/external.d.ts.map +0 -1
- package/dist/common/external.js.map +0 -1
- package/dist/common/figma_connect.d.ts.map +0 -1
- package/dist/common/figma_connect.js.map +0 -1
- package/dist/common/intrinsics.d.ts.map +0 -1
- package/dist/common/intrinsics.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- /package/dist/{common → connect}/api.js +0 -0
- /package/dist/{common → connect}/figma_connect.d.ts +0 -0
- /package/dist/{common → connect}/figma_connect.js +0 -0
|
@@ -0,0 +1,297 @@
|
|
|
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.parseCodeConnect = exports.parseImports = exports.parseVariant = exports.parseLinks = exports.findDescendants = exports.isFigmaConnectCall = exports.isFigmaConnectFile = exports.getReferencedPropsForTemplate = exports.visitPropReferencingNode = exports.makeCreatePropPlaceholder = exports.InternalError = exports.ParserError = exports.getPositionInSourceFile = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const intrinsics_1 = require("./intrinsics");
|
|
9
|
+
const logging_1 = require("../common/logging");
|
|
10
|
+
const console_1 = require("console");
|
|
11
|
+
const compiler_1 = require("../typescript/compiler");
|
|
12
|
+
function getPositionInSourceFile(node, sourceFile) {
|
|
13
|
+
return sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
|
|
14
|
+
}
|
|
15
|
+
exports.getPositionInSourceFile = getPositionInSourceFile;
|
|
16
|
+
class ParserError extends Error {
|
|
17
|
+
constructor(message, context) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'ParserError';
|
|
20
|
+
this.sourceFileName = context?.sourceFile.fileName || '';
|
|
21
|
+
this.sourceFilePosition =
|
|
22
|
+
context && context.node
|
|
23
|
+
? getPositionInSourceFile(context.node, context.sourceFile) || null
|
|
24
|
+
: null;
|
|
25
|
+
}
|
|
26
|
+
toString() {
|
|
27
|
+
let msg = `${(0, logging_1.highlight)((0, console_1.error)(this.name))}: ${this.message}\n`;
|
|
28
|
+
if (this.sourceFileName && this.sourceFilePosition) {
|
|
29
|
+
msg += ` -> ${(0, logging_1.reset)(this.sourceFileName)}:${this.sourceFilePosition.line}:${this.sourceFilePosition.character}\n`;
|
|
30
|
+
}
|
|
31
|
+
return msg;
|
|
32
|
+
}
|
|
33
|
+
toDebugString() {
|
|
34
|
+
return this.toString() + `\n ${this.stack}`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.ParserError = ParserError;
|
|
38
|
+
class InternalError extends ParserError {
|
|
39
|
+
constructor(message) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.name = 'InternalError';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.InternalError = InternalError;
|
|
45
|
+
/**
|
|
46
|
+
* Factory to create a function that is used to create `__PROP__(propName)`
|
|
47
|
+
* function nodes, which are used to replace prop references and ultimately
|
|
48
|
+
* replaced.
|
|
49
|
+
*
|
|
50
|
+
* @returns Function to create `__PROP__(propName)` function nodes
|
|
51
|
+
*/
|
|
52
|
+
function makeCreatePropPlaceholder({ propMappings, referencedProps, sourceFile, }) {
|
|
53
|
+
return function ({ name, node, wrapInJsxExpression = false, }) {
|
|
54
|
+
let propReferenceName = name;
|
|
55
|
+
// for nested prop references like `nested.prop`, we only want to look for
|
|
56
|
+
// the prop mapping of `nested`, but include the full `nested.prop` in the
|
|
57
|
+
// __PROP__ call
|
|
58
|
+
if (name.includes('.')) {
|
|
59
|
+
propReferenceName = name.split('.')[0];
|
|
60
|
+
}
|
|
61
|
+
const mappedProp = propMappings && propMappings[propReferenceName];
|
|
62
|
+
if (!mappedProp) {
|
|
63
|
+
throw new ParserError(`Could not find prop mapping for ${propReferenceName} in the props object`, {
|
|
64
|
+
sourceFile,
|
|
65
|
+
node,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
referencedProps.add(propReferenceName);
|
|
69
|
+
const callExpression = typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier('__PROP__'), undefined, [typescript_1.default.factory.createStringLiteral(name)]);
|
|
70
|
+
if (wrapInJsxExpression) {
|
|
71
|
+
return typescript_1.default.factory.createJsxExpression(undefined, callExpression);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return callExpression;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
exports.makeCreatePropPlaceholder = makeCreatePropPlaceholder;
|
|
79
|
+
/**
|
|
80
|
+
* TS AST visitor function for use with example functions, which replaces
|
|
81
|
+
* references to the `props` argument in various forms in the example code with
|
|
82
|
+
* `__PROP__(propName)` placeholders (created with a createPropPlaceholder
|
|
83
|
+
* function).
|
|
84
|
+
*
|
|
85
|
+
* This is called when transforming the TS AST, and allows us to normalise the
|
|
86
|
+
* different forms of supported prop references into a single representation,
|
|
87
|
+
* which we can then handle consistently (currently we replace the placeholders,
|
|
88
|
+
* using a regex).
|
|
89
|
+
*
|
|
90
|
+
* @returns Placeholder node, or undefined if the node is not a supported prop
|
|
91
|
+
* reference (which results in no transformation)
|
|
92
|
+
*/
|
|
93
|
+
function visitPropReferencingNode({ propsParameter, node, createPropPlaceholder, useJsx, }) {
|
|
94
|
+
// `props.` notation
|
|
95
|
+
if (typescript_1.default.isIdentifier(propsParameter.name) &&
|
|
96
|
+
typescript_1.default.isPropertyAccessExpression(node) &&
|
|
97
|
+
node.expression.getText().startsWith(propsParameter.name.getText())) {
|
|
98
|
+
// nested notation e.g `props.nested.prop`
|
|
99
|
+
if (typescript_1.default.isPropertyAccessExpression(node.expression)) {
|
|
100
|
+
const name = `${node.expression.name.getText()}.${node.name.getText()}`;
|
|
101
|
+
return createPropPlaceholder({ name, node });
|
|
102
|
+
}
|
|
103
|
+
const name = node.name.getText();
|
|
104
|
+
return createPropPlaceholder({ name, node });
|
|
105
|
+
}
|
|
106
|
+
// `props[""]` notation
|
|
107
|
+
if (typescript_1.default.isIdentifier(propsParameter.name) &&
|
|
108
|
+
typescript_1.default.isElementAccessExpression(node) &&
|
|
109
|
+
node.expression.getText().startsWith(propsParameter.name.getText()) &&
|
|
110
|
+
typescript_1.default.isStringLiteral(node.argumentExpression)) {
|
|
111
|
+
const name = (0, compiler_1.stripQuotesFromNode)(node.argumentExpression);
|
|
112
|
+
return createPropPlaceholder({ name, node });
|
|
113
|
+
}
|
|
114
|
+
// object destructuring references
|
|
115
|
+
if (typescript_1.default.isObjectBindingPattern(propsParameter.name)) {
|
|
116
|
+
const isValidNode = useJsx ? typescript_1.default.isJsxExpression(node) : typescript_1.default.isIdentifier(node);
|
|
117
|
+
const target = useJsx ? node.expression : node;
|
|
118
|
+
if (isValidNode &&
|
|
119
|
+
target &&
|
|
120
|
+
propsParameter.name.elements.find((el) => target?.getText().startsWith(el.name.getText()))) {
|
|
121
|
+
const name = target.getText();
|
|
122
|
+
return createPropPlaceholder({ name, node, wrapInJsxExpression: useJsx });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
exports.visitPropReferencingNode = visitPropReferencingNode;
|
|
128
|
+
/**
|
|
129
|
+
* Get template code to create variables referencing the props in the prop
|
|
130
|
+
* mappings. This converts the prop mappings into JS calls like `const propName
|
|
131
|
+
* = figma.properties.string('Prop Name')`, which can then be prepended to the
|
|
132
|
+
* template code.
|
|
133
|
+
*
|
|
134
|
+
* @returns Template code string
|
|
135
|
+
*/
|
|
136
|
+
function getReferencedPropsForTemplate({ propMappings, referencedProps, exp, sourceFile, }) {
|
|
137
|
+
let templateCode = '';
|
|
138
|
+
if (propMappings && referencedProps.size > 0) {
|
|
139
|
+
referencedProps.forEach((prop) => {
|
|
140
|
+
const propMapping = propMappings[prop];
|
|
141
|
+
if (!propMapping) {
|
|
142
|
+
throw new ParserError(`Could not find prop mapping for ${prop}`, {
|
|
143
|
+
sourceFile,
|
|
144
|
+
node: exp,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
templateCode += `const ${prop} = ${(0, intrinsics_1.intrinsicToString)(propMapping)}\n`;
|
|
148
|
+
});
|
|
149
|
+
templateCode += '\n';
|
|
150
|
+
}
|
|
151
|
+
return templateCode;
|
|
152
|
+
}
|
|
153
|
+
exports.getReferencedPropsForTemplate = getReferencedPropsForTemplate;
|
|
154
|
+
/**
|
|
155
|
+
* Checks if a file contains Code Connect by looking for the `figma.connect()` function call
|
|
156
|
+
*/
|
|
157
|
+
function isFigmaConnectFile(program, file, extension) {
|
|
158
|
+
// We don't support Code Connect in JSX and this throws an error if we let it proceed
|
|
159
|
+
if (!file.endsWith(`.${extension}`)) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
const sourceFile = program.getSourceFile(file);
|
|
163
|
+
if (!sourceFile) {
|
|
164
|
+
throw new InternalError(`Could not find source file for ${file}`);
|
|
165
|
+
}
|
|
166
|
+
return (findDescendants(sourceFile, (node) => {
|
|
167
|
+
if (isFigmaConnectCall(node, sourceFile)) {
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
return false;
|
|
171
|
+
}).length > 0);
|
|
172
|
+
}
|
|
173
|
+
exports.isFigmaConnectFile = isFigmaConnectFile;
|
|
174
|
+
/**
|
|
175
|
+
* Checks if an AST node is a `figma.connect()` call
|
|
176
|
+
*
|
|
177
|
+
* @param node AST node
|
|
178
|
+
* @param sourceFile Source file
|
|
179
|
+
* @returns True if the node is a `figma.connect()` call
|
|
180
|
+
*/
|
|
181
|
+
function isFigmaConnectCall(node, sourceFile) {
|
|
182
|
+
return (typescript_1.default.isCallExpression(node) && node.expression.getText(sourceFile).includes(intrinsics_1.FIGMA_CONNECT_CALL));
|
|
183
|
+
}
|
|
184
|
+
exports.isFigmaConnectCall = isFigmaConnectCall;
|
|
185
|
+
function findDescendants(node, cb) {
|
|
186
|
+
const matches = [];
|
|
187
|
+
function visit(node) {
|
|
188
|
+
if (cb(node)) {
|
|
189
|
+
matches.push(node);
|
|
190
|
+
}
|
|
191
|
+
typescript_1.default.forEachChild(node, visit);
|
|
192
|
+
}
|
|
193
|
+
visit(node);
|
|
194
|
+
return matches;
|
|
195
|
+
}
|
|
196
|
+
exports.findDescendants = findDescendants;
|
|
197
|
+
/**
|
|
198
|
+
* Parses the `links` field of a `figma.connect()` call
|
|
199
|
+
*
|
|
200
|
+
* @param linksArray an ArrayLiteralExpression
|
|
201
|
+
* @param parserContext Parser context
|
|
202
|
+
* @returns An array of link objects
|
|
203
|
+
*/
|
|
204
|
+
function parseLinks(linksArray, parserContext) {
|
|
205
|
+
const { sourceFile } = parserContext;
|
|
206
|
+
const links = [];
|
|
207
|
+
for (const element of linksArray.elements) {
|
|
208
|
+
(0, compiler_1.assertIsObjectLiteralExpression)(element, sourceFile, `'links' must be an array literal with objects of the format { name: string, url: string }`);
|
|
209
|
+
const name = (0, compiler_1.parsePropertyOfType)({
|
|
210
|
+
objectLiteralNode: element,
|
|
211
|
+
propertyName: 'name',
|
|
212
|
+
predicate: typescript_1.default.isStringLiteral,
|
|
213
|
+
parserContext,
|
|
214
|
+
required: true,
|
|
215
|
+
errorMessage: "The 'name' property must be a string literal",
|
|
216
|
+
});
|
|
217
|
+
const url = (0, compiler_1.parsePropertyOfType)({
|
|
218
|
+
objectLiteralNode: element,
|
|
219
|
+
propertyName: 'url',
|
|
220
|
+
predicate: typescript_1.default.isStringLiteral,
|
|
221
|
+
parserContext,
|
|
222
|
+
required: true,
|
|
223
|
+
errorMessage: "The 'url' property must be a string literal",
|
|
224
|
+
});
|
|
225
|
+
if (name && url) {
|
|
226
|
+
links.push({ name: (0, compiler_1.stripQuotesFromNode)(name), url: (0, compiler_1.stripQuotesFromNode)(url) });
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return links;
|
|
230
|
+
}
|
|
231
|
+
exports.parseLinks = parseLinks;
|
|
232
|
+
function parseVariant(variantMap, sourceFile, checker) {
|
|
233
|
+
return (0, compiler_1.convertObjectLiteralToJs)(variantMap, sourceFile, checker, (valueNode) => {
|
|
234
|
+
if (!typescript_1.default.isObjectLiteralElement(valueNode) &&
|
|
235
|
+
!typescript_1.default.isStringLiteral(valueNode) &&
|
|
236
|
+
!typescript_1.default.isNumericLiteral(valueNode) &&
|
|
237
|
+
valueNode.kind !== typescript_1.default.SyntaxKind.TrueKeyword &&
|
|
238
|
+
valueNode.kind !== typescript_1.default.SyntaxKind.FalseKeyword) {
|
|
239
|
+
throw new ParserError(`Invalid value for variant, got: ${valueNode.getText()}`, {
|
|
240
|
+
node: valueNode,
|
|
241
|
+
sourceFile,
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
exports.parseVariant = parseVariant;
|
|
247
|
+
/**
|
|
248
|
+
* Parses the `imports` field of a `figma.connect()` call
|
|
249
|
+
*
|
|
250
|
+
* @param importsArray an ArrayLiteralExpression
|
|
251
|
+
* @param parserContext Parser context
|
|
252
|
+
* @returns An array of link objects
|
|
253
|
+
*/
|
|
254
|
+
function parseImports(importsArray, parserContext) {
|
|
255
|
+
const { sourceFile } = parserContext;
|
|
256
|
+
const imports = [];
|
|
257
|
+
for (const element of importsArray.elements) {
|
|
258
|
+
(0, compiler_1.assertIsStringLiteral)(element, sourceFile, `'imports' must be an array literal with strings`);
|
|
259
|
+
imports.push((0, compiler_1.stripQuotesFromNode)(element));
|
|
260
|
+
}
|
|
261
|
+
return imports;
|
|
262
|
+
}
|
|
263
|
+
exports.parseImports = parseImports;
|
|
264
|
+
async function parseCodeConnect({ program, file, config, absPath, parseFn, resolveImportsFn, parseOptions = {}, }) {
|
|
265
|
+
const sourceFile = program.getSourceFile(file);
|
|
266
|
+
if (!sourceFile) {
|
|
267
|
+
throw new InternalError(`Could not find source file for ${file}`);
|
|
268
|
+
}
|
|
269
|
+
const parserContext = {
|
|
270
|
+
checker: program.getTypeChecker(),
|
|
271
|
+
sourceFile,
|
|
272
|
+
resolvedImports: resolveImportsFn ? resolveImportsFn(program, sourceFile) : {},
|
|
273
|
+
config,
|
|
274
|
+
absPath,
|
|
275
|
+
};
|
|
276
|
+
const codeConnectObjects = [];
|
|
277
|
+
const nodes = [parserContext.sourceFile];
|
|
278
|
+
while (nodes.length > 0) {
|
|
279
|
+
const node = nodes.shift();
|
|
280
|
+
if (isFigmaConnectCall(node, parserContext.sourceFile)) {
|
|
281
|
+
const doc = await parseFn(node, parserContext, parseOptions);
|
|
282
|
+
if (doc) {
|
|
283
|
+
codeConnectObjects.push(doc);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
nodes.push(...node.getChildren(parserContext.sourceFile));
|
|
287
|
+
}
|
|
288
|
+
if (codeConnectObjects.length === 0) {
|
|
289
|
+
throw new ParserError(`Didn't find any calls to figma.connect()`, {
|
|
290
|
+
sourceFile: parserContext.sourceFile,
|
|
291
|
+
node: parserContext.sourceFile,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
return codeConnectObjects;
|
|
295
|
+
}
|
|
296
|
+
exports.parseCodeConnect = parseCodeConnect;
|
|
297
|
+
//# sourceMappingURL=parser_common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser_common.js","sourceRoot":"","sources":["../../src/connect/parser_common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { Intrinsic } from '../connect/intrinsics';
|
|
3
3
|
export type ParseRequestPayload = {
|
|
4
4
|
mode: 'PARSE';
|
|
5
5
|
paths: string[];
|
|
@@ -76,45 +76,45 @@ export declare const ParseResponsePayload: z.ZodObject<{
|
|
|
76
76
|
url: string;
|
|
77
77
|
}>, "many">>;
|
|
78
78
|
}, "strip", z.ZodTypeAny, {
|
|
79
|
-
figmaNode: string;
|
|
80
79
|
label: string;
|
|
81
|
-
language: string;
|
|
82
80
|
template: string;
|
|
81
|
+
figmaNode: string;
|
|
83
82
|
templateData: {
|
|
84
83
|
props: Record<string, any>;
|
|
85
84
|
imports?: string[] | undefined;
|
|
86
85
|
nestable?: boolean | undefined;
|
|
87
86
|
};
|
|
87
|
+
language: string;
|
|
88
88
|
variant?: Record<string, any> | undefined;
|
|
89
89
|
links?: {
|
|
90
90
|
name: string;
|
|
91
91
|
url: string;
|
|
92
92
|
}[] | undefined;
|
|
93
|
-
component?: string | undefined;
|
|
94
93
|
source?: string | undefined;
|
|
95
94
|
sourceLocation?: {
|
|
96
95
|
line: number;
|
|
97
96
|
} | undefined;
|
|
97
|
+
component?: string | undefined;
|
|
98
98
|
}, {
|
|
99
|
-
figmaNode: string;
|
|
100
99
|
label: string;
|
|
101
|
-
language: string;
|
|
102
100
|
template: string;
|
|
101
|
+
figmaNode: string;
|
|
103
102
|
templateData: {
|
|
104
103
|
props: Record<string, any>;
|
|
105
104
|
imports?: string[] | undefined;
|
|
106
105
|
nestable?: boolean | undefined;
|
|
107
106
|
};
|
|
107
|
+
language: string;
|
|
108
108
|
variant?: Record<string, any> | undefined;
|
|
109
109
|
links?: {
|
|
110
110
|
name: string;
|
|
111
111
|
url: string;
|
|
112
112
|
}[] | undefined;
|
|
113
|
-
component?: string | undefined;
|
|
114
113
|
source?: string | undefined;
|
|
115
114
|
sourceLocation?: {
|
|
116
115
|
line: number;
|
|
117
116
|
} | undefined;
|
|
117
|
+
component?: string | undefined;
|
|
118
118
|
}>, "many">;
|
|
119
119
|
messages: z.ZodArray<z.ZodObject<{
|
|
120
120
|
level: z.ZodUnion<[z.ZodLiteral<"DEBUG">, z.ZodLiteral<"INFO">, z.ZodLiteral<"WARN">, z.ZodLiteral<"ERROR">]>;
|
|
@@ -149,25 +149,25 @@ export declare const ParseResponsePayload: z.ZodObject<{
|
|
|
149
149
|
}>, "many">;
|
|
150
150
|
}, "strip", z.ZodTypeAny, {
|
|
151
151
|
docs: {
|
|
152
|
-
figmaNode: string;
|
|
153
152
|
label: string;
|
|
154
|
-
language: string;
|
|
155
153
|
template: string;
|
|
154
|
+
figmaNode: string;
|
|
156
155
|
templateData: {
|
|
157
156
|
props: Record<string, any>;
|
|
158
157
|
imports?: string[] | undefined;
|
|
159
158
|
nestable?: boolean | undefined;
|
|
160
159
|
};
|
|
160
|
+
language: string;
|
|
161
161
|
variant?: Record<string, any> | undefined;
|
|
162
162
|
links?: {
|
|
163
163
|
name: string;
|
|
164
164
|
url: string;
|
|
165
165
|
}[] | undefined;
|
|
166
|
-
component?: string | undefined;
|
|
167
166
|
source?: string | undefined;
|
|
168
167
|
sourceLocation?: {
|
|
169
168
|
line: number;
|
|
170
169
|
} | undefined;
|
|
170
|
+
component?: string | undefined;
|
|
171
171
|
}[];
|
|
172
172
|
messages: {
|
|
173
173
|
message: string;
|
|
@@ -180,25 +180,25 @@ export declare const ParseResponsePayload: z.ZodObject<{
|
|
|
180
180
|
}[];
|
|
181
181
|
}, {
|
|
182
182
|
docs: {
|
|
183
|
-
figmaNode: string;
|
|
184
183
|
label: string;
|
|
185
|
-
language: string;
|
|
186
184
|
template: string;
|
|
185
|
+
figmaNode: string;
|
|
187
186
|
templateData: {
|
|
188
187
|
props: Record<string, any>;
|
|
189
188
|
imports?: string[] | undefined;
|
|
190
189
|
nestable?: boolean | undefined;
|
|
191
190
|
};
|
|
191
|
+
language: string;
|
|
192
192
|
variant?: Record<string, any> | undefined;
|
|
193
193
|
links?: {
|
|
194
194
|
name: string;
|
|
195
195
|
url: string;
|
|
196
196
|
}[] | undefined;
|
|
197
|
-
component?: string | undefined;
|
|
198
197
|
source?: string | undefined;
|
|
199
198
|
sourceLocation?: {
|
|
200
199
|
line: number;
|
|
201
200
|
} | undefined;
|
|
201
|
+
component?: string | undefined;
|
|
202
202
|
}[];
|
|
203
203
|
messages: {
|
|
204
204
|
message: string;
|
|
@@ -210,11 +210,12 @@ export declare const ParseResponsePayload: z.ZodObject<{
|
|
|
210
210
|
} | undefined;
|
|
211
211
|
}[];
|
|
212
212
|
}>;
|
|
213
|
-
export type
|
|
214
|
-
export type
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
export type PropMapping = Record<string, Intrinsic>;
|
|
214
|
+
export type ComponentPropertyDefinition = {
|
|
215
|
+
type: 'BOOLEAN' | 'INSTANCE_SWAP' | 'TEXT' | 'VARIANT';
|
|
216
|
+
defaultValue: boolean | string;
|
|
217
|
+
variantOptions?: string[];
|
|
218
|
+
};
|
|
218
219
|
export type CreateRequestPayload = {
|
|
219
220
|
mode: 'CREATE';
|
|
220
221
|
destinationDir: string;
|
|
@@ -228,11 +229,7 @@ export type CreateRequestPayload = {
|
|
|
228
229
|
name: string;
|
|
229
230
|
normalizedName: string;
|
|
230
231
|
type: 'COMPONENT' | 'COMPONENT_SET';
|
|
231
|
-
componentPropertyDefinitions: Record<string,
|
|
232
|
-
type: 'BOOLEAN' | 'INSTANCE_SWAP' | 'TEXT' | 'VARIANT';
|
|
233
|
-
defaultValue: boolean | string;
|
|
234
|
-
variantOptions?: string[];
|
|
235
|
-
}>;
|
|
232
|
+
componentPropertyDefinitions: Record<string, ComponentPropertyDefinition>;
|
|
236
233
|
};
|
|
237
234
|
config: Record<string, any>;
|
|
238
235
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser_executable_types.d.ts","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"parser_executable_types.d.ts","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAA;IAGb,KAAK,EAAE,MAAM,EAAE,CAAA;IAIf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC5B,CAAA;AAOD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAuBpC,CAAA;AASD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8D/B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEnD,MAAM,MAAM,2BAA2B,GAAG;IAExC,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAAA;IAEtD,YAAY,EAAE,OAAO,GAAG,MAAM,CAAA;IAE9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,CAAA;IAId,cAAc,EAAE,MAAM,CAAA;IAGtB,eAAe,CAAC,EAAE,MAAM,CAAA;IAGxB,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,WAAW,CAAC,EAAE,WAAW,CAAA;IAIzB,SAAS,EAAE;QAGT,YAAY,EAAE,MAAM,CAAA;QAEpB,EAAE,EAAE,MAAM,CAAA;QAEV,IAAI,EAAE,MAAM,CAAA;QAGZ,cAAc,EAAE,MAAM,CAAA;QAEtB,IAAI,EAAE,WAAW,GAAG,eAAe,CAAA;QAEnC,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;KAC1E,CAAA;IAID,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser_executable_types.js","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser_executable_types.js","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ const temporaryInputFilePath = 'tmp/figma-code-connect-parser-input.json.tmp';
|
|
|
15
15
|
const FIRST_PARTY_PARSERS = {
|
|
16
16
|
swift: {
|
|
17
17
|
command: async (cwd, config, mode) => {
|
|
18
|
-
return `swift run --package-path ${await (0, get_swift_parser_dir_1.getSwiftParserDir)(cwd, config.xcodeprojPath)} figma-swift`;
|
|
18
|
+
return `swift run --package-path ${await (0, get_swift_parser_dir_1.getSwiftParserDir)(cwd, config.xcodeprojPath, config.swiftPackagePath)} figma-swift`;
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
compose: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser_executables.js","sourceRoot":"","sources":["../../src/connect/parser_executables.ts"],"names":[],"mappings":";;;;;;AACA,+CAAyD;AAWzD,6CAAmC;AACnC,iFAA0E;AAC1E,4CAAmB;AACnB,gDAAuB;AACvB,yEAG2C;AAC3C,qEAA4E;AAE5E,MAAM,sBAAsB,GAAG,8CAA8C,CAAA;AAW7E,MAAM,mBAAmB,GAAmD;IAC1E,KAAK,EAAE;QACL,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACnC,OAAO,4BAA4B,MAAM,IAAA,wCAAiB,EAAC,GAAG,EAAG,MAAc,CAAC,aAAa,CAAC,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"parser_executables.js","sourceRoot":"","sources":["../../src/connect/parser_executables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
export declare const DEFAULT_INCLUDE_GLOBS_BY_PARSER: {
|
|
3
3
|
react: string[];
|
|
4
|
+
html: string[];
|
|
4
5
|
swift: string[];
|
|
5
6
|
compose: string[];
|
|
6
7
|
__unit_test__: string[];
|
|
7
8
|
};
|
|
8
9
|
export type FirstPartyExecutableParser = 'swift' | 'compose' | '__unit_test__';
|
|
9
|
-
export type FirstPartyParser = 'react' | FirstPartyExecutableParser;
|
|
10
|
-
type BaseCodeConnectConfig = {
|
|
10
|
+
export type FirstPartyParser = 'react' | 'html' | FirstPartyExecutableParser;
|
|
11
|
+
export type BaseCodeConnectConfig = {
|
|
11
12
|
/**
|
|
12
13
|
* Specify glob patterns for files (relative to the project root) to be
|
|
13
14
|
* included when looking for source files. If not specified, all files
|
|
@@ -71,8 +72,13 @@ export type CodeConnectReactConfig = BaseCodeConnectConfig & {
|
|
|
71
72
|
url: string;
|
|
72
73
|
};
|
|
73
74
|
};
|
|
74
|
-
export type
|
|
75
|
-
export
|
|
75
|
+
export type CodeConnectHtmlConfig = BaseCodeConnectConfig & {};
|
|
76
|
+
export type CodeConnectConfig = CodeConnectReactConfig | CodeConnectExecutableParserConfig | CodeConnectHtmlConfig | BaseCodeConnectConfig;
|
|
77
|
+
interface FigmaConfig {
|
|
78
|
+
codeConnect?: CodeConnectConfig;
|
|
79
|
+
}
|
|
80
|
+
export declare function determineConfigFromProject(dir: string, exitOnError?: boolean): FigmaConfig | undefined;
|
|
81
|
+
export declare function determineLabelFromProject(dir: string): string | undefined;
|
|
76
82
|
export declare function getGitRemoteURL(repoPath: string): string;
|
|
77
83
|
/**
|
|
78
84
|
* Uses `git rev-parse` to find absolute path to the root of the git repository
|
|
@@ -136,6 +142,15 @@ export declare function getProjectInfoFromConfig(dir: string, config: CodeConnec
|
|
|
136
142
|
*/
|
|
137
143
|
export declare function getProjectInfo(dir: string, configPath: string): Promise<ProjectInfo>;
|
|
138
144
|
export declare function getReactProjectInfo(projectInfo: ProjectInfo<CodeConnectReactConfig>): ReactProjectInfo;
|
|
139
|
-
export declare function
|
|
145
|
+
export declare function getTsProgram(projectInfo: ProjectInfo<CodeConnectConfig>): ts.Program;
|
|
146
|
+
/**
|
|
147
|
+
* Change an imported path for a component like `./button` to e.g `@ui/button`, based on the config file.
|
|
148
|
+
* Note that `filePath` here is the path to the source file on disk, not the module specifier.
|
|
149
|
+
*
|
|
150
|
+
* @param filePath
|
|
151
|
+
* @param config
|
|
152
|
+
* @returns
|
|
153
|
+
*/
|
|
154
|
+
export declare function mapImportPath(filePath: string, config: CodeConnectReactConfig): string | null;
|
|
140
155
|
export {};
|
|
141
156
|
//# sourceMappingURL=project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/connect/project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,YAAY,CAAA;AAU3B,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/connect/project.ts"],"names":[],"mappings":"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"}
|