refactor: use yarn during npm install process
This commit is contained in:
		| @@ -8,6 +8,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). | |||||||
| - **Security**: Optional Two-Factor Authentication (2FA) protection | - **Security**: Optional Two-Factor Authentication (2FA) protection | ||||||
|  |  | ||||||
| ## [v1.0.0-beta.14] - Unreleased | ## [v1.0.0-beta.14] - Unreleased | ||||||
|  | ### Changed | ||||||
|  | - **Misc**: Switch to Yarn for npm dependencies installation | ||||||
|  |  | ||||||
| ### Fixed | ### Fixed | ||||||
| - **Misc**: JS/CSS is now loading properly in Safari (macOS/iOS) | - **Misc**: JS/CSS is now loading properly in Safari (macOS/iOS) | ||||||
| - **Misc**: Process termination handling | - **Misc**: Process termination handling | ||||||
|   | |||||||
| @@ -138,12 +138,24 @@ const tasks = { | |||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   }, |   }, | ||||||
|  |   /** | ||||||
|  |    * Install Yarn | ||||||
|  |    */ | ||||||
|  |   installYarn() { | ||||||
|  |     ora.text = 'Installing Yarn...' | ||||||
|  |     return exec.stdout('npm', ['install', '-g', 'yarn'], { | ||||||
|  |       cwd: installDir | ||||||
|  |     }).then(results => { | ||||||
|  |       ora.text = 'Yarn installed successfully.' | ||||||
|  |       return true | ||||||
|  |     }) | ||||||
|  |   }, | ||||||
|   /** |   /** | ||||||
|    * Install npm dependencies |    * Install npm dependencies | ||||||
|    */ |    */ | ||||||
|   installDependencies() { |   installDependencies() { | ||||||
|     ora.text = 'Installing Wiki.js npm dependencies...' |     ora.text = 'Installing Wiki.js npm dependencies...' | ||||||
|     return exec.stdout('npm', ['install', '--only=production', '--no-optional'], { |     return exec.stdout('yarn', ['install', '--production', '--ignore-optional'], { | ||||||
|       cwd: installDir |       cwd: installDir | ||||||
|     }).then(results => { |     }).then(results => { | ||||||
|       ora.text = 'Wiki.js npm dependencies installed successfully.' |       ora.text = 'Wiki.js npm dependencies installed successfully.' | ||||||
| @@ -247,6 +259,9 @@ Promise.join( | |||||||
| }).then(() => { | }).then(() => { | ||||||
|   isContainerBased && console.info('>> Creating config file...') |   isContainerBased && console.info('>> Creating config file...') | ||||||
|   return tasks.ensureConfigFile() |   return tasks.ensureConfigFile() | ||||||
|  | }).then(() => { | ||||||
|  |   isContainerBased && console.info('>> Installing Yarn...') | ||||||
|  |   return tasks.installYarn() | ||||||
| }).then(() => { | }).then(() => { | ||||||
|   isContainerBased && console.info('>> Installing dependencies...') |   isContainerBased && console.info('>> Installing dependencies...') | ||||||
|   return tasks.installDependencies() |   return tasks.installDependencies() | ||||||
|   | |||||||
| @@ -11,5 +11,8 @@ | |||||||
|     "strictNullChecks": true, |     "strictNullChecks": true, | ||||||
|     "suppressImplicitAnyIndexErrors": true, |     "suppressImplicitAnyIndexErrors": true, | ||||||
|     "target": "es5" |     "target": "es5" | ||||||
|   } |   }, | ||||||
|  |   "exclude": [ | ||||||
|  |     "node_modules" | ||||||
|  |   ] | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user