New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

viewar-cli

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

viewar-cli - npm Package Compare versions

Comparing version 0.1.3 to 0.1.4

263

index.js

@@ -9,4 +9,6 @@ #!/usr/bin/env node

const semver = require('semver')
const request = require('request')
const currentVersion = require('./package.json').version
const packageInfo = require('./package.json')
const currentVersion = packageInfo.version

@@ -17,49 +19,42 @@ const repo = 'https://github.com/viewar/viewar-boilerplate.git'

const args = process.argv.slice(2)
;(async function () {
try {
const args = process.argv.slice(2)
console.log(chalk`{bold ViewAR SDK Command Line Interface v${currentVersion}}`)
console.log(chalk`{bold ViewAR SDK Command Line Interface v${currentVersion}}`)
const latestVersion = shell.exec('npm show viewar-cli version', {silent: true}).stdout.trim()
const latestVersion = shell.exec('npm show viewar-cli version', {silent: true}).stdout.trim()
if (semver.gt(latestVersion, currentVersion)) {
console.log(chalk`{bold
if (semver.gt(latestVersion, currentVersion)) {
console.log(chalk`{bold
A newer version is available: ${latestVersion}!} Update now by running:
{green npm update -g viewar-cli}`)
}
}
(function () {
if (args.length === 0 || args[0] === '--help') {
printUsage()
return process.exit(0)
} else {
switch (args[0]) {
switch (args[0] || '') {
case '':
case 'help':
printUsage()
break
case 'init':
return init(args[1], 'vanilla', args[2])
await init(args[1], 'vanilla', args[2])
break
case 'init-react':
return init(args[1], 'react', args[2])
await init(args[1], 'react', args[2])
break
case 'deploy':
return deploy(args[1])
await deploy(args[1])
break
case 'display-version':
console.log(`Current app version is ${chalk.green(get('version'))}`)
return process.exit(0)
displayVersion()
break
case 'set-version':
if (args[1]) {
setVersion(args[1])
return process.exit(0)
} else {
console.log(chalk.red('Please provide a version!'))
return process.exit(1)
}
setVersion(args[1])
break
case 'display-token':
const token = get('token')
console.log(`Current app token is ${chalk.green(token)}`)
return process.exit(0)
displayToken()
break
case 'set-token':
if (args[1]) {
setToken(args[1])
return process.exit(0)
} else {
console.log(chalk.red('Please provide a new token!'))
return process.exit(1)
}
setToken(args[1])
break
default:

@@ -70,3 +65,7 @@ console.log('Unsupported command: ' + args[0])

}
} catch (error) {
console.error(error)
return process.exit(1)
}
return process.exit(0)
}())

@@ -76,2 +75,10 @@

function displayVersion () {
console.log(`Current app version is ${chalk.green(get('version'))}`)
}
function displayToken () {
console.log(`Current app token is ${chalk.green(get('token'))}`)
}
function printUsage () {

@@ -87,5 +94,7 @@ console.log(chalk`

viewar-cli display-version \t\tDisplays the version of the project
viewar-cli set-version {green [version]} \tSets a specific version for the project
viewar-cli set-version {green [version]} \tSets the version for the project
viewar-cli deploy {green [version]} \tDeploys the project
viewar-cli help {green [version]} \t\tDisplays this message
`)

@@ -109,68 +118,47 @@ }

async function deploy (version) {
try {
console.log(chalk`Bundling app...`)
shell.exec('npm run build', {silent: true})
await zip(process.cwd())
const oldVersion = get('version')
version && setVersion(version, {silent: true})
const config = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), '.viewar-config'), 'utf8'))
console.log(chalk`Uploading app bundle...`)
uploadBundle(config.token, `${process.cwd()}/bundle.zip`)
setVersion(oldVersion, {silent: true})
shell.rm('-rf', `${process.cwd()}/bundle.zip`)
shell.rm('-rf', `${process.cwd()}/build`)
console.log(chalk`{bold Done!}`)
process.exit(0)
} catch (error) {
console.error(error)
process.exit(1)
}
console.log(chalk`Bundling app...`)
shell.exec('npm run build', {silent: true})
await zip(process.cwd())
const oldVersion = get('version')
version && setVersion(version, {silent: true})
const config = readConfig()
console.log(chalk`Uploading app bundle...`)
await uploadBundle(config.token, `${process.cwd()}/bundle.zip`)
version && setVersion(oldVersion, {silent: true})
shell.rm('-rf', `${process.cwd()}/bundle.zip`)
shell.rm('-rf', `${process.cwd()}/build`)
console.log(chalk`{bold Done!}`)
}
function displayConfigNotFound () {
console.log(chalk.red('File .viewar-config not found! Are you in a project directory generated by the viewar-cli?'))
process.exit(1)
}
function get (property) {
try {
const config = readConfig()
if (!config) return
return config[property]
} catch (err) {
displayConfigNotFound()
process.exit(1)
}
const config = readConfig()
return config[property]
}
function readConfig () {
const config = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), '.viewar-config'), 'utf8'))
if (!config.token) {
displayConfigNotFound()
process.exit(1)
try {
return JSON.parse(fs.readFileSync(path.resolve(process.cwd(), '.viewar-config'), 'utf8'))
} catch (error) {
throw new Error(chalk.red('File .viewar-config not found! Are you in a project directory generated by the viewar-cli?'))
}
return config
}
function setToken (token, {silent} = {}) {
try {
const config = readConfig()
if (!config) return
if (!token) {
throw new Error(chalk.red('Please provide a new token!'))
}
const config = readConfig()
if (!config) return
const newConfig = Object.assign({}, config, {
token,
version: token.split('-')[1].split('_')[0],
})
const newConfig = Object.assign({}, config, {
token,
version: token.split('-')[1].split('_')[0],
})
fs.writeFileSync(path.resolve(process.cwd(), '.viewar-config'), JSON.stringify(newConfig, null, ' '), 'utf8')
writeJson(path.resolve(process.cwd(), '.viewar-config'), newConfig)
if (!silent) {
console.log(chalk`{bold Done!}
Your new token is: {green newConfig.token}
Do not forget to update the token in the settings at {red developer.viewar.com}`)
}
process.exit(0)
} catch (err) {
displayConfigNotFound()
process.exit(1)
if (!silent) {
console.log(chalk`{bold Done!}
Your new token is: {green ${newConfig.token}}
Do not forget to update the token in the settings at {red developer.viewar.com}`)
}

@@ -180,32 +168,35 @@ }

function setVersion (version, {silent} = {}) {
try {
const config = readConfig()
if (!config) return 1
const token = get('token')
if (!version) {
throw new Error(chalk.red('Please provide a new token!'))
}
const newConfig = Object.assign({}, config, {
token: token.split('-')[0] + '-' + version + '_' + token.split('_')[1],
version,
})
const config = readConfig()
if (!config) return 1
fs.writeFileSync(path.resolve(process.cwd(), '.viewar-config'), JSON.stringify(newConfig, null, ' '), 'utf8')
const token = get('token')
if (!silent) {
console.log(chalk`{bold Done!}
Your new version is: {green newConfig.version}
Your new token is: {green newConfig.token}
Do not forget to update the token in the settings at {red developer.viewar.com}`)
}
process.exit(0)
} catch (err) {
displayConfigNotFound()
process.exit(1)
const newConfig = Object.assign({}, config, {
token: token.split('-')[0] + '-' + version + '_' + token.split('_')[1],
version,
})
writeJson(path.resolve(process.cwd(), '.viewar-config'), newConfig)
if (!silent) {
console.log(chalk`{bold Done!}
Your new version is: {green ${newConfig.version}}
Your new token is: {green ${newConfig.token}}
Do not forget to update the token in the settings at {red developer.viewar.com}`)
}
}
function init (projectName, type, token) {
const dest = createProjectDir(projectName)
shell.cd(dest)
function writeJson (filename, object) {
fs.writeFileSync(filename, JSON.stringify(object, null, ' '), 'utf8')
}
async function init (projectName, type, token) {
const projectDir = createProjectDir(projectName)
shell.cd(projectDir)
console.log(chalk.bold('\nDownloading boilerplate project...'))

@@ -222,4 +213,2 @@

const packageInfo = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), 'package.json'), 'utf8'))
Object.assign(packageInfo, {

@@ -231,3 +220,3 @@ name: projectName,

fs.writeFileSync(path.resolve(process.cwd(), 'package.json'), JSON.stringify(packageInfo, null, ' '), 'utf8')
writeJson(path.resolve(process.cwd(), 'package.json'), packageInfo)

@@ -239,3 +228,3 @@ const config = {

fs.writeFileSync(path.resolve(process.cwd(), '.viewar-config'), JSON.stringify(config, null, ' '), 'utf8')
writeJson(path.resolve(process.cwd(), '.viewar-config'), config)

@@ -250,42 +239,26 @@ console.log(chalk`

Open {green \`/src/index.js\`} to begin editing your app.`)
process.exit(1)
}
function createProjectDir (projectName) {
const dest = path.join(process.cwd(), projectName)
const projectDir = path.join(process.cwd(), projectName)
try {
const stat = fs.statSync(dest)
if (stat) {
console.log(`A ${(stat.isDirectory() ? 'directory'
: 'file')} named ${projectName} already exists! Exiting without creating a new project.`)
process.exit(1)
}
} catch (e) {
if (e.code !== 'ENOENT') {
console.error(e)
process.exit(1)
} else {
fs.mkdirSync(dest)
}
const stat = fs.statSync(projectDir)
if (!stat) {
fs.mkdirSync(projectDir)
return projectDir
} else {
throw new Error(`A ${(stat.isDirectory() ? 'directory'
: 'file')} named ${projectName} already exists! Exiting without creating a new project.`)
}
return dest
}
function uploadBundle (token, path) {
const url = 'http://dev2.viewar.com/resources/AppfilesUpload'
const formData = {
token,
file: fs.createReadStream(path),
}
const req = request.post({url, formData}, (err, resp, body) => {
if (err) {
console.log('Error!', err)
} else {
console.log(chalk`{bold Deployment successful!}`)
return new Promise((resolve, reject) => {
const url = 'http://dev2.viewar.com/resources/AppfilesUpload'
const formData = {
token,
file: fs.createReadStream(path),
}
request.post({url, formData}, (error) => error ? reject(error) : resolve())
})
}
{
"name": "viewar-cli",
"version": "0.1.3",
"version": "0.1.4",
"description": "ViewAR SDK Command Line Interface",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc