kripod / gatsby-plugin-preval

A Gatsby plugin for pre-evaluating code at build-time
MIT License
1 stars 0 forks source link

Import comments and preval.require don't work #1

Open kripod opened 6 years ago

kripod commented 6 years ago

Reproduction

import { short } from /* preval */ 'git-rev-sync';

Or

const { short } = preval.require('git-rev-sync');

Console output

i 「wdm」: Compiling...
 ERROR  Failed to compile with 1 errors                                                                         10:10:12

 error  in ./src/components/Layout.jsx

Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module 'D:\Development\moc-ui\src\components\git-rev-sync'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
    at Function.require.resolve (D:\Development\moc-ui\node_modules\v8-compile-cache\v8-compile-cache.js:162:23)
    at PluginPass.CallExpression (D:\Development\moc-ui\node_modules\babel-plugin-preval\dist\index.js:126:44)
    at newFn (D:\Development\moc-ui\node_modules\@babel\traverse\lib\visitors.js:193:21)
    at NodePath._call (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:53:20)
    at NodePath.call (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:40:17)
    at NodePath.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:88:12)
    at TraversalContext.visitQueue (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:118:16)
    at TraversalContext.visitSingle (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:90:19)
    at TraversalContext.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:146:19)
    at Function.traverse.node (D:\Development\moc-ui\node_modules\@babel\traverse\lib\index.js:94:17)
    at NodePath.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:95:18)
    at TraversalContext.visitQueue (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:118:16)
    at TraversalContext.visitMultiple (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:85:17)
    at TraversalContext.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:144:19)
    at Function.traverse.node (D:\Development\moc-ui\node_modules\@babel\traverse\lib\index.js:94:17)

 @ ./src/pages/404.jsx 12:0-42 16:29-35
 @ ./.cache/sync-requires.js
 @ ./.cache/root.js
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false D://Development//moc-ui//.cache//app

× 「wdm」:
ERROR in ./src/components/Layout.jsx
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module 'D:\Development\moc-ui\src\components\git-rev-sync'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
    at Function.require.resolve (D:\Development\moc-ui\node_modules\v8-compile-cache\v8-compile-cache.js:162:23)
    at PluginPass.CallExpression (D:\Development\moc-ui\node_modules\babel-plugin-preval\dist\index.js:126:44)
    at newFn (D:\Development\moc-ui\node_modules\@babel\traverse\lib\visitors.js:193:21)
    at NodePath._call (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:53:20)
    at NodePath.call (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:40:17)
    at NodePath.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:88:12)
    at TraversalContext.visitQueue (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:118:16)
    at TraversalContext.visitSingle (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:90:19)
    at TraversalContext.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:146:19)
    at Function.traverse.node (D:\Development\moc-ui\node_modules\@babel\traverse\lib\index.js:94:17)
    at NodePath.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\path\context.js:95:18)
    at TraversalContext.visitQueue (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:118:16)
    at TraversalContext.visitMultiple (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:85:17)
    at TraversalContext.visit (D:\Development\moc-ui\node_modules\@babel\traverse\lib\context.js:144:19)
    at Function.traverse.node (D:\Development\moc-ui\node_modules\@babel\traverse\lib\index.js:94:17)
 @ ./src/pages/404.jsx 12:0-42 16:29-35
 @ ./.cache/sync-requires.js
 @ ./.cache/root.js
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false D://Development//moc-ui//.cache//app
i 「wdm」: Failed to compile.
CanRau commented 5 years ago

Hm, just tried using an import comment, it's not erroring, it seems to just ignore it, as the imported file hasn't been prevaled..

UPDATE: I could at least get it working for my case using babel-plugin-preval/macro