@figma/code-connect 1.1.2 → 1.1.4
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 +2 -2
- package/dist/common/updates.js +1 -1
- package/dist/common/updates.js.map +1 -1
- package/dist/connect/api.d.ts +3 -3
- package/dist/connect/api.d.ts.map +1 -1
- package/dist/connect/create.d.ts.map +1 -1
- package/dist/connect/create.js +3 -0
- package/dist/connect/create.js.map +1 -1
- package/dist/connect/parser_executable_types.d.ts +21 -19
- package/dist/connect/parser_executable_types.d.ts.map +1 -1
- package/dist/connect/parser_executable_types.js.map +1 -1
- package/dist/connect/wizard/prop_mapping.d.ts +21 -1
- package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
- package/dist/connect/wizard/prop_mapping.js +137 -35
- 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 +16 -9
- package/dist/connect/wizard/run_wizard.js.map +1 -1
- package/dist/html/external.d.ts +2 -2
- package/dist/html/external.d.ts.map +1 -1
- package/dist/html/external.js.map +1 -1
- package/dist/html/index_html.d.ts +3 -2
- package/dist/html/index_html.d.ts.map +1 -1
- package/dist/html/index_html.js.map +1 -1
- package/dist/html/parser.js +1 -1
- package/dist/html/types.d.ts +9 -0
- package/dist/html/types.d.ts.map +1 -0
- package/dist/html/types.js +3 -0
- package/dist/html/types.js.map +1 -0
- package/dist/react/create.d.ts.map +1 -1
- package/dist/react/create.js +38 -3
- package/dist/react/create.js.map +1 -1
- package/dist/react/external.d.ts +3 -3
- package/dist/react/external.d.ts.map +1 -1
- package/dist/react/external.js.map +1 -1
- package/dist/react/index_react.d.ts +4 -9
- 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 +1 -0
- package/dist/react/parser.d.ts.map +1 -1
- package/dist/react/parser.js +29 -24
- package/dist/react/parser.js.map +1 -1
- package/dist/react/types.d.ts +11 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +3 -0
- package/dist/react/types.js.map +1 -0
- package/dist/storybook/external.d.ts +2 -2
- package/dist/storybook/external.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts +0 -2
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts.map +0 -1
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.js +0 -9
- package/dist/html/__test__/parser/examples/NoConfigObject.figma.js.map +0 -1
- package/dist/html/__test__/parser/examples/NoExample.figma.d.ts +0 -2
- package/dist/html/__test__/parser/examples/NoExample.figma.d.ts.map +0 -1
- package/dist/html/__test__/parser/examples/NoExample.figma.js +0 -9
- package/dist/html/__test__/parser/examples/NoExample.figma.js.map +0 -1
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts +0 -2
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts.map +0 -1
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js +0 -33
- package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js.map +0 -1
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts +0 -2
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts.map +0 -1
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js +0 -15
- package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js.map +0 -1
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts +0 -2
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts.map +0 -1
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js +0 -15
- package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js.map +0 -1
- package/dist/html/__test__/parser/parser.test.d.ts +0 -2
- package/dist/html/__test__/parser/parser.test.d.ts.map +0 -1
- package/dist/html/__test__/parser/parser.test.js +0 -50
- package/dist/html/__test__/parser/parser.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Code Connect is easy to set up, easy to maintain, type-safe, and extensible. Out
|
|
|
11
11
|
|
|
12
12
|
## CLI installation
|
|
13
13
|
|
|
14
|
-
To install Code Connect locally to a React project, you can follow the instructions in the [React README](https://github.com/figma/code-connect/blob/main/
|
|
14
|
+
To install Code Connect locally to a React project, you can follow the instructions in the [React README](https://github.com/figma/code-connect/blob/main/docs/react.md#installation).
|
|
15
15
|
|
|
16
16
|
For other platforms, you first need to have Node.js v16 or newer installed on your computer. You can check if you already have Node.js installed and which version by running `node -v`. If you need to install Node.js, instructions for all platforms can be found [on the Node.js website](https://nodejs.org/en/download/package-manager).
|
|
17
17
|
|
|
@@ -38,7 +38,7 @@ Every platform supports some common configuration options, in addition to any pl
|
|
|
38
38
|
|
|
39
39
|
### `include` and `exclude`
|
|
40
40
|
|
|
41
|
-
`include` and `exclude` are lists of globs for where to parse Code Connect files, and for where to search for your component code when using the [interactive setup](https://github.com/figma/code-connect/blob/main/
|
|
41
|
+
`include` and `exclude` are lists of globs for where to parse Code Connect files, and for where to search for your component code when using the [interactive setup](https://github.com/figma/code-connect/blob/main/docs/react.md#interactive-setup). `include` and `exclude` paths must be relative to the location of the config file.
|
|
42
42
|
|
|
43
43
|
```jsonp
|
|
44
44
|
{
|
package/dist/common/updates.js
CHANGED
|
@@ -84,7 +84,7 @@ function maybeShowUpdateMessage() {
|
|
|
84
84
|
if (updatedVersionAvailable) {
|
|
85
85
|
logging_1.logger.warn(`\nA new version of the Figma CLI is available. v${require('../../package.json').version} is currently installed, and the latest version available is v${updatedVersionAvailable}.
|
|
86
86
|
|
|
87
|
-
To update, run ${chalk_1.default.whiteBright('npm install @figma/code-connect@latest')} for React, or ${chalk_1.default.whiteBright('npm install -g @figma/code-connect@latest')} for other targets (or if you have Code Connect installed globally).`);
|
|
87
|
+
To update, run ${chalk_1.default.whiteBright('npm install @figma/code-connect@latest')} for React or HTML, or ${chalk_1.default.whiteBright('npm install -g @figma/code-connect@latest')} for other targets (or if you have Code Connect installed globally).`);
|
|
88
88
|
}
|
|
89
89
|
if (message) {
|
|
90
90
|
logging_1.logger.warn(`\n${message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/common/updates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/common/updates.ts"],"names":[],"mappings":"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"}
|
package/dist/connect/api.d.ts
CHANGED
|
@@ -103,7 +103,7 @@ export interface FigmaConnectLink {
|
|
|
103
103
|
name: string;
|
|
104
104
|
url: string;
|
|
105
105
|
}
|
|
106
|
-
export interface FigmaConnectMeta<T = {}, ExampleFnReturnT = unknown> {
|
|
106
|
+
export interface FigmaConnectMeta<T = {}, ExampleFnReturnT = unknown, ExtraExampleT = never> {
|
|
107
107
|
/**
|
|
108
108
|
* Restricts this figma connect to any variants that fullfill the given filter.
|
|
109
109
|
* The filter is a map of Figma variant names to values. Example:
|
|
@@ -115,7 +115,7 @@ export interface FigmaConnectMeta<T = {}, ExampleFnReturnT = unknown> {
|
|
|
115
115
|
variant?: Record<string, string | boolean | number>;
|
|
116
116
|
/**
|
|
117
117
|
* Prop mappings for the connected component. This is used to map the values of the component's props
|
|
118
|
-
* to the values that are used in Figma, using helper functions like `
|
|
118
|
+
* to the values that are used in Figma, using helper functions like `figma.boolean`. For example:
|
|
119
119
|
* ```ts
|
|
120
120
|
* props: {
|
|
121
121
|
* disabled: figma.boolean('Disabled'),
|
|
@@ -134,7 +134,7 @@ export interface FigmaConnectMeta<T = {}, ExampleFnReturnT = unknown> {
|
|
|
134
134
|
* @param props
|
|
135
135
|
* @returns
|
|
136
136
|
*/
|
|
137
|
-
example?: (props: T) => ExampleFnReturnT;
|
|
137
|
+
example?: ((props: T) => ExampleFnReturnT) | ExtraExampleT;
|
|
138
138
|
/**
|
|
139
139
|
* A list of links that will display in Figma along with the examples
|
|
140
140
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/connect/api.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,GAAG,CAAC,OAAO,GACX,QAAQ,GACR,MAAM,CAAA;AASV,MAAM,WAAW,eAAe,CAAC,iBAAiB;IAChD;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IAEpF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAErC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAElD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,iBAAiB,CAAA;IAE1D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAAA;IAEpD;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEnC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/connect/api.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,GAAG,CAAC,OAAO,GACX,QAAQ,GACR,MAAM,CAAA;AASV,MAAM,WAAW,eAAe,CAAC,iBAAiB;IAChD;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IAEpF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAErC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAElD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,iBAAiB,CAAA;IAE1D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAAA;IAEpD;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEnC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAKD,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,gBAAgB,GAAG,OAAO,EAAE,aAAa,GAAG,KAAK;IACzF;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAA;IAEnD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,CAAC,CAAA;IAET;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,CAAC,GAAG,aAAa,CAAA;IAE1D;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqC,WAAW,EAAE,MAAM,WAAW,CAAA;AAM1E,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAQlD;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACZ,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqC,WAAW,EAAE,MAAM,WAAW,CAAA;AAM1E,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAQlD;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACZ,EAAE,gBAAgB,iBA0GlB"}
|
package/dist/connect/create.js
CHANGED
|
@@ -70,6 +70,9 @@ async function createCodeConnectFromUrl({ accessToken, figmaNodeUrl, outFile, ou
|
|
|
70
70
|
if (response.status === 200) {
|
|
71
71
|
logging_1.logger.info('Parsing response');
|
|
72
72
|
const component = (0, helpers_1.findComponentsInDocument)(response.data.document, nodeIds)[0];
|
|
73
|
+
if (component === undefined) {
|
|
74
|
+
(0, logging_1.exitWithError)('Could not find a component in the provided URL');
|
|
75
|
+
}
|
|
73
76
|
const normalizedName = normalizeComponentName(component.name);
|
|
74
77
|
const payload = {
|
|
75
78
|
mode: 'CREATE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAKkB;AAClB,+CAA2C;AAC3C,4CAAmB;AACnB,qDAAwD;AACxD,+CAAyD;AACzD,6DAAiE;AAEjE,4CAAwD;AAExD,uEAAuF;AACvF,+DAAgD;AAChD,2CAAsD;AAStD,SAAgB,sBAAsB,CAAC,IAAY;IACjD,6EAA6E;IAC7E,OAAO,IAAI;SACR,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC;AARD,wDAQC;AAEM,KAAK,UAAU,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACM;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,YAAY,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,CAAC,YAAY,CAAC,CAAC,CAAA;QAE5C,MAAM,MAAM,GACV,IAAA,0BAAS,EAAC,YAAY,IAAI,EAAE,CAAC,GAAG,iBAAiB,OAAO,iBAAiB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QAE9F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAA,uBAAa,EACX,6CAA6C,YAAY,8BAA8B,CACxF,CAAA;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAA,uBAAa,EACX,6CAA6C,YAAY,kCAAkC,CAC5F,CAAA;QACH,CAAC;QAED,gBAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC;YAChE,CAAC,CAAC;gBACE,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CACd,YAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAC5E;aACF;YACH,CAAC,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,MAAM,EAAE;gBACtB,OAAO,EAAE,IAAA,2BAAU,EAAC,WAAW,CAAC;aACjC,CAAC,CAAA;QAEN,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,gBAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC/B,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,IAAA,uBAAa,EAAC,gDAAgD,CAAC,CAAA;YACjE,CAAC;YACD,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAE7D,MAAM,OAAO,GAAyB;gBACpC,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE;gBAC/D,eAAe,EAAE,OAAO;gBACxB,SAAS,EAAE;oBACT,YAAY;oBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,cAAc;oBACd,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,4BAA4B,EAAE,SAAS,CAAC,4BAA4B;iBACrE;gBACD,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAA;YAED,gBAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;YAE/C,IAAI,MAA6C,CAAA;YAEjD,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC1C,MAAM,GAAG,MAAM,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAA;YAChD,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAU;oBAC7B,iEAAiE;oBACjE,iDAAiD;oBACjD,WAAW,CAAC,MAA2C,EACvD,OAAO,EACP,WAAW,CAAC,OAAO,CACpB,CAAA;oBAED,MAAM,GAAG,+CAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC9C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAA,gCAAS,EAAC,CAAC,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mCAAc,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAErD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAA,uBAAa,EAAC,4CAA4C,CAAC,CAAA;YAC7D,CAAC;YAED,gBAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;YACzD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,gBAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,0DAA0D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YACzF,gBAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAA,oBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,gBAAM,CAAC,KAAK,CACV,uCAAuC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CACtI,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACpE,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,IAAA,iCAAuB,EAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAhHD,4DAgHC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentTypeSignature } from '../react/parser';
|
|
3
|
+
import { Intrinsic } from './intrinsics';
|
|
3
4
|
export type ParseRequestPayload = {
|
|
4
5
|
mode: 'PARSE';
|
|
5
6
|
paths: string[];
|
|
@@ -22,19 +23,19 @@ export declare const ParserExecutableMessages: z.ZodArray<z.ZodObject<{
|
|
|
22
23
|
}, "strip", z.ZodTypeAny, {
|
|
23
24
|
message: string;
|
|
24
25
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
25
|
-
type?: string | undefined;
|
|
26
26
|
sourceLocation?: {
|
|
27
27
|
file: string;
|
|
28
28
|
line?: number | undefined;
|
|
29
29
|
} | undefined;
|
|
30
|
+
type?: string | undefined;
|
|
30
31
|
}, {
|
|
31
32
|
message: string;
|
|
32
33
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
33
|
-
type?: string | undefined;
|
|
34
34
|
sourceLocation?: {
|
|
35
35
|
file: string;
|
|
36
36
|
line?: number | undefined;
|
|
37
37
|
} | undefined;
|
|
38
|
+
type?: string | undefined;
|
|
38
39
|
}>, "many">;
|
|
39
40
|
export declare const ParseResponsePayload: z.ZodObject<{
|
|
40
41
|
docs: z.ZodArray<z.ZodObject<{
|
|
@@ -79,42 +80,42 @@ export declare const ParseResponsePayload: z.ZodObject<{
|
|
|
79
80
|
label: string;
|
|
80
81
|
template: string;
|
|
81
82
|
figmaNode: string;
|
|
83
|
+
language: string;
|
|
82
84
|
templateData: {
|
|
83
85
|
props: Record<string, any>;
|
|
84
86
|
imports?: string[] | undefined;
|
|
85
87
|
nestable?: boolean | undefined;
|
|
86
88
|
};
|
|
87
|
-
language: string;
|
|
88
89
|
variant?: Record<string, any> | undefined;
|
|
89
90
|
links?: {
|
|
90
91
|
name: string;
|
|
91
92
|
url: string;
|
|
92
93
|
}[] | undefined;
|
|
93
94
|
source?: string | undefined;
|
|
95
|
+
component?: string | undefined;
|
|
94
96
|
sourceLocation?: {
|
|
95
97
|
line: number;
|
|
96
98
|
} | undefined;
|
|
97
|
-
component?: string | undefined;
|
|
98
99
|
}, {
|
|
99
100
|
label: string;
|
|
100
101
|
template: string;
|
|
101
102
|
figmaNode: string;
|
|
103
|
+
language: string;
|
|
102
104
|
templateData: {
|
|
103
105
|
props: Record<string, any>;
|
|
104
106
|
imports?: string[] | undefined;
|
|
105
107
|
nestable?: boolean | undefined;
|
|
106
108
|
};
|
|
107
|
-
language: string;
|
|
108
109
|
variant?: Record<string, any> | undefined;
|
|
109
110
|
links?: {
|
|
110
111
|
name: string;
|
|
111
112
|
url: string;
|
|
112
113
|
}[] | undefined;
|
|
113
114
|
source?: string | undefined;
|
|
115
|
+
component?: string | undefined;
|
|
114
116
|
sourceLocation?: {
|
|
115
117
|
line: number;
|
|
116
118
|
} | undefined;
|
|
117
|
-
component?: string | undefined;
|
|
118
119
|
}>, "many">;
|
|
119
120
|
messages: z.ZodArray<z.ZodObject<{
|
|
120
121
|
level: z.ZodUnion<[z.ZodLiteral<"DEBUG">, z.ZodLiteral<"INFO">, z.ZodLiteral<"WARN">, z.ZodLiteral<"ERROR">]>;
|
|
@@ -133,81 +134,81 @@ export declare const ParseResponsePayload: z.ZodObject<{
|
|
|
133
134
|
}, "strip", z.ZodTypeAny, {
|
|
134
135
|
message: string;
|
|
135
136
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
136
|
-
type?: string | undefined;
|
|
137
137
|
sourceLocation?: {
|
|
138
138
|
file: string;
|
|
139
139
|
line?: number | undefined;
|
|
140
140
|
} | undefined;
|
|
141
|
+
type?: string | undefined;
|
|
141
142
|
}, {
|
|
142
143
|
message: string;
|
|
143
144
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
144
|
-
type?: string | undefined;
|
|
145
145
|
sourceLocation?: {
|
|
146
146
|
file: string;
|
|
147
147
|
line?: number | undefined;
|
|
148
148
|
} | undefined;
|
|
149
|
+
type?: string | undefined;
|
|
149
150
|
}>, "many">;
|
|
150
151
|
}, "strip", z.ZodTypeAny, {
|
|
151
152
|
docs: {
|
|
152
153
|
label: string;
|
|
153
154
|
template: string;
|
|
154
155
|
figmaNode: string;
|
|
156
|
+
language: string;
|
|
155
157
|
templateData: {
|
|
156
158
|
props: Record<string, any>;
|
|
157
159
|
imports?: string[] | undefined;
|
|
158
160
|
nestable?: boolean | undefined;
|
|
159
161
|
};
|
|
160
|
-
language: string;
|
|
161
162
|
variant?: Record<string, any> | undefined;
|
|
162
163
|
links?: {
|
|
163
164
|
name: string;
|
|
164
165
|
url: string;
|
|
165
166
|
}[] | undefined;
|
|
166
167
|
source?: string | undefined;
|
|
168
|
+
component?: string | undefined;
|
|
167
169
|
sourceLocation?: {
|
|
168
170
|
line: number;
|
|
169
171
|
} | undefined;
|
|
170
|
-
component?: string | undefined;
|
|
171
172
|
}[];
|
|
172
173
|
messages: {
|
|
173
174
|
message: string;
|
|
174
175
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
175
|
-
type?: string | undefined;
|
|
176
176
|
sourceLocation?: {
|
|
177
177
|
file: string;
|
|
178
178
|
line?: number | undefined;
|
|
179
179
|
} | undefined;
|
|
180
|
+
type?: string | undefined;
|
|
180
181
|
}[];
|
|
181
182
|
}, {
|
|
182
183
|
docs: {
|
|
183
184
|
label: string;
|
|
184
185
|
template: string;
|
|
185
186
|
figmaNode: string;
|
|
187
|
+
language: string;
|
|
186
188
|
templateData: {
|
|
187
189
|
props: Record<string, any>;
|
|
188
190
|
imports?: string[] | undefined;
|
|
189
191
|
nestable?: boolean | undefined;
|
|
190
192
|
};
|
|
191
|
-
language: string;
|
|
192
193
|
variant?: Record<string, any> | undefined;
|
|
193
194
|
links?: {
|
|
194
195
|
name: string;
|
|
195
196
|
url: string;
|
|
196
197
|
}[] | undefined;
|
|
197
198
|
source?: string | undefined;
|
|
199
|
+
component?: string | undefined;
|
|
198
200
|
sourceLocation?: {
|
|
199
201
|
line: number;
|
|
200
202
|
} | undefined;
|
|
201
|
-
component?: string | undefined;
|
|
202
203
|
}[];
|
|
203
204
|
messages: {
|
|
204
205
|
message: string;
|
|
205
206
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
206
|
-
type?: string | undefined;
|
|
207
207
|
sourceLocation?: {
|
|
208
208
|
file: string;
|
|
209
209
|
line?: number | undefined;
|
|
210
210
|
} | undefined;
|
|
211
|
+
type?: string | undefined;
|
|
211
212
|
}[];
|
|
212
213
|
}>;
|
|
213
214
|
export type PropMapping = Record<string, Intrinsic>;
|
|
@@ -223,6 +224,7 @@ export type CreateRequestPayload = {
|
|
|
223
224
|
sourceFilepath?: string;
|
|
224
225
|
sourceExport?: string;
|
|
225
226
|
propMapping?: PropMapping;
|
|
227
|
+
reactTypeSignature?: ComponentTypeSignature;
|
|
226
228
|
component: {
|
|
227
229
|
figmaNodeUrl: string;
|
|
228
230
|
id: string;
|
|
@@ -258,29 +260,29 @@ export declare const CreateResponsePayload: z.ZodObject<{
|
|
|
258
260
|
}, "strip", z.ZodTypeAny, {
|
|
259
261
|
message: string;
|
|
260
262
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
261
|
-
type?: string | undefined;
|
|
262
263
|
sourceLocation?: {
|
|
263
264
|
file: string;
|
|
264
265
|
line?: number | undefined;
|
|
265
266
|
} | undefined;
|
|
267
|
+
type?: string | undefined;
|
|
266
268
|
}, {
|
|
267
269
|
message: string;
|
|
268
270
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
269
|
-
type?: string | undefined;
|
|
270
271
|
sourceLocation?: {
|
|
271
272
|
file: string;
|
|
272
273
|
line?: number | undefined;
|
|
273
274
|
} | undefined;
|
|
275
|
+
type?: string | undefined;
|
|
274
276
|
}>, "many">;
|
|
275
277
|
}, "strip", z.ZodTypeAny, {
|
|
276
278
|
messages: {
|
|
277
279
|
message: string;
|
|
278
280
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
279
|
-
type?: string | undefined;
|
|
280
281
|
sourceLocation?: {
|
|
281
282
|
file: string;
|
|
282
283
|
line?: number | undefined;
|
|
283
284
|
} | undefined;
|
|
285
|
+
type?: string | undefined;
|
|
284
286
|
}[];
|
|
285
287
|
createdFiles: {
|
|
286
288
|
filePath: string;
|
|
@@ -289,11 +291,11 @@ export declare const CreateResponsePayload: z.ZodObject<{
|
|
|
289
291
|
messages: {
|
|
290
292
|
message: string;
|
|
291
293
|
level: "ERROR" | "DEBUG" | "INFO" | "WARN";
|
|
292
|
-
type?: string | undefined;
|
|
293
294
|
sourceLocation?: {
|
|
294
295
|
file: string;
|
|
295
296
|
line?: number | undefined;
|
|
296
297
|
} | undefined;
|
|
298
|
+
type?: string | undefined;
|
|
297
299
|
}[];
|
|
298
300
|
createdFiles: {
|
|
299
301
|
filePath: string;
|
|
@@ -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;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
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,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,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;IAEzB,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAI3C,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":";;;AAAA,6BAAuB;
|
|
1
|
+
{"version":3,"file":"parser_executable_types.js","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,22 @@ import { ValueMapping } from '../../connect/intrinsics';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const PROPERTY_PLACEHOLDER = "PROPERTY_PLACEHOLDER";
|
|
11
11
|
export declare function generateValueMapping(propSignature: string, figmaPropDef: FigmaRestApi.ComponentPropertyDefinition): ValueMapping;
|
|
12
|
+
export declare enum MatchableNameTypes {
|
|
13
|
+
Property = 0,
|
|
14
|
+
VariantValue = 1
|
|
15
|
+
}
|
|
16
|
+
type MatchableName = {
|
|
17
|
+
type: MatchableNameTypes;
|
|
18
|
+
name: string;
|
|
19
|
+
variantProperty?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Builds a map of all properties and enum values, indexed by matchable name.
|
|
23
|
+
* @param componentPropertyDefinitions
|
|
24
|
+
* @returns A map of {name: values[]}. Each value is an array to avoid
|
|
25
|
+
* collisions between properties / enum values
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildMatchableNamesMap(componentPropertyDefinitions?: FigmaRestApi.Component['componentPropertyDefinitions']): Record<string, MatchableName[]>;
|
|
12
28
|
export declare function generatePropMapping({ componentPropertyDefinitions, signature, }: {
|
|
13
29
|
componentPropertyDefinitions: FigmaRestApi.Component['componentPropertyDefinitions'];
|
|
14
30
|
signature: ComponentTypeSignature;
|
|
@@ -19,5 +35,9 @@ export declare function extractSignatureAndGeneratePropMapping({ exportName, fil
|
|
|
19
35
|
projectInfo: ReactProjectInfo;
|
|
20
36
|
componentPropertyDefinitions: FigmaRestApi.Component['componentPropertyDefinitions'];
|
|
21
37
|
cmd: BaseCommand;
|
|
22
|
-
}):
|
|
38
|
+
}): {
|
|
39
|
+
propMapping: PropMapping | undefined;
|
|
40
|
+
signature: ComponentTypeSignature | undefined;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
23
43
|
//# 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,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,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,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAA4B,YAAY,EAAoB,MAAM,0BAA0B,CAAA;AAInG;;GAEG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAI1D,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,YAAY,CAAC,2BAA2B,GACrD,YAAY,CAUd;
|
|
1
|
+
{"version":3,"file":"prop_mapping.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,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,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAA4B,YAAY,EAAoB,MAAM,0BAA0B,CAAA;AAInG;;GAEG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAI1D,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,YAAY,CAAC,2BAA2B,GACrD,YAAY,CAUd;AAgED,oBAAY,kBAAkB;IAC5B,QAAQ,IAAA;IACR,YAAY,IAAA;CAEb;AAED,KAAK,aAAa,GAAG;IACnB,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,mCA+BtF;AAED,wBAAgB,mBAAmB,CAAC,EAClC,4BAA4B,EAC5B,SAAS,GACV,EAAE;IACD,4BAA4B,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACpF,SAAS,EAAE,sBAAsB,CAAA;CAClC,GAAG,WAAW,CAuFd;AAED,wBAAgB,sCAAsC,CAAC,EACrD,UAAU,EACV,QAAQ,EACR,WAAW,EACX,4BAA4B,EAC5B,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,4BAA4B,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACpF,GAAG,EAAE,WAAW,CAAA;CACjB,GAAG;IACF,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,SAAS,EAAE,sBAAsB,GAAG,SAAS,CAAA;CAC9C,CA6BA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractSignatureAndGeneratePropMapping = exports.generatePropMapping = exports.generateValueMapping = exports.PROPERTY_PLACEHOLDER = void 0;
|
|
3
|
+
exports.extractSignatureAndGeneratePropMapping = 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
6
|
const logging_1 = require("../../common/logging");
|
|
@@ -29,10 +29,8 @@ exports.generateValueMapping = generateValueMapping;
|
|
|
29
29
|
* These props have been matched by name and aren't guaranteed to
|
|
30
30
|
* actually be related, so we return null if no suitable mapping
|
|
31
31
|
*/
|
|
32
|
-
function generateIntrinsic({ propSignature
|
|
33
|
-
const
|
|
34
|
-
? propSignatureWithOptionalModifier.substring(1)
|
|
35
|
-
: propSignatureWithOptionalModifier;
|
|
32
|
+
function generateIntrinsic({ propSignature, figmaPropName: figmaPropNameWithNodeId, figmaPropDef, }) {
|
|
33
|
+
const figmaPropName = stripNodeIdFromPropertyName(figmaPropNameWithNodeId);
|
|
36
34
|
if (propSignature === 'string' && figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Text) {
|
|
37
35
|
return {
|
|
38
36
|
kind: intrinsics_1.IntrinsicKind.String,
|
|
@@ -55,40 +53,135 @@ function generateIntrinsic({ propSignature: propSignatureWithOptionalModifier, f
|
|
|
55
53
|
}
|
|
56
54
|
if (propSignature.includes(' | ') &&
|
|
57
55
|
figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Variant) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
const valueMapping = generateValueMapping(propSignature, figmaPropDef);
|
|
57
|
+
// Only valuable if some values were mapped
|
|
58
|
+
if (Object.keys(valueMapping).length > 0) {
|
|
59
|
+
return {
|
|
60
|
+
kind: intrinsics_1.IntrinsicKind.Enum,
|
|
61
|
+
args: {
|
|
62
|
+
figmaPropName,
|
|
63
|
+
valueMapping,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
65
67
|
}
|
|
66
68
|
return null;
|
|
67
69
|
}
|
|
70
|
+
function stripNodeIdFromPropertyName(propertyName) {
|
|
71
|
+
return propertyName.replace(/#\d+:\d+/, '');
|
|
72
|
+
}
|
|
73
|
+
const DELIMITERS_REGEX = /[\s-_]/g;
|
|
74
|
+
var MatchableNameTypes;
|
|
75
|
+
(function (MatchableNameTypes) {
|
|
76
|
+
MatchableNameTypes[MatchableNameTypes["Property"] = 0] = "Property";
|
|
77
|
+
MatchableNameTypes[MatchableNameTypes["VariantValue"] = 1] = "VariantValue";
|
|
78
|
+
// ChildLayer, // TODO
|
|
79
|
+
})(MatchableNameTypes || (exports.MatchableNameTypes = MatchableNameTypes = {}));
|
|
80
|
+
/**
|
|
81
|
+
* Builds a map of all properties and enum values, indexed by matchable name.
|
|
82
|
+
* @param componentPropertyDefinitions
|
|
83
|
+
* @returns A map of {name: values[]}. Each value is an array to avoid
|
|
84
|
+
* collisions between properties / enum values
|
|
85
|
+
*/
|
|
86
|
+
function buildMatchableNamesMap(componentPropertyDefinitions) {
|
|
87
|
+
const matchableValues = {};
|
|
88
|
+
function add(matchableStr, definition) {
|
|
89
|
+
matchableValues[matchableStr] = matchableValues[matchableStr] || [];
|
|
90
|
+
matchableValues[matchableStr].push(definition);
|
|
91
|
+
}
|
|
92
|
+
Object.entries(componentPropertyDefinitions || {}).forEach(([propName, propDef]) => {
|
|
93
|
+
const matchableStr = stripNodeIdFromPropertyName(propName).replace(DELIMITERS_REGEX, '');
|
|
94
|
+
add(matchableStr, {
|
|
95
|
+
type: MatchableNameTypes.Property,
|
|
96
|
+
name: propName,
|
|
97
|
+
});
|
|
98
|
+
if (propDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Variant) {
|
|
99
|
+
propDef.variantOptions?.forEach((variantOption) => {
|
|
100
|
+
const variantMatchableStr = variantOption.replace(DELIMITERS_REGEX, '');
|
|
101
|
+
add(variantMatchableStr, {
|
|
102
|
+
type: MatchableNameTypes.VariantValue,
|
|
103
|
+
name: variantOption,
|
|
104
|
+
variantProperty: propName,
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return matchableValues;
|
|
110
|
+
}
|
|
111
|
+
exports.buildMatchableNamesMap = buildMatchableNamesMap;
|
|
68
112
|
function generatePropMapping({ componentPropertyDefinitions, signature, }) {
|
|
69
113
|
const propMapping = {};
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
const withoutWhitespace = propName.replace(/\s/g, '');
|
|
73
|
-
acc[withoutWhitespace] = propName;
|
|
74
|
-
return acc;
|
|
75
|
-
}, {});
|
|
76
|
-
const searchSpace = Object.keys(matchableFigmaProperties);
|
|
114
|
+
const matchableNames = buildMatchableNamesMap(componentPropertyDefinitions);
|
|
115
|
+
const searchSpace = Object.keys(matchableNames);
|
|
77
116
|
const searcher = new fast_fuzzy_1.Searcher(searchSpace);
|
|
78
|
-
|
|
117
|
+
function findBestMatch(matchData, { score, where }) {
|
|
118
|
+
for (const nameMatches of matchData) {
|
|
119
|
+
if (nameMatches.score < score) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
const items = matchableNames[nameMatches.item];
|
|
123
|
+
const match = items.find(where);
|
|
124
|
+
if (match) {
|
|
125
|
+
return match;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
for (const [propName, propSignatureWithOptionalModifier] of Object.entries(signature)) {
|
|
131
|
+
const propSignature = propSignatureWithOptionalModifier.startsWith('?')
|
|
132
|
+
? propSignatureWithOptionalModifier.substring(1)
|
|
133
|
+
: propSignatureWithOptionalModifier;
|
|
79
134
|
const results = searcher.search(propName, { returnMatchData: true });
|
|
80
|
-
if (results.length
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
135
|
+
if (results.length === 0) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* First, look for matching property names with compatible types
|
|
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({
|
|
148
|
+
propSignature,
|
|
149
|
+
figmaPropName,
|
|
150
|
+
figmaPropDef: componentPropertyDefinitions[figmaPropName],
|
|
151
|
+
});
|
|
152
|
+
if (intrinsic) {
|
|
153
|
+
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
|
|
88
172
|
}
|
|
173
|
+
propMapping[propName] = {
|
|
174
|
+
kind: intrinsics_1.IntrinsicKind.Enum,
|
|
175
|
+
args: {
|
|
176
|
+
figmaPropName: variantProperty,
|
|
177
|
+
valueMapping: {
|
|
178
|
+
[variantValue]: true,
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
};
|
|
89
182
|
}
|
|
90
183
|
}
|
|
91
|
-
}
|
|
184
|
+
}
|
|
92
185
|
return propMapping;
|
|
93
186
|
}
|
|
94
187
|
exports.generatePropMapping = generatePropMapping;
|
|
@@ -100,17 +193,26 @@ function extractSignatureAndGeneratePropMapping({ exportName, filepath, projectI
|
|
|
100
193
|
sourceFilePath: filepath,
|
|
101
194
|
projectInfo,
|
|
102
195
|
});
|
|
196
|
+
if (cmd.verbose && Object.keys(signature).length === 0) {
|
|
197
|
+
logging_1.logger.warn(`No TS signature found for "${exportName}" in ${filepath}`);
|
|
198
|
+
}
|
|
103
199
|
}
|
|
104
200
|
catch (e) {
|
|
105
201
|
if (cmd.verbose) {
|
|
106
|
-
logging_1.logger.warn(`Could not extract signature for "${exportName}" in ${filepath}`);
|
|
202
|
+
logging_1.logger.warn(`Could not extract TS signature for "${exportName}" in ${filepath}`);
|
|
107
203
|
}
|
|
108
|
-
return
|
|
204
|
+
return {
|
|
205
|
+
propMapping: undefined,
|
|
206
|
+
signature: undefined,
|
|
207
|
+
};
|
|
109
208
|
}
|
|
110
|
-
return
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
209
|
+
return {
|
|
210
|
+
propMapping: generatePropMapping({
|
|
211
|
+
componentPropertyDefinitions,
|
|
212
|
+
signature,
|
|
213
|
+
}),
|
|
214
|
+
signature: signature,
|
|
215
|
+
};
|
|
114
216
|
}
|
|
115
217
|
exports.extractSignatureAndGeneratePropMapping = extractSignatureAndGeneratePropMapping;
|
|
116
218
|
//# sourceMappingURL=prop_mapping.js.map
|