@vercel/static-build 2.8.34 → 2.8.36
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/index.js +59 -5
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -19753,6 +19753,7 @@ var require_types2 = __commonJS({
|
|
|
19753
19753
|
var types_exports = {};
|
|
19754
19754
|
__export2(types_exports, {
|
|
19755
19755
|
ENTRYPOINT_EXTENSIONS: () => ENTRYPOINT_EXTENSIONS,
|
|
19756
|
+
ROUTE_OWNING_BUILDERS: () => ROUTE_OWNING_BUILDERS,
|
|
19756
19757
|
RUNTIME_BUILDERS: () => RUNTIME_BUILDERS,
|
|
19757
19758
|
STATIC_BUILDERS: () => STATIC_BUILDERS
|
|
19758
19759
|
});
|
|
@@ -19780,6 +19781,10 @@ var require_types2 = __commonJS({
|
|
|
19780
19781
|
"@vercel/static-build",
|
|
19781
19782
|
"@vercel/static"
|
|
19782
19783
|
]);
|
|
19784
|
+
var ROUTE_OWNING_BUILDERS = /* @__PURE__ */ new Set([
|
|
19785
|
+
"@vercel/next",
|
|
19786
|
+
"@vercel/backends"
|
|
19787
|
+
]);
|
|
19783
19788
|
}
|
|
19784
19789
|
});
|
|
19785
19790
|
|
|
@@ -19808,6 +19813,7 @@ var require_utils4 = __commonJS({
|
|
|
19808
19813
|
__export2(utils_exports, {
|
|
19809
19814
|
getBuilderForRuntime: () => getBuilderForRuntime,
|
|
19810
19815
|
inferServiceRuntime: () => inferServiceRuntime,
|
|
19816
|
+
isRouteOwningBuilder: () => isRouteOwningBuilder2,
|
|
19811
19817
|
isStaticBuild: () => isStaticBuild2,
|
|
19812
19818
|
readVercelConfig: () => readVercelConfig
|
|
19813
19819
|
});
|
|
@@ -19824,6 +19830,9 @@ var require_utils4 = __commonJS({
|
|
|
19824
19830
|
function isStaticBuild2(service) {
|
|
19825
19831
|
return import_types.STATIC_BUILDERS.has(service.builder.use);
|
|
19826
19832
|
}
|
|
19833
|
+
function isRouteOwningBuilder2(service) {
|
|
19834
|
+
return import_types.ROUTE_OWNING_BUILDERS.has(service.builder.use);
|
|
19835
|
+
}
|
|
19827
19836
|
function inferServiceRuntime(config) {
|
|
19828
19837
|
if (config.runtime && config.runtime in import_types.RUNTIME_BUILDERS) {
|
|
19829
19838
|
return config.runtime;
|
|
@@ -19916,6 +19925,13 @@ var require_resolve = __commonJS({
|
|
|
19916
19925
|
var import_frameworks2 = __toESM2(require_frameworks());
|
|
19917
19926
|
var frameworksBySlug = new Map(import_frameworks2.default.map((f) => [f.slug, f]));
|
|
19918
19927
|
var SERVICE_NAME_REGEX = /^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$/;
|
|
19928
|
+
function normalizeRoutePrefix(routePrefix) {
|
|
19929
|
+
let normalized = routePrefix.startsWith("/") ? routePrefix : `/${routePrefix}`;
|
|
19930
|
+
if (normalized !== "/" && normalized.endsWith("/")) {
|
|
19931
|
+
normalized = normalized.slice(0, -1);
|
|
19932
|
+
}
|
|
19933
|
+
return normalized || "/";
|
|
19934
|
+
}
|
|
19919
19935
|
function validateServiceConfig(name, config) {
|
|
19920
19936
|
if (!SERVICE_NAME_REGEX.test(name)) {
|
|
19921
19937
|
return {
|
|
@@ -20018,10 +20034,10 @@ var require_resolve = __commonJS({
|
|
|
20018
20034
|
}
|
|
20019
20035
|
const routePrefix = type === "web" && config.routePrefix ? config.routePrefix.startsWith("/") ? config.routePrefix : `/${config.routePrefix}` : void 0;
|
|
20020
20036
|
const isRoot = workspace === ".";
|
|
20021
|
-
if (!isRoot
|
|
20037
|
+
if (!isRoot) {
|
|
20022
20038
|
builderSrc = import_path7.posix.join(workspace, builderSrc);
|
|
20023
20039
|
}
|
|
20024
|
-
const builderConfig = {};
|
|
20040
|
+
const builderConfig = { zeroConfig: true };
|
|
20025
20041
|
if (config.memory)
|
|
20026
20042
|
builderConfig.memory = config.memory;
|
|
20027
20043
|
if (config.maxDuration)
|
|
@@ -20036,6 +20052,9 @@ var require_resolve = __commonJS({
|
|
|
20036
20052
|
const stripped = routePrefix.startsWith("/") ? routePrefix.slice(1) : routePrefix;
|
|
20037
20053
|
builderConfig.routePrefix = stripped || ".";
|
|
20038
20054
|
}
|
|
20055
|
+
if (workspace && workspace !== ".") {
|
|
20056
|
+
builderConfig.workspace = workspace;
|
|
20057
|
+
}
|
|
20039
20058
|
if (config.framework) {
|
|
20040
20059
|
builderConfig.framework = config.framework;
|
|
20041
20060
|
}
|
|
@@ -20063,6 +20082,7 @@ var require_resolve = __commonJS({
|
|
|
20063
20082
|
function resolveAllConfiguredServices(services) {
|
|
20064
20083
|
const resolved = [];
|
|
20065
20084
|
const errors = [];
|
|
20085
|
+
const webServicesByRoutePrefix = /* @__PURE__ */ new Map();
|
|
20066
20086
|
for (const name of Object.keys(services)) {
|
|
20067
20087
|
const serviceConfig = services[name];
|
|
20068
20088
|
const validationError = validateServiceConfig(name, serviceConfig);
|
|
@@ -20071,6 +20091,21 @@ var require_resolve = __commonJS({
|
|
|
20071
20091
|
continue;
|
|
20072
20092
|
}
|
|
20073
20093
|
const service = resolveConfiguredService(name, serviceConfig);
|
|
20094
|
+
if (service.type === "web" && typeof service.routePrefix === "string") {
|
|
20095
|
+
const normalizedRoutePrefix = normalizeRoutePrefix(service.routePrefix);
|
|
20096
|
+
const existingServiceName = webServicesByRoutePrefix.get(
|
|
20097
|
+
normalizedRoutePrefix
|
|
20098
|
+
);
|
|
20099
|
+
if (existingServiceName) {
|
|
20100
|
+
errors.push({
|
|
20101
|
+
code: "DUPLICATE_ROUTE_PREFIX",
|
|
20102
|
+
message: `Web services "${existingServiceName}" and "${name}" cannot share routePrefix "${normalizedRoutePrefix}".`,
|
|
20103
|
+
serviceName: name
|
|
20104
|
+
});
|
|
20105
|
+
continue;
|
|
20106
|
+
}
|
|
20107
|
+
webServicesByRoutePrefix.set(normalizedRoutePrefix, name);
|
|
20108
|
+
}
|
|
20074
20109
|
resolved.push(service);
|
|
20075
20110
|
}
|
|
20076
20111
|
return { services: resolved, errors };
|
|
@@ -20587,6 +20622,7 @@ var require_detect_services = __commonJS({
|
|
|
20587
20622
|
generateServicesRoutes: () => generateServicesRoutes2
|
|
20588
20623
|
});
|
|
20589
20624
|
module2.exports = __toCommonJS2(detect_services_exports);
|
|
20625
|
+
var import_types = require_types2();
|
|
20590
20626
|
var import_utils = require_utils4();
|
|
20591
20627
|
var import_resolve = require_resolve();
|
|
20592
20628
|
var import_auto_detect = require_auto_detect();
|
|
@@ -20650,12 +20686,26 @@ var require_detect_services = __commonJS({
|
|
|
20650
20686
|
const defaults = [];
|
|
20651
20687
|
const crons = [];
|
|
20652
20688
|
const workers = [];
|
|
20689
|
+
const entrypointExtensions = Object.keys(import_types.ENTRYPOINT_EXTENSIONS).sort(
|
|
20690
|
+
(a, b) => b.length - a.length
|
|
20691
|
+
);
|
|
20692
|
+
const stripEntrypointExtension = (entrypoint) => {
|
|
20693
|
+
for (const ext of entrypointExtensions) {
|
|
20694
|
+
if (entrypoint.endsWith(ext)) {
|
|
20695
|
+
return entrypoint.slice(0, -ext.length);
|
|
20696
|
+
}
|
|
20697
|
+
}
|
|
20698
|
+
return entrypoint;
|
|
20699
|
+
};
|
|
20653
20700
|
const sortedWebServices = services.filter(
|
|
20654
20701
|
(s) => s.type === "web" && typeof s.routePrefix === "string"
|
|
20655
20702
|
).sort((a, b) => b.routePrefix.length - a.routePrefix.length);
|
|
20656
20703
|
for (const service of sortedWebServices) {
|
|
20657
20704
|
const { routePrefix } = service;
|
|
20658
20705
|
const normalizedPrefix = routePrefix.slice(1);
|
|
20706
|
+
if ((0, import_utils.isRouteOwningBuilder)(service)) {
|
|
20707
|
+
continue;
|
|
20708
|
+
}
|
|
20659
20709
|
if ((0, import_utils.isStaticBuild)(service)) {
|
|
20660
20710
|
if (routePrefix === "/") {
|
|
20661
20711
|
defaults.push({ handle: "filesystem" });
|
|
@@ -20666,9 +20716,10 @@ var require_detect_services = __commonJS({
|
|
|
20666
20716
|
dest: `/${normalizedPrefix}/index.html`
|
|
20667
20717
|
});
|
|
20668
20718
|
}
|
|
20669
|
-
} else {
|
|
20719
|
+
} else if (service.runtime) {
|
|
20670
20720
|
const builderSrc = service.builder.src || routePrefix;
|
|
20671
|
-
const
|
|
20721
|
+
const extensionless = stripEntrypointExtension(builderSrc);
|
|
20722
|
+
const functionPath = extensionless.startsWith("/") ? extensionless : `/${extensionless}`;
|
|
20672
20723
|
if (routePrefix === "/") {
|
|
20673
20724
|
defaults.push({ src: "^/(.*)$", dest: functionPath, check: true });
|
|
20674
20725
|
} else {
|
|
@@ -20678,6 +20729,8 @@ var require_detect_services = __commonJS({
|
|
|
20678
20729
|
check: true
|
|
20679
20730
|
});
|
|
20680
20731
|
}
|
|
20732
|
+
} else {
|
|
20733
|
+
continue;
|
|
20681
20734
|
}
|
|
20682
20735
|
}
|
|
20683
20736
|
return { rewrites, defaults, crons, workers };
|
|
@@ -21511,7 +21564,7 @@ var require_detect_builders = __commonJS({
|
|
|
21511
21564
|
}
|
|
21512
21565
|
}
|
|
21513
21566
|
}
|
|
21514
|
-
if (frontendBuilder && ((0, import_is_official_runtime.isOfficialRuntime)("express", frontendBuilder.use) || (0, import_is_official_runtime.isOfficialRuntime)("hono", frontendBuilder.use))) {
|
|
21567
|
+
if (frontendBuilder && ((0, import_is_official_runtime.isOfficialRuntime)("express", frontendBuilder.use) || (0, import_is_official_runtime.isOfficialRuntime)("hono", frontendBuilder.use) || (0, import_is_official_runtime.isOfficialRuntime)("backends", frontendBuilder.use))) {
|
|
21515
21568
|
const validFilenames = [
|
|
21516
21569
|
"app",
|
|
21517
21570
|
"index",
|
|
@@ -29257,6 +29310,7 @@ var require_dist4 = __commonJS({
|
|
|
29257
29310
|
getWorkspacePackagePaths: () => import_get_workspace_package_paths.getWorkspacePackagePaths,
|
|
29258
29311
|
getWorkspaces: () => import_get_workspaces.getWorkspaces,
|
|
29259
29312
|
isOfficialRuntime: () => import_is_official_runtime.isOfficialRuntime,
|
|
29313
|
+
isRouteOwningBuilder: () => import_utils.isRouteOwningBuilder,
|
|
29260
29314
|
isStaticBuild: () => import_utils.isStaticBuild,
|
|
29261
29315
|
isStaticRuntime: () => import_is_official_runtime.isStaticRuntime,
|
|
29262
29316
|
monorepoManagers: () => import_monorepo_managers.monorepoManagers,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercel/static-build",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.36",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "./dist/index",
|
|
6
6
|
"homepage": "https://vercel.com/docs/build-step",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"ts-morph": "12.0.0",
|
|
17
17
|
"@vercel/gatsby-plugin-vercel-analytics": "1.0.11",
|
|
18
|
-
"@vercel/gatsby-plugin-vercel-builder": "2.0.
|
|
18
|
+
"@vercel/gatsby-plugin-vercel-builder": "2.0.134",
|
|
19
19
|
"@vercel/static-config": "3.1.2"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"rc9": "1.2.0",
|
|
39
39
|
"semver": "7.5.2",
|
|
40
40
|
"tree-kill": "1.2.2",
|
|
41
|
-
"@vercel/build-utils": "13.3.
|
|
41
|
+
"@vercel/build-utils": "13.3.5",
|
|
42
42
|
"@vercel/error-utils": "2.0.3",
|
|
43
|
-
"@vercel/
|
|
44
|
-
"@vercel/
|
|
45
|
-
"@vercel/
|
|
43
|
+
"@vercel/frameworks": "3.17.1",
|
|
44
|
+
"@vercel/fs-detectors": "5.8.5",
|
|
45
|
+
"@vercel/routing-utils": "5.3.2"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "node ../../utils/build-builder.mjs",
|