Skip to content

Commit

Permalink
chore: build
Browse files Browse the repository at this point in the history
Signed-off-by: Neko Ayaka <neko@ayaka.moe>
  • Loading branch information
nekomeowww committed Dec 3, 2024
1 parent a962cf4 commit 6a4b274
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 13 deletions.
19 changes: 13 additions & 6 deletions scripts/unzip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { Buffer } from 'node:buffer'
import { createWriteStream, existsSync, mkdirSync } from 'node:fs'
import { dirname, join } from 'node:path'
import { fromBuffer } from 'yauzl'
import { noError, onError, resolveWhenNoError } from './errors'
import { noError, onError } from './errors'

/**
* Example:
Expand All @@ -22,6 +22,13 @@ import { noError, onError, resolveWhenNoError } from './errors'
export async function unzip(buffer: Buffer, target: string) {
return new Promise<void>((resolve, reject) => {
let pendingWrites = 0
let isReadingComplete = false

function tryResolve() {
if (isReadingComplete && pendingWrites === 0) {
resolve()
}
}

fromBuffer(buffer, { lazyEntries: true }, noError(reject, (zipFile) => {
// This is the key. We start by reading the first entry.
Expand Down Expand Up @@ -63,18 +70,18 @@ export async function unzip(buffer: Buffer, target: string) {
file.on('finish', () => {
file.close(() => {
pendingWrites--
if (pendingWrites === 0) {
resolve()
}

tryResolve()
zipFile.readEntry()
})
})
}))
})

zipFile.on('error', onError(reject, zipFile.close))
zipFile.on('end', resolveWhenNoError(reject, resolve))
zipFile.on('end', noError(reject, () => {
isReadingComplete = true
tryResolve()
}))
}))
})
}
14 changes: 7 additions & 7 deletions vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Buffer } from 'node:buffer'
import { cp, mkdir } from 'node:fs/promises'
import { copyFile, cp, mkdir } from 'node:fs/promises'
import path, { join, resolve } from 'node:path'

import VueI18n from '@intlify/unplugin-vue-i18n/vite'
Expand Down Expand Up @@ -161,8 +161,8 @@ export default defineConfig({
}

if (!(await exists(resolve(join(publicDir, 'assets/js/CubismSdkForWeb-5-r.1'))))) {
await mkdir(join(publicDir, 'assets/js/CubismSdkForWeb-5-r.1'), { recursive: true }).catch(() => {})
await cp(join(cacheDir, 'assets/js/CubismSdkForWeb-5-r.1/Core/live2dcubismcore.min.js'), join(publicDir, 'assets/js/CubismSdkForWeb-5-r.1/Core/live2dcubismcore.min.js'), { recursive: true })
await mkdir(join(publicDir, 'assets/js/CubismSdkForWeb-5-r.1/Core'), { recursive: true }).catch(() => {})
await copyFile(join(cacheDir, 'assets/js/CubismSdkForWeb-5-r.1/Core/live2dcubismcore.min.js'), join(publicDir, 'assets/js/CubismSdkForWeb-5-r.1/Core/live2dcubismcore.min.js'))
}
}
catch (err) {
Expand Down Expand Up @@ -190,8 +190,8 @@ export default defineConfig({
}

if (!(await exists(resolve(join(publicDir, 'assets/live2d/models/hiyori_free_zh'))))) {
await mkdir(join(publicDir, 'assets/live2d/models/hiyori_free_zh'), { recursive: true }).catch(() => { })
await cp(join(cacheDir, 'assets/live2d/models/hiyori_free_zh/'), join(publicDir, 'assets/live2d/models/hiyori_free_zh/'), { recursive: true })
await mkdir(join(publicDir, 'assets/live2d/models'), { recursive: true }).catch(() => { })
await cp(join(cacheDir, 'assets/live2d/models/hiyori_free_zh'), join(publicDir, 'assets/live2d/models/hiyori_free_zh'), { recursive: true })
}
}
catch (err) {
Expand Down Expand Up @@ -219,8 +219,8 @@ export default defineConfig({
}

if (!(await exists(resolve(join(publicDir, 'assets/live2d/models/hiyori_pro_zh'))))) {
await mkdir(join(publicDir, 'assets/live2d/models/hiyori_pro_zh'), { recursive: true }).catch(() => { })
await cp(join(cacheDir, 'assets/live2d/models/hiyori_pro_zh/'), join(publicDir, 'assets/live2d/models/hiyori_pro_zh/'), { recursive: true })
await mkdir(join(publicDir, 'assets/live2d/models'), { recursive: true }).catch(() => { })
await cp(join(cacheDir, 'assets/live2d/models/hiyori_pro_zh'), join(publicDir, 'assets/live2d/models/hiyori_pro_zh'), { recursive: true })
}
}
catch (err) {
Expand Down

0 comments on commit 6a4b274

Please sign in to comment.