루트 프로젝트 생성
➜ mkdir career-up
➜ cd career-up
➜ pnpm init
➜ corepack use [email protected]
➜ code .
# career-up/pnpm-workspace.yaml
packages:
- "apps/*"
- "packages/*"
{
"name": "career-up",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \\"Error: no test specified\\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "[email protected]+sha1.77d568bacf41eeefd6695a7087c1282433955b5c"
}
shell 프로젝트 생성
➜ mkdir apps
➜ cd apps
➜ pnpm create mf-app
➜ cd ..
➜ pnpm i
{
"name": "@career-up/shell",
"version": "1.0.0",
"scripts": {
"build": "webpack --mode production",
"build:dev": "webpack --mode development",
"build:start": "cd dist && PORT=3000 npx serve",
"start": "webpack serve --open --mode development",
"start:live": "webpack serve --open --mode development --live-reload --hot"
},
"license": "MIT",
"author": {
"name": "Jack Herrington",
"email": "[email protected]"
},
"devDependencies": {
"@babel/core": "^7.15.8",
"@babel/plugin-transform-runtime": "^7.15.8",
"@babel/preset-env": "^7.15.8",
"@babel/preset-react": "^7.14.5",
"@babel/preset-typescript": "^7.10.4",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"autoprefixer": "^10.1.0",
"babel-loader": "^8.2.2",
"css-loader": "^6.3.0",
"html-webpack-plugin": "^5.3.2",
"postcss": "^8.2.1",
"postcss-loader": "^4.1.0",
"style-loader": "^3.3.0",
"typescript": "^4.5.2",
"webpack": "^5.57.1",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.3.1"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
}
{
"name": "@career-up/monorepo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \\"Error: no test specified\\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "[email protected]+sha1.77d568bacf41eeefd6695a7087c1282433955b5c"
}
➜ pnpm i
turborepo 설정
➜ pnpm -w add turbo -D
{
"$schema": "<https://turbo.build/schema.json>",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"start:live": {
"cache": false,
"persistent": true
},
"build:start": {
"cache": false,
"persistent": true
}
}
}
{
"name": "@career-up/monorepo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "turbo start:live",
"build": "turbo build",
"serve": "turbo build:start"
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "[email protected]+sha1.77d568bacf41eeefd6695a7087c1282433955b5c",
"devDependencies": {
"turbo": "^1.11.0",
}
}
➜ pnpm dev