@malloy-publisher/server 0.11.1 → 0.11.2
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/instrumentation.mjs +1 -1
- package/dist/server.mjs +108 -1
- package/package.json +1 -1
package/dist/instrumentation.mjs
CHANGED
|
@@ -164831,7 +164831,7 @@ var init_telemetry = __esm(() => {
|
|
|
164831
164831
|
});
|
|
164832
164832
|
|
|
164833
164833
|
// package.json
|
|
164834
|
-
var version = "0.11.
|
|
164834
|
+
var version = "0.11.2";
|
|
164835
164835
|
var init_package = () => {};
|
|
164836
164836
|
|
|
164837
164837
|
// src/version.ts
|
package/dist/server.mjs
CHANGED
|
@@ -164832,7 +164832,7 @@ var init_telemetry = __esm(() => {
|
|
|
164832
164832
|
});
|
|
164833
164833
|
|
|
164834
164834
|
// package.json
|
|
164835
|
-
var version = "0.11.
|
|
164835
|
+
var version = "0.11.2";
|
|
164836
164836
|
var init_package = () => {};
|
|
164837
164837
|
|
|
164838
164838
|
// src/version.ts
|
|
@@ -376106,6 +376106,110 @@ var init_watch_mode_controller = __esm(() => {
|
|
|
376106
376106
|
MODEL_EXTS = new Set([".malloy", ".malloynb", ".md"]);
|
|
376107
376107
|
});
|
|
376108
376108
|
|
|
376109
|
+
// src/legacy_package_name.ts
|
|
376110
|
+
function splitLegacyPackageName(name) {
|
|
376111
|
+
if (typeof name !== "string")
|
|
376112
|
+
return;
|
|
376113
|
+
const at2 = name.lastIndexOf(LEGACY_VERSION_DELIMITER);
|
|
376114
|
+
if (at2 <= 0)
|
|
376115
|
+
return;
|
|
376116
|
+
const versionId = name.slice(at2 + LEGACY_VERSION_DELIMITER.length);
|
|
376117
|
+
if (!isSemver(versionId))
|
|
376118
|
+
return;
|
|
376119
|
+
return { packageName: name.slice(0, at2), versionId };
|
|
376120
|
+
}
|
|
376121
|
+
function recoverVersionFromName(packageName, versionId) {
|
|
376122
|
+
const unchanged = { packageName, versionId, recovered: false };
|
|
376123
|
+
if (!isVersioningEnabled())
|
|
376124
|
+
return unchanged;
|
|
376125
|
+
const split = splitLegacyPackageName(packageName);
|
|
376126
|
+
if (!split)
|
|
376127
|
+
return unchanged;
|
|
376128
|
+
const unnamed = versionId === undefined || versionId === null || versionId === "" || versionId === LATEST_VERSION_ALIAS;
|
|
376129
|
+
if (!unnamed && versionId !== split.versionId)
|
|
376130
|
+
return unchanged;
|
|
376131
|
+
warnOnce(packageName, split);
|
|
376132
|
+
return { ...split, recovered: true };
|
|
376133
|
+
}
|
|
376134
|
+
function legacyPackageNameMiddleware() {
|
|
376135
|
+
return (req, _res, next) => {
|
|
376136
|
+
const queryAt = req.url.indexOf("?");
|
|
376137
|
+
const pathname = queryAt < 0 ? req.url : req.url.slice(0, queryAt);
|
|
376138
|
+
const search = queryAt < 0 ? "" : req.url.slice(queryAt);
|
|
376139
|
+
const match = PACKAGE_PATH.exec(pathname);
|
|
376140
|
+
if (!match)
|
|
376141
|
+
return next();
|
|
376142
|
+
let segment;
|
|
376143
|
+
try {
|
|
376144
|
+
segment = decodeURIComponent(match[3]);
|
|
376145
|
+
} catch {
|
|
376146
|
+
return next();
|
|
376147
|
+
}
|
|
376148
|
+
const apiPrefix = match[1] ?? "";
|
|
376149
|
+
const recovered = recoverVersionFromName(segment, apiPrefix === "" ? undefined : req.query.versionId);
|
|
376150
|
+
if (!recovered.recovered)
|
|
376151
|
+
return next();
|
|
376152
|
+
const environment = match[2];
|
|
376153
|
+
const rest = match[4] ?? "";
|
|
376154
|
+
const pkg = encodeURIComponent(recovered.packageName);
|
|
376155
|
+
const version2 = encodeURIComponent(recovered.versionId);
|
|
376156
|
+
const packagePath = pathname.slice(0, pathname.length - match[3].length - rest.length);
|
|
376157
|
+
let path25 = `${packagePath}${pkg}${rest}`;
|
|
376158
|
+
const versionsOf = `${apiPrefix}/environments/${environment}/packages/${pkg}/versions/${version2}`;
|
|
376159
|
+
if (rest === "" && req.method === "DELETE") {
|
|
376160
|
+
path25 = versionsOf;
|
|
376161
|
+
} else if (rest === "" && req.method === "PATCH") {
|
|
376162
|
+
req.method = "PUT";
|
|
376163
|
+
path25 = `${versionsOf}/manifest`;
|
|
376164
|
+
}
|
|
376165
|
+
const params = new URLSearchParams(search.slice(1));
|
|
376166
|
+
params.set("versionId", recovered.versionId);
|
|
376167
|
+
req.url = `${path25}?${params.toString()}`;
|
|
376168
|
+
req.query.versionId = recovered.versionId;
|
|
376169
|
+
req[RECOVERED_VERSION] = recovered.versionId;
|
|
376170
|
+
next();
|
|
376171
|
+
};
|
|
376172
|
+
}
|
|
376173
|
+
function legacyPackageNameBodyMiddleware() {
|
|
376174
|
+
return (req, _res, next) => {
|
|
376175
|
+
const body = req.body;
|
|
376176
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
376177
|
+
return next();
|
|
376178
|
+
}
|
|
376179
|
+
if (req.method === "POST" && PACKAGE_COLLECTION_PATH.test(req.path)) {
|
|
376180
|
+
const recovered = recoverVersionFromName(body.name, undefined);
|
|
376181
|
+
if (recovered.recovered)
|
|
376182
|
+
body.name = recovered.packageName;
|
|
376183
|
+
return next();
|
|
376184
|
+
}
|
|
376185
|
+
const version2 = req[RECOVERED_VERSION];
|
|
376186
|
+
if (version2 !== undefined && (body.versionId === undefined || body.versionId === null || body.versionId === "")) {
|
|
376187
|
+
body.versionId = version2;
|
|
376188
|
+
}
|
|
376189
|
+
next();
|
|
376190
|
+
};
|
|
376191
|
+
}
|
|
376192
|
+
function warnOnce(combined, split) {
|
|
376193
|
+
if (warned.has(combined))
|
|
376194
|
+
return;
|
|
376195
|
+
if (warned.size >= WARNED_CAP)
|
|
376196
|
+
warned.clear();
|
|
376197
|
+
warned.add(combined);
|
|
376198
|
+
logger.warn(`versionId recovered from the package name ${combined}: package ` + `${split.packageName}, version ${split.versionId}. Pass the package ` + `name and versionId; reading the version from the name will be removed.`);
|
|
376199
|
+
}
|
|
376200
|
+
var LEGACY_VERSION_DELIMITER = "___", PACKAGE_PATH, PACKAGE_COLLECTION_PATH, RECOVERED_VERSION, warned, WARNED_CAP = 1e4;
|
|
376201
|
+
var init_legacy_package_name = __esm(() => {
|
|
376202
|
+
init_config();
|
|
376203
|
+
init_constants();
|
|
376204
|
+
init_logger();
|
|
376205
|
+
init_semver();
|
|
376206
|
+
init_version_service();
|
|
376207
|
+
PACKAGE_PATH = new RegExp(`^(${API_PREFIX})?/(?:environments|projects)/([^/]+)/packages/([^/]+)(/.*)?$`);
|
|
376208
|
+
PACKAGE_COLLECTION_PATH = new RegExp(`^${API_PREFIX}/(?:environments|projects)/[^/]+/packages/?$`);
|
|
376209
|
+
RECOVERED_VERSION = Symbol("recoveredVersionId");
|
|
376210
|
+
warned = new Set;
|
|
376211
|
+
});
|
|
376212
|
+
|
|
376109
376213
|
// src/heap_check.ts
|
|
376110
376214
|
import * as v8 from "v8";
|
|
376111
376215
|
function installHeapGauges() {
|
|
@@ -409260,6 +409364,7 @@ var init_main_server = __esm(async () => {
|
|
|
409260
409364
|
init_health();
|
|
409261
409365
|
init_instrumentation();
|
|
409262
409366
|
init_instrumentation();
|
|
409367
|
+
init_legacy_package_name();
|
|
409263
409368
|
init_logger();
|
|
409264
409369
|
init_config();
|
|
409265
409370
|
init_retrieval_config();
|
|
@@ -409380,6 +409485,7 @@ var init_main_server = __esm(async () => {
|
|
|
409380
409485
|
themeStore = new ThemeStore(environmentStore.storageManager, SERVER_ROOT);
|
|
409381
409486
|
themeController = new ThemeController(themeStore, SERVER_ROOT);
|
|
409382
409487
|
mcpApp = createMcpApp(environmentStore);
|
|
409488
|
+
app.use(legacyPackageNameMiddleware());
|
|
409383
409489
|
registerDataAppStaticRoutes(app, environmentStore, path29.join(path29.dirname(__filename_esm), "runtime", "publisher.js"));
|
|
409384
409490
|
if (!isDevelopment) {
|
|
409385
409491
|
app.use("/", import_express3.default.static(ROOT));
|
|
@@ -409398,6 +409504,7 @@ var init_main_server = __esm(async () => {
|
|
|
409398
409504
|
credentials: true
|
|
409399
409505
|
}));
|
|
409400
409506
|
app.use(import_body_parser3.default.json({ limit: "1mb" }));
|
|
409507
|
+
app.use(legacyPackageNameBodyMiddleware());
|
|
409401
409508
|
try {
|
|
409402
409509
|
const metricsHandler = getPrometheusMetricsHandler();
|
|
409403
409510
|
app.get("/metrics", metricsHandler);
|
package/package.json
CHANGED