I'm just joining a new VueJS / Webpack based on a Lerna code architecture :

```
package.json
lerna.json
packages/
modules/
plugins/

```

Approximately each page of the application has been set as a separated module which I find strange and although not an expert I'm not sure this is the correct way of setting up a Lerna architecture.

Nevertheless, the package.json defines the following :

```
"scripts": {
"bootstrap": "npm install && npm run lerna && npm run app-build",
"lerna": "lerna bootstrap --hoist --nohoist=axios --nohoist=vue-chartist --nohoist=chardist",
"publish": "lerna publish",
"clean": "lerna clean",
"test": "lerna run test --parallel",
"start": "lerna run start --stream --scope=main-module",
"app-build": "lerna run build --stream --scope=main-module",
"doc": "good-doc"}

```

And the app, although of medium size I would say :

[Size of the application with node\_modules](https://i.stack.imgur.com/v9564.png)

Is always very slow (+30 minutes) to build. At each build. The builds are executed like this :

```
cross-env BACK_URL=back_url npm run bootstrap --hoist

```

Is there any good pratices to have a quicker build ? Any ideas of what could have been set wrong in my project ? Or maybe this is just normal...