@patch-adams/core 1.5.22 → 1.5.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +30 -13
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +30 -13
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +30 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +30 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -468,7 +468,9 @@ var PatchAdamsConfigSchema = zod.z.object({
|
|
|
468
468
|
/** Plugin configurations - each plugin is keyed by its name */
|
|
469
469
|
plugins: PluginsConfigSchema,
|
|
470
470
|
/** Optional skin name — adds 'pa-skinned' + skin class to <html>, loads skin CSS/JS after core files */
|
|
471
|
-
skin: zod.z.string().min(1).optional()
|
|
471
|
+
skin: zod.z.string().min(1).optional(),
|
|
472
|
+
/** URL for server-controlled asset cache version (e.g., https://api.example.com/create/skin/version) */
|
|
473
|
+
assetVersionUrl: zod.z.string().url().optional()
|
|
472
474
|
});
|
|
473
475
|
|
|
474
476
|
// src/config/defaults.ts
|
|
@@ -612,7 +614,8 @@ html.${htmlClass}.${loadingClass} body {
|
|
|
612
614
|
<script data-pa="css-before-loader">
|
|
613
615
|
(function() {
|
|
614
616
|
'use strict';
|
|
615
|
-
var
|
|
617
|
+
var v = window.__pa_v || '';
|
|
618
|
+
var REMOTE_URL = "${remoteUrl}" + (v ? "?v=" + v : "");
|
|
616
619
|
var LOCAL_PATH = "${localPath}";
|
|
617
620
|
|
|
618
621
|
function loadCSSSync(url) {
|
|
@@ -655,7 +658,7 @@ function generateCssAfterLoader(options) {
|
|
|
655
658
|
<script data-pa="css-after-loader">
|
|
656
659
|
(function() {
|
|
657
660
|
'use strict';
|
|
658
|
-
var REMOTE_URL = "${remoteUrl}";
|
|
661
|
+
var REMOTE_URL = "${remoteUrl}" + (window.__pa_v ? "?v=" + window.__pa_v : "");
|
|
659
662
|
var LOCAL_PATH = "${localPath}";
|
|
660
663
|
var TIMEOUT = ${timeout};
|
|
661
664
|
|
|
@@ -5534,7 +5537,7 @@ function escapeJs(str) {
|
|
|
5534
5537
|
return str.replace(/\\/g, "\\\\").replace(/'/g, "\\'").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r");
|
|
5535
5538
|
}
|
|
5536
5539
|
function generateJsBeforeLoader(options) {
|
|
5537
|
-
const { remoteUrl, localPath, htmlClass, loadingClass, metadata, lrsBridge, skin } = options;
|
|
5540
|
+
const { remoteUrl, localPath, htmlClass, loadingClass, metadata, lrsBridge, skin, assetVersionUrl } = options;
|
|
5538
5541
|
const lrsBridgeCode = generateLrsBridgeCode(lrsBridge);
|
|
5539
5542
|
const courseLines = [];
|
|
5540
5543
|
if (metadata) {
|
|
@@ -5637,7 +5640,22 @@ window.pa_patcher = window.pa_patcher || {
|
|
|
5637
5640
|
|
|
5638
5641
|
(function() {
|
|
5639
5642
|
'use strict';
|
|
5640
|
-
|
|
5643
|
+
// Fetch server-controlled cache version (sync, once)
|
|
5644
|
+
var ASSET_VERSION_URL = "${assetVersionUrl || ""}";
|
|
5645
|
+
window.__pa_v = '';
|
|
5646
|
+
if (ASSET_VERSION_URL) {
|
|
5647
|
+
try {
|
|
5648
|
+
var xhr = new XMLHttpRequest();
|
|
5649
|
+
xhr.open('GET', ASSET_VERSION_URL, false);
|
|
5650
|
+
xhr.timeout = 2000;
|
|
5651
|
+
xhr.send();
|
|
5652
|
+
if (xhr.status === 200) {
|
|
5653
|
+
window.__pa_v = JSON.parse(xhr.responseText).v || '1';
|
|
5654
|
+
}
|
|
5655
|
+
} catch(e) { window.__pa_v = '1'; }
|
|
5656
|
+
}
|
|
5657
|
+
|
|
5658
|
+
var REMOTE_URL = "${remoteUrl}" + (window.__pa_v ? "?v=" + window.__pa_v : "");
|
|
5641
5659
|
var LOCAL_PATH = "${localPath}";
|
|
5642
5660
|
|
|
5643
5661
|
function loadJSSync(url) {
|
|
@@ -5706,7 +5724,8 @@ function buildJsBeforeOptions(config, metadata) {
|
|
|
5706
5724
|
loadingClass: config.loadingClass,
|
|
5707
5725
|
metadata: metadata ?? null,
|
|
5708
5726
|
lrsBridge,
|
|
5709
|
-
skin: config.skin
|
|
5727
|
+
skin: config.skin,
|
|
5728
|
+
assetVersionUrl: config.assetVersionUrl
|
|
5710
5729
|
};
|
|
5711
5730
|
}
|
|
5712
5731
|
|
|
@@ -5717,7 +5736,7 @@ function generateJsAfterLoader(options) {
|
|
|
5717
5736
|
<script data-pa="js-after-loader">
|
|
5718
5737
|
(function() {
|
|
5719
5738
|
'use strict';
|
|
5720
|
-
var REMOTE_URL = "${remoteUrl}";
|
|
5739
|
+
var REMOTE_URL = "${remoteUrl}" + (window.__pa_v ? "?v=" + window.__pa_v : "");
|
|
5721
5740
|
var LOCAL_PATH = "${localPath}";
|
|
5722
5741
|
var TIMEOUT = ${timeout};
|
|
5723
5742
|
var LOADING_CLASS = "${loadingClass}";
|
|
@@ -5827,7 +5846,7 @@ function generateSkinCssLoader(options) {
|
|
|
5827
5846
|
<script data-pa="skin-css-loader">
|
|
5828
5847
|
(function() {
|
|
5829
5848
|
'use strict';
|
|
5830
|
-
var REMOTE_URL = "${remoteUrl}";
|
|
5849
|
+
var REMOTE_URL = "${remoteUrl}" + (window.__pa_v ? "?v=" + window.__pa_v : "?v=" + Date.now().toString(36));
|
|
5831
5850
|
var LOCAL_PATH = "${localPath}";
|
|
5832
5851
|
var TIMEOUT = ${timeout};
|
|
5833
5852
|
|
|
@@ -5901,9 +5920,8 @@ function generateSkinCssLoader(options) {
|
|
|
5901
5920
|
}
|
|
5902
5921
|
function buildSkinCssOptions(config) {
|
|
5903
5922
|
if (!config.skin) return null;
|
|
5904
|
-
const cacheBuster = Date.now().toString(36) + Math.random().toString(36).slice(2, 6);
|
|
5905
5923
|
return {
|
|
5906
|
-
remoteUrl: `${config.remoteDomain}/skin/${config.skin}/style.css
|
|
5924
|
+
remoteUrl: `${config.remoteDomain}/skin/${config.skin}/style.css`,
|
|
5907
5925
|
localPath: `skin/${config.skin}/style.css`,
|
|
5908
5926
|
timeout: config.cssAfter.timeout
|
|
5909
5927
|
// reuse cssAfter timeout
|
|
@@ -5917,7 +5935,7 @@ function generateSkinJsLoader(options) {
|
|
|
5917
5935
|
<script data-pa="skin-js-loader">
|
|
5918
5936
|
(function() {
|
|
5919
5937
|
'use strict';
|
|
5920
|
-
var REMOTE_URL = "${remoteUrl}";
|
|
5938
|
+
var REMOTE_URL = "${remoteUrl}" + (window.__pa_v ? "?v=" + window.__pa_v : "?v=" + Date.now().toString(36));
|
|
5921
5939
|
var LOCAL_PATH = "${localPath}";
|
|
5922
5940
|
var TIMEOUT = ${timeout};
|
|
5923
5941
|
|
|
@@ -6003,9 +6021,8 @@ function generateSkinJsLoader(options) {
|
|
|
6003
6021
|
}
|
|
6004
6022
|
function buildSkinJsOptions(config) {
|
|
6005
6023
|
if (!config.skin) return null;
|
|
6006
|
-
const cacheBuster = Date.now().toString(36) + Math.random().toString(36).slice(2, 6);
|
|
6007
6024
|
return {
|
|
6008
|
-
remoteUrl: `${config.remoteDomain}/skin/${config.skin}/script.js
|
|
6025
|
+
remoteUrl: `${config.remoteDomain}/skin/${config.skin}/script.js`,
|
|
6009
6026
|
localPath: `skin/${config.skin}/script.js`,
|
|
6010
6027
|
timeout: config.jsAfter.timeout
|
|
6011
6028
|
// reuse jsAfter timeout
|