@figma/code-connect 1.1.4 → 1.2.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/connect/api.d.ts +38 -6
- package/dist/connect/api.d.ts.map +1 -1
- package/dist/connect/external_types.d.ts +2 -1
- package/dist/connect/external_types.d.ts.map +1 -1
- package/dist/connect/external_types.js +5 -1
- package/dist/connect/external_types.js.map +1 -1
- package/dist/connect/intrinsics.d.ts +4 -1
- package/dist/connect/intrinsics.d.ts.map +1 -1
- package/dist/connect/intrinsics.js +76 -36
- package/dist/connect/intrinsics.js.map +1 -1
- package/dist/connect/modifiers.d.ts +29 -0
- package/dist/connect/modifiers.d.ts.map +1 -0
- package/dist/connect/modifiers.js +109 -0
- package/dist/connect/modifiers.js.map +1 -0
- package/dist/connect/parser_common.d.ts +3 -3
- package/dist/connect/parser_common.d.ts.map +1 -1
- package/dist/connect/parser_common.js +18 -18
- package/dist/connect/parser_common.js.map +1 -1
- package/dist/connect/wizard/embeddings.d.ts +13 -0
- package/dist/connect/wizard/embeddings.d.ts.map +1 -0
- package/dist/connect/wizard/embeddings.js +22 -0
- package/dist/connect/wizard/embeddings.js.map +1 -0
- package/dist/connect/wizard/helpers.d.ts +2 -0
- package/dist/connect/wizard/helpers.d.ts.map +1 -1
- package/dist/connect/wizard/helpers.js +16 -1
- package/dist/connect/wizard/helpers.js.map +1 -1
- package/dist/connect/wizard/prop_mapping.d.ts +7 -17
- package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
- package/dist/connect/wizard/prop_mapping.js +103 -97
- package/dist/connect/wizard/prop_mapping.js.map +1 -1
- package/dist/connect/wizard/prop_mapping_helpers.d.ts +71 -0
- package/dist/connect/wizard/prop_mapping_helpers.d.ts.map +1 -0
- package/dist/connect/wizard/prop_mapping_helpers.js +176 -0
- package/dist/connect/wizard/prop_mapping_helpers.js.map +1 -0
- package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
- package/dist/connect/wizard/run_wizard.js +48 -23
- package/dist/connect/wizard/run_wizard.js.map +1 -1
- package/dist/connect/wizard/signature_extraction.d.ts +2 -4
- package/dist/connect/wizard/signature_extraction.d.ts.map +1 -1
- package/dist/connect/wizard/signature_extraction.js +119 -33
- package/dist/connect/wizard/signature_extraction.js.map +1 -1
- package/dist/html/external.d.ts +1 -1
- package/dist/html/external.d.ts.map +1 -1
- package/dist/html/external.js +6 -5
- package/dist/html/external.js.map +1 -1
- package/dist/html/index_html.d.ts +1 -1
- package/dist/html/index_html.d.ts.map +1 -1
- package/dist/html/parser.d.ts.map +1 -1
- package/dist/html/parser.js +16 -12
- package/dist/html/parser.js.map +1 -1
- package/dist/html/parser_template_helpers.d.ts +8 -0
- package/dist/html/parser_template_helpers.d.ts.map +1 -1
- package/dist/html/parser_template_helpers.js +19 -3
- package/dist/html/parser_template_helpers.js.map +1 -1
- package/dist/html/types.d.ts +1 -1
- package/dist/html/types.d.ts.map +1 -1
- package/dist/react/create.d.ts.map +1 -1
- package/dist/react/create.js +31 -19
- package/dist/react/create.js.map +1 -1
- package/dist/react/external.d.ts +1 -2
- package/dist/react/external.d.ts.map +1 -1
- package/dist/react/external.js +1 -4
- package/dist/react/external.js.map +1 -1
- package/dist/react/index_react.d.ts +25 -2
- package/dist/react/index_react.d.ts.map +1 -1
- package/dist/react/index_react.js.map +1 -1
- package/dist/react/parser.d.ts +37 -14
- package/dist/react/parser.d.ts.map +1 -1
- package/dist/react/parser.js +102 -194
- package/dist/react/parser.js.map +1 -1
- package/dist/react/parser_template_helpers.d.ts +5 -1
- package/dist/react/parser_template_helpers.d.ts.map +1 -1
- package/dist/react/parser_template_helpers.js +20 -3
- package/dist/react/parser_template_helpers.js.map +1 -1
- package/dist/react/types.d.ts +6 -2
- package/dist/react/types.d.ts.map +1 -1
- package/dist/storybook/convert.js +1 -1
- package/dist/storybook/convert.js.map +1 -1
- package/dist/storybook/external.d.ts +2 -2
- package/dist/storybook/external.d.ts.map +1 -1
- package/package.json +9 -8
|
@@ -58,12 +58,15 @@ function makeCreatePropPlaceholder({ propMappings, referencedProps, sourceFile,
|
|
|
58
58
|
if (name.includes('.')) {
|
|
59
59
|
propReferenceName = name.split('.')[0];
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
// if prop mappings exist, check that the prop reference is in the mappings
|
|
62
|
+
if (propMappings) {
|
|
63
|
+
const mappedProp = propMappings[propReferenceName];
|
|
64
|
+
if (!mappedProp) {
|
|
65
|
+
throw new ParserError(`Could not find prop mapping for ${propReferenceName} in the props object`, {
|
|
66
|
+
sourceFile,
|
|
67
|
+
node,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
67
70
|
}
|
|
68
71
|
referencedProps.add(propReferenceName);
|
|
69
72
|
const callExpression = typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier('__PROP__'), undefined, [typescript_1.default.factory.createStringLiteral(name)]);
|
|
@@ -113,7 +116,9 @@ function visitPropReferencingNode({ propsParameter, node, createPropPlaceholder,
|
|
|
113
116
|
}
|
|
114
117
|
// object destructuring references
|
|
115
118
|
if (typescript_1.default.isObjectBindingPattern(propsParameter.name)) {
|
|
116
|
-
const isValidNode = useJsx
|
|
119
|
+
const isValidNode = useJsx
|
|
120
|
+
? typescript_1.default.isJsxExpression(node)
|
|
121
|
+
: typescript_1.default.isPropertyAccessExpression(node) || typescript_1.default.isIdentifier(node);
|
|
117
122
|
const target = useJsx ? node.expression : node;
|
|
118
123
|
if (isValidNode &&
|
|
119
124
|
target &&
|
|
@@ -133,19 +138,14 @@ exports.visitPropReferencingNode = visitPropReferencingNode;
|
|
|
133
138
|
*
|
|
134
139
|
* @returns Template code string
|
|
135
140
|
*/
|
|
136
|
-
function getReferencedPropsForTemplate({ propMappings
|
|
141
|
+
function getReferencedPropsForTemplate({ propMappings = {}, }) {
|
|
137
142
|
let templateCode = '';
|
|
138
|
-
if (propMappings
|
|
139
|
-
|
|
143
|
+
if (Object.keys(propMappings).length > 0) {
|
|
144
|
+
for (const prop in propMappings) {
|
|
140
145
|
const propMapping = propMappings[prop];
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
node: exp,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
templateCode += `const ${prop} = ${(0, intrinsics_1.intrinsicToString)(propMapping)}\n`;
|
|
148
|
-
});
|
|
146
|
+
templateCode += `const ${prop} = ${(0, intrinsics_1.valueToString)(propMapping)}\n`;
|
|
147
|
+
}
|
|
148
|
+
templateCode += `const __props = { ${Object.keys(propMappings).join(', ')} }\n`;
|
|
149
149
|
templateCode += '\n';
|
|
150
150
|
}
|
|
151
151
|
return templateCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser_common.js","sourceRoot":"","sources":["../../src/connect/parser_common.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"parser_common.js","sourceRoot":"","sources":["../../src/connect/parser_common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type EmbeddingsResponse = {
|
|
2
|
+
status: number;
|
|
3
|
+
error: boolean;
|
|
4
|
+
meta: {
|
|
5
|
+
embeddings: number[][];
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare function fetchEmbeddings({ uniqueMatchableNames, accessToken, figmaUrl, }: {
|
|
9
|
+
uniqueMatchableNames: string[];
|
|
10
|
+
accessToken: string;
|
|
11
|
+
figmaUrl: string;
|
|
12
|
+
}): Promise<EmbeddingsResponse>;
|
|
13
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/embeddings.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,EAAE,EAAE,CAAA;KACvB,CAAA;CACF,CAAA;AAED,wBAAsB,eAAe,CAAC,EACpC,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,EAAE;IACD,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,+BAgBA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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.fetchEmbeddings = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const figma_rest_api_1 = require("../figma_rest_api");
|
|
9
|
+
const helpers_1 = require("../helpers");
|
|
10
|
+
async function fetchEmbeddings({ uniqueMatchableNames, accessToken, figmaUrl, }) {
|
|
11
|
+
const apiUrl = (0, figma_rest_api_1.getApiUrl)(figmaUrl);
|
|
12
|
+
const fileKey = (0, helpers_1.parseFileKey)(figmaUrl);
|
|
13
|
+
const result = await axios_1.default.post(apiUrl + '/code_connect/name_embeddings', uniqueMatchableNames, {
|
|
14
|
+
headers: (0, figma_rest_api_1.getHeaders)(accessToken),
|
|
15
|
+
params: {
|
|
16
|
+
file_key: fileKey,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
return result.data;
|
|
20
|
+
}
|
|
21
|
+
exports.fetchEmbeddings = fetchEmbeddings;
|
|
22
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/connect/wizard/embeddings.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,sDAAyD;AACzD,wCAAyC;AAUlC,KAAK,UAAU,eAAe,CAAC,EACpC,oBAAoB,EACpB,WAAW,EACX,QAAQ,GAKT;IACC,MAAM,MAAM,GAAG,IAAA,0BAAS,EAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,MAAM,eAAK,CAAC,IAAI,CAC7B,MAAM,GAAG,+BAA+B,EACxC,oBAAoB,EACpB;QACE,OAAO,EAAE,IAAA,2BAAU,EAAC,WAAW,CAAC;QAChC,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO;SAClB;KACF,CACF,CAAA;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC;AAxBD,0CAwBC"}
|
|
@@ -28,6 +28,7 @@ export declare function parseFilepathExport(filepathExport: string): {
|
|
|
28
28
|
filepath: string;
|
|
29
29
|
exportName: string;
|
|
30
30
|
};
|
|
31
|
+
export declare function getFilepathExport(filepath: string, exp: string): string;
|
|
31
32
|
/**
|
|
32
33
|
* Formats an array of filepathExports into a map of filepaths->exports
|
|
33
34
|
*
|
|
@@ -42,4 +43,5 @@ export declare function getComponentOptionsMap(filepathExports: string[]): Recor
|
|
|
42
43
|
* @returns an array of components in the format `${filepath}~${componentName}
|
|
43
44
|
*/
|
|
44
45
|
export declare function getFilepathExportsFromFiles(projectInfo: ProjectInfo, cmd: BaseCommand): string[];
|
|
46
|
+
export declare function isValidFigmaUrl(url: string): boolean;
|
|
45
47
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAGZ,MAAM,YAAY,CAAA;AAGnB,OAAO,OAAmB,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAGZ,MAAM,YAAY,CAAA;AAGnB,OAAO,OAAmB,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAIpD,wBAAgB,qCAAqC,SAKpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;CAC1B,YASA;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;CAC1B,iBAiBA;AAID,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM;;;;;;EAazD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE9D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,oCAe/D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,YAgCrF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,WAa1C"}
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getFilepathExportsFromFiles = exports.getComponentOptionsMap = exports.parseFilepathExport = exports.createCodeConnectConfig = exports.getIncludesGlob = exports.maybePrefillWizardQuestionsForTesting = void 0;
|
|
29
|
+
exports.isValidFigmaUrl = exports.getFilepathExportsFromFiles = exports.getComponentOptionsMap = exports.getFilepathExport = exports.parseFilepathExport = exports.createCodeConnectConfig = exports.getIncludesGlob = exports.maybePrefillWizardQuestionsForTesting = void 0;
|
|
30
30
|
const prettier = __importStar(require("prettier"));
|
|
31
31
|
const fs_1 = __importDefault(require("fs"));
|
|
32
32
|
const project_1 = require("../project");
|
|
@@ -34,6 +34,7 @@ const logging_1 = require("../../common/logging");
|
|
|
34
34
|
const path_1 = __importDefault(require("path"));
|
|
35
35
|
const prompts_1 = __importDefault(require("prompts"));
|
|
36
36
|
const parser_common_1 = require("../parser_common");
|
|
37
|
+
const helpers_1 = require("../helpers");
|
|
37
38
|
function maybePrefillWizardQuestionsForTesting() {
|
|
38
39
|
if (process.env.JEST_WORKER_ID && process.env.WIZARD_ANSWERS_TO_PREFILL) {
|
|
39
40
|
const unescapedJson = JSON.parse(process.env.WIZARD_ANSWERS_TO_PREFILL.replace(/\\"/g, '"'));
|
|
@@ -94,6 +95,7 @@ exports.parseFilepathExport = parseFilepathExport;
|
|
|
94
95
|
function getFilepathExport(filepath, exp) {
|
|
95
96
|
return `${filepath}${FILEPATH_EXPORT_DELIMITER}${exp}`;
|
|
96
97
|
}
|
|
98
|
+
exports.getFilepathExport = getFilepathExport;
|
|
97
99
|
/**
|
|
98
100
|
* Formats an array of filepathExports into a map of filepaths->exports
|
|
99
101
|
*
|
|
@@ -156,4 +158,17 @@ function getFilepathExportsFromFiles(projectInfo, cmd) {
|
|
|
156
158
|
}, []);
|
|
157
159
|
}
|
|
158
160
|
exports.getFilepathExportsFromFiles = getFilepathExportsFromFiles;
|
|
161
|
+
function isValidFigmaUrl(url) {
|
|
162
|
+
try {
|
|
163
|
+
const { hostname } = new URL(url);
|
|
164
|
+
if (!hostname.includes('figma.com')) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
return !!(0, helpers_1.parseFileKey)(url);
|
|
168
|
+
}
|
|
169
|
+
catch (e) {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.isValidFigmaUrl = isValidFigmaUrl;
|
|
159
174
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,4CAAmB;AACnB,wCAMmB;AACnB,kDAAsD;AACtD,gDAAuB;AACvB,sDAAyC;AAEzC,oDAAqD;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,4CAAmB;AACnB,wCAMmB;AACnB,kDAAsD;AACtD,gDAAuB;AACvB,sDAAyC;AAEzC,oDAAqD;AACrD,wCAAyC;AAEzC,SAAgB,qCAAqC;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;QACxE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5F,iBAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC;AALD,sFAKC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,kBAAkB,EAClB,MAAM,GAKP;IACC,IAAI,kBAAkB,EAAE,CAAC;QACvB,4CAA4C;QAC5C,MAAM,mBAAmB,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,UAAU,CAAC,cAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5F,OAAO,yCAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CACvD,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,mBAAmB,IAAI,kBAAkB,EAAE,CACvE,CAAA;IACH,CAAC;IACD,OAAO,yCAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACvD,CAAC;AAjBD,0CAiBC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAC5C,GAAG,EACH,kBAAkB,EAClB,MAAM,GAKP;IACC,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG;;;mBAGF,YAAY;;;GAG5B,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAA;IAE1C,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAErC,gBAAM,CAAC,IAAI,CAAC,IAAA,iBAAO,EAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC;AAzBD,0DAyBC;AAED,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAErC,SAAgB,mBAAmB,CAAC,cAAsB;IACxD,MAAM,kBAAkB,GAAG,cAAc,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAEhF,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,IAAI;SACjB,CAAA;IACH,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC;QACzD,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,CAAC;KAC7D,CAAA;AACH,CAAC;AAbD,kDAaC;AAED,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,GAAW;IAC7D,OAAO,GAAG,QAAQ,GAAG,yBAAyB,GAAG,GAAG,EAAE,CAAA;AACxD,CAAC;AAFD,8CAEC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,eAAyB;IAC9D,OAAO,eAAe,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE;QACtB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;QACpE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;aAC/C,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAA8B,CAC/B,CAAA;AACH,CAAC;AAfD,wDAeC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,WAAwB,EAAE,GAAgB;IACpF,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACpD,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,WAA+B,CAAA;YACrD,IAAI,CAAC,IAAA,kCAAkB,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,EAAE,CAAA;gBAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;gBACpD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChB,gBAAM,CAAC,IAAI,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAA;oBACjE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAE,CAAA;wBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;wBAE5D,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;4BACtB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;wBAC1D,CAAC,CAAC,CAAA;oBACJ,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;4BAChB,gBAAM,CAAC,IAAI,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAA;wBAC7D,CAAC;wBACD,uBAAuB;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,EAAc,CAAC,CAAA;AACpB,CAAC;AAhCD,kEAgCC;AAED,SAAgB,eAAe,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IACE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC/B,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,CAAC,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAbD,0CAaC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ReactProjectInfo } from '../project';
|
|
2
1
|
import { ComponentTypeSignature } from '../../react/parser';
|
|
3
2
|
import { FigmaRestApi } from '../figma_rest_api';
|
|
4
3
|
import { PropMapping } from '../parser_executable_types';
|
|
5
|
-
import { BaseCommand } from '../../commands/connect';
|
|
6
4
|
import { ValueMapping } from '../../connect/intrinsics';
|
|
5
|
+
import { ComponentMatchResults, MatchableNamesMap } from './prop_mapping_helpers';
|
|
7
6
|
/**
|
|
8
7
|
* Used when we should output a placeholder for an unknown value in prop mapping.
|
|
9
8
|
*/
|
|
@@ -13,31 +12,22 @@ export declare enum MatchableNameTypes {
|
|
|
13
12
|
Property = 0,
|
|
14
13
|
VariantValue = 1
|
|
15
14
|
}
|
|
16
|
-
type MatchableName = {
|
|
15
|
+
export type MatchableName = {
|
|
17
16
|
type: MatchableNameTypes;
|
|
18
17
|
name: string;
|
|
19
18
|
variantProperty?: string;
|
|
20
19
|
};
|
|
21
20
|
/**
|
|
22
|
-
* Builds a map of all properties and enum values, indexed by
|
|
21
|
+
* Builds a map of all properties and enum values, indexed by name.
|
|
23
22
|
* @param componentPropertyDefinitions
|
|
24
23
|
* @returns A map of {name: values[]}. Each value is an array to avoid
|
|
25
24
|
* collisions between properties / enum values
|
|
26
25
|
*/
|
|
27
|
-
export declare function buildMatchableNamesMap(componentPropertyDefinitions?: FigmaRestApi.Component['componentPropertyDefinitions']):
|
|
28
|
-
export declare function generatePropMapping({ componentPropertyDefinitions, signature, }: {
|
|
26
|
+
export declare function buildMatchableNamesMap(componentPropertyDefinitions?: FigmaRestApi.Component['componentPropertyDefinitions']): MatchableNamesMap;
|
|
27
|
+
export declare function generatePropMapping({ componentPropertyDefinitions, signature, componentMatchResults, matchableNamesMap, }: {
|
|
29
28
|
componentPropertyDefinitions: FigmaRestApi.Component['componentPropertyDefinitions'];
|
|
30
29
|
signature: ComponentTypeSignature;
|
|
30
|
+
componentMatchResults?: ComponentMatchResults;
|
|
31
|
+
matchableNamesMap: MatchableNamesMap;
|
|
31
32
|
}): PropMapping;
|
|
32
|
-
export declare function extractSignatureAndGeneratePropMapping({ exportName, filepath, projectInfo, componentPropertyDefinitions, cmd, }: {
|
|
33
|
-
exportName: string;
|
|
34
|
-
filepath: string;
|
|
35
|
-
projectInfo: ReactProjectInfo;
|
|
36
|
-
componentPropertyDefinitions: FigmaRestApi.Component['componentPropertyDefinitions'];
|
|
37
|
-
cmd: BaseCommand;
|
|
38
|
-
}): {
|
|
39
|
-
propMapping: PropMapping | undefined;
|
|
40
|
-
signature: ComponentTypeSignature | undefined;
|
|
41
|
-
};
|
|
42
|
-
export {};
|
|
43
33
|
//# sourceMappingURL=prop_mapping.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop_mapping.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prop_mapping.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAA4B,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEjF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAmB,MAAM,wBAAwB,CAAA;AAmBlG;;GAEG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAE1D,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,YAAY,CAAC,2BAA2B,GACrD,YAAY,CAUd;AAmFD,oBAAY,kBAAkB;IAC5B,QAAQ,IAAA;IACR,YAAY,IAAA;CAEb;AAOD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,kBAAkB,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,4BAA4B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,qBA6BtF;AAED,wBAAgB,mBAAmB,CAAC,EAClC,4BAA4B,EAC5B,SAAS,EACT,qBAAqB,EACrB,iBAAiB,GAClB,EAAE;IACD,4BAA4B,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACpF,SAAS,EAAE,sBAAsB,CAAA;IACjC,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,GAAG,WAAW,CAwGd"}
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generatePropMapping = exports.buildMatchableNamesMap = exports.MatchableNameTypes = exports.generateValueMapping = exports.PROPERTY_PLACEHOLDER = void 0;
|
|
4
4
|
const figma_rest_api_1 = require("../figma_rest_api");
|
|
5
5
|
const fast_fuzzy_1 = require("fast-fuzzy");
|
|
6
|
-
const logging_1 = require("../../common/logging");
|
|
7
6
|
const intrinsics_1 = require("../../connect/intrinsics");
|
|
8
|
-
const signature_extraction_1 = require("./signature_extraction");
|
|
9
7
|
const create_1 = require("../../react/create");
|
|
8
|
+
/**
|
|
9
|
+
* These thresholds were come up with by running the benchmarking
|
|
10
|
+
* and tweaking until high positives + acceptable false positives
|
|
11
|
+
* were achieved. It's worth repeating this process whenever making
|
|
12
|
+
* changes to the mapping algorithm.
|
|
13
|
+
*/
|
|
14
|
+
const MININUM_MATCH_SCORES = {
|
|
15
|
+
fuzzy: {
|
|
16
|
+
property: 0.65,
|
|
17
|
+
variantValue: 0.8,
|
|
18
|
+
},
|
|
19
|
+
embeddings: {
|
|
20
|
+
property: 0.84,
|
|
21
|
+
variantValue: 0.87,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
10
24
|
/**
|
|
11
25
|
* Used when we should output a placeholder for an unknown value in prop mapping.
|
|
12
26
|
*/
|
|
13
27
|
exports.PROPERTY_PLACEHOLDER = 'PROPERTY_PLACEHOLDER';
|
|
14
|
-
const PROP_MINIMUM_MATCH_THRESHOLD = 0.8;
|
|
15
28
|
function generateValueMapping(propSignature, figmaPropDef) {
|
|
16
29
|
const codeEnumOptions = propSignature.split(' | ').map((str) => str.substring(1, str.length - 1)); // remove quote marks
|
|
17
30
|
const searcher = new fast_fuzzy_1.Searcher(figmaPropDef.variantOptions);
|
|
@@ -24,6 +37,11 @@ function generateValueMapping(propSignature, figmaPropDef) {
|
|
|
24
37
|
}, {});
|
|
25
38
|
}
|
|
26
39
|
exports.generateValueMapping = generateValueMapping;
|
|
40
|
+
function signatureIsJsxLike(signature) {
|
|
41
|
+
return (signature.includes('ElementType') ||
|
|
42
|
+
signature.includes('ReactElement') ||
|
|
43
|
+
signature.includes('ReactNode'));
|
|
44
|
+
}
|
|
27
45
|
/**
|
|
28
46
|
* Attempts to create a mapping between a code prop and figma prop.
|
|
29
47
|
* These props have been matched by name and aren't guaranteed to
|
|
@@ -65,6 +83,15 @@ function generateIntrinsic({ propSignature, figmaPropName: figmaPropNameWithNode
|
|
|
65
83
|
};
|
|
66
84
|
}
|
|
67
85
|
}
|
|
86
|
+
if (signatureIsJsxLike(propSignature) &&
|
|
87
|
+
figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.InstanceSwap) {
|
|
88
|
+
return {
|
|
89
|
+
kind: intrinsics_1.IntrinsicKind.Instance,
|
|
90
|
+
args: {
|
|
91
|
+
figmaPropName,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
68
95
|
return null;
|
|
69
96
|
}
|
|
70
97
|
function stripNodeIdFromPropertyName(propertyName) {
|
|
@@ -77,30 +104,33 @@ var MatchableNameTypes;
|
|
|
77
104
|
MatchableNameTypes[MatchableNameTypes["VariantValue"] = 1] = "VariantValue";
|
|
78
105
|
// ChildLayer, // TODO
|
|
79
106
|
})(MatchableNameTypes || (exports.MatchableNameTypes = MatchableNameTypes = {}));
|
|
107
|
+
const MATCHABLE_NAME_TYPES_PRIORITY = [
|
|
108
|
+
MatchableNameTypes.Property,
|
|
109
|
+
MatchableNameTypes.VariantValue,
|
|
110
|
+
];
|
|
80
111
|
/**
|
|
81
|
-
* Builds a map of all properties and enum values, indexed by
|
|
112
|
+
* Builds a map of all properties and enum values, indexed by name.
|
|
82
113
|
* @param componentPropertyDefinitions
|
|
83
114
|
* @returns A map of {name: values[]}. Each value is an array to avoid
|
|
84
115
|
* collisions between properties / enum values
|
|
85
116
|
*/
|
|
86
117
|
function buildMatchableNamesMap(componentPropertyDefinitions) {
|
|
87
118
|
const matchableValues = {};
|
|
88
|
-
function add(
|
|
89
|
-
matchableValues[
|
|
90
|
-
matchableValues[
|
|
119
|
+
function add(name, definition) {
|
|
120
|
+
matchableValues[name] = matchableValues[name] || [];
|
|
121
|
+
matchableValues[name].push(definition);
|
|
91
122
|
}
|
|
92
123
|
Object.entries(componentPropertyDefinitions || {}).forEach(([propName, propDef]) => {
|
|
93
|
-
const
|
|
94
|
-
add(
|
|
124
|
+
const name = stripNodeIdFromPropertyName(propName);
|
|
125
|
+
add(name, {
|
|
95
126
|
type: MatchableNameTypes.Property,
|
|
96
127
|
name: propName,
|
|
97
128
|
});
|
|
98
129
|
if (propDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Variant) {
|
|
99
|
-
propDef.variantOptions?.forEach((
|
|
100
|
-
|
|
101
|
-
add(variantMatchableStr, {
|
|
130
|
+
propDef.variantOptions?.forEach((variantValue) => {
|
|
131
|
+
add(variantValue, {
|
|
102
132
|
type: MatchableNameTypes.VariantValue,
|
|
103
|
-
name:
|
|
133
|
+
name: variantValue,
|
|
104
134
|
variantProperty: propName,
|
|
105
135
|
});
|
|
106
136
|
});
|
|
@@ -109,110 +139,86 @@ function buildMatchableNamesMap(componentPropertyDefinitions) {
|
|
|
109
139
|
return matchableValues;
|
|
110
140
|
}
|
|
111
141
|
exports.buildMatchableNamesMap = buildMatchableNamesMap;
|
|
112
|
-
function generatePropMapping({ componentPropertyDefinitions, signature, }) {
|
|
142
|
+
function generatePropMapping({ componentPropertyDefinitions, signature, componentMatchResults, matchableNamesMap, }) {
|
|
113
143
|
const propMapping = {};
|
|
114
|
-
const
|
|
115
|
-
const searchSpace = Object.keys(matchableNames);
|
|
144
|
+
const searchSpace = Object.keys(matchableNamesMap);
|
|
116
145
|
const searcher = new fast_fuzzy_1.Searcher(searchSpace);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
146
|
+
let minimumMatchScores = MININUM_MATCH_SCORES.fuzzy;
|
|
147
|
+
const useEmbeddings = !!componentMatchResults;
|
|
148
|
+
if (useEmbeddings) {
|
|
149
|
+
minimumMatchScores = MININUM_MATCH_SCORES.embeddings;
|
|
150
|
+
}
|
|
151
|
+
function attemptGetIntrinsicForProp({ propMatch, propSignature, }) {
|
|
152
|
+
const itemsInPriorityOrder = [...matchableNamesMap[propMatch.item]].sort((a, b) => MATCHABLE_NAME_TYPES_PRIORITY.indexOf(a.type) -
|
|
153
|
+
MATCHABLE_NAME_TYPES_PRIORITY.indexOf(b.type));
|
|
154
|
+
for (const item of itemsInPriorityOrder) {
|
|
155
|
+
/**
|
|
156
|
+
* First, look for matching property names with compatible types
|
|
157
|
+
*/
|
|
158
|
+
if (item.type === MatchableNameTypes.Property &&
|
|
159
|
+
propMatch.score > minimumMatchScores.property) {
|
|
160
|
+
const intrinsic = generateIntrinsic({
|
|
161
|
+
propSignature,
|
|
162
|
+
figmaPropName: item.name,
|
|
163
|
+
figmaPropDef: componentPropertyDefinitions[item.name],
|
|
164
|
+
});
|
|
165
|
+
if (intrinsic) {
|
|
166
|
+
return intrinsic;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Then if no match AND a boolean prop, look for matching variant values, e.g:
|
|
170
|
+
*
|
|
171
|
+
* disabled: figma.enum('State', {
|
|
172
|
+
* Disabled: true,
|
|
173
|
+
* })
|
|
174
|
+
*/
|
|
121
175
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return
|
|
176
|
+
else if (item.type === MatchableNameTypes.VariantValue &&
|
|
177
|
+
propSignature === 'false | true' &&
|
|
178
|
+
propMatch.score > minimumMatchScores.variantValue) {
|
|
179
|
+
return {
|
|
180
|
+
kind: intrinsics_1.IntrinsicKind.Enum,
|
|
181
|
+
args: {
|
|
182
|
+
figmaPropName: item.variantProperty,
|
|
183
|
+
valueMapping: {
|
|
184
|
+
[item.name]: true,
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
};
|
|
126
188
|
}
|
|
127
189
|
}
|
|
128
190
|
return null;
|
|
129
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Attempt to generate an intrinsic for a given property name by looking
|
|
194
|
+
* for name matches with a minimum threshold
|
|
195
|
+
*
|
|
196
|
+
* Embeddings are priorized over fuzzy matching if present (they
|
|
197
|
+
* may be missing if gated or missing permissions).
|
|
198
|
+
*/
|
|
130
199
|
for (const [propName, propSignatureWithOptionalModifier] of Object.entries(signature)) {
|
|
131
200
|
const propSignature = propSignatureWithOptionalModifier.startsWith('?')
|
|
132
201
|
? propSignatureWithOptionalModifier.substring(1)
|
|
133
202
|
: propSignatureWithOptionalModifier;
|
|
134
|
-
|
|
135
|
-
if (
|
|
203
|
+
let matches = searcher.search(propName, { returnMatchData: true });
|
|
204
|
+
if (useEmbeddings) {
|
|
205
|
+
matches = componentMatchResults[propName];
|
|
206
|
+
}
|
|
207
|
+
if (matches.length === 0) {
|
|
136
208
|
continue;
|
|
137
209
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const matchingProperty = findBestMatch(results, {
|
|
142
|
-
score: PROP_MINIMUM_MATCH_THRESHOLD,
|
|
143
|
-
where: (item) => item.type === MatchableNameTypes.Property,
|
|
144
|
-
});
|
|
145
|
-
if (matchingProperty) {
|
|
146
|
-
const { name: figmaPropName } = matchingProperty;
|
|
147
|
-
const intrinsic = generateIntrinsic({
|
|
210
|
+
for (const match of matches) {
|
|
211
|
+
const intrinsic = attemptGetIntrinsicForProp({
|
|
212
|
+
propMatch: match,
|
|
148
213
|
propSignature,
|
|
149
|
-
figmaPropName,
|
|
150
|
-
figmaPropDef: componentPropertyDefinitions[figmaPropName],
|
|
151
214
|
});
|
|
152
215
|
if (intrinsic) {
|
|
153
216
|
propMapping[propName] = intrinsic;
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Then if no match AND a boolean prop, look for matching variant values, e.g:
|
|
158
|
-
*
|
|
159
|
-
* disabled: figma.enum('State', {
|
|
160
|
-
* Disabled: true,
|
|
161
|
-
* })
|
|
162
|
-
*/
|
|
163
|
-
if (!propMapping[propName] && propSignature === 'false | true') {
|
|
164
|
-
const matchingProperty = findBestMatch(results, {
|
|
165
|
-
score: PROP_MINIMUM_MATCH_THRESHOLD,
|
|
166
|
-
where: (item) => item.type === MatchableNameTypes.VariantValue,
|
|
167
|
-
});
|
|
168
|
-
if (matchingProperty) {
|
|
169
|
-
const { name: variantValue, variantProperty } = matchingProperty;
|
|
170
|
-
if (!variantProperty) {
|
|
171
|
-
throw new Error('Expected variant property'); // satisfying TS
|
|
172
|
-
}
|
|
173
|
-
propMapping[propName] = {
|
|
174
|
-
kind: intrinsics_1.IntrinsicKind.Enum,
|
|
175
|
-
args: {
|
|
176
|
-
figmaPropName: variantProperty,
|
|
177
|
-
valueMapping: {
|
|
178
|
-
[variantValue]: true,
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
};
|
|
217
|
+
break;
|
|
182
218
|
}
|
|
183
219
|
}
|
|
184
220
|
}
|
|
185
221
|
return propMapping;
|
|
186
222
|
}
|
|
187
223
|
exports.generatePropMapping = generatePropMapping;
|
|
188
|
-
function extractSignatureAndGeneratePropMapping({ exportName, filepath, projectInfo, componentPropertyDefinitions, cmd, }) {
|
|
189
|
-
let signature;
|
|
190
|
-
try {
|
|
191
|
-
signature = (0, signature_extraction_1.extractSignature)({
|
|
192
|
-
nameToFind: exportName,
|
|
193
|
-
sourceFilePath: filepath,
|
|
194
|
-
projectInfo,
|
|
195
|
-
});
|
|
196
|
-
if (cmd.verbose && Object.keys(signature).length === 0) {
|
|
197
|
-
logging_1.logger.warn(`No TS signature found for "${exportName}" in ${filepath}`);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
catch (e) {
|
|
201
|
-
if (cmd.verbose) {
|
|
202
|
-
logging_1.logger.warn(`Could not extract TS signature for "${exportName}" in ${filepath}`);
|
|
203
|
-
}
|
|
204
|
-
return {
|
|
205
|
-
propMapping: undefined,
|
|
206
|
-
signature: undefined,
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
return {
|
|
210
|
-
propMapping: generatePropMapping({
|
|
211
|
-
componentPropertyDefinitions,
|
|
212
|
-
signature,
|
|
213
|
-
}),
|
|
214
|
-
signature: signature,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
exports.extractSignatureAndGeneratePropMapping = extractSignatureAndGeneratePropMapping;
|
|
218
224
|
//# sourceMappingURL=prop_mapping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop_mapping.js","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"prop_mapping.js","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"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"}
|