fix: bootstrap local Readest dependencies
This commit is contained in:
@@ -52,8 +52,8 @@
|
||||
"copy-pdfjs-js": "cpx \"../../packages/foliate-js/node_modules/pdfjs-dist/legacy/build/{pdf.worker.min.mjs,pdf.min.mjs,pdf.d.mts}\" ./public/vendor/pdfjs",
|
||||
"copy-pdfjs-wasm": "cpx \"../../packages/foliate-js/node_modules/pdfjs-dist/wasm/*\" ./public/vendor/pdfjs",
|
||||
"copy-pdfjs-fonts": "cpx \"../../packages/foliate-js/node_modules/pdfjs-dist/{cmaps,standard_fonts}/*\" ./public/vendor/pdfjs",
|
||||
"copy-flatten-pdfjs-annotation-layer-css": "npx postcss \"../../packages/foliate-js/vendor/pdfjs/annotation_layer_builder.css\" --no-map -u postcss-nested > ./public/vendor/pdfjs/annotation_layer_builder.css",
|
||||
"copy-flatten-pdfjs-text-layer-css": "npx postcss \"../../packages/foliate-js/vendor/pdfjs/text_layer_builder.css\" --no-map -u postcss-nested > ./public/vendor/pdfjs/text_layer_builder.css",
|
||||
"copy-flatten-pdfjs-annotation-layer-css": "pnpm exec postcss \"../../packages/foliate-js/vendor/pdfjs/annotation_layer_builder.css\" --no-map -u postcss-nested > ./public/vendor/pdfjs/annotation_layer_builder.css",
|
||||
"copy-flatten-pdfjs-text-layer-css": "pnpm exec postcss \"../../packages/foliate-js/vendor/pdfjs/text_layer_builder.css\" --no-map -u postcss-nested > ./public/vendor/pdfjs/text_layer_builder.css",
|
||||
"copy-flatten-pdfjs-css": "pnpm copy-flatten-pdfjs-annotation-layer-css && pnpm copy-flatten-pdfjs-text-layer-css",
|
||||
"copy-pdfjs": "pnpm copy-pdfjs-js && pnpm copy-pdfjs-wasm && pnpm copy-pdfjs-fonts && pnpm copy-flatten-pdfjs-css",
|
||||
"copy-simplecc": "cpx \"../../packages/simplecc-wasm/dist/web/*\" ./public/vendor/simplecc",
|
||||
|
||||
@@ -163,6 +163,7 @@ type TranslationSourcePayload = {
|
||||
type TranslationJob = {
|
||||
id?: string;
|
||||
status?: string;
|
||||
source_name?: string;
|
||||
output_epub?: string;
|
||||
output_session_id?: string;
|
||||
error?: string;
|
||||
|
||||
@@ -71,6 +71,18 @@ function Start-ReadestWeb {
|
||||
Invoke-Checked "pnpm" @("--filter", "@readest/readest-app", "dev-web")
|
||||
}
|
||||
|
||||
function Test-SubmoduleCheckout {
|
||||
param([string]$RelativePath)
|
||||
|
||||
$fullPath = Join-Path $RepoRoot $RelativePath
|
||||
if (-not (Test-Path -LiteralPath (Join-Path $fullPath ".git"))) {
|
||||
return $false
|
||||
}
|
||||
|
||||
& git -C $fullPath rev-parse --is-inside-work-tree 2>$null | Out-Null
|
||||
return $LASTEXITCODE -eq 0
|
||||
}
|
||||
|
||||
function Assert-CleanWorktree {
|
||||
$status = (& git -C $RepoRoot status --porcelain)
|
||||
if ($status) {
|
||||
@@ -130,7 +142,24 @@ try {
|
||||
$afterHead = (& git -C $RepoRoot rev-parse HEAD).Trim()
|
||||
|
||||
Write-Step "Updating submodules"
|
||||
Invoke-Checked "git" @("-C", $RepoRoot, "submodule", "update", "--init", "--recursive")
|
||||
$requiredSubmodules = @(
|
||||
"packages/foliate-js",
|
||||
"packages/simplecc-wasm",
|
||||
"packages/js-mdict",
|
||||
"apps/readest-app/src-tauri/plugins/tauri-plugin-turso"
|
||||
)
|
||||
$missingSubmodules = @($requiredSubmodules | Where-Object { -not (Test-SubmoduleCheckout $_) })
|
||||
if ($missingSubmodules.Count -gt 0) {
|
||||
$submoduleArgs = @(
|
||||
"-C", $RepoRoot,
|
||||
"-c", "http.version=HTTP/1.1",
|
||||
"-c", "submodule.fetchJobs=1",
|
||||
"submodule", "update", "--init", "--depth", "1", "--"
|
||||
) + $missingSubmodules
|
||||
Invoke-Checked "git" $submoduleArgs
|
||||
} else {
|
||||
Write-Host "Required submodules are already initialized."
|
||||
}
|
||||
|
||||
$changedFiles = @()
|
||||
if ($beforeHead -ne $afterHead) {
|
||||
@@ -148,6 +177,23 @@ try {
|
||||
Invoke-Checked "pnpm" @("install", "--frozen-lockfile")
|
||||
}
|
||||
|
||||
Write-Step "Building local submodule dependencies"
|
||||
Invoke-Checked "pnpm" @(
|
||||
"--dir",
|
||||
(Join-Path $RepoRoot "apps\readest-app\src-tauri\plugins\tauri-plugin-turso"),
|
||||
"install",
|
||||
"--ignore-workspace",
|
||||
"--frozen-lockfile"
|
||||
)
|
||||
Invoke-Checked "pnpm" @(
|
||||
"--dir",
|
||||
(Join-Path $RepoRoot "apps\readest-app\src-tauri\plugins\tauri-plugin-turso"),
|
||||
"build"
|
||||
)
|
||||
|
||||
Write-Step "Preparing browser runtime assets"
|
||||
Invoke-Checked "pnpm" @("--filter", "@readest/readest-app", "setup-vendors")
|
||||
|
||||
if ($CheckOnly) {
|
||||
Write-Step "Launcher check complete"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user