@vercel/remix-builder 2.0.11 → 2.0.12

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.
Files changed (2) hide show
  1. package/dist/index.js +38 -58
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -2835,7 +2835,6 @@ var import_nft = require("@vercel/nft");
2835
2835
 
2836
2836
  // src/utils.ts
2837
2837
  var import_semver = __toESM(require_semver2());
2838
- var import_child_process = require("child_process");
2839
2838
  var import_fs = require("fs");
2840
2839
  var import_path = require("path");
2841
2840
  var import_path_to_regexp = __toESM(require_dist());
@@ -2981,46 +2980,6 @@ async function chdirAndReadConfig(remixRunDevPath, dir, packageJsonPath) {
2981
2980
  }
2982
2981
  return remixConfig;
2983
2982
  }
2984
- function addDependencies(cliType, names, opts = {}) {
2985
- (0, import_build_utils.debug)("Installing additional dependencies:");
2986
- for (const name of names) {
2987
- (0, import_build_utils.debug)(` - ${name}`);
2988
- }
2989
- const args = [];
2990
- switch (cliType) {
2991
- case "npm":
2992
- case "pnpm":
2993
- args.push("install");
2994
- if (opts.saveDev) {
2995
- args.push("--save-dev");
2996
- }
2997
- if (cliType === "pnpm" && opts.cwd) {
2998
- if ((0, import_fs.existsSync)((0, import_path.join)(opts.cwd, "pnpm-workspace.yaml"))) {
2999
- args.push("--workspace-root");
3000
- }
3001
- }
3002
- break;
3003
- case "bun":
3004
- case "yarn":
3005
- args.push("add");
3006
- if (opts.saveDev) {
3007
- args.push("--dev");
3008
- }
3009
- if (cliType === "yarn") {
3010
- const yarnVersion = (0, import_child_process.execSync)("yarn -v", { encoding: "utf8" }).trim();
3011
- const isYarnV1 = import_semver.default.satisfies(yarnVersion, "1");
3012
- if (isYarnV1) {
3013
- args.push("--ignore-workspace-root-check");
3014
- }
3015
- }
3016
- break;
3017
- default: {
3018
- const n = cliType;
3019
- throw new Error(`Unexpected package manager: ${n}`);
3020
- }
3021
- }
3022
- return (0, import_build_utils.spawnAsync)(cliType, args.concat(names), opts);
3023
- }
3024
2983
  function resolveSemverMinMax(min, max, version2) {
3025
2984
  const floored = import_semver.default.intersects(version2, `>= ${min}`) ? version2 : min;
3026
2985
  return import_semver.default.intersects(floored, `<= ${max}`) ? floored : max;
@@ -3261,7 +3220,7 @@ var build = async ({
3261
3220
  );
3262
3221
  const { serverEntryPoint, appDirectory } = remixConfig;
3263
3222
  const remixRoutes = Object.values(remixConfig.routes);
3264
- const depsToAdd = [];
3223
+ let depsModified = false;
3265
3224
  const remixRunDevPkgVersion = pkg.dependencies?.["@remix-run/dev"] || pkg.devDependencies?.["@remix-run/dev"];
3266
3225
  if (!isHydrogen2 && remixRunDevPkg.name !== "@vercel/remix-run-dev" && !remixRunDevPkgVersion?.startsWith("https:")) {
3267
3226
  const remixDevForkVersion = resolveSemverMinMax(
@@ -3269,9 +3228,14 @@ var build = async ({
3269
3228
  REMIX_RUN_DEV_MAX_VERSION,
3270
3229
  remixVersion
3271
3230
  );
3272
- depsToAdd.push(
3273
- `@remix-run/dev@npm:@vercel/remix-run-dev@${remixDevForkVersion}`
3274
- );
3231
+ if (pkg.devDependencies["@remix-run/dev"]) {
3232
+ delete pkg.devDependencies["@remix-run/dev"];
3233
+ pkg.devDependencies["@vercel/remix-run-dev"] = remixDevForkVersion;
3234
+ } else {
3235
+ delete pkg.dependencies["@remix-run/dev"];
3236
+ pkg.dependencies["@vercel/remix-run-dev"] = remixDevForkVersion;
3237
+ }
3238
+ depsModified = true;
3275
3239
  }
3276
3240
  const userEntryServerFile = findEntry(appDirectory, "entry.server");
3277
3241
  if (!userEntryServerFile) {
@@ -3285,14 +3249,26 @@ var build = async ({
3285
3249
  REMIX_RUN_DEV_MAX_VERSION,
3286
3250
  remixVersion
3287
3251
  );
3288
- depsToAdd.push(`@vercel/remix@${vercelRemixVersion}`);
3252
+ pkg.dependencies["@vercel/remix"] = vercelRemixVersion;
3253
+ depsModified = true;
3289
3254
  }
3290
3255
  }
3291
- if (depsToAdd.length) {
3292
- await addDependencies(cliType, depsToAdd, {
3293
- ...spawnOpts,
3294
- cwd: entrypointFsDirname
3295
- });
3256
+ if (depsModified) {
3257
+ await import_fs2.promises.writeFile(packageJsonPath, JSON.stringify(pkg, null, 2) + "\n");
3258
+ const nonCiEnv = { ...spawnOpts.env };
3259
+ delete nonCiEnv.CI;
3260
+ delete nonCiEnv.VERCEL;
3261
+ delete nonCiEnv.NOW_BUILDER;
3262
+ await (0, import_build_utils3.runNpmInstall)(
3263
+ entrypointFsDirname,
3264
+ [],
3265
+ {
3266
+ ...spawnOpts,
3267
+ env: nonCiEnv
3268
+ },
3269
+ void 0,
3270
+ nodeVersion
3271
+ );
3296
3272
  }
3297
3273
  const userEntryClientFile = findEntry(
3298
3274
  remixConfig.appDirectory,
@@ -3464,12 +3440,10 @@ module.exports = config;`;
3464
3440
  ),
3465
3441
  !isHydrogen2 ? ensureResolvable(entrypointFsDirname, repoRootPath, "@remix-run/node") : null
3466
3442
  ]);
3467
- const staticDir = (0, import_path3.join)(
3468
- remixConfig.assetsBuildDirectory,
3469
- ...remixConfig.publicPath.replace(/^\/|\/$/g, "").split("/").map((_) => "..")
3470
- );
3471
- const [staticFiles, ...functions] = await Promise.all([
3443
+ const staticDir = (0, import_path3.join)(entrypointFsDirname, "public");
3444
+ const [staticFiles, buildAssets, ...functions] = await Promise.all([
3472
3445
  (0, import_build_utils3.glob)("**", staticDir),
3446
+ (0, import_build_utils3.glob)("**", remixConfig.assetsBuildDirectory),
3473
3447
  ...serverBundles.map((bundle) => {
3474
3448
  const firstRoute = remixConfig.routes[bundle.routes[0]];
3475
3449
  const config2 = resolvedConfigsMap.get(firstRoute) ?? {
@@ -3496,10 +3470,16 @@ module.exports = config;`;
3496
3470
  );
3497
3471
  })
3498
3472
  ]);
3499
- const output = staticFiles;
3473
+ const transformedBuildAssets = (0, import_build_utils3.rename)(buildAssets, (name) => {
3474
+ return import_path3.posix.join("./", remixConfig.publicPath, name);
3475
+ });
3476
+ const output = {
3477
+ ...staticFiles,
3478
+ ...transformedBuildAssets
3479
+ };
3500
3480
  const routes = [
3501
3481
  {
3502
- src: "^/build/(.*)$",
3482
+ src: `^/${remixConfig.publicPath.replace(/^\/|\/$/g, "")}/(.*)$`,
3503
3483
  headers: { "cache-control": "public, max-age=31536000, immutable" },
3504
3484
  continue: true
3505
3485
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/remix-builder",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.js",
6
6
  "homepage": "https://vercel.com/docs",
@@ -23,7 +23,7 @@
23
23
  "@types/jest": "27.5.1",
24
24
  "@types/node": "14.18.33",
25
25
  "@types/semver": "7.3.13",
26
- "@vercel/build-utils": "7.2.3",
26
+ "@vercel/build-utils": "7.2.5",
27
27
  "jest-junit": "16.0.0",
28
28
  "path-to-regexp": "6.2.1",
29
29
  "semver": "7.5.2"