1.1.2•Updated a month ago
import { IsValidVersionNumber } from "$utils/version_helpers.ts";
import { Sort } from "$utils/sort_utils.ts";
const published_viapak_versions = Deno.readDirSync('./packages/@viapak/viapak')
.filter(e => e.isDirectory && IsValidVersionNumber(e.name))
.map(e => e.name)
.toArray()
.sort(Sort.Version.Descending);
if(published_viapak_versions.length === 0) throw new Error('No Viapak versions have been published.')
const published_viapak_latest = published_viapak_versions[0];
// Fix imports to parent packages folder
console.log(`Preparing to patch Viapak@${published_viapak_latest} for build process...`);
const deno_file_path = `./packages/@viapak/viapak/${published_viapak_latest}/deno.json`;
const original_deno_json_contents = Deno.readTextFileSync(deno_file_path);
const modified_deno_json_contents = original_deno_json_contents
// fix build script
.replace(`": "./packages/`, `": "../../../../packages/`)
;
console.log("patch generated");
// Replace deno.json with patched version
Deno.writeTextFileSync(deno_file_path, modified_deno_json_contents);
console.log("deno.json - patched");
const build_import_path = `./packages/@viapak/viapak/${published_viapak_latest}/www/dev.ts`;
setTimeout(() => {
// Restore original deno.json file
Deno.writeTextFileSync(deno_file_path, original_deno_json_contents);
console.log("deno.json - original file restored");
}, 500)
console.log("build process started");
await import(build_import_path);