diff --git a/code/index.ts b/code/index.ts index 720b03b4..85e0cfe8 100644 --- a/code/index.ts +++ b/code/index.ts @@ -10,7 +10,6 @@ import { RemoteImageRepositories } from "@design-sdk/figma-remote/asset-reposito import type { FrameworkConfig } from "@grida/builder-config"; import { defaultConfigByFramework } from "@grida/builder-config-preset"; import { Language } from "@grida/builder-platform-types"; -import { formatCode } from "dart-style"; import type { TPlugin } from "@code-plugin/core"; export async function code({ @@ -20,10 +19,10 @@ export async function code({ plugins, }: { auth: - | { - personalAccessToken: string; - } - | { accessToken: string }; + | { + personalAccessToken: string; + } + | { accessToken: string }; uri: string; framework: FrameworkConfig; plugins?: TPlugin[]; @@ -96,11 +95,24 @@ function filesrc( function postproc_src(src: string, language: Language) { if (language === Language.dart) { - const { code, error } = formatCode(src); - if (error) { - return src; - } - return code; + // TODO: disabling dart formatter due to run time error. + // ``` + // dartException: TypeErrorImplementation { + // message: "TypeError: Instance of 'JavaScriptFunction': type 'JavaScriptFunction' is not a subtype of type 'Function1'" + // } + // ``` + + // import { formatCode } from "dart-style"; + + // try { + // const { code, error } = formatCode(src); + // if (error) { + // return src; + // } + // return code; + // } catch (e) { + // return src; + // } } return src; diff --git a/www/app/v1/code/route.ts b/www/app/v1/code/route.ts index 06773bd5..36ef07d2 100644 --- a/www/app/v1/code/route.ts +++ b/www/app/v1/code/route.ts @@ -7,7 +7,7 @@ import { type NextRequest, NextResponse } from "next/server"; type FigmaAccessTokenType = "fat" | "fpat"; -export default async function POST(req: NextRequest) { +export async function POST(req: NextRequest) { try { const figma_access_token: string | null = req.headers.get("x-figma-token"); diff --git a/www/app/v1/embed/route.ts b/www/app/v1/embed/route.ts index bd4aaf08..9c9c3e0a 100644 --- a/www/app/v1/embed/route.ts +++ b/www/app/v1/embed/route.ts @@ -2,7 +2,7 @@ import { Language } from "@grida/builder-platform-types"; import { code } from "@grida/code"; import { NextResponse, type NextRequest } from "next/server"; -export default async function GET(req: NextRequest) { +export async function GET(req: NextRequest) { // get the access token from the query string const figma = req.nextUrl.searchParams.get("figma") as string; const fpat = req.nextUrl.searchParams.get("fpat") as string; @@ -11,6 +11,9 @@ export default async function GET(req: NextRequest) { if (!figma) { return new NextResponse("

No figma file url is provided

", { status: 400, + headers: { + "Content-Type": "text/html", + } }); } @@ -51,4 +54,12 @@ export default async function GET(req: NextRequest) { }, }); } + + + return new NextResponse("

Something went wrong

