@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 @@
|
|
|
1
|
+
{"version":3,"file":"figma_connect.d.ts","sourceRoot":"","sources":["../../src/connect/figma_connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma_connect.js","sourceRoot":"","sources":["../../src/connect/figma_connect.ts"],"names":[],"mappings":""}
|
|
@@ -18,6 +18,13 @@ export declare namespace FigmaRestApi {
|
|
|
18
18
|
* All possible values for this property. Only exists on VARIANT properties
|
|
19
19
|
*/
|
|
20
20
|
variantOptions?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Only exists on INSTANCE_SWAP properties
|
|
23
|
+
*/
|
|
24
|
+
preferredValues?: {
|
|
25
|
+
type: string;
|
|
26
|
+
key: string;
|
|
27
|
+
}[];
|
|
21
28
|
}
|
|
22
29
|
interface Node {
|
|
23
30
|
type: 'COMPONENT' | 'COMPONENT_SET' | 'OTHER';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma_rest_api.d.ts","sourceRoot":"","sources":["../../src/connect/figma_rest_api.ts"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,UAE1C;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM;;;;EAM7C;AAGD,yBAAiB,YAAY,CAAC;IAC5B,KAAY,qBAAqB;QAC/B,OAAO,YAAY;QACnB,YAAY,kBAAkB;QAC9B,IAAI,SAAS;QACb,OAAO,YAAY;KACpB;IAED,UAAiB,2BAA2B;QAC1C,YAAY,EAAE,OAAO,GAAG,MAAM,CAAA;QAC9B,IAAI,EAAE,qBAAqB,CAAA;QAC3B;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"figma_rest_api.d.ts","sourceRoot":"","sources":["../../src/connect/figma_rest_api.ts"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,UAE1C;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM;;;;EAM7C;AAGD,yBAAiB,YAAY,CAAC;IAC5B,KAAY,qBAAqB;QAC/B,OAAO,YAAY;QACnB,YAAY,kBAAkB;QAC9B,IAAI,SAAS;QACb,OAAO,YAAY;KACpB;IAED,UAAiB,2BAA2B;QAC1C,YAAY,EAAE,OAAO,GAAG,MAAM,CAAA;QAC9B,IAAI,EAAE,qBAAqB,CAAA;QAC3B;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;QACzB;;WAEG;QACH,eAAe,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAClD;IAED,UAAiB,IAAI;QAEnB,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,OAAO,CAAA;QAC7C,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,QAAQ,EAAE,IAAI,EAAE,CAAA;KACjB;IAED,UAAiB,SAAU,SAAQ,IAAI;QACrC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAA;QACnC,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;KAC1E;CACF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CA8B9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma_rest_api.js","sourceRoot":"","sources":["../../src/connect/figma_rest_api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,+CAA0C;AAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAA;AAErD,SAAgB,SAAS,CAAC,SAAiB;IACzC,OAAO,0BAA0B,CAAA;AACnC,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO;QACL,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,oBAAoB,OAAO,EAAE;KAC5C,CAAA;AACH,CAAC;AAND,gCAMC;AAED,mDAAmD;AACnD,IAAiB,YAAY,
|
|
1
|
+
{"version":3,"file":"figma_rest_api.js","sourceRoot":"","sources":["../../src/connect/figma_rest_api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,+CAA0C;AAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAA;AAErD,SAAgB,SAAS,CAAC,SAAiB;IACzC,OAAO,0BAA0B,CAAA;AACnC,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO;QACL,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,oBAAoB,OAAO,EAAE;KAC5C,CAAA;AACH,CAAC;AAND,gCAMC;AAED,mDAAmD;AACnD,IAAiB,YAAY,CAiC5B;AAjCD,WAAiB,YAAY;IAC3B,IAAY,qBAKX;IALD,WAAY,qBAAqB;QAC/B,4CAAmB,CAAA;QACnB,uDAA8B,CAAA;QAC9B,sCAAa,CAAA;QACb,4CAAmB,CAAA;IACrB,CAAC,EALW,qBAAqB,GAArB,kCAAqB,KAArB,kCAAqB,QAKhC;AA2BH,CAAC,EAjCgB,YAAY,4BAAZ,YAAY,QAiC5B;AAEM,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,WAAmB;IAChE,IAAI,CAAC;QACH,gBAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;SACjC,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,gBAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;YACpE,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC/B,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;YACnF,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;QACzB,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,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;IACzB,CAAC;AACH,CAAC;AA9BD,kCA8BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index_common.d.ts","sourceRoot":"","sources":["../../src/connect/index_common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAc3D,wBAAgB,SAAS,uBAMxB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getClient = void 0;
|
|
4
|
+
// `client/external`'s dependency chain ends up including code which is not safe
|
|
5
|
+
// in a browser context, e.g. `child_process`. This would mean that if you
|
|
6
|
+
// co-locate your Code Connect with React components, your app will be broken in
|
|
7
|
+
// a browser, because of this import chain.
|
|
8
|
+
//
|
|
9
|
+
// To get around this, we only import `client/external` if you are in a Node
|
|
10
|
+
// context – it is only used for the icon script, so none of the code which runs
|
|
11
|
+
// in the browser should touch it.
|
|
12
|
+
//
|
|
13
|
+
// Note that you may still see messages from the JS bundler about Node modules,
|
|
14
|
+
// but these won't be included at runtime.
|
|
15
|
+
function getClient() {
|
|
16
|
+
let client = {};
|
|
17
|
+
if (typeof process !== 'undefined' && process.versions && process.versions.node) {
|
|
18
|
+
client = require('./client/external');
|
|
19
|
+
}
|
|
20
|
+
return client;
|
|
21
|
+
}
|
|
22
|
+
exports.getClient = getClient;
|
|
23
|
+
//# sourceMappingURL=index_common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index_common.js","sourceRoot":"","sources":["../../src/connect/index_common.ts"],"names":[],"mappings":";;;AAEA,gFAAgF;AAChF,0EAA0E;AAC1E,gFAAgF;AAChF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,kCAAkC;AAClC,EAAE;AACF,+EAA+E;AAC/E,0CAA0C;AAE1C,SAAgB,SAAS;IACvB,IAAI,MAAM,GAAuB,EAAS,CAAA;IAC1C,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChF,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAND,8BAMC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as ts from 'typescript';
|
|
2
|
-
import { ParserContext } from '
|
|
2
|
+
import { ParserContext } from './parser_common';
|
|
3
3
|
import { FCCValue } from '../react/parser_template_helpers';
|
|
4
4
|
export declare const API_PREFIX = "figma";
|
|
5
5
|
export declare const FIGMA_CONNECT_CALL = "figma.connect";
|
|
@@ -25,11 +25,12 @@ export interface FigmaBoolean extends IntrinsicBase {
|
|
|
25
25
|
valueMapping?: Record<'true' | 'false', ValueMappingKind>;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
export type ValueMapping = Record<string, ValueMappingKind>;
|
|
28
29
|
export interface FigmaEnum extends IntrinsicBase {
|
|
29
30
|
kind: IntrinsicKind.Enum;
|
|
30
31
|
args: {
|
|
31
32
|
figmaPropName: string;
|
|
32
|
-
valueMapping:
|
|
33
|
+
valueMapping: ValueMapping;
|
|
33
34
|
};
|
|
34
35
|
}
|
|
35
36
|
export interface FigmaString extends IntrinsicBase {
|
|
@@ -78,7 +79,7 @@ export type Intrinsic = FigmaBoolean | FigmaEnum | FigmaString | FigmaInstance |
|
|
|
78
79
|
* @returns
|
|
79
80
|
*/
|
|
80
81
|
export declare function parseIntrinsic(exp: ts.CallExpression, parserContext: ParserContext): Intrinsic;
|
|
81
|
-
export declare function valueMappingToString(valueMapping:
|
|
82
|
+
export declare function valueMappingToString(valueMapping: ValueMapping, childLayer?: string): string;
|
|
82
83
|
export declare function intrinsicToString({ kind, args }: Intrinsic, childLayer?: string): string;
|
|
83
84
|
/**
|
|
84
85
|
* Parses the `props` field in a `figma.connect()` call, returning a mapping of
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.parsePropsObject = exports.intrinsicToString = exports.valueMappingToString = exports.parseIntrinsic = exports.IntrinsicKind = exports.FIGMA_CONNECT_CALL = exports.API_PREFIX = void 0;
|
|
27
27
|
const ts = __importStar(require("typescript"));
|
|
28
|
-
const
|
|
28
|
+
const parser_common_1 = require("./parser_common");
|
|
29
29
|
const compiler_1 = require("../typescript/compiler");
|
|
30
30
|
const compiler_2 = require("../typescript/compiler");
|
|
31
31
|
const compiler_3 = require("../typescript/compiler");
|
|
@@ -77,7 +77,7 @@ makeIntrinsic('boolean', (name) => {
|
|
|
77
77
|
return {
|
|
78
78
|
kind: IntrinsicKind.Boolean,
|
|
79
79
|
args: {
|
|
80
|
-
figmaPropName: (0, compiler_1.
|
|
80
|
+
figmaPropName: (0, compiler_1.stripQuotesFromNode)(figmaPropNameIdentifier),
|
|
81
81
|
valueMapping,
|
|
82
82
|
},
|
|
83
83
|
};
|
|
@@ -95,7 +95,7 @@ makeIntrinsic('enum', (name) => {
|
|
|
95
95
|
return {
|
|
96
96
|
kind: IntrinsicKind.Enum,
|
|
97
97
|
args: {
|
|
98
|
-
figmaPropName: (0, compiler_1.
|
|
98
|
+
figmaPropName: (0, compiler_1.stripQuotesFromNode)(figmaPropNameIdentifier),
|
|
99
99
|
valueMapping: parsePropsObject(valueMapping, ctx),
|
|
100
100
|
},
|
|
101
101
|
};
|
|
@@ -111,7 +111,7 @@ makeIntrinsic('string', (name) => {
|
|
|
111
111
|
return {
|
|
112
112
|
kind: IntrinsicKind.String,
|
|
113
113
|
args: {
|
|
114
|
-
figmaPropName: (0, compiler_1.
|
|
114
|
+
figmaPropName: (0, compiler_1.stripQuotesFromNode)(figmaPropNameIdentifier),
|
|
115
115
|
},
|
|
116
116
|
};
|
|
117
117
|
},
|
|
@@ -126,7 +126,7 @@ makeIntrinsic('instance', (name) => {
|
|
|
126
126
|
return {
|
|
127
127
|
kind: IntrinsicKind.Instance,
|
|
128
128
|
args: {
|
|
129
|
-
figmaPropName: (0, compiler_1.
|
|
129
|
+
figmaPropName: (0, compiler_1.stripQuotesFromNode)(figmaPropNameIdentifier),
|
|
130
130
|
},
|
|
131
131
|
};
|
|
132
132
|
},
|
|
@@ -139,23 +139,23 @@ makeIntrinsic('children', (name) => {
|
|
|
139
139
|
const layerName = exp.arguments?.[0];
|
|
140
140
|
const layers = [];
|
|
141
141
|
if (ts.isStringLiteral(layerName)) {
|
|
142
|
-
layers.push((0, compiler_1.
|
|
142
|
+
layers.push((0, compiler_1.stripQuotesFromNode)(layerName));
|
|
143
143
|
}
|
|
144
144
|
else if (ts.isArrayLiteralExpression(layerName) && layerName.elements.length > 0) {
|
|
145
145
|
layerName.elements.forEach((el) => {
|
|
146
146
|
(0, compiler_1.assertIsStringLiteral)(el, sourceFile);
|
|
147
|
-
const name = (0, compiler_1.
|
|
147
|
+
const name = (0, compiler_1.stripQuotesFromNode)(el);
|
|
148
148
|
if (name.includes('*')) {
|
|
149
|
-
throw new
|
|
149
|
+
throw new parser_common_1.ParserError(`Wildcards can not be used with an array of strings. Use a single string literal instead.`, {
|
|
150
150
|
node: layerName,
|
|
151
151
|
sourceFile,
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
|
-
layers.push((0, compiler_1.
|
|
154
|
+
layers.push((0, compiler_1.stripQuotesFromNode)(el));
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
else {
|
|
158
|
-
throw new
|
|
158
|
+
throw new parser_common_1.ParserError(`Invalid argument to ${name}, should be a string literal or an array of strings`, {
|
|
159
159
|
node: layerName,
|
|
160
160
|
sourceFile,
|
|
161
161
|
});
|
|
@@ -177,10 +177,17 @@ makeIntrinsic('nestedProps', (name) => {
|
|
|
177
177
|
const mapping = exp.arguments?.[1];
|
|
178
178
|
(0, compiler_1.assertIsStringLiteral)(layerName, sourceFile, `Invalid argument to ${name}, \`layerName\` should be a string literal`);
|
|
179
179
|
(0, compiler_3.assertIsObjectLiteralExpression)(mapping, sourceFile, `Invalid argument to ${name}, \`props\` should be an object literal`);
|
|
180
|
+
ts.forEachChild(mapping, (node) => {
|
|
181
|
+
if (ts.isPropertyAssignment(node) &&
|
|
182
|
+
ts.isCallExpression(node.initializer) &&
|
|
183
|
+
node.initializer.getText().startsWith('figma.nestedProps')) {
|
|
184
|
+
throw new parser_common_1.ParserError(`nestedProps can not be nested inside another nestedProps call, instead, pass the deeply nested layer name at the top level`);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
180
187
|
return {
|
|
181
188
|
kind: IntrinsicKind.NestedProps,
|
|
182
189
|
args: {
|
|
183
|
-
layer: (0, compiler_1.
|
|
190
|
+
layer: (0, compiler_1.stripQuotesFromNode)(layerName),
|
|
184
191
|
props: parsePropsObject(mapping, ctx),
|
|
185
192
|
},
|
|
186
193
|
};
|
|
@@ -196,7 +203,7 @@ makeIntrinsic('className', (name) => {
|
|
|
196
203
|
(0, compiler_1.assertIsArrayLiteralExpression)(classNameArg, sourceFile, `${name} takes an array of strings`);
|
|
197
204
|
classNameArg.elements.forEach((el) => {
|
|
198
205
|
if (ts.isStringLiteral(el)) {
|
|
199
|
-
className.push((0, compiler_1.
|
|
206
|
+
className.push((0, compiler_1.stripQuotesFromNode)(el));
|
|
200
207
|
}
|
|
201
208
|
else if (ts.isCallExpression(el)) {
|
|
202
209
|
className.push(parseIntrinsic(el, ctx));
|
|
@@ -220,7 +227,7 @@ makeIntrinsic('textContent', (name) => {
|
|
|
220
227
|
return {
|
|
221
228
|
kind: IntrinsicKind.TextContent,
|
|
222
229
|
args: {
|
|
223
|
-
layer: (0, compiler_1.
|
|
230
|
+
layer: (0, compiler_1.stripQuotesFromNode)(layerNameArg),
|
|
224
231
|
},
|
|
225
232
|
};
|
|
226
233
|
},
|
|
@@ -239,7 +246,7 @@ function parseIntrinsic(exp, parserContext) {
|
|
|
239
246
|
return Intrinsics[key].parse(exp, parserContext);
|
|
240
247
|
}
|
|
241
248
|
}
|
|
242
|
-
throw new
|
|
249
|
+
throw new parser_common_1.ParserError(`Unknown intrinsic: ${exp.getText()}`, {
|
|
243
250
|
node: exp,
|
|
244
251
|
sourceFile: parserContext.sourceFile,
|
|
245
252
|
});
|
|
@@ -270,26 +277,31 @@ function valueMappingToString(valueMapping, childLayer) {
|
|
|
270
277
|
// Mappings can be nested, e.g. an enum value can be figma.instance(...)
|
|
271
278
|
return `"${key}": ${intrinsicToString(value, childLayer)}`;
|
|
272
279
|
}
|
|
273
|
-
|
|
274
|
-
|
|
280
|
+
// Convert objects to strings
|
|
281
|
+
const str = typeof value.$value === 'string' ? value.$value : `${JSON.stringify(value.$value)}`;
|
|
282
|
+
const v = replaceNewlines(str);
|
|
283
|
+
switch (value.$type) {
|
|
275
284
|
case 'function':
|
|
276
285
|
return `"${key}": _fcc_function('${v}')`;
|
|
277
286
|
case 'identifier':
|
|
278
287
|
return `"${key}": _fcc_identifier('${v}')`;
|
|
279
288
|
case 'object':
|
|
280
|
-
|
|
289
|
+
// Don't pass the object itself wrapped in quotes - this helper needs to instantiate the actual
|
|
290
|
+
// object, as it may be used in the snippet code
|
|
291
|
+
return `"${key}": _fcc_object(${v})`;
|
|
281
292
|
case 'template-string':
|
|
282
293
|
return `"${key}": _fcc_templateString('${v}')`;
|
|
283
294
|
case 'jsx-element':
|
|
284
295
|
return `"${key}": _fcc_jsxElement('${v}')`;
|
|
285
296
|
default:
|
|
286
|
-
throw new
|
|
297
|
+
throw new parser_common_1.InternalError(`Unknown helper type: ${value}`);
|
|
287
298
|
}
|
|
288
299
|
})
|
|
289
300
|
.join(',\n') +
|
|
290
301
|
'}');
|
|
291
302
|
}
|
|
292
303
|
exports.valueMappingToString = valueMappingToString;
|
|
304
|
+
let nestedLayerCount = 0;
|
|
293
305
|
function intrinsicToString({ kind, args }, childLayer) {
|
|
294
306
|
const selector = childLayer ?? `figma.currentLayer`;
|
|
295
307
|
switch (kind) {
|
|
@@ -326,16 +338,27 @@ function intrinsicToString({ kind, args }, childLayer) {
|
|
|
326
338
|
return `${selector}.__findChildWithCriteria__({ name: '${args.layer}', type: "TEXT" }).__render__()`;
|
|
327
339
|
}
|
|
328
340
|
case IntrinsicKind.NestedProps: {
|
|
329
|
-
|
|
341
|
+
let body = '';
|
|
342
|
+
// the actual layer name in figma could have a bunch of special characters in it,
|
|
343
|
+
// and if we try to normalize it to a valid JS identifier, it could conflict with
|
|
344
|
+
// other variables in the template code. So we generate a unique variable name
|
|
345
|
+
// for each nested layer reference instead. The only reason it's wrapped in a funciton
|
|
346
|
+
// currently is to keep the error checking out of global scope
|
|
347
|
+
const nestedLayerRef = `nestedLayer${nestedLayerCount++}`;
|
|
348
|
+
body += `const ${nestedLayerRef} = figma.currentLayer.__find__("${args.layer}")\n`;
|
|
349
|
+
body += `return ${nestedLayerRef}.type === "ERROR" ? ${nestedLayerRef} : {
|
|
350
|
+
${Object.entries(args.props).map(([key, intrinsic]) => `${key}: ${intrinsicToString(intrinsic, nestedLayerRef)}\n`)}
|
|
351
|
+
}\n`;
|
|
352
|
+
return `(function () {${body}})()`;
|
|
330
353
|
}
|
|
331
354
|
default:
|
|
332
|
-
throw new
|
|
355
|
+
throw new parser_common_1.InternalError(`Unknown intrinsic: ${kind}`);
|
|
333
356
|
}
|
|
334
357
|
}
|
|
335
358
|
exports.intrinsicToString = intrinsicToString;
|
|
336
|
-
function expressionToFccEnumValue(valueNode,
|
|
359
|
+
function expressionToFccEnumValue(valueNode, parserContext) {
|
|
337
360
|
if (ts.isParenthesizedExpression(valueNode)) {
|
|
338
|
-
return expressionToFccEnumValue(valueNode.expression,
|
|
361
|
+
return expressionToFccEnumValue(valueNode.expression, parserContext);
|
|
339
362
|
}
|
|
340
363
|
if (ts.isJsxElement(valueNode) || ts.isJsxSelfClosingElement(valueNode)) {
|
|
341
364
|
return (0, parser_template_helpers_1._fcc_jsxElement)(valueNode.getText());
|
|
@@ -344,7 +367,8 @@ function expressionToFccEnumValue(valueNode, sourceFile) {
|
|
|
344
367
|
return (0, parser_template_helpers_1._fcc_function)(valueNode.getText());
|
|
345
368
|
}
|
|
346
369
|
if (ts.isObjectLiteralExpression(valueNode)) {
|
|
347
|
-
|
|
370
|
+
// should recursively convert to FCC
|
|
371
|
+
return (0, parser_template_helpers_1._fcc_object)(parsePropsObject(valueNode, parserContext));
|
|
348
372
|
}
|
|
349
373
|
if (ts.isTemplateLiteral(valueNode)) {
|
|
350
374
|
const str = valueNode.getText().replaceAll('`', '');
|
|
@@ -370,7 +394,7 @@ function parsePropsObject(objectLiteral, parserContext) {
|
|
|
370
394
|
if (ts.isCallExpression(valueNode)) {
|
|
371
395
|
return parseIntrinsic(valueNode, parserContext);
|
|
372
396
|
}
|
|
373
|
-
return expressionToFccEnumValue(valueNode,
|
|
397
|
+
return expressionToFccEnumValue(valueNode, parserContext);
|
|
374
398
|
});
|
|
375
399
|
}
|
|
376
400
|
exports.parsePropsObject = parsePropsObject;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import { PropMappings } from './intrinsics';
|
|
3
|
+
import { BaseCodeConnectConfig } from './project';
|
|
4
|
+
import { CodeConnectJSON } from './figma_connect';
|
|
5
|
+
interface ParserErrorContext {
|
|
6
|
+
sourceFile: ts.SourceFile;
|
|
7
|
+
node: ts.Node | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare function getPositionInSourceFile(node: ts.Node, sourceFile: ts.SourceFile): ts.LineAndCharacter;
|
|
10
|
+
export declare class ParserError extends Error {
|
|
11
|
+
sourceFilePosition: ts.LineAndCharacter | null;
|
|
12
|
+
sourceFileName: string;
|
|
13
|
+
constructor(message: string, context?: ParserErrorContext);
|
|
14
|
+
toString(): string;
|
|
15
|
+
toDebugString(): string;
|
|
16
|
+
}
|
|
17
|
+
export declare class InternalError extends ParserError {
|
|
18
|
+
constructor(message: string);
|
|
19
|
+
}
|
|
20
|
+
export interface ParserContext {
|
|
21
|
+
checker: ts.TypeChecker;
|
|
22
|
+
sourceFile: ts.SourceFile;
|
|
23
|
+
resolvedImports: Record<string, string>;
|
|
24
|
+
config: any;
|
|
25
|
+
absPath: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Factory to create a function that is used to create `__PROP__(propName)`
|
|
29
|
+
* function nodes, which are used to replace prop references and ultimately
|
|
30
|
+
* replaced.
|
|
31
|
+
*
|
|
32
|
+
* @returns Function to create `__PROP__(propName)` function nodes
|
|
33
|
+
*/
|
|
34
|
+
export declare function makeCreatePropPlaceholder({ propMappings, referencedProps, sourceFile, }: {
|
|
35
|
+
/** The prop mappings object */
|
|
36
|
+
propMappings: PropMappings | undefined;
|
|
37
|
+
/** The set of referenced props in the current example */
|
|
38
|
+
referencedProps: Set<string>;
|
|
39
|
+
/** The source file */
|
|
40
|
+
sourceFile: ts.SourceFile;
|
|
41
|
+
}): ({ name, node, wrapInJsxExpression, }: {
|
|
42
|
+
/** The prop name */
|
|
43
|
+
name: string;
|
|
44
|
+
/** The props node, used for error reporting */
|
|
45
|
+
node: ts.Node;
|
|
46
|
+
/** Whether to wrap the placeholder in a JSX expression node */
|
|
47
|
+
wrapInJsxExpression?: boolean | undefined;
|
|
48
|
+
}) => ts.CallExpression | ts.JsxExpression;
|
|
49
|
+
/**
|
|
50
|
+
* TS AST visitor function for use with example functions, which replaces
|
|
51
|
+
* references to the `props` argument in various forms in the example code with
|
|
52
|
+
* `__PROP__(propName)` placeholders (created with a createPropPlaceholder
|
|
53
|
+
* function).
|
|
54
|
+
*
|
|
55
|
+
* This is called when transforming the TS AST, and allows us to normalise the
|
|
56
|
+
* different forms of supported prop references into a single representation,
|
|
57
|
+
* which we can then handle consistently (currently we replace the placeholders,
|
|
58
|
+
* using a regex).
|
|
59
|
+
*
|
|
60
|
+
* @returns Placeholder node, or undefined if the node is not a supported prop
|
|
61
|
+
* reference (which results in no transformation)
|
|
62
|
+
*/
|
|
63
|
+
export declare function visitPropReferencingNode({ propsParameter, node, createPropPlaceholder, useJsx, }: {
|
|
64
|
+
/** The props function parameter node */
|
|
65
|
+
propsParameter: ts.ParameterDeclaration;
|
|
66
|
+
/** The node to visit */
|
|
67
|
+
node: ts.Node;
|
|
68
|
+
/**
|
|
69
|
+
* The function to create `__PROP__(propName)` function nodes, created by
|
|
70
|
+
* `baseCreatePropPlaceholder`
|
|
71
|
+
* */
|
|
72
|
+
createPropPlaceholder: ReturnType<typeof makeCreatePropPlaceholder>;
|
|
73
|
+
/** Whether to support JSX syntax or not */
|
|
74
|
+
useJsx?: boolean;
|
|
75
|
+
}): ts.Expression | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Get template code to create variables referencing the props in the prop
|
|
78
|
+
* mappings. This converts the prop mappings into JS calls like `const propName
|
|
79
|
+
* = figma.properties.string('Prop Name')`, which can then be prepended to the
|
|
80
|
+
* template code.
|
|
81
|
+
*
|
|
82
|
+
* @returns Template code string
|
|
83
|
+
*/
|
|
84
|
+
export declare function getReferencedPropsForTemplate({ propMappings, referencedProps, exp, sourceFile, }: {
|
|
85
|
+
/** The prop mappings object */
|
|
86
|
+
propMappings: PropMappings | undefined;
|
|
87
|
+
/** The set of referenced props */
|
|
88
|
+
referencedProps: Set<string>;
|
|
89
|
+
/** The top level node, used for error reporting */
|
|
90
|
+
exp: ts.Node;
|
|
91
|
+
/** The source file */
|
|
92
|
+
sourceFile: ts.SourceFile;
|
|
93
|
+
}): string;
|
|
94
|
+
/**
|
|
95
|
+
* Checks if a file contains Code Connect by looking for the `figma.connect()` function call
|
|
96
|
+
*/
|
|
97
|
+
export declare function isFigmaConnectFile(program: ts.Program, file: string, extension: string): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Checks if an AST node is a `figma.connect()` call
|
|
100
|
+
*
|
|
101
|
+
* @param node AST node
|
|
102
|
+
* @param sourceFile Source file
|
|
103
|
+
* @returns True if the node is a `figma.connect()` call
|
|
104
|
+
*/
|
|
105
|
+
export declare function isFigmaConnectCall(node: ts.Node, sourceFile: ts.SourceFile): node is ts.CallExpression;
|
|
106
|
+
export declare function findDescendants(node: ts.Node, cb: (node: ts.Node) => boolean): ts.Node[];
|
|
107
|
+
/**
|
|
108
|
+
* Parses the `links` field of a `figma.connect()` call
|
|
109
|
+
*
|
|
110
|
+
* @param linksArray an ArrayLiteralExpression
|
|
111
|
+
* @param parserContext Parser context
|
|
112
|
+
* @returns An array of link objects
|
|
113
|
+
*/
|
|
114
|
+
export declare function parseLinks(linksArray: ts.ArrayLiteralExpression, parserContext: ParserContext): {
|
|
115
|
+
name: string;
|
|
116
|
+
url: string;
|
|
117
|
+
}[];
|
|
118
|
+
export declare function parseVariant(variantMap: ts.ObjectLiteralExpression, sourceFile: ts.SourceFile, checker: ts.TypeChecker): Record<string, any>;
|
|
119
|
+
/**
|
|
120
|
+
* Parses the `imports` field of a `figma.connect()` call
|
|
121
|
+
*
|
|
122
|
+
* @param importsArray an ArrayLiteralExpression
|
|
123
|
+
* @param parserContext Parser context
|
|
124
|
+
* @returns An array of link objects
|
|
125
|
+
*/
|
|
126
|
+
export declare function parseImports(importsArray: ts.ArrayLiteralExpression, parserContext: ParserContext): string[];
|
|
127
|
+
export type ParseOptions = {
|
|
128
|
+
repoUrl?: string;
|
|
129
|
+
debug?: boolean;
|
|
130
|
+
silent?: boolean;
|
|
131
|
+
};
|
|
132
|
+
export type ParseFn = (node: ts.CallExpression, parserContext: ParserContext, { repoUrl, silent }: ParseOptions) => Promise<CodeConnectJSON>;
|
|
133
|
+
export type ResolveImportsFn = (program: ts.Program, sourceFile: ts.SourceFile) => Record<string, string>;
|
|
134
|
+
export declare function parseCodeConnect<T extends BaseCodeConnectConfig>({ program, file, config, absPath, parseFn, resolveImportsFn, parseOptions, }: {
|
|
135
|
+
program: ts.Program;
|
|
136
|
+
file: string;
|
|
137
|
+
config: T;
|
|
138
|
+
absPath: string;
|
|
139
|
+
parseFn: ParseFn;
|
|
140
|
+
resolveImportsFn?: ResolveImportsFn;
|
|
141
|
+
parseOptions?: ParseOptions;
|
|
142
|
+
}): Promise<any[]>;
|
|
143
|
+
export {};
|
|
144
|
+
//# sourceMappingURL=parser_common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser_common.d.ts","sourceRoot":"","sources":["../../src/connect/parser_common.ts"],"names":[],"mappings":"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"}
|