聞きたいこと
yarnを使用して、アプリ、Web、共通機能をすべて1つのリポジトリで管理したいと思っています(モノレポにしたいと思っています)
ディレクトリ構成は下のようになっています。
- packages - app - web - core
現状、ルートディレクトリのpackage.jsonにて、yarn workspacesを使用してpackagesディレクトリを下のように指定してます。
{ "name": "test", "private": true, "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://github.com/xxxxxxxxxxx.git" }, "author": "", "license": "ISC", "bugs": { "url": "https://github.com/xxxxxxxxxx/issues" }, "homepage": "https://github.com/xxxxxxxx#readme", "workspaces": [ "packages/*" ] }
ただ、app, webに関してはpackagesから除外したく(rootディレクトリのnode_modulesにnpmを含めない)、かつcoreで提供されているnpmを使用したいと思っています。
そこで、一旦下のようにpackage.jsonのworkspaceにて packages/core
のみを指定するようにしたのですが、app, web内でyarn install
すると、coreから提供されているnpmが参照できないとエラーになってしまっています。
{ "name": "test", "private": true, "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://github.com/xxxxxxxxxxx.git" }, "author": "", "license": "ISC", "bugs": { "url": "https://github.com/xxxxxxxxxx/issues" }, "homepage": "https://github.com/xxxxxxxx#readme", "workspaces": [ "packages/core" ] }
下にルートディレクトリ配下とcoreとwebのpackege.jsonを記載します。
- core/package.json
{ "name": "@wow/core", "version": "1.0.0", "description": "", "main": "dist/index.js", "scripts": { "build": "tsc" }, "author": "", "license": "ISC", "devDependencies": { "typescript": "~4.0.0" } }
- web/package.json
{ "name": "web", "private": true, "description": "description", "version": "0.1.0", "author": "Hoge", "dependencies": { "@wow/core": "1.0.0", # ← この@wow/coreがyarn installできない : }, : }
あなたの回答
tips
プレビュー