Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@nuxtjs/storybook の build が成功しない #66

Closed
odanado opened this issue Nov 1, 2020 · 13 comments · Fixed by #67
Closed

@nuxtjs/storybook の build が成功しない #66

odanado opened this issue Nov 1, 2020 · 13 comments · Fixed by #67

Comments

@odanado
Copy link
Owner

odanado commented Nov 1, 2020

ここの nuxtBuilder.build().nuxt-storybook/layouts/default.vue が生成されて、この中身が components ディレクトリ内部のファイルをコピーしているので、エラーになる
https://github.com/nuxt-community/storybook/blob/8d809bfa77d01f8e61df82f13e9efbe2bdb68181/src/index.ts#L102

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

続報
https://github.com/nuxt/nuxt.js/blob/baf94d31f300b3fdeae1da12af7e944016fe99b3/packages/builder/src/builder.js#L570
ここで .nuxt-storybook/layouts/default.vue が生成されている

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

builder.templatedefault.vue が含まれているせい

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

build が成功するプロジェクトでは templateVars.layouts.default../app/layouts/default.vue
このプロジェクトでは undefined

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

srcDir の違いだった
この行の this.options.srcDir の値が違う
https://github.com/nuxt/nuxt.js/blob/7e7190b90d4ec781b80bdfe3d90d4174f1fbdc2d/packages/builder/src/builder.js#L338
成功するプロジェクトはちゃんと nuxt.config の指定した値が設定されているが、失敗するプロジェクトでは設定されていない

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

成功するプロジェクトで config nuxt.config.ts にすると再現する

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

これっぽい...?
nuxt-modules/storybook#160

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

ここでは require.resolve("./nuxt.config") が実行される
node のコンテキストだと nuxt.config.ts は見つからず、ts-node のコンテキストだと見つかる
https://github.com/nuxt/nuxt.js/blob/4de44e6c523f50acff0bd9615b891ed567c2d4b9/packages/config/src/load.js#L28

yarn nuxt storybook build は node のコンテキストで実行されているのが原因

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

nuxt のサブコマンドの問題か...?

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

nuxt-storybook コマンドを execa で実行している

https://github.com/nuxt/nuxt.js/blob/819afcdeb447b73b675cfc654f641fc2df5894f9/packages/cli/src/run.js#L44

better child_process らしい

@odanado
Copy link
Owner Author

odanado commented Nov 1, 2020

workaround
yarn ts-node node_modules/.bin/nuxt-storybook build

@odanado odanado mentioned this issue Nov 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant