Commit 4b027b13 authored by NGPixel's avatar NGPixel

refactor: use yarn during npm install process

parent f4969701
...@@ -8,6 +8,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). ...@@ -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
......
...@@ -139,11 +139,23 @@ const tasks = { ...@@ -139,11 +139,23 @@ 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.'
...@@ -248,6 +260,9 @@ Promise.join( ...@@ -248,6 +260,9 @@ Promise.join(
isContainerBased && console.info('>> Creating config file...') isContainerBased && console.info('>> Creating config file...')
return tasks.ensureConfigFile() return tasks.ensureConfigFile()
}).then(() => { }).then(() => {
isContainerBased && console.info('>> Installing Yarn...')
return tasks.installYarn()
}).then(() => {
isContainerBased && console.info('>> Installing dependencies...') isContainerBased && console.info('>> Installing dependencies...')
return tasks.installDependencies() return tasks.installDependencies()
}).then(() => { }).then(() => {
......
...@@ -11,5 +11,8 @@ ...@@ -11,5 +11,8 @@
"strictNullChecks": true, "strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true, "suppressImplicitAnyIndexErrors": true,
"target": "es5" "target": "es5"
} },
"exclude": [
"node_modules"
]
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment