1. Module bundling added to reduce server calls as each file was taking ~440 ms to load on public server.\n2. JavaScript lib files refactored with OOP for use with module bundling.

This commit is contained in:
2024-09-10 19:43:02 +01:00
parent aac01e687f
commit 0c88f161c3
7678 changed files with 778712 additions and 1254 deletions

View File

@@ -0,0 +1,48 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
const RuntimeGlobals = require("../RuntimeGlobals");
const RuntimeModule = require("../RuntimeModule");
const Template = require("../Template");
class AMDDefineRuntimeModule extends RuntimeModule {
constructor() {
super("amd define");
}
/**
* @returns {string | null} runtime code
*/
generate() {
return Template.asString([
`${RuntimeGlobals.amdDefine} = function () {`,
Template.indent("throw new Error('define cannot be used indirect');"),
"};"
]);
}
}
class AMDOptionsRuntimeModule extends RuntimeModule {
/**
* @param {Record<string, boolean | number | string>} options the AMD options
*/
constructor(options) {
super("amd options");
this.options = options;
}
/**
* @returns {string | null} runtime code
*/
generate() {
return Template.asString([
`${RuntimeGlobals.amdOptions} = ${JSON.stringify(this.options)};`
]);
}
}
module.exports.AMDDefineRuntimeModule = AMDDefineRuntimeModule;
module.exports.AMDOptionsRuntimeModule = AMDOptionsRuntimeModule;