50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import * as plugins from './npmci.plugins'
|
|
import {bash} from './npmci.bash'
|
|
import {install} from './npmci.install'
|
|
import * as env from './npmci.env'
|
|
import * as NpmciBuildDocker from './npmci.build.docker'
|
|
|
|
export let test = (versionArg) => {
|
|
let done = plugins.q.defer()
|
|
if (versionArg === 'docker') {
|
|
testDocker()
|
|
.then(() => {
|
|
done.resolve()
|
|
})
|
|
} else {
|
|
install(versionArg)
|
|
.then(npmDependencies)
|
|
.then(npmTest)
|
|
.then(() => {
|
|
done.resolve()
|
|
})
|
|
}
|
|
return done.promise
|
|
}
|
|
|
|
let npmDependencies = function(){
|
|
let done = plugins.q.defer()
|
|
plugins.beautylog.info('now installing dependencies:')
|
|
bash('npm install')
|
|
done.resolve()
|
|
return done.promise
|
|
}
|
|
|
|
let npmTest = () => {
|
|
let done = plugins.q.defer()
|
|
plugins.beautylog.info('now starting tests:')
|
|
bash('npm test')
|
|
done.resolve()
|
|
return done.promise
|
|
}
|
|
|
|
let testDocker = function(){
|
|
let done = plugins.q.defer()
|
|
NpmciBuildDocker.readDockerfiles()
|
|
.then(NpmciBuildDocker.pullDockerfileImages)
|
|
.then(NpmciBuildDocker.testDockerfiles)
|
|
.then(done.resolve)
|
|
return done.promise
|
|
}
|
|
|