pdfme / pdfme

A TypeScript based PDF generator library, made with React.
https://pdfme.com
MIT License
2.19k stars 194 forks source link

return outside of function using solid-js-typescript-vite #279

Open techdeus opened 7 months ago

techdeus commented 7 months ago

Describe the bug

Hi I am working on a project with the techstack SolidJS with Vite for the dev and prod servers FE. THe @pdfme/ui package is throwing the following error: "Return outside of function!" I attempted to fix by modifying the babel parser with the vite-babel-plugin.

https://www.npmjs.com/package/vite-plugin-babel https://babeljs.io/docs/babel-parser#options

To Reproduce

Typescript tailwindcss template + basic file base routing

$ npx degit solidjs/templates/ts-router my-solid-project $ cd my-solid-project $ npm install # or pnpm install or yarn install

Expected behavior

I am expected to use the library which will allow users to run their editor and create templates for PDFs. The Common and and Generator libraries work like a charm!

Your Environment

- solidjs
- vite
- tailwind/css
- pdfme package(@pdfme/generator or @pdfme/ui): @pdfme/ui
- pdfme version: 2.21
- Operating system: MAC OS
- Node.js version or Browser name & version: 18.3

Your Error Log

BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@pdfme+ui@2.2.1_@pdfme+common@2.2.1/node_modules/@pdfme/ui/dist/index.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.pnpm/bwip-js@3.4.5/node_modules/bwip-js/dist/bwip-js.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@pdfme+ui@2.2.1_@pdfme+common@2.2.1/node_modules/@pdfme/ui/dist/index.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.pnpm/bwip-js@3.4.5/node_modules/bwip-js/dist/bwip-js.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.vite/deps/highlight__js.js?v=afad1e56 as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.vite/deps/lowlight.js?v=c09c59d6 as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /Users/techdeus/src/tofu/eyes/node_modules/.vite/deps/@pdfme_generator.js?v=cc2076f6 as it exceeds the max of 500KB.
/Users/techdeus/src/tofu/eyes/node_modules/.vite/deps/@pdfme_ui.js?v=06b99465: 'return' outside of function. (11934:22)

  11932 |                       } else
  11933 |                         t6.data = p2.subarray(0, y3);
> 11934 |                       return { missingGlyphs: w3, maxSizeOfInstructions: s2 };
        |                       ^
  11935 |                     }(C2.loca, C2.glyf, P2, e5, H, U, Y);
  11936 |                     W = t5.missingGlyphs, D2 >= 65536 && C2.maxp.length >= 22 && (C2.maxp.data[26] = t5.maxSizeOfInstructions >> 8, C2.maxp.data[27] = 255 & t5.maxSizeOfInstructions);
  11937 |                   }
10:42:34 PM [vite] Internal server error: /Users/techdeus/src/tofu/eyes/node_modules/.vite/deps/@pdfme_ui.js?v=06b99465: 'return' outside of function. (11934:22)

  11932 |                       } else
  11933 |                         t6.data = p2.subarray(0, y3);
> 11934 |                       return { missingGlyphs: w3, maxSizeOfInstructions: s2 };
        |                       ^
  11935 |                     }(C2.loca, C2.glyf, P2, e5, H, U, Y);
  11936 |                     W = t5.missingGlyphs, D2 >= 65536 && C2.maxp.length >= 22 && (C2.maxp.data[26] = t5.maxSizeOfInstructions >> 8, C2.maxp.data[27] = 255 & t5.maxSizeOfInstructions);
  11937 |                   }
  Plugin: solid-devtools
  File: /Users/techdeus/src/tofu/eyes/node_modules/.vite/deps/@pdfme_ui.js?v=06b99465:11934:22
  11932|                        } else
  11933|                          t6.data = p2.subarray(0, y3);
  11934|                        return { missingGlyphs: w3, maxSizeOfInstructions: s2 };
     |                        ^
  11935|                      }(C2.loca, C2.glyf, P2, e5, H, U, Y);
  11936|                      W = t5.missingGlyphs, D2 >= 65536 && C2.maxp.length >= 22 && (C2.maxp.data[26] = t5.maxSizeOfInstructions >> 8, C2.maxp.data[27] = 255 & t5.maxSizeOfInstructions);
      at instantiate (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:63:32)
      at constructor (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:358:12)
      at TypeScriptParserMixin.raise (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:3255:19)
      at TypeScriptParserMixin.parseReturnStatement (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12991:12)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12617:21)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9382:18)
      at TypeScriptParserMixin.parseStatementLike (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12584:17)
      at TypeScriptParserMixin.parseStatementListItem (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12564:17)
      at TypeScriptParserMixin.parseBlockOrModuleBlockBody (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13185:61)
      at TypeScriptParserMixin.parseBlockBody (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13178:10)
      at TypeScriptParserMixin.parseBlock (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13166:10)
      at TypeScriptParserMixin.parseFunctionBody (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:11947:24)
      at TypeScriptParserMixin.parseFunctionBodyAndFinish (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:11933:10)
      at TypeScriptParserMixin.parseFunctionBodyAndFinish (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9111:18)
      at /Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13314:12
      at TypeScriptParserMixin.withSmartMixTopicForbiddingContext (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12257:14)
      at TypeScriptParserMixin.parseFunction (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13313:10)
      at TypeScriptParserMixin.parseFunctionOrFunctionSent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:11412:17)
      at TypeScriptParserMixin.parseExprAtom (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:11185:21)
      at TypeScriptParserMixin.parseExprSubscripts (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10890:23)
      at TypeScriptParserMixin.parseUpdate (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10873:21)
      at TypeScriptParserMixin.parseMaybeUnary (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10849:23)
      at TypeScriptParserMixin.parseMaybeUnary (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9738:18)
      at TypeScriptParserMixin.parseMaybeUnaryOrPrivate (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10687:61)
      at TypeScriptParserMixin.parseExprOps (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10692:23)
      at TypeScriptParserMixin.parseMaybeConditional (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10669:23)
      at TypeScriptParserMixin.parseMaybeAssign (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10630:21)
      at TypeScriptParserMixin.parseMaybeAssign (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9685:20)
      at /Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10600:39
      at TypeScriptParserMixin.allowInAnd (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12275:16)
      at TypeScriptParserMixin.parseMaybeAssignAllowIn (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:10600:17)
      at TypeScriptParserMixin.parseVar (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13255:91)
      at TypeScriptParserMixin.parseVarStatement (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13096:10)
      at TypeScriptParserMixin.parseVarStatement (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9348:31)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12679:23)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9382:18)
      at TypeScriptParserMixin.parseStatementLike (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12584:17)
      at TypeScriptParserMixin.parseStatementListItem (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12564:17)
      at TypeScriptParserMixin.parseBlockOrModuleBlockBody (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13185:61)
      at TypeScriptParserMixin.parseBlockBody (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13178:10)
      at TypeScriptParserMixin.parseBlock (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:13166:10)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12686:21)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9382:18)
      at TypeScriptParserMixin.parseStatementLike (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12584:17)
      at TypeScriptParserMixin.parseStatementOrSloppyAnnexBFunctionDeclaration (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12574:17)
      at TypeScriptParserMixin.parseIfStatement (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12985:28)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12615:21)
      at TypeScriptParserMixin.parseStatementContent (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:9382:18)
      at TypeScriptParserMixin.parseStatementLike (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12584:17)
      at TypeScriptParserMixin.parseStatementListItem (/Users/techdeus/src/tofu/eyes/node_modules/.pnpm/@babel+parser@7.22.7/node_modules/@babel/parser/lib/index.js:12564:17)

Additional context

No response

techdeus commented 7 months ago

My typescript config!

`{
  "compilerOptions": {
    "target": "ESNext",
    "skipLibCheck": true,
    "lib": [
      "DOM",
      "es2023",
      "ESNext",
      "WebWorker",
    ],
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "strictPropertyInitialization": false,
    "forceConsistentCasingInFileNames": true,
    "module": "ESNext",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve",
    "jsxImportSource": "solid-js",
    "baseUrl": ".",
    "paths": {
      "~assets/*": [
        "./src/assets/*"
      ],
      "~modules/*": [
        "./src/modules/*"
      ],

      "~containers/*": [
        "src/styles/containers/*"
      ],
      "~layouts/*": [
        "src/styles/layouts/*"
      ],
      "~stores/*": [
        "./src/stores/*"
      ],
      "~components/*": [
        "./src/components/*"
      ],
      "~utilities/*": [
        "./src/utilities/*"
      ],
    },
    "types": ["vite/client", "vitest/globals"],
  },
  "include": ["src"],
  "exclude": ["node_modules", "**/*.test.ts", "**/.test.tsx", "eyes/dist/experimental/**/*"]
}`