mirror of
https://github.com/google/bumble.git
synced 2026-04-17 00:35:31 +00:00
Create inv web.build
This command will build a wheel, copy it in the web directory, and create a file `packageFile` with the name of the wheel. If the correct override param is given, bumble.js will read `packageFile` and load that package.
This commit is contained in:
@@ -75,7 +75,6 @@ export class Bumble extends EventTarget {
|
||||
}
|
||||
|
||||
// Load the Bumble module
|
||||
bumblePackage ||= 'bumble';
|
||||
console.log('Installing micropip');
|
||||
this.log(`Installing ${bumblePackage}`)
|
||||
await this.pyodide.loadPackage('micropip');
|
||||
@@ -166,6 +165,20 @@ export class Bumble extends EventTarget {
|
||||
}
|
||||
}
|
||||
|
||||
async function getBumblePackage() {
|
||||
const params = (new URL(document.location)).searchParams;
|
||||
// First check the packageFile override param
|
||||
if (params.has('packageFile')) {
|
||||
return await (await fetch('/packageFile')).text()
|
||||
}
|
||||
// Then check the package override param
|
||||
if (params.has('package')) {
|
||||
return params.get('package')
|
||||
}
|
||||
// If no override params, default to the main package
|
||||
return 'bumble'
|
||||
}
|
||||
|
||||
export async function setupSimpleApp(appUrl, bumbleControls, log) {
|
||||
// Load Bumble
|
||||
log('Loading Bumble');
|
||||
@@ -173,8 +186,7 @@ export async function setupSimpleApp(appUrl, bumbleControls, log) {
|
||||
bumble.addEventListener('log', (event) => {
|
||||
log(event.message);
|
||||
})
|
||||
const params = (new URL(document.location)).searchParams;
|
||||
await bumble.loadRuntime(params.get('package'));
|
||||
await bumble.loadRuntime(await getBumblePackage());
|
||||
|
||||
log('Bumble is ready!')
|
||||
const app = await bumble.loadApp(appUrl);
|
||||
|
||||
Reference in New Issue
Block a user