Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x 277x | /**
* The runtime names published as bare globals in a compiled application.
*
* A compiled bundle is one concatenated script. The compiler strips the
* `import` statements from `main.app.js`, guard modules and bridge modules,
* and rewrites them into destructuring from the `Avenx` namespace — so an
* import is not what makes a name reachable. Two things still need a bare
* identifier:
*
* 1. Code the compiler generates itself. Components and pages are emitted as
* `class X extends AvenxComponent`, so that name must resolve on its own.
* 2. Authoring entry points a project may reference without importing, which
* older projects and older examples do.
*
* Everything else the runtime exports lives on `globalThis.Avenx` and nowhere
* else. It used to be that every export was copied onto `globalThis` —
* 67 names, including `html`, `logger`, `profile` and `nextTick` — which
* collided with ordinary page scripts for no benefit.
*
* Adding a name here is a public API decision: it is a global that Avenx then
* owns in every application, forever.
* @type {string[]}
*/
export const PUBLIC_GLOBALS = [
// Emitted by the compiler into every application.
'AvenxComponent',
'AvenxPage',
'defineBridgeName',
// Authoring entry points referenced from main.app.js, guards and bridges.
'AvenxApp',
'AvenxGuard',
'AvenxRouter',
'bridge',
];
/**
* The name of the namespace object carrying the complete runtime surface.
* @type {string}
*/
export const NAMESPACE_GLOBAL = 'Avenx';
|