slidevjs / slidev

Presentation Slides for Developers
https://sli.dev
MIT License
32.82k stars 1.33k forks source link

Module @slidev/types missing when using the globally installed slidev #189

Closed christian-nils closed 3 years ago

christian-nils commented 3 years ago

Describe the bug After installing globally slidev, running slidev in a repository with only the file slides.md returns an error:

(base) [christian-nils@als-of-wl2912 slidevv]$ slidev
node:internal/modules/cjs/loader:941
  const err = new Error(message);
              ^

Error: Cannot find module 'packages/theme-seriph/node_modules/@slidev/types'
Require stack:
- /home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/theme-default/setup/windicss.ts
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:941:15)
    at Function.resolve (node:internal/modules/cjs/helpers:99:19)
    at m (/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/cli/node_modules/jiti/dist/jiti.js:1:52899)
    at f (/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/cli/node_modules/jiti/dist/jiti.js:1:53712)
    at /home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/theme-default/setup/windicss.ts:2:14
    at f (/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/cli/node_modules/jiti/dist/jiti.js:1:54601)
    at loadSetups (/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/cli/dist/chunk-J2KFKCYM.js:116:32)
    at createWindiCSSPlugin (/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/cli/dist/chunk-J2KFKCYM.js:137:18)
    at ViteSlidevPlugin (/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/cli/dist/chunk-J2KFKCYM.js:1175:11)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/christian-nils/.nvm/versions/node/v16.2.0/lib/node_modules/@slidev/theme-default/setup/windicss.ts'
  ]
}

To Reproduce Steps to reproduce the behavior:

  1. npm i -g @slidev/cli
  2. touch slides.md
  3. slidev

Desktop (please complete the following information):

Possible solution

This worked for me. The line 2 in @slidev/theme-default/setup/windicss.ts should be

import { defineWindiSetup } from '@slidev/types'

and not

import { defineWindiSetup } from 'packages/theme-seriph/node_modules/@slidev/types'
antfu commented 3 years ago

Em, nice catch up, thank you. Fixed in @slidev/theme-default@v0.14.2

15921483570 commented 2 years ago

now when i used a local theme ./theme, it shows a similar error:

requireStack: ... windicss.ts