@figma/code-connect 1.3.12 → 1.3.13
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/cli.js.map +1 -1
- package/dist/client/external.js.map +1 -1
- package/dist/client/figma_client.js +1 -1
- package/dist/client/figma_client.js.map +1 -1
- package/dist/commands/connect.d.ts +4 -3
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +154 -15
- package/dist/commands/connect.js.map +1 -1
- package/dist/common/fetch.js.map +1 -1
- package/dist/common/logging.js.map +1 -1
- package/dist/common/tsconfig.js.map +1 -1
- package/dist/common/updates.js.map +1 -1
- package/dist/connect/api.js.map +1 -1
- package/dist/connect/create.d.ts.map +1 -1
- package/dist/connect/create.js +2 -1
- package/dist/connect/create.js.map +1 -1
- package/dist/connect/create_common.js.map +1 -1
- package/dist/connect/delete_docs.d.ts +2 -1
- package/dist/connect/delete_docs.d.ts.map +1 -1
- package/dist/connect/delete_docs.js +2 -2
- package/dist/connect/delete_docs.js.map +1 -1
- package/dist/connect/external_types.js.map +1 -1
- package/dist/connect/figma_connect.d.ts +1 -0
- package/dist/connect/figma_connect.d.ts.map +1 -1
- package/dist/connect/figma_connect.js.map +1 -1
- package/dist/connect/figma_rest_api.d.ts +1 -1
- package/dist/connect/figma_rest_api.d.ts.map +1 -1
- package/dist/connect/figma_rest_api.js +5 -1
- package/dist/connect/figma_rest_api.js.map +1 -1
- package/dist/connect/helpers.js.map +1 -1
- package/dist/connect/index_common.js.map +1 -1
- package/dist/connect/intrinsics.js.map +1 -1
- package/dist/connect/label_language_mapping.d.ts +33 -0
- package/dist/connect/label_language_mapping.d.ts.map +1 -0
- package/dist/connect/label_language_mapping.js +62 -0
- package/dist/connect/label_language_mapping.js.map +1 -0
- package/dist/connect/migration_helpers.d.ts +21 -0
- package/dist/connect/migration_helpers.d.ts.map +1 -0
- package/dist/connect/migration_helpers.js +179 -0
- package/dist/connect/migration_helpers.js.map +1 -0
- package/dist/connect/modifiers.js.map +1 -1
- package/dist/connect/parser_common.d.ts +1 -0
- package/dist/connect/parser_common.d.ts.map +1 -1
- package/dist/connect/parser_common.js.map +1 -1
- package/dist/connect/parser_executable_types.js.map +1 -1
- package/dist/connect/parser_executables.js.map +1 -1
- package/dist/connect/project.d.ts +10 -0
- package/dist/connect/project.d.ts.map +1 -1
- package/dist/connect/project.js +22 -4
- package/dist/connect/project.js.map +1 -1
- package/dist/connect/upload.d.ts +2 -1
- package/dist/connect/upload.d.ts.map +1 -1
- package/dist/connect/upload.js +3 -2
- package/dist/connect/upload.js.map +1 -1
- package/dist/connect/validation.d.ts +1 -1
- package/dist/connect/validation.d.ts.map +1 -1
- package/dist/connect/validation.js +2 -2
- package/dist/connect/validation.js.map +1 -1
- package/dist/connect/wizard/autolinking.js.map +1 -1
- package/dist/connect/wizard/embeddings.d.ts +2 -1
- package/dist/connect/wizard/embeddings.d.ts.map +1 -1
- package/dist/connect/wizard/embeddings.js +2 -2
- package/dist/connect/wizard/embeddings.js.map +1 -1
- package/dist/connect/wizard/helpers.js.map +1 -1
- package/dist/connect/wizard/prop_mapping.js.map +1 -1
- package/dist/connect/wizard/prop_mapping_helpers.d.ts +2 -1
- package/dist/connect/wizard/prop_mapping_helpers.d.ts.map +1 -1
- package/dist/connect/wizard/prop_mapping_helpers.js +5 -3
- package/dist/connect/wizard/prop_mapping_helpers.js.map +1 -1
- package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
- package/dist/connect/wizard/run_wizard.js +6 -3
- package/dist/connect/wizard/run_wizard.js.map +1 -1
- package/dist/connect/wizard/signature_extraction.js.map +1 -1
- package/dist/html/create.js.map +1 -1
- package/dist/html/external.js.map +1 -1
- package/dist/html/index_html.js.map +1 -1
- package/dist/html/parser.d.ts +2 -2
- package/dist/html/parser.d.ts.map +1 -1
- package/dist/html/parser.js +15 -6
- package/dist/html/parser.js.map +1 -1
- package/dist/html/parser_template_helpers.js.map +1 -1
- package/dist/html/template_literal.js.map +1 -1
- package/dist/html/types.js.map +1 -1
- package/dist/parser_scripts/compose_errors.js.map +1 -1
- package/dist/parser_scripts/get_file_if_exists.js.map +1 -1
- package/dist/parser_scripts/get_gradlew_path.js.map +1 -1
- package/dist/parser_scripts/get_swift_parser_dir.js.map +1 -1
- package/dist/react/create.js.map +1 -1
- package/dist/react/external.js.map +1 -1
- package/dist/react/index_react.js.map +1 -1
- package/dist/react/parser.d.ts +3 -3
- package/dist/react/parser.d.ts.map +1 -1
- package/dist/react/parser.js +13 -8
- package/dist/react/parser.js.map +1 -1
- package/dist/react/parser_template_helpers.js.map +1 -1
- package/dist/react/types.js.map +1 -1
- package/dist/storybook/convert.d.ts.map +1 -1
- package/dist/storybook/convert.js +3 -2
- package/dist/storybook/convert.js.map +1 -1
- package/dist/storybook/external.js.map +1 -1
- package/dist/typescript/compiler.js.map +1 -1
- package/package.json +4 -4
package/dist/connect/create.js
CHANGED
|
@@ -28,7 +28,8 @@ async function createCodeConnectFromUrl({ accessToken, figmaNodeUrl, outFile, ou
|
|
|
28
28
|
try {
|
|
29
29
|
const fileKey = (0, helpers_1.parseFileKey)(figmaNodeUrl);
|
|
30
30
|
const nodeIds = (0, helpers_1.parseNodeIds)([figmaNodeUrl]);
|
|
31
|
-
const apiUrl = (0, figma_rest_api_1.getApiUrl)(figmaNodeUrl ?? ''
|
|
31
|
+
const apiUrl = (0, figma_rest_api_1.getApiUrl)(figmaNodeUrl ?? '', cmd.apiUrl || projectInfo.config.apiUrl) +
|
|
32
|
+
`/code_connect/${fileKey}/cli_data?ids=${nodeIds.join(',')}`;
|
|
32
33
|
if (nodeIds.length === 0) {
|
|
33
34
|
(0, logging_1.exitWithError)(`Invalid figma node URL: the provided url "${figmaNodeUrl}" does not contain a node-id`);
|
|
34
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":";;;;;AAgCA,wDAQC;AAED,4DAqIC;AA/KD,uCAKkB;AAClB,4CAAmB;AACnB,qDAAsE;AACtE,+CAAyD;AACzD,6DAAiE;AAEjE,4CAAwD;AAExD,uEAIkC;AAClC,+DAAgD;AAChD,2CAAsD;AACtD,2CAAuD;AAYvD,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;AAEM,KAAK,UAAU,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,EACX,GAAG,GACc;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,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,KAAK,CACd,YAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,CAAC,CACzC;aACrC;YACH,CAAC,CAAC,MAAM,eAAO,CAAC,GAAG,CAAkC,MAAM,EAAE;gBACzD,OAAO,EAAE,IAAA,2BAAU,EAAC,WAAW,CAAC;aACjC,CAAC,CAAA;QAEN,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,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,gBAAgB,GAAG;gBACvB,YAAY;gBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,cAAc;gBACd,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,4BAA4B,EAAE,SAAS,CAAC,4BAA4B;aACrE,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,OAAO,GAA8B;oBACzC,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE;oBAC/D,eAAe,EAAE,OAAO;oBACxB,cAAc;oBACd,gBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;oBACnD,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAA;gBACD,MAAM,GAAG,MAAM,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAA;YAChD,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,OAAO,GAA8B;oBACzC,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE;oBAC/D,eAAe,EAAE,OAAO;oBACxB,cAAc;oBACd,gBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;oBACnD,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAA;gBACD,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,OAAO,GAAyB;wBACpC,IAAI,EAAE,QAAQ;wBACd,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE;wBAC/D,eAAe,EAAE,OAAO;wBACxB,SAAS,EAAE,gBAAgB;wBAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;qBACrB,CAAA;oBACD,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,CACV,0DAA0D,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CACrF,CAAA;YACD,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,QAAQ,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAC5H,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,IAAI,CAAC,CAAC,CAAA;QACxC,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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n exitWithFeedbackMessage,\n findComponentsInDocument,\n parseFileKey,\n parseNodeIds,\n} from './helpers'\nimport fs from 'fs'\nimport { FigmaRestApi, getApiUrl, getHeaders } from './figma_rest_api'\nimport { exitWithError, logger } from '../common/logging'\nimport { callParser, handleMessages } from './parser_executables'\nimport { CodeConnectExecutableParserConfig, ProjectInfo } from './project'\nimport { createReactCodeConnect } from '../react/create'\nimport { z } from 'zod'\nimport {\n CreateRequestPayload,\n CreateRequestPayloadMulti,\n CreateResponsePayload,\n} from './parser_executable_types'\nimport { fromError } from 'zod-validation-error'\nimport { createHtmlCodeConnect } from '../html/create'\nimport { isFetchError, request } from '../common/fetch'\nimport { BaseCommand } from '../commands/connect'\n\ninterface GenerateDocsArgs {\n accessToken: string\n figmaNodeUrl: string\n outFile: string\n outDir: string\n projectInfo: ProjectInfo\n cmd: BaseCommand\n}\n\nexport function normalizeComponentName(name: string) {\n // Convert the string to PascalCase and ensure first character is not a digit\n return name\n .replace(/[^a-zA-Z0-9]/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join('')\n .replace(/^[0-9]/, '_$&')\n}\n\nexport async function createCodeConnectFromUrl({\n accessToken,\n figmaNodeUrl,\n outFile,\n outDir,\n projectInfo,\n cmd,\n}: GenerateDocsArgs) {\n try {\n const fileKey = parseFileKey(figmaNodeUrl)\n const nodeIds = parseNodeIds([figmaNodeUrl])\n\n const apiUrl =\n getApiUrl(figmaNodeUrl ?? '', cmd.apiUrl || projectInfo.config.apiUrl) +\n `/code_connect/${fileKey}/cli_data?ids=${nodeIds.join(',')}`\n\n if (nodeIds.length === 0) {\n exitWithError(\n `Invalid figma node URL: the provided url \"${figmaNodeUrl}\" does not contain a node-id`,\n )\n } else if (nodeIds.length > 1) {\n exitWithError(\n `Invalid figma node URL: the provided url \"${figmaNodeUrl}\" contains more than one node-id`,\n )\n }\n\n logger.info('Fetching component information from Figma...')\n const response = process.env.CODE_CONNECT_MOCK_CREATE_API_RESPONSE\n ? {\n response: { status: 200 },\n data: JSON.parse(\n fs.readFileSync(process.env.CODE_CONNECT_MOCK_CREATE_API_RESPONSE, 'utf-8'),\n ) as { document: FigmaRestApi.Node },\n }\n : await request.get<{ document: FigmaRestApi.Node }>(apiUrl, {\n headers: getHeaders(accessToken),\n })\n\n if (response.response.status === 200) {\n logger.info('Parsing response')\n const component = findComponentsInDocument(response.data.document, nodeIds)[0]\n if (component === undefined) {\n exitWithError('Could not find a component in the provided URL')\n }\n const normalizedName = normalizeComponentName(component.name)\n\n const componentPayload = {\n figmaNodeUrl,\n id: component.id,\n name: component.name,\n normalizedName,\n type: component.type,\n componentPropertyDefinitions: component.componentPropertyDefinitions,\n }\n\n logger.info('Generating Code Connect files...')\n\n let result: z.infer<typeof CreateResponsePayload>\n\n if (projectInfo.config.parser === 'react') {\n const payload: CreateRequestPayloadMulti = {\n mode: 'CREATE',\n destinationDir: outDir ?? process.env.INIT_CWD ?? process.cwd(),\n destinationFile: outFile,\n normalizedName,\n figmaConnections: [{ component: componentPayload }],\n config: projectInfo.config,\n }\n result = await createReactCodeConnect(payload)\n } else if (projectInfo.config.parser === 'html') {\n const payload: CreateRequestPayloadMulti = {\n mode: 'CREATE',\n destinationDir: outDir ?? process.env.INIT_CWD ?? process.cwd(),\n destinationFile: outFile,\n normalizedName,\n figmaConnections: [{ component: componentPayload }],\n config: projectInfo.config,\n }\n result = await createHtmlCodeConnect(payload)\n } else {\n try {\n const payload: CreateRequestPayload = {\n mode: 'CREATE',\n destinationDir: outDir ?? process.env.INIT_CWD ?? process.cwd(),\n destinationFile: outFile,\n component: componentPayload,\n config: projectInfo.config,\n verbose: cmd.verbose,\n }\n const stdout = await callParser(\n // We use `as` because the React parser makes the types difficult\n // TODO remove once React is an executable parser\n projectInfo.config as CodeConnectExecutableParserConfig,\n payload,\n projectInfo.absPath,\n )\n\n result = CreateResponsePayload.parse(stdout)\n } catch (e) {\n throw fromError(e)\n }\n }\n\n const { hasErrors } = handleMessages(result.messages)\n\n if (hasErrors) {\n exitWithError('Errors encountered calling parser, exiting')\n }\n\n logger.info('Code Connect files generated successfully:')\n result.createdFiles.forEach((file) => {\n logger.info(`${file.filePath}`)\n })\n } else {\n logger.error(\n `Failed to get node information from Figma with status: ${response.response.status}`,\n )\n logger.debug('Failed to get node information from Figma with Body:', response.data)\n }\n } catch (err) {\n if (isFetchError(err)) {\n if (err.response) {\n logger.error(\n `Failed to get node data from Figma (${err.response.status}): ${err.response.status} ${err.data?.err ?? err.data?.message}`,\n )\n } else {\n logger.error(`Failed to get node data from Figma: ${err.message}`)\n }\n logger.debug(JSON.stringify(err.data))\n } else {\n logger.error(`Failed to create: ${err}`)\n }\n exitWithFeedbackMessage(1)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_common.js","sourceRoot":"","sources":["../../src/connect/create_common.ts"],"names":[],"mappings":";;;;;AAEA,wCAsBC;AAxBD,gDAAuB;AAEvB,SAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,GAMV;IACC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,cAAc,UAAU,SAAS,EAAE,CAAA;IAEvD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"create_common.js","sourceRoot":"","sources":["../../src/connect/create_common.ts"],"names":[],"mappings":";;;;;AAEA,wCAsBC;AAxBD,gDAAuB;AAEvB,SAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,GAMV;IACC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,cAAc,UAAU,SAAS,EAAE,CAAA;IAEvD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;AACnE,CAAC","sourcesContent":["import path from 'path'\n\nexport function getOutFileName({\n outFile,\n outDir,\n sourceFilename,\n extension,\n}: {\n outFile: string | undefined\n outDir: string\n sourceFilename: string\n extension: string\n}): string {\n if (outFile) {\n return outFile\n }\n\n const baseName = `${sourceFilename}.figma.${extension}`\n\n if (outDir) {\n return path.join(outDir, baseName)\n }\n\n return path.join(process.env.INIT_CWD ?? process.cwd(), baseName)\n}\n"]}
|
|
@@ -5,7 +5,8 @@ interface NodesToDeleteInfo {
|
|
|
5
5
|
interface Args {
|
|
6
6
|
accessToken: string;
|
|
7
7
|
docs: NodesToDeleteInfo[];
|
|
8
|
+
apiUrl?: string;
|
|
8
9
|
}
|
|
9
|
-
export declare function delete_docs({ accessToken, docs }: Args): Promise<void>;
|
|
10
|
+
export declare function delete_docs({ accessToken, docs, apiUrl: apiUrlOverride }: Args): Promise<void>;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=delete_docs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete_docs.d.ts","sourceRoot":"","sources":["../../src/connect/delete_docs.ts"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,iBAAiB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"delete_docs.d.ts","sourceRoot":"","sources":["../../src/connect/delete_docs.ts"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,iBAAiB,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,iBA+EpF"}
|
|
@@ -5,8 +5,8 @@ const fetch_1 = require("../common/fetch");
|
|
|
5
5
|
const logging_1 = require("../common/logging");
|
|
6
6
|
const figma_rest_api_1 = require("./figma_rest_api");
|
|
7
7
|
const helpers_1 = require("./helpers");
|
|
8
|
-
async function delete_docs({ accessToken, docs }) {
|
|
9
|
-
const apiUrl = (0, figma_rest_api_1.getApiUrl)(docs?.[0]?.figmaNode ?? '') + '/code_connect';
|
|
8
|
+
async function delete_docs({ accessToken, docs, apiUrl: apiUrlOverride }) {
|
|
9
|
+
const apiUrl = (0, figma_rest_api_1.getApiUrl)(docs?.[0]?.figmaNode ?? '', apiUrlOverride) + '/code_connect';
|
|
10
10
|
try {
|
|
11
11
|
logging_1.logger.info(`Unpublishing Code Connect files from Figma...`);
|
|
12
12
|
const response = await fetch_1.request.delete(apiUrl, { nodes_to_delete: docs }, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete_docs.js","sourceRoot":"","sources":["../../src/connect/delete_docs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"delete_docs.js","sourceRoot":"","sources":["../../src/connect/delete_docs.ts"],"names":[],"mappings":";;AAgBA,kCA+EC;AA/FD,2CAAuD;AACvD,+CAA0C;AAC1C,qDAAwD;AACxD,uCAAmD;AAa5C,KAAK,UAAU,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAQ;IACnF,MAAM,MAAM,GAAG,IAAA,0BAAS,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,cAAc,CAAC,GAAG,eAAe,CAAA;IAEtF,IAAI,CAAC;QACH,gBAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,eAAO,CAAC,MAAM,CACnC,MAAM,EACN,EAAE,eAAe,EAAE,IAAI,EAAE,EACzB;YACE,OAAO,EAAE,IAAA,2BAAU,EAAC,WAAW,CAAC;SACjC,CACF,CAAA;QAUD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAE7B,CAAA;QAED,MAAM,MAAM,GAAiB,YAAY,CAAC,IAAI,IAAK,QAAQ,CAAC,IAAqB,CAAA;QAEjF,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC7B,gBAAM,CAAC,IAAI,CACT,0BACE,MAAM,CAAC,aACT,8BAA8B,MAAM,CAAC,aAAa;iBAC/C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAA;QACH,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,gBAAM,CAAC,KAAK,CACV,sBAAsB,MAAM,CAAC,YAAY,8BAA8B,MAAM,CAAC,YAAY;iBACvF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAA;YACD,IAAA,iCAAuB,EAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5D,gBAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAC/D,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,2DAA2D;gBAC3D,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,aAAa,CAAA;oBACpE,IAAI,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;wBAClD,gBAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;oBACnF,CAAC;yBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBAChD,gBAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;oBAC1D,CAAC;yBAAM,CAAC;wBACN,gBAAM,CAAC,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAA;oBAC7D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAM,CAAC,KAAK,CACV,mCAAmC,GAAG,CAAC,QAAQ,CAAC,MAAM,MACpD,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,eACxC,EAAE,CACH,CAAA;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YAChE,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,IAAA,iCAAuB,EAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC","sourcesContent":["import { isFetchError, request } from '../common/fetch'\nimport { logger } from '../common/logging'\nimport { getApiUrl, getHeaders } from './figma_rest_api'\nimport { exitWithFeedbackMessage } from './helpers'\n\ninterface NodesToDeleteInfo {\n figmaNode: string\n label: string\n}\n\ninterface Args {\n accessToken: string\n docs: NodesToDeleteInfo[]\n apiUrl?: string\n}\n\nexport async function delete_docs({ accessToken, docs, apiUrl: apiUrlOverride }: Args) {\n const apiUrl = getApiUrl(docs?.[0]?.figmaNode ?? '', apiUrlOverride) + '/code_connect'\n\n try {\n logger.info(`Unpublishing Code Connect files from Figma...`)\n\n const response = await request.delete(\n apiUrl,\n { nodes_to_delete: docs },\n {\n headers: getHeaders(accessToken),\n },\n )\n\n interface DeleteResult {\n success: boolean\n deleted_count: number\n failed_count: number\n deleted_nodes: Array<{ figmaNode: string; label: string }>\n failed_nodes: Array<{ figmaNode: string; label: string; reason: string }>\n }\n\n const responseData = response.data as {\n meta?: DeleteResult\n }\n\n const result: DeleteResult = responseData.meta ?? (response.data as DeleteResult)\n\n if (result.deleted_count > 0) {\n logger.info(\n `\\nSuccessfully deleted ${\n result.deleted_count\n } Code Connect mapping(s):\\n${result.deleted_nodes\n .map((doc) => `${doc.figmaNode} (${doc.label})`)\n .join('\\n')}`,\n )\n }\n\n if (result.failed_count > 0) {\n logger.error(\n `\\nFailed to delete ${result.failed_count} Code Connect mapping(s):\\n${result.failed_nodes\n .map((doc) => `✗ ${doc.figmaNode} (${doc.label}): ${doc.reason}`)\n .join('\\n')}`,\n )\n exitWithFeedbackMessage(1)\n }\n\n if (result.deleted_count === 0 && result.failed_count === 0) {\n logger.warn('No Code Connect mappings were found to delete.')\n }\n } catch (err) {\n if (isFetchError(err)) {\n if (err.response) {\n // Provide more specific error message based on status code\n if (err.response.status === 400) {\n const errorMsg = err.data?.err ?? err.data?.message ?? 'Bad request'\n if (errorMsg.includes('insufficient permissions')) {\n logger.error(`Insufficient permissions to unpublish Code Connect for this file.`)\n } else if (errorMsg.includes('Failed to parse')) {\n logger.error(`Invalid Figma URL format in the request.`)\n } else {\n logger.error(`Failed to unpublish from Figma: ${errorMsg}`)\n }\n } else {\n logger.error(\n `Failed to unpublish from Figma (${err.response.status}): ${\n err.data?.err ?? err.data?.message ?? 'Unknown error'\n }`,\n )\n }\n } else {\n logger.error(`Failed to unpublish from Figma: ${err.message}`)\n }\n logger.debug(JSON.stringify(err.data))\n } else {\n logger.error(`Failed to delete docs: ${err}`)\n }\n exitWithFeedbackMessage(1)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external_types.js","sourceRoot":"","sources":["../../src/connect/external_types.ts"],"names":[],"mappings":";;AAGA,kCAQC;AAED,4BAKC;AAED,gCAEC;AAED,0CAEC;AAED,sCAEC;AAED,0CAEC;AAED,oCAEC;AAnCD,SAAgB,WAAW,CACzB,cAAsB,EACtB,aAA2C;IAE3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAI,cAAc,EAAE,aAAa,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,QAAQ,CACtB,cAAsB,EACtB,aAA6C;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAA+B,CAAA;AACtE,CAAC;AAED,SAAgB,UAAU,CAAC,cAAsB;IAC/C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,eAAe,CAAI,MAAc,EAAE,KAAQ;IACzD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC9D,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,YAAY,CAAyB,cAAsB;IACzE,OAAO,SAAc,CAAA;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"external_types.js","sourceRoot":"","sources":["../../src/connect/external_types.ts"],"names":[],"mappings":";;AAGA,kCAQC;AAED,4BAKC;AAED,gCAEC;AAED,0CAEC;AAED,sCAEC;AAED,0CAEC;AAED,oCAEC;AAnCD,SAAgB,WAAW,CACzB,cAAsB,EACtB,aAA2C;IAE3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAI,cAAc,EAAE,aAAa,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,QAAQ,CACtB,cAAsB,EACtB,aAA6C;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAA+B,CAAA;AACtE,CAAC;AAED,SAAgB,UAAU,CAAC,cAAsB;IAC/C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,eAAe,CAAI,MAAc,EAAE,KAAQ;IACzD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC9D,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,YAAY,CAAyB,cAAsB;IACzE,OAAO,SAAc,CAAA;AACvB,CAAC","sourcesContent":["import { PropMapping, ValueOf, EnumValue, ConnectedComponent } from './api'\n\nexport function booleanType(_figmaPropName: string): boolean\nexport function booleanType<V extends EnumValue>(\n _figmaPropName: string,\n _valueMapping?: Record<'true' | 'false', V>,\n) {\n if (_valueMapping) {\n return enumType<V>(_figmaPropName, _valueMapping)\n }\n return true\n}\n\nexport function enumType<V extends EnumValue>(\n _figmaPropName: string,\n _valueMapping: PropMapping<Record<string, V>>,\n): ValueOf<Record<string, V>> {\n return Object.values(_valueMapping)[0] as ValueOf<Record<string, V>>\n}\n\nexport function stringType(_figmaPropName: string) {\n return ''\n}\n\nexport function nestedPropsType<T>(_layer: string, props: T) {\n return props\n}\n\nexport function classNameType(_className: (string | undefined)[]) {\n return ''\n}\n\nexport function textContentType(_layer: string) {\n return ''\n}\n\nexport function instanceType<T = ConnectedComponent>(_figmaPropName: string): T {\n return undefined as T\n}\n"]}
|
|
@@ -1 +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;
|
|
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;QAClB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma_connect.js","sourceRoot":"","sources":["../../src/connect/figma_connect.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"figma_connect.js","sourceRoot":"","sources":["../../src/connect/figma_connect.ts"],"names":[],"mappings":"","sourcesContent":["import { FigmaConnectLink } from './api'\nimport { Intrinsic } from './intrinsics'\n\nexport type BaseCodeConnectObject = {\n figmaNode: string\n component?: string\n variant?: Record<string, any>\n template: string\n templateData: {\n props?: Record<string, Intrinsic>\n imports?: string[]\n nestable?: boolean\n isParserless?: boolean\n }\n language: string\n label: string\n links?: FigmaConnectLink[]\n source?: string\n sourceLocation?: { line: number }\n}\n\nexport type CodeConnectJSON = BaseCodeConnectObject & {\n metadata: {\n cliVersion: string\n }\n}\n"]}
|
|
@@ -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,
|
|
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,EAAE,cAAc,CAAC,EAAE,MAAM,UAMnE;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,GAAG,QAAQ,CAAA;QACxD,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,QAAQ,EAAE,IAAI,EAAE,CAAA;KACjB;IAED,UAAiB,gBAAiB,SAAQ,IAAI;QAC5C,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;KACjB;IAED,UAAiB,SAAU,SAAQ,gBAAgB;QACjD,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,CAgC9F"}
|
|
@@ -7,7 +7,11 @@ exports.getDocument = getDocument;
|
|
|
7
7
|
const fetch_1 = require("../common/fetch");
|
|
8
8
|
const logging_1 = require("../common/logging");
|
|
9
9
|
const version = require('../../package.json').version;
|
|
10
|
-
function getApiUrl(figmaNode) {
|
|
10
|
+
function getApiUrl(figmaNode, apiUrlOverride) {
|
|
11
|
+
if (apiUrlOverride) {
|
|
12
|
+
logging_1.logger.debug(`Using custom API URL: ${apiUrlOverride}`);
|
|
13
|
+
return apiUrlOverride;
|
|
14
|
+
}
|
|
11
15
|
return 'https://api.figma.com/v1';
|
|
12
16
|
}
|
|
13
17
|
function getHeaders(accessToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma_rest_api.js","sourceRoot":"","sources":["../../src/connect/figma_rest_api.ts"],"names":[],"mappings":";;;AAKA,
|
|
1
|
+
{"version":3,"file":"figma_rest_api.js","sourceRoot":"","sources":["../../src/connect/figma_rest_api.ts"],"names":[],"mappings":";;;AAKA,8BAMC;AAED,gCAMC;AA2CD,kCAgCC;AA9FD,2CAAuD;AACvD,+CAA0C;AAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAA;AAErD,SAAgB,SAAS,CAAC,SAAiB,EAAE,cAAuB;IAClE,IAAI,cAAc,EAAE,CAAC;QACnB,gBAAM,CAAC,KAAK,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAA;QACvD,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,OAAO,0BAA0B,CAAA;AACnC,CAAC;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;AAED,mDAAmD;AACnD,IAAiB,YAAY,CAsC5B;AAtCD,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;AAgCH,CAAC,EAtCgB,YAAY,4BAAZ,YAAY,QAsC5B;AAEM,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,WAAmB;IAChE,IAAI,CAAC;QACH,gBAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,MAAM,eAAO,CAAC,GAAG,CAAkC,GAAG,EAAE;YACvE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;SACjC,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,gBAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;YACpE,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CACV,0DAA0D,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CACrF,CAAA;YACD,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,QAAQ,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAC5H,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,IAAI,CAAC,CAAC,CAAA;QACxC,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","sourcesContent":["import { isFetchError, request } from '../common/fetch'\nimport { logger } from '../common/logging'\n\nconst version = require('../../package.json').version\n\nexport function getApiUrl(figmaNode: string, apiUrlOverride?: string) {\n if (apiUrlOverride) {\n logger.debug(`Using custom API URL: ${apiUrlOverride}`)\n return apiUrlOverride\n }\n return 'https://api.figma.com/v1'\n}\n\nexport function getHeaders(accessToken: string) {\n return {\n 'X-Figma-Token': accessToken,\n 'Content-Type': 'application/json',\n 'User-Agent': `code-connect-cli/${version}`,\n }\n}\n\n// These typings are a subset of the Figma REST API\nexport namespace FigmaRestApi {\n export enum ComponentPropertyType {\n Boolean = 'BOOLEAN',\n InstanceSwap = 'INSTANCE_SWAP',\n Text = 'TEXT',\n Variant = 'VARIANT',\n }\n\n export interface ComponentPropertyDefinition {\n defaultValue: boolean | string\n type: ComponentPropertyType\n /**\n * All possible values for this property. Only exists on VARIANT properties\n */\n variantOptions?: string[]\n /**\n * Only exists on INSTANCE_SWAP properties\n */\n preferredValues?: { type: string; key: string }[]\n }\n\n export interface Node {\n // we don't care about other node types\n type: 'COMPONENT' | 'COMPONENT_SET' | 'OTHER' | 'CANVAS'\n name: string\n id: string\n children: Node[]\n }\n\n export interface NodeWithPageInfo extends Node {\n pageId: string\n pageName: string\n }\n\n export interface Component extends NodeWithPageInfo {\n type: 'COMPONENT' | 'COMPONENT_SET'\n componentPropertyDefinitions: Record<string, ComponentPropertyDefinition>\n }\n}\n\nexport async function getDocument(url: string, accessToken: string): Promise<FigmaRestApi.Node> {\n try {\n logger.info('Fetching component information from Figma...')\n const response = await request.get<{ document: FigmaRestApi.Node }>(url, {\n headers: getHeaders(accessToken),\n })\n\n if (response.response.status === 200) {\n logger.info('Successfully fetched component information from Figma')\n return response.data.document\n } else {\n logger.error(\n `Failed to get node information from Figma with status: ${response.response.status}`,\n )\n logger.debug('Failed to get node information from Figma with Body:', response.data)\n return Promise.reject()\n }\n } catch (err) {\n if (isFetchError(err)) {\n if (err.response) {\n logger.error(\n `Failed to get node data from Figma (${err.response.status}): ${err.response.status} ${err.data?.err ?? err.data?.message}`,\n )\n } else {\n logger.error(`Failed to get node data from Figma: ${err.message}`)\n }\n logger.debug(JSON.stringify(err.data))\n } else {\n logger.error(`Failed to create: ${err}`)\n }\n return Promise.reject()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/connect/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,kCAEC;AAWD,oCAgBC;AAED,oCAEC;AAQD,4DAmCC;AAQD,kDAKC;AAKD,8CAEC;AAKD,0DAGC;AA7GD,yCAA0B;AAC1B,+CAA0C;AAE1C,MAAM,SAAS,GAAG,oCAAoC,CAAA;AAEtD,SAAgB,WAAW,CAAC,IAAuB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAA;AACnE,CAAC;AAEM,MAAM,cAAc,GAAG,UAAU,EAAU;IAChD,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,gBAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,cAAc,CAAC,CAAA;QAC/E,uBAAuB,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,cAAc,kBAO1B;AAED,SAAgB,YAAY,CAAC,aAAuB;IAClD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAA;YAC1C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,EAAE,CAAC,CAAA;gBACtC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAgB,YAAY,CAAC,YAAoB;IAC/C,OAAO,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,QAA2B,EAC3B,OAAkB;IAElB,MAAM,UAAU,GAA6B,EAAE,CAAA;IAC/C,MAAM,KAAK,GAAwB,QAAQ,CAAC,QAAQ,CAAA;IAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QAE1B,MAAM,KAAK,GAAwB,IAAI,CAAC,QAAQ,CAAA;QAEhD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;YACzB,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;gBACzE,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YAChD,CAAC;YACD,qCAAqC;YACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAiC,EAAE,OAAe;IACpF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,yBAAyB,CAAA;IACjE,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACtC,OAAO,GAAG,OAAO,GAAG,OAAO,aAAa,KAAK,EAAE,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,gBAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAA;IACjG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/connect/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { FigmaRestApi } from './figma_rest_api'\nimport * as url from 'url'\nimport { logger } from '../common/logging'\n\nconst guidRegex = /^I?[0-9]+:[0-9]+(;[0-9]+:[0-9]+)*$/\n\nexport function isComponent(node: FigmaRestApi.Node): node is FigmaRestApi.Component {\n return node.type === 'COMPONENT' || node.type === 'COMPONENT_SET'\n}\n\nexport const validateNodeId = function (id: string): string {\n const newId = id.replace('-', ':')\n if (!guidRegex.test(newId)) {\n logger.error(`Invalid figma node URL: the provided node-id \"${id}\" is invalid`)\n exitWithFeedbackMessage(1)\n }\n return newId\n}\n\nexport function parseNodeIds(figmaNodeUrls: string[]): string[] {\n const nodeIds: string[] = []\n for (const nodeURL of figmaNodeUrls) {\n const figmaNodeUrl = url.parse(nodeURL, true)\n const nodeId = figmaNodeUrl.query['node-id']\n if (nodeId && typeof nodeId === 'string') {\n const figmaNodeId = validateNodeId(nodeId)\n nodeIds.push(figmaNodeId)\n } else if (Array.isArray(nodeId)) {\n for (const id of nodeId) {\n const figmaNodeId = validateNodeId(id)\n nodeIds.push(figmaNodeId)\n }\n }\n }\n return nodeIds\n}\n\nexport function parseFileKey(figmaNodeUrl: string) {\n return figmaNodeUrl.match(/(?:file|design)\\/([a-zA-Z0-9]+)/)?.[1]\n}\n\n/**\n * Parses components from a Rest API response\n * @param document\n * @param nodeIds\n * @returns\n */\nexport function findComponentsInDocument(\n document: FigmaRestApi.Node,\n nodeIds?: string[],\n): FigmaRestApi.Component[] {\n const components: FigmaRestApi.Component[] = []\n const pages: FigmaRestApi.Node[] = document.children\n\n for (const page of pages) {\n if (page.type !== 'CANVAS') {\n continue\n }\n const pageId = page.id\n const pageName = page.name\n\n const stack: FigmaRestApi.Node[] = page.children\n\n while (stack.length > 0) {\n const node = stack.pop()!\n if (nodeIds && nodeIds.includes(node.id)) {\n if (!isComponent(node)) {\n throw new Error('Specified node is not a component or a component set')\n }\n components.push({ ...node, pageId, pageName })\n }\n if (!nodeIds && isComponent(node)) {\n components.push({ ...node, pageId, pageName })\n }\n // don't traverse into component sets\n if (Array.isArray(node.children) && !isComponent(node)) {\n stack.push(...node.children)\n }\n }\n }\n\n return components\n}\n\n/**\n * Gets the URL of a figma component\n *\n * @param component a published figma component\n * @returns a URL to the figma component\n */\nexport function figmaUrlOfComponent(component: FigmaRestApi.Component, fileKey: string) {\n const fileUrl = process.env.FILE_URL || `https://figma.com/file/`\n const nodeId = component.id.replace(':', '-')\n const urlId = nodeId.replace(':', '-')\n return `${fileUrl}${fileKey}/?node-id=${urlId}`\n}\n\n/**\n * removes the ID part of a component property name\n */\nexport function normalizePropName(name: string) {\n return name.replace(/#[0-9:]*/g, '')\n}\n\n/**\n * Displays a feedback/bugs issues link before exiting\n */\nexport function exitWithFeedbackMessage(exitCode: number): never {\n logger.info('Please raise any bugs or feedback at https://github.com/figma/code-connect/issues.')\n process.exit(exitCode)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index_common.js","sourceRoot":"","sources":["../../src/connect/index_common.ts"],"names":[],"mappings":";;AAcA,8BAMC;AAlBD,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,oBAAoB,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"index_common.js","sourceRoot":"","sources":["../../src/connect/index_common.ts"],"names":[],"mappings":";;AAcA,8BAMC;AAlBD,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,oBAAoB,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { FigmaConnectClient } from '../client/figma_client'\n\n// `client/external`'s dependency chain ends up including code which is not safe\n// in a browser context, e.g. `child_process`. This would mean that if you\n// co-locate your Code Connect with React components, your app will be broken in\n// a browser, because of this import chain.\n//\n// To get around this, we only import `client/external` if you are in a Node\n// context – it is only used for the icon script, so none of the code which runs\n// in the browser should touch it.\n//\n// Note that you may still see messages from the JS bundler about Node modules,\n// but these won't be included at runtime.\n\nexport function getClient() {\n let client: FigmaConnectClient = {} as any\n if (typeof process !== 'undefined' && process.versions && process.versions.node) {\n client = require('../client/external')\n }\n return client\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript'\nimport { InternalError, ParserContext, ParserError } from './parser_common'\nimport {\n assertIsArrayLiteralExpression,\n assertIsStringLiteral,\n convertArrayLiteralToJs,\n isUndefinedType,\n stripQuotesFromNode,\n} from '../typescript/compiler'\nimport { convertObjectLiteralToJs } from '../typescript/compiler'\nimport { assertIsObjectLiteralExpression } from '../typescript/compiler'\nimport { FigmaConnectAPI } from './api'\nimport {\n FCCValue,\n _fcc_array,\n _fcc_function,\n _fcc_identifier,\n _fcc_jsxElement,\n _fcc_object,\n _fcc_templateString,\n} from '../react/parser_template_helpers'\nimport htmlApi from '../html/index_html'\nimport reactApi from '../react/index_react'\nimport { Modifier, modifierToString, parseModifier } from './modifiers'\n\nexport const API_PREFIX = 'figma'\nexport const FIGMA_CONNECT_CALL = `${API_PREFIX}.connect`\n\nexport enum IntrinsicKind {\n Enum = 'enum',\n String = 'string',\n Boolean = 'boolean',\n Instance = 'instance',\n Children = 'children',\n NestedProps = 'nested-props',\n ClassName = 'className',\n TextContent = 'text-content',\n}\n\nexport interface IntrinsicBase {\n kind: IntrinsicKind\n args: {}\n modifiers?: Modifier[]\n}\n\nexport type ValueMappingKind = FCCValue | Intrinsic\n\nexport interface FigmaBoolean extends IntrinsicBase {\n kind: IntrinsicKind.Boolean\n args: {\n figmaPropName: string\n valueMapping?: Record<'true' | 'false', ValueMappingKind>\n }\n}\n\nexport type ValueMapping = Record<string, ValueMappingKind>\n\nexport interface FigmaEnum extends IntrinsicBase {\n kind: IntrinsicKind.Enum\n args: {\n figmaPropName: string\n valueMapping: ValueMapping\n }\n}\n\nexport interface FigmaString extends IntrinsicBase {\n kind: IntrinsicKind.String\n args: {\n figmaPropName: string\n }\n}\n\nexport interface FigmaInstance extends IntrinsicBase {\n kind: IntrinsicKind.Instance\n args: {\n figmaPropName: string\n }\n}\n\nexport interface FigmaChildren extends IntrinsicBase {\n kind: IntrinsicKind.Children\n args: {\n layers: string[]\n }\n}\n\nexport interface FigmaNestedProps extends IntrinsicBase {\n kind: IntrinsicKind.NestedProps\n args: {\n layer: string\n props: Record<string, Intrinsic>\n }\n}\n\nexport interface FigmaClassName extends IntrinsicBase {\n kind: IntrinsicKind.ClassName\n args: {\n className: (string | Intrinsic)[]\n }\n}\n\nexport interface FigmaTextContent extends IntrinsicBase {\n kind: IntrinsicKind.TextContent\n args: {\n layer: string\n }\n}\n\nexport type Intrinsic =\n | FigmaBoolean\n | FigmaEnum\n | FigmaString\n | FigmaInstance\n | FigmaChildren\n | FigmaNestedProps\n | FigmaClassName\n | FigmaTextContent\n\nconst Intrinsics: {\n [key: string]: {\n match: (exp: ts.CallExpression) => exp is ts.CallExpression\n parse: (exp: ts.CallExpression, parser: ParserContext) => Intrinsic\n }\n} = {}\n\n/**\n * These functions are used to convert \"intrinsic\" parser types (which are calls to helper functions\n * like `Figma.boolean() in code)` to an object representing that intrinsic that we can serialize to JSON.\n *\n * Each call to `makeIntrinsic` should take a function from the {@link FigmaConnectAPI},\n * ensuring that the name of the intrinsic that we're parsing matches the name of the function\n *\n * @param staticFunctionMember\n * @param obj\n */\nfunction makeIntrinsic<K extends keyof typeof htmlApi | typeof reactApi>(\n intrinsicName: K,\n obj: (name: string) => any,\n) {\n const name = `${API_PREFIX}.${intrinsicName}`\n Intrinsics[name] = {\n match: (exp: ts.CallExpression) => {\n return ts.isCallExpression(exp) && exp.getText().replace(/\\s/g, '').startsWith(name)\n },\n ...obj(name),\n }\n}\n\nmakeIntrinsic('boolean', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaBoolean => {\n const figmaPropNameIdentifier = exp.arguments?.[0]\n assertIsStringLiteral(\n figmaPropNameIdentifier,\n ctx.sourceFile,\n `${name} takes at least one argument, which is the Figma property name`,\n )\n const valueMappingArg = exp.arguments?.[1]\n let valueMapping\n if (valueMappingArg) {\n assertIsObjectLiteralExpression(\n valueMappingArg,\n ctx.sourceFile,\n `${name} second argument should be an object literal, that sets values for 'true' and 'false'`,\n )\n valueMapping = parsePropsObject(valueMappingArg, ctx) as Record<\n 'true' | 'false',\n ValueMappingKind\n >\n }\n return {\n kind: IntrinsicKind.Boolean,\n args: {\n figmaPropName: stripQuotesFromNode(figmaPropNameIdentifier),\n valueMapping,\n },\n }\n },\n }\n})\n\nmakeIntrinsic('enum', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaEnum => {\n const { sourceFile } = ctx\n const figmaPropNameIdentifier = exp.arguments?.[0]\n assertIsStringLiteral(\n figmaPropNameIdentifier,\n sourceFile,\n `${name} takes at least one argument, which is the Figma property name`,\n )\n const valueMapping = exp.arguments?.[1]\n assertIsObjectLiteralExpression(\n valueMapping,\n sourceFile,\n `${name} second argument should be an object literal, that maps Figma prop values to code`,\n )\n return {\n kind: IntrinsicKind.Enum,\n args: {\n figmaPropName: stripQuotesFromNode(figmaPropNameIdentifier),\n valueMapping: parsePropsObject(valueMapping, ctx),\n },\n }\n },\n }\n})\n\nmakeIntrinsic('string', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaString => {\n const { sourceFile } = ctx\n const figmaPropNameIdentifier = exp.arguments?.[0]\n assertIsStringLiteral(\n figmaPropNameIdentifier,\n sourceFile,\n `${name} takes at least one argument, which is the Figma property name`,\n )\n return {\n kind: IntrinsicKind.String,\n args: {\n figmaPropName: stripQuotesFromNode(figmaPropNameIdentifier),\n },\n }\n },\n }\n})\n\nmakeIntrinsic('instance', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaInstance => {\n const { sourceFile } = ctx\n const figmaPropNameIdentifier = exp.arguments?.[0]\n\n assertIsStringLiteral(\n figmaPropNameIdentifier,\n sourceFile,\n `${name} takes at least one argument, which is the Figma property name`,\n )\n\n return {\n kind: IntrinsicKind.Instance,\n args: {\n figmaPropName: stripQuotesFromNode(figmaPropNameIdentifier),\n },\n }\n },\n }\n})\n\nmakeIntrinsic('children', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaChildren => {\n const { sourceFile } = ctx\n const layerName = exp.arguments?.[0]\n const layers: string[] = []\n if (ts.isStringLiteral(layerName)) {\n layers.push(stripQuotesFromNode(layerName))\n } else if (ts.isArrayLiteralExpression(layerName) && layerName.elements.length > 0) {\n layerName.elements.forEach((el) => {\n assertIsStringLiteral(el, sourceFile)\n const name = stripQuotesFromNode(el)\n if (name.includes('*')) {\n throw new ParserError(\n `Wildcards can not be used with an array of strings. Use a single string literal instead.`,\n {\n node: layerName,\n sourceFile,\n },\n )\n }\n layers.push(stripQuotesFromNode(el))\n })\n } else {\n throw new ParserError(\n `Invalid argument to ${name}, should be a string literal or an array of strings`,\n {\n node: layerName,\n sourceFile,\n },\n )\n }\n\n return {\n kind: IntrinsicKind.Children,\n args: {\n layers,\n },\n }\n },\n }\n})\n\nmakeIntrinsic('nestedProps', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaNestedProps => {\n const { sourceFile } = ctx\n const layerName = exp.arguments?.[0]\n const mapping = exp.arguments?.[1]\n\n assertIsStringLiteral(\n layerName,\n sourceFile,\n `Invalid argument to ${name}, \\`layerName\\` should be a string literal`,\n )\n assertIsObjectLiteralExpression(\n mapping,\n sourceFile,\n `Invalid argument to ${name}, \\`props\\` should be an object literal`,\n )\n\n ts.forEachChild(mapping, (node) => {\n if (\n ts.isPropertyAssignment(node) &&\n ts.isCallExpression(node.initializer) &&\n node.initializer.getText().startsWith('figma.nestedProps')\n ) {\n throw new ParserError(\n `nestedProps can not be nested inside another nestedProps call, instead, pass the deeply nested layer name at the top level`,\n )\n }\n })\n\n return {\n kind: IntrinsicKind.NestedProps,\n args: {\n layer: stripQuotesFromNode(layerName),\n props: parsePropsObject(mapping, ctx),\n },\n }\n },\n }\n})\n\nmakeIntrinsic('className', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaClassName => {\n const { sourceFile } = ctx\n const classNameArg = exp.arguments?.[0]\n const className: (string | Intrinsic)[] = []\n assertIsArrayLiteralExpression(classNameArg, sourceFile, `${name} takes an array of strings`)\n\n classNameArg.elements.forEach((el) => {\n if (ts.isStringLiteral(el)) {\n className.push(stripQuotesFromNode(el))\n } else if (ts.isCallExpression(el)) {\n className.push(parseIntrinsic(el, ctx))\n }\n })\n\n return {\n kind: IntrinsicKind.ClassName,\n args: {\n className,\n },\n }\n },\n }\n})\n\nmakeIntrinsic('textContent', (name) => {\n return {\n parse: (exp: ts.CallExpression, ctx: ParserContext): FigmaTextContent => {\n const { sourceFile } = ctx\n const layerNameArg = exp.arguments?.[0]\n assertIsStringLiteral(\n layerNameArg,\n sourceFile,\n `${name} takes a single argument which is the Figma layer name`,\n )\n\n return {\n kind: IntrinsicKind.TextContent,\n args: {\n layer: stripQuotesFromNode(layerNameArg),\n },\n }\n },\n }\n})\n\n/**\n * Parses a call expression to an intrinsic\n *\n * @param exp Expression to parse\n * @param parserContext parser context\n * @returns\n */\nexport function parseIntrinsic(exp: ts.CallExpression, parserContext: ParserContext): Intrinsic {\n for (const key in Intrinsics) {\n if (Intrinsics[key].match(exp)) {\n // Chained call expressions in TS are nested with the innermost call expression\n // being the first in the chain. We need to reverse the chain so that the intrinsic\n // is the first element in the array. The TS AST looks like this for a().b():\n // CallExpression [a().b()] ->\n // PropertyAccessExpression [a().b] ->\n // CallExpression [a()]\n\n let callChain = []\n let current: any = exp\n while (current) {\n if (ts.isCallExpression(current)) {\n callChain.push(current)\n current = current.expression\n } else if (ts.isPropertyAccessExpression(current)) {\n current = current.expression\n } else {\n current = null\n }\n }\n\n // If there's only one call expression just return the matching intrinsic\n callChain = callChain.reverse()\n if (callChain.length <= 1) {\n return Intrinsics[key].parse(exp, parserContext)\n }\n\n // The first call expression is the intrinsic itself, and any following call\n // expressions are modifiers\n const intrinsic = Intrinsics[key].parse(callChain.shift()!, parserContext)\n const modifiers = callChain.map((modifier) => parseModifier(modifier, parserContext))\n\n return {\n ...intrinsic,\n modifiers,\n }\n }\n }\n\n throw new ParserError(`Unknown intrinsic: ${exp.getText()}`, {\n node: exp,\n sourceFile: parserContext.sourceFile,\n })\n}\n\n/**\n * Replace newlines in enum values with \\\\n so that we don't output\n * broken JS with newlines inside the string\n */\nfunction replaceNewlines(str: string) {\n return str.toString().replaceAll('\\n', '\\\\n').replaceAll(\"'\", \"\\\\'\")\n}\n\nexport function valueToString(value: ValueMappingKind, childLayer?: string) {\n if (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'undefined') {\n return `${value}`\n }\n\n if (typeof value === 'string') {\n return `'${replaceNewlines(value)}'`\n }\n\n if ('kind' in value) {\n // Mappings can be nested, e.g. an enum value can be figma.instance(...)\n return `${intrinsicToString(value as Intrinsic, childLayer)}`\n }\n\n // Convert objects to strings\n const str = typeof value.$value === 'string' ? value.$value : `${JSON.stringify(value.$value)}`\n const v = replaceNewlines(str)\n\n switch (value.$type) {\n case 'function':\n return `_fcc_function('${v}')`\n case 'identifier':\n return `_fcc_identifier('${v}')`\n case 'object':\n // Don't pass the object itself wrapped in quotes - this helper needs to instantiate the actual\n // object, as it may be used in the snippet code\n return `_fcc_object(${v})`\n case 'template-string':\n return `_fcc_templateString('${v}')`\n case 'jsx-element':\n return `_fcc_jsxElement('${v}')`\n case 'array':\n return `_fcc_array(${v})`\n default:\n throw new InternalError(`Unknown helper type: ${value}`)\n }\n}\n\nexport function valueMappingToString(valueMapping: ValueMapping, childLayer?: string): string {\n // For enums (and booleans with a valueMapping provided), convert the\n // value mapping to an object.\n return (\n '{\\n' +\n Object.entries(valueMapping)\n .map(([key, value]) => {\n return `\"${key}\": ${valueToString(value, childLayer)}`\n })\n .join(',\\n') +\n '}'\n )\n}\n\nlet nestedLayerCount = 0\n\nexport function intrinsicToString(\n { kind, args, modifiers = [] }: Intrinsic,\n childLayer?: string,\n): string {\n const selector = childLayer ?? `figma.currentLayer`\n switch (kind) {\n case IntrinsicKind.String:\n return `${selector}.__properties__.string('${args.figmaPropName}')`\n case IntrinsicKind.Instance: {\n // Outputs:\n // `const propName = figma.properties.string('propName')`, or\n // `const propName = figma.properties.boolean('propName')`, or\n // `const propName = figma.properties.instance('propName')`\n if (modifiers.length > 0) {\n const instance = `${selector}.__properties__.__instance__('${args.figmaPropName}')`\n let body = `const instance = ${instance}\\n`\n body += `return instance && instance.type !== \"ERROR\" ? ${['instance', ...modifiers.map(modifierToString)].join('.')} : instance`\n return `(function () {${body}})()`\n }\n return `${selector}.__properties__.instance('${args.figmaPropName}')`\n }\n case IntrinsicKind.Boolean: {\n if (args.valueMapping) {\n const mappingString = valueMappingToString(args.valueMapping, childLayer)\n // Outputs: `const propName = figma.properties.boolean('propName', { ... mapping object from above ... })`\n return `${selector}.__properties__.boolean('${args.figmaPropName}', ${mappingString})`\n }\n return `${selector}.__properties__.boolean('${args.figmaPropName}')`\n }\n case IntrinsicKind.Enum: {\n const mappingString = valueMappingToString(args.valueMapping, childLayer)\n\n // Outputs: `const propName = figma.properties.enum('propName', { ... mapping object from above ... })`\n return `${selector}.__properties__.enum('${args.figmaPropName}', ${mappingString})`\n }\n case IntrinsicKind.Children: {\n // Outputs: `const propName = figma.properties.children([\"Layer 1\", \"Layer 2\"])`\n return `${selector}.__properties__.children([${args.layers.map((layerName) => `\"${layerName}\"`).join(',')}])`\n }\n case IntrinsicKind.ClassName: {\n // Outputs: `const propName = ['btn-base', figma.currentLayer.__properties__.enum('Size, { Large: 'btn-large' })].join(\" \")`\n return `[${args.className.map((className) => (typeof className === 'string' ? `\"${className}\"` : `${intrinsicToString(className, childLayer)}`)).join(', ')}].filter(v => !!v).join(' ')`\n }\n case IntrinsicKind.TextContent: {\n return `${selector}.__findChildWithCriteria__({ name: '${args.layer}', type: \"TEXT\" }).__render__()`\n }\n case IntrinsicKind.NestedProps: {\n let body: string = ''\n // the actual layer name in figma could have a bunch of special characters in it,\n // and if we try to normalize it to a valid JS identifier, it could conflict with\n // other variables in the template code. So we generate a unique variable name\n // for each nested layer reference instead. The only reason it's wrapped in a funciton\n // currently is to keep the error checking out of global scope\n const nestedLayerRef = `nestedLayer${nestedLayerCount++}`\n body += `const ${nestedLayerRef} = figma.currentLayer.__find__(\"${args.layer}\")\\n`\n body += `return ${nestedLayerRef}.type === \"ERROR\" ? ${nestedLayerRef} : {\n${Object.entries(args.props).map(\n ([key, intrinsic]) => `${key}: ${intrinsicToString(intrinsic, nestedLayerRef)}\\n`,\n)}\n }\\n`\n return `(function () {${body}})()`\n }\n default:\n throw new InternalError(`Unknown intrinsic: ${kind}`)\n }\n}\n\n/**\n * Converts an expression to an FCC value, which is a wrapper around the actual value that\n * includes the type information. This is used to serialize the value to JSON and then\n * deserialize it back to the correct type in the generated code.\n *\n * @param valueNode\n * @param parserContext\n * @returns\n */\nfunction expressionToFccEnumValue(\n valueNode: ts.Expression,\n parserContext: ParserContext,\n): FCCValue {\n const { sourceFile, checker } = parserContext\n\n if (ts.isParenthesizedExpression(valueNode)) {\n return expressionToFccEnumValue(valueNode.expression, parserContext)\n }\n\n if (ts.isJsxElement(valueNode) || ts.isJsxSelfClosingElement(valueNode)) {\n return _fcc_jsxElement(valueNode.getText())\n }\n\n if (ts.isArrowFunction(valueNode) || ts.isFunctionExpression(valueNode)) {\n return _fcc_function(valueNode.getText())\n }\n\n if (ts.isObjectLiteralExpression(valueNode)) {\n // should recursively convert to FCC\n return _fcc_object(parsePropsObject(valueNode, parserContext))\n }\n\n if (ts.isArrayLiteralExpression(valueNode)) {\n return _fcc_array(\n convertArrayLiteralToJs(valueNode, sourceFile, checker, (valueNode) => {\n if (ts.isCallExpression(valueNode)) {\n return parseIntrinsic(valueNode, parserContext)\n }\n return expressionToFccEnumValue(valueNode, parserContext)\n }),\n )\n }\n\n if (ts.isTemplateLiteral(valueNode)) {\n const str = valueNode.getText().replaceAll('`', '')\n return _fcc_templateString(str)\n }\n\n // Handles enums, for example `MyEnum.Value`\n if (ts.isPropertyAccessExpression(valueNode)) {\n return _fcc_identifier(valueNode.getText())\n }\n\n // Any other identifiers (except undefined) are treated as React components, for example `MyComponent`.\n // We don't support referencing other variables in props object so this should be fine.\n if (ts.isIdentifier(valueNode) && !isUndefinedType(valueNode, parserContext.checker)) {\n return _fcc_identifier(valueNode.getText())\n }\n\n // Fall back to the default conversion in `convertObjectLiteralToJs`\n return undefined\n}\n\n/**\n * Parses the `props` field in a `figma.connect()` call, returning a mapping of\n * prop names to their respective intrinsic types\n *\n * @param objectLiteral An object literal expression\n * @param parserContext Parser context\n * @returns\n */\nexport function parsePropsObject(\n objectLiteral: ts.ObjectLiteralExpression,\n parserContext: ParserContext,\n): PropMappings {\n const { sourceFile, checker } = parserContext\n return convertObjectLiteralToJs(objectLiteral, sourceFile, checker, (valueNode) => {\n if (ts.isCallExpression(valueNode)) {\n return parseIntrinsic(valueNode, parserContext)\n }\n return expressionToFccEnumValue(valueNode, parserContext)\n }) as PropMappings\n}\n\nexport type PropMappings = Record<string, Intrinsic>\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default Code Connect labels for native parsers
|
|
3
|
+
*/
|
|
4
|
+
export declare enum CodeConnectLabel {
|
|
5
|
+
React = "React",
|
|
6
|
+
Storybook = "Storybook",
|
|
7
|
+
SwiftUI = "SwiftUI",
|
|
8
|
+
Compose = "Compose",
|
|
9
|
+
WebComponents = "Web Components",
|
|
10
|
+
HTML = "HTML",
|
|
11
|
+
Vue = "Vue",
|
|
12
|
+
Angular = "Angular",
|
|
13
|
+
Code = "Code"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Supported Code Connect languages for syntax highlighting and formatting
|
|
17
|
+
*/
|
|
18
|
+
export declare enum CodeConnectLanguage {
|
|
19
|
+
TypeScript = "typescript",
|
|
20
|
+
Swift = "swift",
|
|
21
|
+
Kotlin = "kotlin",
|
|
22
|
+
HTML = "html",
|
|
23
|
+
Raw = "raw"
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Infers the appropriate language for a raw template file based on its label.
|
|
27
|
+
* Falls back to 'raw' if the label is not recognized.
|
|
28
|
+
*
|
|
29
|
+
* @param label - The label associated with the Code Connect file
|
|
30
|
+
* @returns The corresponding language identifier for syntax highlighting
|
|
31
|
+
*/
|
|
32
|
+
export declare function getInferredLanguageForRaw(label: string): string;
|
|
33
|
+
//# sourceMappingURL=label_language_mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label_language_mapping.d.ts","sourceRoot":"","sources":["../../src/connect/label_language_mapping.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,mBAAmB;IAChC,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAkBD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodeConnectLanguage = exports.CodeConnectLabel = void 0;
|
|
4
|
+
exports.getInferredLanguageForRaw = getInferredLanguageForRaw;
|
|
5
|
+
/**
|
|
6
|
+
* Default Code Connect labels for native parsers
|
|
7
|
+
*/
|
|
8
|
+
var CodeConnectLabel;
|
|
9
|
+
(function (CodeConnectLabel) {
|
|
10
|
+
CodeConnectLabel["React"] = "React";
|
|
11
|
+
CodeConnectLabel["Storybook"] = "Storybook";
|
|
12
|
+
CodeConnectLabel["SwiftUI"] = "SwiftUI";
|
|
13
|
+
CodeConnectLabel["Compose"] = "Compose";
|
|
14
|
+
CodeConnectLabel["WebComponents"] = "Web Components";
|
|
15
|
+
CodeConnectLabel["HTML"] = "HTML";
|
|
16
|
+
CodeConnectLabel["Vue"] = "Vue";
|
|
17
|
+
CodeConnectLabel["Angular"] = "Angular";
|
|
18
|
+
CodeConnectLabel["Code"] = "Code";
|
|
19
|
+
})(CodeConnectLabel || (exports.CodeConnectLabel = CodeConnectLabel = {}));
|
|
20
|
+
/**
|
|
21
|
+
* Supported Code Connect languages for syntax highlighting and formatting
|
|
22
|
+
*/
|
|
23
|
+
var CodeConnectLanguage;
|
|
24
|
+
(function (CodeConnectLanguage) {
|
|
25
|
+
CodeConnectLanguage["TypeScript"] = "typescript";
|
|
26
|
+
CodeConnectLanguage["Swift"] = "swift";
|
|
27
|
+
CodeConnectLanguage["Kotlin"] = "kotlin";
|
|
28
|
+
CodeConnectLanguage["HTML"] = "html";
|
|
29
|
+
CodeConnectLanguage["Raw"] = "raw";
|
|
30
|
+
})(CodeConnectLanguage || (exports.CodeConnectLanguage = CodeConnectLanguage = {}));
|
|
31
|
+
/**
|
|
32
|
+
* Maps Code Connect labels to their corresponding language for syntax highlighting.
|
|
33
|
+
* This is used for raw template files to infer the correct language.
|
|
34
|
+
*/
|
|
35
|
+
const LABEL_TO_LANGUAGE_MAP = {
|
|
36
|
+
[CodeConnectLabel.React]: CodeConnectLanguage.TypeScript,
|
|
37
|
+
[CodeConnectLabel.Storybook]: CodeConnectLanguage.TypeScript,
|
|
38
|
+
[CodeConnectLabel.SwiftUI]: CodeConnectLanguage.Swift,
|
|
39
|
+
[CodeConnectLabel.Compose]: CodeConnectLanguage.Kotlin,
|
|
40
|
+
[CodeConnectLabel.WebComponents]: CodeConnectLanguage.HTML,
|
|
41
|
+
[CodeConnectLabel.HTML]: CodeConnectLanguage.HTML,
|
|
42
|
+
[CodeConnectLabel.Vue]: CodeConnectLanguage.TypeScript,
|
|
43
|
+
[CodeConnectLabel.Angular]: CodeConnectLanguage.TypeScript,
|
|
44
|
+
[CodeConnectLabel.Code]: CodeConnectLanguage.Raw,
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Infers the appropriate language for a raw template file based on its label.
|
|
48
|
+
* Falls back to 'raw' if the label is not recognized.
|
|
49
|
+
*
|
|
50
|
+
* @param label - The label associated with the Code Connect file
|
|
51
|
+
* @returns The corresponding language identifier for syntax highlighting
|
|
52
|
+
*/
|
|
53
|
+
function getInferredLanguageForRaw(label) {
|
|
54
|
+
// Try to match against known labels (enum values)
|
|
55
|
+
const knownLabel = Object.values(CodeConnectLabel).find((enumLabel) => enumLabel === label);
|
|
56
|
+
if (knownLabel) {
|
|
57
|
+
return LABEL_TO_LANGUAGE_MAP[knownLabel];
|
|
58
|
+
}
|
|
59
|
+
// Fallback to raw for unknown labels
|
|
60
|
+
return CodeConnectLanguage.Raw;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=label_language_mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label_language_mapping.js","sourceRoot":"","sources":["../../src/connect/label_language_mapping.ts"],"names":[],"mappings":";;;AAiDA,8DAUC;AA3DD;;GAEG;AACH,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,oDAAgC,CAAA;IAChC,iCAAa,CAAA;IACb,+BAAW,CAAA;IACX,uCAAmB,CAAA;IACnB,iCAAa,CAAA;AACf,CAAC,EAVW,gBAAgB,gCAAhB,gBAAgB,QAU3B;AAED;;GAEG;AACH,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,gDAAyB,CAAA;IACzB,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,oCAAa,CAAA;IACb,kCAAW,CAAA;AACb,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B;AAED;;;GAGG;AACH,MAAM,qBAAqB,GAAkD;IAC3E,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,UAAU;IACxD,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,UAAU;IAC5D,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK;IACrD,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,MAAM;IACtD,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC,IAAI;IAC1D,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,IAAI;IACjD,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,UAAU;IACtD,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,UAAU;IAC1D,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,GAAG;CACjD,CAAA;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,KAAa;IACrD,kDAAkD;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;IAE3F,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,qBAAqB,CAAC,UAA8B,CAAC,CAAA;IAC9D,CAAC;IAED,qCAAqC;IACrC,OAAO,mBAAmB,CAAC,GAAG,CAAA;AAChC,CAAC","sourcesContent":["/**\n * Default Code Connect labels for native parsers\n */\nexport enum CodeConnectLabel {\n React = 'React',\n Storybook = 'Storybook',\n SwiftUI = 'SwiftUI',\n Compose = 'Compose',\n WebComponents = 'Web Components',\n HTML = 'HTML',\n Vue = 'Vue',\n Angular = 'Angular',\n Code = 'Code', // Default/fallback label\n}\n\n/**\n * Supported Code Connect languages for syntax highlighting and formatting\n */\nexport enum CodeConnectLanguage {\n TypeScript = 'typescript',\n Swift = 'swift',\n Kotlin = 'kotlin',\n HTML = 'html',\n Raw = 'raw', // Fallback for unknown languages\n}\n\n/**\n * Maps Code Connect labels to their corresponding language for syntax highlighting.\n * This is used for raw template files to infer the correct language.\n */\nconst LABEL_TO_LANGUAGE_MAP: Record<CodeConnectLabel, CodeConnectLanguage> = {\n [CodeConnectLabel.React]: CodeConnectLanguage.TypeScript,\n [CodeConnectLabel.Storybook]: CodeConnectLanguage.TypeScript,\n [CodeConnectLabel.SwiftUI]: CodeConnectLanguage.Swift,\n [CodeConnectLabel.Compose]: CodeConnectLanguage.Kotlin,\n [CodeConnectLabel.WebComponents]: CodeConnectLanguage.HTML,\n [CodeConnectLabel.HTML]: CodeConnectLanguage.HTML,\n [CodeConnectLabel.Vue]: CodeConnectLanguage.TypeScript,\n [CodeConnectLabel.Angular]: CodeConnectLanguage.TypeScript,\n [CodeConnectLabel.Code]: CodeConnectLanguage.Raw,\n}\n\n/**\n * Infers the appropriate language for a raw template file based on its label.\n * Falls back to 'raw' if the label is not recognized.\n *\n * @param label - The label associated with the Code Connect file\n * @returns The corresponding language identifier for syntax highlighting\n */\nexport function getInferredLanguageForRaw(label: string): string {\n // Try to match against known labels (enum values)\n const knownLabel = Object.values(CodeConnectLabel).find((enumLabel) => enumLabel === label)\n\n if (knownLabel) {\n return LABEL_TO_LANGUAGE_MAP[knownLabel as CodeConnectLabel]\n }\n\n // Fallback to raw for unknown labels\n return CodeConnectLanguage.Raw\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CodeConnectJSON } from '../connect/figma_connect';
|
|
2
|
+
export declare function writeTemplateFile(doc: CodeConnectJSON, outputDir: string | undefined, baseDir: string, localSourcePath?: string): {
|
|
3
|
+
outputPath: string;
|
|
4
|
+
skipped: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function migrateTemplateToUseServerSideHelpers(template: string): string;
|
|
7
|
+
export declare function addId(template: string, id: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Migrates V1 templates to V2 API.
|
|
10
|
+
*
|
|
11
|
+
* This performs safe, incremental transformations. The following patterns
|
|
12
|
+
* are intentionally NOT migrated as they're still supported in V2:
|
|
13
|
+
*
|
|
14
|
+
* - .__properties__.children() - no direct V2 equivalent, still supported
|
|
15
|
+
* - __props metadata building pattern - still valid JavaScript
|
|
16
|
+
* - __renderWithFn__() - complex transformation, still supported
|
|
17
|
+
*
|
|
18
|
+
* These may be addressed in future migrations.
|
|
19
|
+
*/
|
|
20
|
+
export declare const migrateV1TemplateToV2: (template: string) => string;
|
|
21
|
+
//# sourceMappingURL=migration_helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration_helpers.d.ts","sourceRoot":"","sources":["../../src/connect/migration_helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,GACvB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA2D1C;AAGD,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,MAAM,UAqBrE;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,MAqFxD,CAAA"}
|