| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/usr/bin/env node
- import CodePush from 'code-push'
- import { build } from 'vite'
- import { MobileProject } from '@trapezedev/project'
- import fs from 'fs'
- import path from 'path'
- import inquirer from 'inquirer'
- import { sync } from '@capacitor/cli/dist/tasks/sync.js'
- import { loadConfig } from '@capacitor/cli/dist/config.js'
- import ProgressBar from 'progress'
- const token = '064853a8cdbfb94ed9b62ce30da17f162a1444a0'
- const androidName = 'ASNFTNGFHP-Android'
- const iosName = 'ASNFTNGFHP-iOS'
- inquirer
- .prompt([
- {
- name: 'platform',
- type: 'checkbox',
- message: 'Platform',
- choices: ['Android', 'iOS'],
- default: ['Android', 'iOS']
- },
- { name: 'build', type: 'list', message: 'build', choices: ['YES', 'NO'], default: 'YES' }
- ])
- .then(async answers => {
- console.log(answers)
- const capacitorConfig = await loadConfig()
- const codePush = new CodePush(token)
- const projectConfig = {
- ios: {
- path: 'ios/App'
- },
- android: {
- path: 'android'
- }
- }
- const project = new MobileProject(process.cwd(), projectConfig)
- await project.load()
- await project.android.incrementVersionCode()
- await project.ios.incrementBuild('App')
- project.commit()
- let version = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), 'src', 'version.json')))
- version.android.version = await project.android.getVersionName()
- version.android.build = await project.android.getVersionCode()
- version.ios.version = await project.ios.getVersion('App')
- version.ios.build = await project.ios.getBuild('App')
- if (answers.build === 'YES') {
- version.www++
- fs.writeFileSync(path.resolve(process.cwd(), 'src', 'version.json'), JSON.stringify(version, null, 4))
- await build({
- configFile: 'vite.config.js',
- mode: 'app'
- })
- }
- if (answers.platform.includes('Android')) {
- var bar1 = new ProgressBar('Upload Android Bundle [:bar] :percent', { total: 100 })
- await sync(capacitorConfig, 'android', null, false)
- await codePush
- .release(androidName, 'Release', 'android/app/src/main/assets/public/', '~1.0.0', {}, percent => {
- bar1.tick(percent)
- })
- .then(res => {
- console.log('Upload Android Bundle Success', res)
- })
- }
- if (answers.platform.includes('iOS')) {
- var bar2 = new ProgressBar('Upload iOS Bundle [:bar] :percent', { total: 100 })
- await sync(capacitorConfig, 'ios', null, false)
- await codePush
- .release(androidName, 'Release', 'ios/App/App/public/', '~1.0.0', {}, percent => {
- bar2.tick(percent)
- })
- .then(res => {
- console.log('Upload iOS Bundle Success', res)
- })
- }
- fs.readdirSync(process.cwd()).forEach(file => {
- if (/^\w+\.zip$/.test(file)) {
- fs.unlinkSync(path.resolve(process.cwd(), file))
- }
- })
- })
- .catch(error => {
- console.log(error)
- if (error.isTtyError) {
- // Prompt couldn't be rendered in the current environment
- } else {
- // Something else went wrong
- }
- })
|