Skip to content

@griffel/vite-plugin: Parsing error Error when using module Syntax #645

@Sephiroth336

Description

@Sephiroth336

When I try to build my application with griffel and vite, using the '@griffel/vite-plugin' I get the following error:

error during build:
[wyw-in-js] C:\application\testui\libraries\test-library\index.ts: Unexpected token, expected "," (54:22)

  52 | export { ComponentA } from './src/surface/buttons/ComponentA ';
  53 |
> 54 | export { ComponentB, type ComponentBProps } from './src/surface/dialogs/ComponentB';

file: C:\application/testui/application/UiRenderer.tsx:54:22
    at constructor (C:\application\testui\node_modules\@babel\parser\lib\index.js:360:19)
    at Parser.raise (C:\application\testui\node_modules\@babel\parser\lib\index.js:3327:19)
    at Parser.unexpected (C:\application\testui\node_modules\@babel\parser\lib\index.js:3347:16)
    at Parser.expect (C:\application\testui\node_modules\@babel\parser\lib\index.js:3657:12)
    at Parser.parseExportSpecifiers (C:\application\testui\node_modules\@babel\parser\lib\index.js:13724:14)
    at Parser.maybeParseExportNamedSpecifiers (C:\application\testui\node_modules\@babel\parser\lib\index.js:13508:37)
    at Parser.parseExport (C:\application\testui\node_modules\@babel\parser\lib\index.js:13435:32)
    at Parser.parseStatementContent (C:\application\testui\node_modules\@babel\parser\lib\index.js:12519:27)
    at Parser.parseStatementLike (C:\application\testui\node_modules\@babel\parser\lib\index.js:12406:17)
    at Parser.parseModuleItem (C:\application\testui\node_modules\@babel\parser\lib\index.js:12383:17)
    at Parser.parseBlockOrModuleBlockBody (C:\application\testui\node_modules\@babel\parser\lib\index.js:12960:36)
    at Parser.parseBlockBody (C:\application\testui\node_modules\@babel\parser\lib\index.js:12953:10)
    at Parser.parseProgram (C:\application\testui\node_modules\@babel\parser\lib\index.js:12280:10)
    at Parser.parseTopLevel (C:\application\testui\node_modules\@babel\parser\lib\index.js:12270:25)
    at Parser.parse (C:\application\testui\node_modules\@babel\parser\lib\index.js:14120:10)
    at parse (C:\application\testui\node_modules\@babel\parser\lib\index.js:14154:38)
    at parser (C:\application\testui\node_modules\@babel\core\lib\parser\index.js:41:34)
    at parser.next (<anonymous>)
    at parse (C:\application\testui\node_modules\@babel\core\lib\parse.js:25:37)
    at parse.next (<anonymous>)
    at evaluateSync (C:\application\testui\node_modules\gensync\index.js:251:28)
    at sync (C:\application\testui\node_modules\gensync\index.js:89:14)
    at stopHiding - secret - don't use this - v1 (C:\application\testui\node_modules\@babel\core\lib\errors\rewrite-stack-trace.js:47:12)
    at Object.parseSync (C:\application\testui\node_modules\@babel\core\lib\parse.js:40:72)
    at parseFile (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\Entrypoint.helpers.js:38:29)
    at C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\Entrypoint.helpers.js:131:48
    at EventEmitter.perf (C:\application\testui\node_modules\@wyw-in-js\transform\lib\utils\EventEmitter.js:45:20)
    at getOrParse (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\Entrypoint.helpers.js:131:24)
    at get ast (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\Entrypoint.helpers.js:150:14)
    at BaseAction.explodeReexports (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\generators\explodeReexports.js:39:68)        
    at explodeReexports.next (<anonymous>)
    at C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\BaseAction.js:66:78
    at EventEmitter.action (C:\application\testui\node_modules\@wyw-in-js\transform\lib\utils\EventEmitter.js:25:22)
    at BaseAction.emitAction (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\BaseAction.js:131:39)
    at nextFn (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\BaseAction.js:66:32)
    at processNext (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\BaseAction.js:111:28)
    at Object.next (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\BaseAction.js:120:9)
    at asyncActionRunner (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\actionRunner.js:39:102)
    at asyncActionRunner (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\actionRunner.js:46:28)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async asyncActionRunner (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\actionRunner.js:46:22)
    at async asyncActionRunner (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\actionRunner.js:46:22)
    at async asyncActionRunner (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\actionRunner.js:46:22)
    at async asyncActionRunner (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform\actions\actionRunner.js:46:22)
    at async transform (C:\application\testui\node_modules\@wyw-in-js\transform\lib\transform.js:107:20)
    at async Object.transform (file:///C:\application/testui/node_modules/@wyw-in-js/vite/esm/index.mjs:116:22)
    at async transform (file:///C:\application/testui/node_modules/rollup/dist/es/shared/node-entry.js:20689:16)
    at async ModuleLoader.addModuleSource (file:///C:\application/testui/node_modules/rollup/dist/es/shared/node-entry.js:20902:36)

Content of the file:

import { makeStyles, mergeClasses } from '@griffel/react';

import {
  fullWidthAndHeightStyle,
} from '../../styles/base/AtomicStyles';

const useClasses = makeStyles({
  root: {
    ...fullWidthAndHeightStyle,
 }
)

export interface ComponentBProps  {
}

export const ComponentB = props: ComponentBProps => return <div>Hello </div>

There seems to be an issue with parsing modules containing exported interfaces. When I omit the type ComponentB props I get the error already reported by #627 Maybe there is a more general issue parsing typescript modules and its syntax when applying the vite-plugin and griffel?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions