@prenta/core 0.122.0 → 0.124.0
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/CHANGELOG.md +27 -0
- package/dist/api/routes/seo-public.d.ts.map +1 -1
- package/dist/api/routes/seo-public.js +2 -0
- package/dist/api/routes/seo-public.js.map +1 -1
- package/dist/api/routes/seo.d.ts.map +1 -1
- package/dist/api/routes/seo.js +13 -1
- package/dist/api/routes/seo.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/security/safe-fetch.d.ts.map +1 -1
- package/dist/security/safe-fetch.js +4 -3
- package/dist/security/safe-fetch.js.map +1 -1
- package/dist/seo/audit-engine.d.ts +3 -0
- package/dist/seo/audit-engine.d.ts.map +1 -1
- package/dist/seo/audit-engine.js +91 -23
- package/dist/seo/audit-engine.js.map +1 -1
- package/dist/seo/audit-runner.d.ts +9 -2
- package/dist/seo/audit-runner.d.ts.map +1 -1
- package/dist/seo/audit-runner.js +82 -22
- package/dist/seo/audit-runner.js.map +1 -1
- package/dist/seo/config-store.d.ts +1 -0
- package/dist/seo/config-store.d.ts.map +1 -1
- package/dist/seo/config-store.js +1 -0
- package/dist/seo/config-store.js.map +1 -1
- package/dist/seo/public-site-url.d.ts +4 -1
- package/dist/seo/public-site-url.d.ts.map +1 -1
- package/dist/seo/public-site-url.js +15 -12
- package/dist/seo/public-site-url.js.map +1 -1
- package/dist/seo/rendered-fetch.d.ts +60 -0
- package/dist/seo/rendered-fetch.d.ts.map +1 -0
- package/dist/seo/rendered-fetch.js +246 -0
- package/dist/seo/rendered-fetch.js.map +1 -0
- package/dist/seo/rendered-html.d.ts +8 -0
- package/dist/seo/rendered-html.d.ts.map +1 -0
- package/dist/seo/rendered-html.js +86 -0
- package/dist/seo/rendered-html.js.map +1 -0
- package/dist/seo/score.d.ts +6 -1
- package/dist/seo/score.d.ts.map +1 -1
- package/dist/seo/score.js +9 -4
- package/dist/seo/score.js.map +1 -1
- package/dist/upgrade/changelog.d.ts.map +1 -1
- package/dist/upgrade/changelog.js +2 -2
- package/dist/upgrade/changelog.js.map +1 -1
- package/dist/upgrade/index.d.ts +1 -0
- package/dist/upgrade/index.d.ts.map +1 -1
- package/dist/upgrade/index.js +1 -0
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/update-server.d.ts +50 -0
- package/dist/upgrade/update-server.d.ts.map +1 -0
- package/dist/upgrade/update-server.js +52 -0
- package/dist/upgrade/update-server.js.map +1 -0
- package/dist/upgrade/version-check.d.ts.map +1 -1
- package/dist/upgrade/version-check.js +2 -2
- package/dist/upgrade/version-check.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rendered-html.js","sourceRoot":"","sources":["../../src/seo/rendered-html.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/score.d.ts
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export type SeoGrade = 'good' | 'fair' | 'poor' | 'critical';
|
|
16
16
|
export type SeoCheckStatus = 'pass' | 'warn' | 'fail';
|
|
17
|
+
export type PageSeoCheckId = 'meta-title' | 'meta-title-length' | 'meta-description' | 'meta-description-length' | 'focus-keyword' | 'canonical' | 'h1' | 'content-length' | 'og-image' | 'og-title-desc' | 'structured-data' | 'internal-links' | 'indexable';
|
|
17
18
|
/** One explainable line item in a page score. */
|
|
18
19
|
export interface SeoScoreCheck {
|
|
19
|
-
id:
|
|
20
|
+
id: PageSeoCheckId;
|
|
20
21
|
label: string;
|
|
21
22
|
/** Points earned (0..max). */
|
|
22
23
|
points: number;
|
|
@@ -52,6 +53,10 @@ export interface PageSeoScoreInput {
|
|
|
52
53
|
brokenInternalLinks?: number;
|
|
53
54
|
/** Pre-computed word count; falls back to counting `content`. */
|
|
54
55
|
wordCount?: number | null;
|
|
56
|
+
/** Explicit rendered H1 count, when known. */
|
|
57
|
+
h1Count?: number;
|
|
58
|
+
/** Checks omitted because their underlying evidence is unavailable. */
|
|
59
|
+
unavailableChecks?: readonly PageSeoCheckId[];
|
|
55
60
|
}
|
|
56
61
|
/** Page score weights. Must sum to 100. */
|
|
57
62
|
export declare const PAGE_SEO_WEIGHTS: {
|
package/dist/seo/score.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../../src/seo/score.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAErD,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../../src/seo/score.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/score.js
CHANGED
|
@@ -74,7 +74,10 @@ function wordCountOf(content) {
|
|
|
74
74
|
*/
|
|
75
75
|
export function calculatePageSeoScore(input) {
|
|
76
76
|
const checks = [];
|
|
77
|
+
const unavailable = new Set(input.unavailableChecks ?? []);
|
|
77
78
|
const push = (id, label, max, status, message) => {
|
|
79
|
+
if (unavailable.has(id))
|
|
80
|
+
return;
|
|
78
81
|
const points = status === 'pass' ? max : status === 'warn' ? Math.round(max * 0.5) : 0;
|
|
79
82
|
checks.push({ id, label, points, max, status, message });
|
|
80
83
|
};
|
|
@@ -116,12 +119,13 @@ export function calculatePageSeoScore(input) {
|
|
|
116
119
|
push('canonical', 'Canonical URL', PAGE_SEO_WEIGHTS.canonical, present(input.canonicalUrl) ? 'pass' : 'warn', present(input.canonicalUrl) ? 'Canonical URL is set.' : 'No canonical URL set.');
|
|
117
120
|
// -- H1 -------------------------------------------------------------------
|
|
118
121
|
const content = input.content ?? '';
|
|
119
|
-
const
|
|
122
|
+
const hasExplicitH1Count = typeof input.h1Count === 'number';
|
|
123
|
+
const h1Count = typeof input.h1Count === 'number' ? input.h1Count : countH1(content);
|
|
120
124
|
if (h1Count === 1) {
|
|
121
125
|
push('h1', 'H1 heading', PAGE_SEO_WEIGHTS.h1, 'pass', 'Exactly one H1 heading.');
|
|
122
126
|
}
|
|
123
127
|
else if (h1Count === 0) {
|
|
124
|
-
push('h1', 'H1 heading', PAGE_SEO_WEIGHTS.h1, content.length === 0 ? 'warn' : 'fail', 'No H1 heading found.');
|
|
128
|
+
push('h1', 'H1 heading', PAGE_SEO_WEIGHTS.h1, !hasExplicitH1Count && content.length === 0 ? 'warn' : 'fail', 'No H1 heading found.');
|
|
125
129
|
}
|
|
126
130
|
else {
|
|
127
131
|
push('h1', 'H1 heading', PAGE_SEO_WEIGHTS.h1, 'warn', `Found ${h1Count} H1 headings. Use exactly one.`);
|
|
@@ -156,8 +160,9 @@ export function calculatePageSeoScore(input) {
|
|
|
156
160
|
push('indexable', 'Indexability', PAGE_SEO_WEIGHTS.indexable, accidentalNoindex ? 'fail' : 'pass', accidentalNoindex
|
|
157
161
|
? 'Page is set to noindex but should be indexable.'
|
|
158
162
|
: 'Indexability is correct.');
|
|
159
|
-
const earned = checks.reduce((sum,
|
|
160
|
-
const
|
|
163
|
+
const earned = checks.reduce((sum, check) => sum + check.points, 0);
|
|
164
|
+
const knownMaximum = checks.reduce((sum, check) => sum + check.max, 0);
|
|
165
|
+
const score = knownMaximum === 0 ? 100 : Math.max(0, Math.min(100, Math.round((earned / knownMaximum) * 100)));
|
|
161
166
|
return { score, grade: gradeForSeoScore(score), checks };
|
|
162
167
|
}
|
|
163
168
|
function clampScore(n) {
|
package/dist/seo/score.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/seo/score.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/seo/score.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/upgrade/changelog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/upgrade/changelog.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAA;QACjE,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;CACH;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAWpF;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAkCjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { updateServerBase } from './update-server.js';
|
|
2
2
|
/**
|
|
3
3
|
* Fetch the structured changelog from the update server's `/api/changelog`
|
|
4
4
|
* endpoint. The server URL is overridable via `PRENTA_UPDATE_SERVER_URL` (a
|
|
@@ -6,7 +6,7 @@ const DEFAULT_UPDATE_SERVER = 'https://updates.prentacms.com';
|
|
|
6
6
|
* releases newer than that version.
|
|
7
7
|
*/
|
|
8
8
|
export async function fetchChangelog(fromVersion) {
|
|
9
|
-
const base = (
|
|
9
|
+
const base = updateServerBase();
|
|
10
10
|
const url = new URL(`${base}/api/changelog`);
|
|
11
11
|
if (fromVersion)
|
|
12
12
|
url.searchParams.set('from', fromVersion);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/upgrade/changelog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/upgrade/changelog.ts"],"names":[],"mappings":"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"}
|
package/dist/upgrade/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { checkForUpdates, checkForUpdatesViaServer, getUpdateStatus, parseSemver
|
|
|
2
2
|
export type { ChangeType, ChangelogItem, PluginCompatibilityInfo, VersionInfo, } from './version-check.js';
|
|
3
3
|
export { fetchChangelog, parseChangelog } from './changelog.js';
|
|
4
4
|
export type { ChangelogEntry } from './changelog.js';
|
|
5
|
+
export { DEFAULT_UPDATE_SERVER, LEGACY_UPDATE_SERVERS, updateServerBase } from './update-server.js';
|
|
5
6
|
export { createUpgradePR } from './upgrade-pr.js';
|
|
6
7
|
export type { UpgradePROptions, UpgradePRResult } from './upgrade-pr.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/upgrade/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { checkForUpdates, checkForUpdatesViaServer, getUpdateStatus, parseSemver, } from './version-check.js';
|
|
2
2
|
export { fetchChangelog, parseChangelog } from './changelog.js';
|
|
3
|
+
export { DEFAULT_UPDATE_SERVER, LEGACY_UPDATE_SERVERS, updateServerBase } from './update-server.js';
|
|
3
4
|
export { createUpgradePR } from './upgrade-pr.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where an installed CMS asks whether a newer Prenta release exists.
|
|
3
|
+
*
|
|
4
|
+
* ## One constant, because it is baked into every build
|
|
5
|
+
*
|
|
6
|
+
* This value is compiled into every published package, so a site only ever
|
|
7
|
+
* calls the host that was current when it was installed. It lived in four
|
|
8
|
+
* places — two here and two in `@prenta/cli` — which is three chances for the
|
|
9
|
+
* next rename to reach some of them and not others. It is one place now.
|
|
10
|
+
*
|
|
11
|
+
* ## The rename trap this exists to document
|
|
12
|
+
*
|
|
13
|
+
* Because the host is baked in, **changing it does not migrate anyone.** Every
|
|
14
|
+
* site already deployed keeps calling the previous hostname until someone
|
|
15
|
+
* upgrades it by hand — and the thing that would tell them to upgrade is the
|
|
16
|
+
* very check that is pointing at the old host.
|
|
17
|
+
*
|
|
18
|
+
* So the old hostname must keep resolving to the same update server, or the
|
|
19
|
+
* existing installed base goes permanently blind. Retiring one is a decision
|
|
20
|
+
* about how many deployed sites you are willing to strand, not a redirect you
|
|
21
|
+
* can add later: they will never see the redirect, because they cannot reach
|
|
22
|
+
* the host that would issue it.
|
|
23
|
+
*
|
|
24
|
+
* `PRENTA_UPDATE_SERVER_URL` overrides this for self-hosted mirrors and for
|
|
25
|
+
* tests. It is read as a fixed, trusted host — never from user input.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DEFAULT_UPDATE_SERVER = "https://updates.prenta.io";
|
|
28
|
+
/**
|
|
29
|
+
* Hostnames earlier releases were shipped with, newest first.
|
|
30
|
+
*
|
|
31
|
+
* Each entry is a population of deployed sites that will call it forever,
|
|
32
|
+
* because the host is compiled in. Kept as a record rather than deleted so the
|
|
33
|
+
* cost of retiring one stays legible.
|
|
34
|
+
*
|
|
35
|
+
* **`updates.prentacms.com` is deliberately NOT served.** The domain is being
|
|
36
|
+
* retired in favour of prenta.io, so every install published before this
|
|
37
|
+
* change falls back to the direct npm registry check: it still learns that a
|
|
38
|
+
* newer version exists, but not `breakingChanges`, not `hasMigrations`, and
|
|
39
|
+
* not real release notes — just "Update to x.y.z". Those sites recover only by
|
|
40
|
+
* being upgraded by hand to a release built after this one.
|
|
41
|
+
*
|
|
42
|
+
* That was an accepted trade at a small installed base. It stops being one as
|
|
43
|
+
* the base grows: if you ever retire another hostname, point it at the update
|
|
44
|
+
* server first, because a redirect cannot reach a site that cannot resolve the
|
|
45
|
+
* host that would issue it.
|
|
46
|
+
*/
|
|
47
|
+
export declare const LEGACY_UPDATE_SERVERS: readonly ["https://updates.prentacms.com"];
|
|
48
|
+
/** The configured update server, trailing slashes trimmed. */
|
|
49
|
+
export declare function updateServerBase(): string;
|
|
50
|
+
//# sourceMappingURL=update-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-server.d.ts","sourceRoot":"","sources":["../../src/upgrade/update-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAA;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,4CAA6C,CAAA;AAE/E,8DAA8D;AAC9D,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where an installed CMS asks whether a newer Prenta release exists.
|
|
3
|
+
*
|
|
4
|
+
* ## One constant, because it is baked into every build
|
|
5
|
+
*
|
|
6
|
+
* This value is compiled into every published package, so a site only ever
|
|
7
|
+
* calls the host that was current when it was installed. It lived in four
|
|
8
|
+
* places — two here and two in `@prenta/cli` — which is three chances for the
|
|
9
|
+
* next rename to reach some of them and not others. It is one place now.
|
|
10
|
+
*
|
|
11
|
+
* ## The rename trap this exists to document
|
|
12
|
+
*
|
|
13
|
+
* Because the host is baked in, **changing it does not migrate anyone.** Every
|
|
14
|
+
* site already deployed keeps calling the previous hostname until someone
|
|
15
|
+
* upgrades it by hand — and the thing that would tell them to upgrade is the
|
|
16
|
+
* very check that is pointing at the old host.
|
|
17
|
+
*
|
|
18
|
+
* So the old hostname must keep resolving to the same update server, or the
|
|
19
|
+
* existing installed base goes permanently blind. Retiring one is a decision
|
|
20
|
+
* about how many deployed sites you are willing to strand, not a redirect you
|
|
21
|
+
* can add later: they will never see the redirect, because they cannot reach
|
|
22
|
+
* the host that would issue it.
|
|
23
|
+
*
|
|
24
|
+
* `PRENTA_UPDATE_SERVER_URL` overrides this for self-hosted mirrors and for
|
|
25
|
+
* tests. It is read as a fixed, trusted host — never from user input.
|
|
26
|
+
*/
|
|
27
|
+
export const DEFAULT_UPDATE_SERVER = 'https://updates.prenta.io';
|
|
28
|
+
/**
|
|
29
|
+
* Hostnames earlier releases were shipped with, newest first.
|
|
30
|
+
*
|
|
31
|
+
* Each entry is a population of deployed sites that will call it forever,
|
|
32
|
+
* because the host is compiled in. Kept as a record rather than deleted so the
|
|
33
|
+
* cost of retiring one stays legible.
|
|
34
|
+
*
|
|
35
|
+
* **`updates.prentacms.com` is deliberately NOT served.** The domain is being
|
|
36
|
+
* retired in favour of prenta.io, so every install published before this
|
|
37
|
+
* change falls back to the direct npm registry check: it still learns that a
|
|
38
|
+
* newer version exists, but not `breakingChanges`, not `hasMigrations`, and
|
|
39
|
+
* not real release notes — just "Update to x.y.z". Those sites recover only by
|
|
40
|
+
* being upgraded by hand to a release built after this one.
|
|
41
|
+
*
|
|
42
|
+
* That was an accepted trade at a small installed base. It stops being one as
|
|
43
|
+
* the base grows: if you ever retire another hostname, point it at the update
|
|
44
|
+
* server first, because a redirect cannot reach a site that cannot resolve the
|
|
45
|
+
* host that would issue it.
|
|
46
|
+
*/
|
|
47
|
+
export const LEGACY_UPDATE_SERVERS = ['https://updates.prentacms.com'];
|
|
48
|
+
/** The configured update server, trailing slashes trimmed. */
|
|
49
|
+
export function updateServerBase() {
|
|
50
|
+
return (process.env.PRENTA_UPDATE_SERVER_URL ?? DEFAULT_UPDATE_SERVER).replace(/\/+$/, '');
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=update-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-server.js","sourceRoot":"","sources":["../../src/upgrade/update-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAA;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,+BAA+B,CAAU,CAAA;AAE/E,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,qBAAqB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC5F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAA;AAEpG,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf;yDACqD;IACrD,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,uBAAuB,EAAE,CAAA;IAC/C,mEAAmE;IACnE,MAAM,CAAC,EAAE,eAAe,GAAG,KAAK,CAAA;CACjC;AAID,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,yFACqD,CAAA;AAIxF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAQlF;AAcD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAyC7B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2ClF;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQxD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { updateServerBase } from './update-server.js';
|
|
1
2
|
const CORE_PACKAGE = '@prenta/core';
|
|
2
3
|
/** Copy-paste command for admin Updates and the update server (0.x-safe). */
|
|
3
4
|
export const PRENTA_UPGRADE_COMMAND = 'npx prenta upgrade && npm install && npx prenta db:sync && npx prisma migrate deploy';
|
|
4
5
|
const NPM_REGISTRY = 'https://registry.npmjs.org';
|
|
5
|
-
const DEFAULT_UPDATE_SERVER = 'https://updates.prentacms.com';
|
|
6
6
|
const FETCH_TIMEOUT_MS = 10_000;
|
|
7
7
|
/**
|
|
8
8
|
* Resolve the update status with the production-grade hybrid strategy:
|
|
@@ -13,7 +13,7 @@ const FETCH_TIMEOUT_MS = 10_000;
|
|
|
13
13
|
* user-supplied — so this is not an SSRF surface.
|
|
14
14
|
*/
|
|
15
15
|
export async function getUpdateStatus(currentVersion) {
|
|
16
|
-
const serverUrl = (
|
|
16
|
+
const serverUrl = updateServerBase().trim();
|
|
17
17
|
if (serverUrl) {
|
|
18
18
|
const viaServer = await checkForUpdatesViaServer(currentVersion, serverUrl);
|
|
19
19
|
if (viaServer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAqCrD,MAAM,YAAY,GAAG,cAAc,CAAA;AAEnC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GACjC,sFAAsF,CAAA;AACxF,MAAM,YAAY,GAAG,4BAA4B,CAAA;AACjD,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,cAAsB;IAC1D,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAA;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAC3E,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;IACjC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAA;IACpD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AACrC,CAAC;AAcD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,cAAsB,EACtB,SAAiB;IAEjB,8EAA8E;IAC9E,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAE5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC9C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;QAEpC,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,IAAI,CAAC,aAAa;gBAC1B,eAAe,EAAE,KAAK;gBACtB,MAAM,EAAE,eAAe;aACxB,CAAA;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;YAChF,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,sBAAsB;YAC3D,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,MAAM,EAAE,eAAe;SACxB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,cAAsB;IAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE;QAC7E,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;QACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA;IACvC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;IAEjE,IAAI,SAAmC,CAAA;IACvC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;aACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACnC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEf,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACvC,OAAO,EAAE,aAAa,CAAC,EAAE;SAC1B,CAAC,CAAC,CAAA;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,eAAe;QACf,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,SAAS;QACT,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;KACpE,CAAA;AACH,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW,CACzB,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;QAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;QAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;KAC/B,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACxC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,MAAc;IACxD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAA;IAChC,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;QAAE,OAAO,OAAO,CAAA;IACzC,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;QAAE,OAAO,OAAO,CAAA;IACzC,OAAO,OAAO,CAAA;AAChB,CAAC"}
|