", { + status: 500, + headers: { + "Content-Type": "text/html", + }, + }); } diff --git a/www/next.config.js b/www/next.config.js index 767719fc..8d040492 100644 --- a/www/next.config.js +++ b/www/next.config.js @@ -1,4 +1,57 @@ +const packages = [ + "@engine/core", + + // ----------------------------- + // region @designto-code + "@grida/api", + "@grida/code", + "@designto/debugger", + "@grida/builder-config", + "@grida/builder-config-preset", + "@grida/builder-platform-types", + "@designto/code", + "@designto/sanitized", + "@designto/token", + "@designto/flutter", + "@designto/solid-js", + "@designto/web", + "@designto/vanilla", + "@designto/react", + "@designto/react-native", + + "@code-features/assets", + "@code-features/module", + "@code-features/documentation", + "@code-features/component", + "@code-features/flags", + "@code-features/fonts", + // ----------------------------- + // plugins + "@code-plugin/core", + "@code-plugin/text-fit", + // ----------------------------- + + // ----------------------------- + // region builders - part of designto-code / coli + + // region web builders + "@web-builder/nodejs", + "@web-builder/core", + "@web-builder/module-es", + "@web-builder/module-jsx", + "@web-builder/solid-js", + "@web-builder/vanilla", + "@web-builder/react-core", + "@web-builder/react", + "@web-builder/react-native", + "@web-builder/reflect-ui", + "@web-builder/styled", + "@web-builder/styles", + // endregion web builders + // ----------------------------- +]; + /** @type {import('next').NextConfig} */ -const nextConfig = {} +const nextConfig = {}; -module.exports = nextConfig +module.exports = nextConfig; diff --git a/www/package.json b/www/package.json index 316d922c..e520da35 100644 --- a/www/package.json +++ b/www/package.json @@ -9,19 +9,20 @@ "lint": "next lint" }, "dependencies": { + "dart-style": "^1.3.2-dev", + "next": "14.0.4", "react": "^18", - "react-dom": "^18", - "next": "14.0.4" + "react-dom": "^18" }, "devDependencies": { - "typescript": "^5", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.0.4", "postcss": "^8", "tailwindcss": "^3.3.0", - "eslint": "^8", - "eslint-config-next": "14.0.4" + "typescript": "^5" } } diff --git a/yarn.lock b/yarn.lock index f3d06836..d5dd703b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1505,10 +1505,10 @@ resolved "https://registry.npmjs.org/@design-sdk/figma-auth-store/-/figma-auth-store-0.0.43.tgz" integrity sha512-5VF1EijfZwzOMq+r4ipQ0aDRk/JSUHOjg9cI7oaD+K+sw2YIjgxSBE05/tvncZhOpmFvDHSHTISYJfUsEWfSUQ== -"@design-sdk/figma-core@^0.0.25": - version "0.0.25" - resolved "https://registry.yarnpkg.com/@design-sdk/figma-core/-/figma-core-0.0.25.tgz#7fa28cc7d6e45cd713c5f268d42e4dd4f2b41590" - integrity sha512-6OF7eUbDOlR4/BFtd2FRyDvvUf777OGNbVbNScUOv3Fk/kUXBzMTXX6ZdoRlTx887v/vo3+Lh0D31SG1sm80aA== +"@design-sdk/figma-core@^0.0.43": + version "0.0.43" + resolved "https://registry.yarnpkg.com/@design-sdk/figma-core/-/figma-core-0.0.43.tgz#0d19d014daf398ed39046bfd4e7f3d2b78842943" + integrity sha512-7WQ29f4hUOxu4Mu8ZyqbBI5F4DsRJbIjGIcZAUmn7O9/SRR00upTYrl2hdlEnKdE0ImHTYqfISgxjkoYEQgZaQ== "@design-sdk/figma-node-conversion@^0.0.43": version "0.0.43" @@ -1531,13 +1531,13 @@ "@design-sdk/figma-node" "^0.0.43" "@design-sdk/figma-types" "^0.0.43" -"@design-sdk/figma-node@0.0.25", "@design-sdk/figma-node@^0.0.43": - version "0.0.25" - resolved "https://registry.yarnpkg.com/@design-sdk/figma-node/-/figma-node-0.0.25.tgz#c95484cc4b003667ae93e95fa3b585b9fa0b740a" - integrity sha512-GCA5cGDXhvGUQddmSIZgPMhH0eGip9S0yDSQiys1XiKnXsB/CM8/5C+JVosHR1WFMHSlJfU+ytA4IH2yhfysUQ== +"@design-sdk/figma-node@^0.0.43": + version "0.0.43" + resolved "https://registry.yarnpkg.com/@design-sdk/figma-node/-/figma-node-0.0.43.tgz#5d468ae73e2b07a787d4e6447cdde7efb4f2ea43" + integrity sha512-Wo3jNL4S8NjqbwZZG4eXe2ut/HVM/vPGaEFoEa8MIJyTslwS+sobiU4TW2qDUYNVZW/L7fxYdHO+sBDQOx0TWw== dependencies: - "@design-sdk/figma-core" "^0.0.25" - "@design-sdk/figma-utils" "^0.0.25" + "@design-sdk/figma-core" "^0.0.43" + "@design-sdk/figma-utils" "^0.0.43" "@reflect-ui/font-utils" "^0.0.1" "@design-sdk/figma-remote-api@^0.0.43": @@ -1581,11 +1581,6 @@ resolved "https://registry.yarnpkg.com/@design-sdk/figma-url/-/figma-url-0.0.46.tgz#8cf8eecbb80685480822734bfa871af6e5fa0daa" integrity sha512-9d8Og45cPxRe3Oh8wzWHhFrxZYfaoBdfP/J0OfYs2yTK7XY/vhz1GGf78aBjGdBdmaShHwfI8RHIhhV03nYKkg== -"@design-sdk/figma-utils@^0.0.25": - version "0.0.25" - resolved "https://registry.yarnpkg.com/@design-sdk/figma-utils/-/figma-utils-0.0.25.tgz#7b7f6632fd8689ef713b27b34a61257accc2052e" - integrity sha512-HarFMa14L9zqg8rhLaCTXhTKFd6tlBno1mnSc/vl8ZVilmdq32OFFlmqS4MjyvrTfyAvbwlEMAhxV1SUQhFhRg== - "@design-sdk/figma-utils@^0.0.43": version "0.0.43" resolved "https://registry.npmjs.org/@design-sdk/figma-utils/-/figma-utils-0.0.43.tgz" @@ -6856,10 +6851,22 @@ resolved "https://registry.npmjs.org/@reflect-ui/cg/-/cg-0.0.5.tgz" integrity sha512-rqqaumLDgk9dGtPgkYy9h5PLlNv8ZVEz/+ktOcJpJE6v9fAQOSH1Wh5WAehpiZTQtKe944GzrFMsb/g8pTabWg== -"@reflect-ui/core@0.0.12", "@reflect-ui/core@0.0.2-rc.7", "@reflect-ui/core@0.0.5", "@reflect-ui/core@^0.0.5", "@reflect-ui/core@^0.0.9": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@reflect-ui/core/-/core-0.0.12.tgz#f410ecef10ce4ecb2cffdda93056091d68ce2b87" - integrity sha512-Ae/2ImJ70d1PrcVLmQgJhxTr5RZA6wxLeTgxRaATA3nryjp4aiz7pznzd3EqX0zii+7N79Xpk20KCuXJByypuA== +"@reflect-ui/core@0.0.2-rc.7": + version "0.0.2-rc.7" + resolved "https://registry.yarnpkg.com/@reflect-ui/core/-/core-0.0.2-rc.7.tgz#9d531f5a0b9caab31e7563020044b753700e2bbc" + integrity sha512-EqF4SRU57bfa5DOPET1rv5lROFyMVHLv1xTEIlN6N2gDpXt71QceImWfQp3z3Khqnb4R/p9OhNK6DXGUpozWKw== + +"@reflect-ui/core@0.0.5", "@reflect-ui/core@^0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@reflect-ui/core/-/core-0.0.5.tgz#f50ae00e64300c4b698ab5c5374c6ac3bb5de873" + integrity sha512-lA6AYHCF8aSyOvGXbJZcmlB5ccxCaznhxvD8Hg1UjVdhcbLhMWDbzoYqbrkqh+R4im3KnYw5n6pWSSdoWioYhA== + dependencies: + "@reflect-ui/uiutils" "^0.1.2-1" + +"@reflect-ui/core@^0.0.9": + version "0.0.9" + resolved "https://registry.yarnpkg.com/@reflect-ui/core/-/core-0.0.9.tgz#7283a2a3a1edde16282559d11f02e23d3bceda36" + integrity sha512-MNJq+Pc45qZ0IvTYuvzCW2nxupVRfMtmin9vepABo2h1sTKdAmCK2kPfVLea6TNiF1baJDeQg7IyAN45JMuFdA== dependencies: "@reflect-ui/uiutils" "^0.1.2-1" @@ -9379,7 +9386,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@18.0.24", "@types/react@^17", "@types/react@^18", "@types/react@^18.0.24", "@types/react@^18.0.25": +"@types/react@*", "@types/react@^18", "@types/react@^18.0.24": version "18.0.24" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.24.tgz#2f79ed5b27f08d05107aab45c17919754cc44c20" integrity sha512-wRJWT6ouziGUy+9uX0aW4YOJxAY0bG6/AOk5AW5QSvZqI7dk6VBIbXvcVgIw/W5Jrl24f77df98GEKTJGOLx7Q== @@ -9388,6 +9395,24 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^17": + version "17.0.73" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.73.tgz#23a663c803b18d8b7f4f2bb9b467f2f3fd70787a" + integrity sha512-6AcjgPIVsXTIsFDgsGW0iQhvg0xb2vt2qAWgXyncnVNRaW9ZXTTwAh7RQoh7PzK1AhjPoGDvUBkdAREih9n5oQ== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^18.0.25": + version "18.2.45" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" + integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/resemblejs@^4.1.3": version "4.1.3" resolved "https://registry.yarnpkg.com/@types/resemblejs/-/resemblejs-4.1.3.tgz#46d16888952e377b9143484c206b63f6da56e91e" @@ -12867,11 +12892,16 @@ cssesc@^3.0.0: resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -csstype@3.1.0, csstype@^3.0.10, csstype@^3.0.2, csstype@^3.0.4, csstype@^3.0.8, csstype@^3.1.1: +csstype@^3.0.10, csstype@^3.0.2, csstype@^3.0.4, csstype@^3.0.8: version "3.1.0" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== +csstype@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + cuid@^2.1.8: version "2.1.8" resolved "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz" @@ -12998,7 +13028,7 @@ dart-services@^0.2.3, dart-services@^0.2.5: dart-style@^1.3.2-dev: version "1.3.2-dev" - resolved "https://registry.npmjs.org/dart-style/-/dart-style-1.3.2-dev.tgz" + resolved "https://registry.yarnpkg.com/dart-style/-/dart-style-1.3.2-dev.tgz#d21a80ff0b7f9d800584ec6a6a659ac3242ac855" integrity sha512-NFI4UQYvG32t/cEkQAdkXT2ZT72tjF61tMWoALmnGwj03d2Co94zwGfbnFfdQUQvrhUNx8Wz2jKSVxGrmFaVJQ== dashdash@^1.12.0: